snapshot of https://github.com/shadcn-ui/ui.git (main, 2026-09-15; blobs > 131072B omitted)
This commit is contained in:
196
apps/v4/registry/README.md
Normal file
196
apps/v4/registry/README.md
Normal file
@@ -0,0 +1,196 @@
|
||||
# Registry
|
||||
|
||||
This directory is the source of truth for the v4 component registry. The build
|
||||
pipeline (`../scripts/build-registry.mts`) reads the authored source here and
|
||||
generates the runtime indexes, the local `styles/` consumed by the docs app, and
|
||||
the installable output under `public/r/`.
|
||||
|
||||
## Source of truth (authored by hand)
|
||||
|
||||
- **`bases/base/`, `bases/radix/`** — the two authored base registries (Base UI
|
||||
and Radix). Each holds a `registry.ts` plus `ui/`, `lib/`, `hooks/`, `blocks/`,
|
||||
`examples/`, and `internal/`. Shared surfaces should stay in sync across both
|
||||
bases — see [`bases/README.md`](./bases/README.md).
|
||||
- **`styles/style-*.css`** — the style token files (`nova`, `sera`, `vega`, …).
|
||||
Each defines the design tokens for one style.
|
||||
- **`new-york-v4/`** — the legacy source registry. Unlike the generated
|
||||
combinations below, its `registry.ts` and component files are authored
|
||||
directly and committed.
|
||||
- **`../examples/base`, `../examples/radix`** — authored component demos. See
|
||||
[`../examples/README.md`](../examples/README.md).
|
||||
|
||||
## Generated output (do not edit by hand)
|
||||
|
||||
Persistent (committed):
|
||||
|
||||
- `bases/__index__.tsx` — runtime lookup for the authored bases.
|
||||
- `__index__.tsx` — runtime lookup across legacy styles and every base/style
|
||||
combination.
|
||||
- `__blocks__.json` — block metadata index.
|
||||
- `../examples/__index__.tsx` — runtime lookup for demos.
|
||||
- `../styles/<style>/ui/*` — compiled components for each base/style
|
||||
combination, imported by the docs app.
|
||||
- `../styles/<style>/ui-rtl/*` — RTL variants, generated for `base-nova` and
|
||||
`radix-nova` only.
|
||||
- `../public/r/*` — installable registry JSON served by the website and the CLI.
|
||||
|
||||
Temporary (created during the build, then cleaned up):
|
||||
|
||||
- `<style>/*` — per-combination registries (e.g. `base-nova/`).
|
||||
- `../registry-<style>.json`
|
||||
|
||||
## The style model
|
||||
|
||||
There are two kinds of "styles", and the distinction drives the build flags:
|
||||
|
||||
- **Generated combinations** — every base (`base`, `radix`) crossed with every
|
||||
style token (`nova`, `sera`, …) produces a combination like `base-nova` or
|
||||
`radix-sera`. These are generated from the authored bases plus the style CSS;
|
||||
nothing under `registry/<combination>/` is committed.
|
||||
- **Legacy source registry** — `new-york-v4` is authored directly and committed.
|
||||
It is not generated from a base/style combination.
|
||||
|
||||
## Building
|
||||
|
||||
Run from `apps/v4`:
|
||||
|
||||
```bash
|
||||
pnpm registry:build
|
||||
```
|
||||
|
||||
This runs the full pipeline: build the bases, generate every combination, write
|
||||
the runtime indexes, export `public/r/` for every style, copy the compiled UI
|
||||
into `styles/`, and build the RTL styles. It is the canonical build — generated
|
||||
output is prettier-formatted. **Run this before committing or for production.**
|
||||
|
||||
### Fast targeted builds
|
||||
|
||||
The targeted flags below are for quick local iteration. To stay fast they
|
||||
**skip formatting** the generated output, so they can leave generated files
|
||||
unformatted (and produce large but harmless `git diff` churn). The full
|
||||
`pnpm registry:build` above re-canonicalizes everything, so run it before you
|
||||
commit.
|
||||
|
||||
For local iteration you can rebuild only the artifact you changed:
|
||||
|
||||
```bash
|
||||
pnpm registry:build --examples # examples/__index__.tsx
|
||||
pnpm registry:build --indexes # runtime registry indexes
|
||||
pnpm registry:build --style base-nova # styles/base-nova/ui (+ ui-rtl)
|
||||
pnpm registry:build --style all # every generated combination
|
||||
pnpm registry:build --registry base-nova # public/r/styles/base-nova
|
||||
pnpm registry:build --registry all # every style, incl. new-york-v4
|
||||
```
|
||||
|
||||
| Flag | Rebuilds | Run after |
|
||||
| ------------------------- | -------------------------------------------------------------------------------- | ------------------------------------ |
|
||||
| `--examples` | `../examples/__index__.tsx` | adding, removing, or renaming a demo |
|
||||
| `--indexes` | `bases/__index__.tsx`, `__index__.tsx`, `__blocks__.json`, `public/r/index.json` | changing registry or block metadata |
|
||||
| `--style <style\|all>` | `../styles/<style>/ui` and `ui-rtl` | editing authored base UI/components |
|
||||
| `--registry <style\|all>` | `../public/r/styles/<style>` | changing what the CLI installs |
|
||||
|
||||
Notes:
|
||||
|
||||
- Flags can be combined, e.g. `--style base-nova --registry base-nova`.
|
||||
- `all` targets every supported style.
|
||||
- Editing an existing example file usually does **not** need a rebuild — only
|
||||
adding, removing, or renaming one (which changes the index) does.
|
||||
- `--style new-york-v4` is rejected because it is a legacy source registry, not a
|
||||
generated combination. Use `--registry new-york-v4` instead.
|
||||
- Unknown targets fail with the list of valid style ids.
|
||||
|
||||
## Public registry health monitoring
|
||||
|
||||
`directory.json` remains the authored source of truth for public registry
|
||||
metadata. The scheduled monitor reads that file, checks each registry, and
|
||||
publishes generated state to a private Vercel Blob store. Generated health data
|
||||
must never be committed to the repository.
|
||||
|
||||
The monitor writes these paths:
|
||||
|
||||
```text
|
||||
registry-health/v1/state.json
|
||||
registry-health/v1/latest.json
|
||||
registry-health/v1/runs/<timestamp>.json
|
||||
registry-health/v1/daily/<date>.json
|
||||
```
|
||||
|
||||
`latest.json` is the only Blob document read by the website. The server reads it
|
||||
with Blob credentials, then the public `/r/registries.json` route merges the
|
||||
sanitized health overlay by exact namespace. The route fails open to the
|
||||
original directory payload when health is disabled, stale, or unavailable.
|
||||
If a newly added registry is not in the latest snapshot yet, it remains in the
|
||||
payload without `health` until the monitor first observes it.
|
||||
The route uses five-minute ISR, so normal traffic is served from cache and does
|
||||
not read Blob on every request.
|
||||
|
||||
Each newly generated health entry includes a stable status reason code and a
|
||||
human-readable message for its primary status condition. The public route does
|
||||
not expose raw monitor diagnostics, and status reasons do not affect scores or
|
||||
ranking.
|
||||
|
||||
### Authentication and configuration
|
||||
|
||||
New Blob connections use Vercel OIDC inside the linked Vercel project. The
|
||||
connected registry health store exposes `REGISTRY_HEALTH_BLOB_STORE_ID`, which
|
||||
the website passes explicitly when reading `latest.json`. The standard
|
||||
`BLOB_STORE_ID` name remains supported as a fallback. A server-only
|
||||
`BLOB_READ_WRITE_TOKEN` is also supported when OIDC is unavailable. Client code
|
||||
never receives these credentials.
|
||||
|
||||
The monitor runs in GitHub Actions, outside Vercel's OIDC runtime. Configure a
|
||||
separate repository Actions secret named `BLOB_READ_WRITE_TOKEN` for that
|
||||
workflow. The token is available only while downloading the previous private
|
||||
state and publishing the new snapshot. The registry check step, contributor URL
|
||||
requests, and CLI dry-run subprocesses run without Blob credentials. Never
|
||||
expose the token through a `NEXT_PUBLIC_` variable, logs, or step summaries.
|
||||
|
||||
Configure this Vercel server environment variable:
|
||||
|
||||
- `REGISTRY_HEALTH_BLOB_STORE_ID`: the ID of the connected private registry
|
||||
health Blob store. Vercel provides this value when the store is connected to
|
||||
the project.
|
||||
- `REGISTRY_HEALTH_ENABLED`: set to `1` to merge the additive health object into
|
||||
`/r/registries.json`; set to `0` to return the original four-field payload.
|
||||
The Registry Directory does not consume the health object during the initial
|
||||
data-collection phase.
|
||||
|
||||
### Running and rollout
|
||||
|
||||
The `Monitor Registries` workflow runs hourly and supports manual `hourly`,
|
||||
`daily`, `weekly`, and `all` modes. Registry failures are recorded as data. The
|
||||
workflow fails only when its own configuration, state, or publication fails.
|
||||
Automatic daily and weekly work uses the last successful phase timestamps in
|
||||
`state.json`, so a delayed cron run does not skip those checks.
|
||||
|
||||
To run the monitor locally with credentials loaded from the linked Vercel
|
||||
project, use the workspace-root Turbo command:
|
||||
|
||||
```bash
|
||||
MONITOR_MODE=hourly vercel env run -- pnpm registry:health
|
||||
```
|
||||
|
||||
If the local environment file lives under `apps/v4`, run from that directory
|
||||
and use `pnpm -w registry:health` so pnpm still selects the workspace-root
|
||||
script.
|
||||
|
||||
Turbo builds the monitor's workspace dependencies before running it. Local runs
|
||||
run the same three phases as the workflow: authenticated state download,
|
||||
credential-free registry checks, and authenticated publication. They publish
|
||||
health state to the connected Blob store. Valid modes are `auto`, `hourly`,
|
||||
`daily`, `weekly`, and `all`.
|
||||
|
||||
For the initial rollout:
|
||||
|
||||
1. Connect a private Blob store to the Vercel project.
|
||||
2. Configure the GitHub Actions write secret.
|
||||
3. Set `REGISTRY_HEALTH_ENABLED=1` and deploy the additive API overlay.
|
||||
4. Dispatch an hourly run and confirm all four Blob path families.
|
||||
5. Collect at least seven days of observations and inspect false positives.
|
||||
6. Add the Registry Directory presentation in a follow-up after the data and
|
||||
thresholds have been reviewed.
|
||||
|
||||
To roll back the public API overlay immediately, set
|
||||
`REGISTRY_HEALTH_ENABLED=0`. Disable the scheduled workflow separately if its
|
||||
requests are causing load or false positives. Blob history can remain in place
|
||||
for diagnosis.
|
||||
146
apps/v4/registry/__blocks__.json
Normal file
146
apps/v4/registry/__blocks__.json
Normal file
@@ -0,0 +1,146 @@
|
||||
[
|
||||
{
|
||||
"name": "dashboard-01",
|
||||
"description": "A dashboard with sidebar, charts and data table.",
|
||||
"categories": ["dashboard"]
|
||||
},
|
||||
{
|
||||
"name": "login-01",
|
||||
"description": "A simple login form.",
|
||||
"categories": ["authentication", "login"]
|
||||
},
|
||||
{
|
||||
"name": "login-02",
|
||||
"description": "A two column login page with a cover image.",
|
||||
"categories": ["authentication", "login"]
|
||||
},
|
||||
{
|
||||
"name": "login-03",
|
||||
"description": "A login page with a muted background color.",
|
||||
"categories": ["authentication", "login"]
|
||||
},
|
||||
{
|
||||
"name": "login-04",
|
||||
"description": "A login page with form and image.",
|
||||
"categories": ["authentication", "login"]
|
||||
},
|
||||
{
|
||||
"name": "login-05",
|
||||
"description": "A simple email-only login page.",
|
||||
"categories": ["authentication", "login"]
|
||||
},
|
||||
{
|
||||
"name": "preview"
|
||||
},
|
||||
{
|
||||
"name": "preview-02"
|
||||
},
|
||||
{
|
||||
"name": "preview-03"
|
||||
},
|
||||
{
|
||||
"name": "sidebar-01",
|
||||
"description": "A simple sidebar with navigation grouped by section.",
|
||||
"categories": ["sidebar", "dashboard"]
|
||||
},
|
||||
{
|
||||
"name": "sidebar-02",
|
||||
"description": "A sidebar with collapsible sections.",
|
||||
"categories": ["sidebar", "dashboard"]
|
||||
},
|
||||
{
|
||||
"name": "sidebar-03",
|
||||
"description": "A sidebar with submenus.",
|
||||
"categories": ["sidebar", "dashboard"]
|
||||
},
|
||||
{
|
||||
"name": "sidebar-04",
|
||||
"description": "A floating sidebar with submenus.",
|
||||
"categories": ["sidebar", "dashboard"]
|
||||
},
|
||||
{
|
||||
"name": "sidebar-05",
|
||||
"description": "A sidebar with collapsible submenus.",
|
||||
"categories": ["sidebar", "dashboard"]
|
||||
},
|
||||
{
|
||||
"name": "sidebar-06",
|
||||
"description": "A sidebar with submenus as dropdowns.",
|
||||
"categories": ["sidebar", "dashboard"]
|
||||
},
|
||||
{
|
||||
"name": "sidebar-07",
|
||||
"description": "A sidebar that collapses to icons.",
|
||||
"categories": ["sidebar", "dashboard"]
|
||||
},
|
||||
{
|
||||
"name": "sidebar-08",
|
||||
"description": "An inset sidebar with secondary navigation.",
|
||||
"categories": ["sidebar", "dashboard"]
|
||||
},
|
||||
{
|
||||
"name": "sidebar-09",
|
||||
"description": "Collapsible nested sidebars.",
|
||||
"categories": ["sidebar", "dashboard"]
|
||||
},
|
||||
{
|
||||
"name": "sidebar-10",
|
||||
"description": "A sidebar in a popover.",
|
||||
"categories": ["sidebar", "dashboard"]
|
||||
},
|
||||
{
|
||||
"name": "sidebar-11",
|
||||
"description": "A sidebar with a collapsible file tree.",
|
||||
"categories": ["sidebar", "dashboard"]
|
||||
},
|
||||
{
|
||||
"name": "sidebar-12",
|
||||
"description": "A sidebar with a calendar.",
|
||||
"categories": ["sidebar", "dashboard"]
|
||||
},
|
||||
{
|
||||
"name": "sidebar-13",
|
||||
"description": "A sidebar in a dialog.",
|
||||
"categories": ["sidebar", "dashboard"]
|
||||
},
|
||||
{
|
||||
"name": "sidebar-14",
|
||||
"description": "A sidebar on the right.",
|
||||
"categories": ["sidebar", "dashboard"]
|
||||
},
|
||||
{
|
||||
"name": "sidebar-15",
|
||||
"description": "A left and right sidebar.",
|
||||
"categories": ["sidebar", "dashboard"]
|
||||
},
|
||||
{
|
||||
"name": "sidebar-16",
|
||||
"description": "A sidebar with a sticky site header.",
|
||||
"categories": ["sidebar", "dashboard"]
|
||||
},
|
||||
{
|
||||
"name": "signup-01",
|
||||
"description": "A simple signup form.",
|
||||
"categories": ["authentication", "signup"]
|
||||
},
|
||||
{
|
||||
"name": "signup-02",
|
||||
"description": "A two column signup page with a cover image.",
|
||||
"categories": ["authentication", "signup"]
|
||||
},
|
||||
{
|
||||
"name": "signup-03",
|
||||
"description": "A signup page with a muted background color.",
|
||||
"categories": ["authentication", "signup"]
|
||||
},
|
||||
{
|
||||
"name": "signup-04",
|
||||
"description": "A signup page with form and image.",
|
||||
"categories": ["authentication", "signup"]
|
||||
},
|
||||
{
|
||||
"name": "signup-05",
|
||||
"description": "A simple signup form with social providers.",
|
||||
"categories": ["authentication", "signup"]
|
||||
}
|
||||
]
|
||||
481
apps/v4/registry/__components__/aria-luma.tsx
Normal file
481
apps/v4/registry/__components__/aria-luma.tsx
Normal file
@@ -0,0 +1,481 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-luma/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
481
apps/v4/registry/__components__/aria-lyra.tsx
Normal file
481
apps/v4/registry/__components__/aria-lyra.tsx
Normal file
@@ -0,0 +1,481 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-lyra/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
481
apps/v4/registry/__components__/aria-maia.tsx
Normal file
481
apps/v4/registry/__components__/aria-maia.tsx
Normal file
@@ -0,0 +1,481 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-maia/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
481
apps/v4/registry/__components__/aria-mira.tsx
Normal file
481
apps/v4/registry/__components__/aria-mira.tsx
Normal file
@@ -0,0 +1,481 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-mira/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
481
apps/v4/registry/__components__/aria-nova.tsx
Normal file
481
apps/v4/registry/__components__/aria-nova.tsx
Normal file
@@ -0,0 +1,481 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-nova/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
481
apps/v4/registry/__components__/aria-rhea.tsx
Normal file
481
apps/v4/registry/__components__/aria-rhea.tsx
Normal file
@@ -0,0 +1,481 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-rhea/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
481
apps/v4/registry/__components__/aria-sera.tsx
Normal file
481
apps/v4/registry/__components__/aria-sera.tsx
Normal file
@@ -0,0 +1,481 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-sera/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
481
apps/v4/registry/__components__/aria-vega.tsx
Normal file
481
apps/v4/registry/__components__/aria-vega.tsx
Normal file
@@ -0,0 +1,481 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/aria-vega/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
505
apps/v4/registry/__components__/base-luma.tsx
Normal file
505
apps/v4/registry/__components__/base-luma.tsx
Normal file
@@ -0,0 +1,505 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
menubar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/menubar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "menubar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"navigation-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/navigation-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "navigation-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toast: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/toast")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toast"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-luma/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
505
apps/v4/registry/__components__/base-lyra.tsx
Normal file
505
apps/v4/registry/__components__/base-lyra.tsx
Normal file
@@ -0,0 +1,505 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
menubar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/menubar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "menubar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"navigation-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/navigation-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "navigation-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toast: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/toast")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toast"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-lyra/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
505
apps/v4/registry/__components__/base-maia.tsx
Normal file
505
apps/v4/registry/__components__/base-maia.tsx
Normal file
@@ -0,0 +1,505 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
menubar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/menubar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "menubar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"navigation-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/navigation-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "navigation-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toast: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/toast")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toast"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-maia/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
505
apps/v4/registry/__components__/base-mira.tsx
Normal file
505
apps/v4/registry/__components__/base-mira.tsx
Normal file
@@ -0,0 +1,505 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
menubar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/menubar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "menubar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"navigation-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/navigation-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "navigation-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toast: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/toast")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toast"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-mira/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
505
apps/v4/registry/__components__/base-nova.tsx
Normal file
505
apps/v4/registry/__components__/base-nova.tsx
Normal file
@@ -0,0 +1,505 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
menubar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/menubar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "menubar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"navigation-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/navigation-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "navigation-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toast: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/toast")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toast"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-nova/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
505
apps/v4/registry/__components__/base-rhea.tsx
Normal file
505
apps/v4/registry/__components__/base-rhea.tsx
Normal file
@@ -0,0 +1,505 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
menubar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/menubar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "menubar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"navigation-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/navigation-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "navigation-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toast: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/toast")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toast"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-rhea/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
505
apps/v4/registry/__components__/base-sera.tsx
Normal file
505
apps/v4/registry/__components__/base-sera.tsx
Normal file
@@ -0,0 +1,505 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
menubar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/menubar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "menubar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"navigation-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/navigation-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "navigation-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toast: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/toast")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toast"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-sera/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
505
apps/v4/registry/__components__/base-vega.tsx
Normal file
505
apps/v4/registry/__components__/base-vega.tsx
Normal file
@@ -0,0 +1,505 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
menubar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/menubar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "menubar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"navigation-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/navigation-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "navigation-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toast: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/toast")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toast"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/base-vega/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
2018
apps/v4/registry/__components__/index.tsx
Normal file
2018
apps/v4/registry/__components__/index.tsx
Normal file
File diff suppressed because it is too large
Load Diff
497
apps/v4/registry/__components__/radix-luma.tsx
Normal file
497
apps/v4/registry/__components__/radix-luma.tsx
Normal file
@@ -0,0 +1,497 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
menubar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/menubar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "menubar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"navigation-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/navigation-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "navigation-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-luma/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
497
apps/v4/registry/__components__/radix-lyra.tsx
Normal file
497
apps/v4/registry/__components__/radix-lyra.tsx
Normal file
@@ -0,0 +1,497 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
menubar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/menubar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "menubar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"navigation-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/navigation-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "navigation-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-lyra/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
497
apps/v4/registry/__components__/radix-maia.tsx
Normal file
497
apps/v4/registry/__components__/radix-maia.tsx
Normal file
@@ -0,0 +1,497 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
menubar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/menubar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "menubar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"navigation-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/navigation-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "navigation-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-maia/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
497
apps/v4/registry/__components__/radix-mira.tsx
Normal file
497
apps/v4/registry/__components__/radix-mira.tsx
Normal file
@@ -0,0 +1,497 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
menubar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/menubar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "menubar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"navigation-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/navigation-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "navigation-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-mira/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
497
apps/v4/registry/__components__/radix-nova.tsx
Normal file
497
apps/v4/registry/__components__/radix-nova.tsx
Normal file
@@ -0,0 +1,497 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
menubar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/menubar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "menubar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"navigation-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/navigation-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "navigation-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-nova/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
497
apps/v4/registry/__components__/radix-rhea.tsx
Normal file
497
apps/v4/registry/__components__/radix-rhea.tsx
Normal file
@@ -0,0 +1,497 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
menubar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/menubar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "menubar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"navigation-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/navigation-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "navigation-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-rhea/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
497
apps/v4/registry/__components__/radix-sera.tsx
Normal file
497
apps/v4/registry/__components__/radix-sera.tsx
Normal file
@@ -0,0 +1,497 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
menubar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/menubar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "menubar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"navigation-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/navigation-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "navigation-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-sera/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
497
apps/v4/registry/__components__/radix-vega.tsx
Normal file
497
apps/v4/registry/__components__/radix-vega.tsx
Normal file
@@ -0,0 +1,497 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
export const Components: Record<string, any> = {
|
||||
accordion: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/accordion")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "accordion"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
alert: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/alert")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"alert-dialog": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/alert-dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "alert-dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"aspect-ratio": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/aspect-ratio")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "aspect-ratio"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
avatar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/avatar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "avatar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
badge: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/badge")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "badge"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
breadcrumb: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/breadcrumb")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "breadcrumb"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
button: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/button")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"button-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/button-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "button-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
calendar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/calendar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "calendar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
card: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
carousel: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/carousel")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "carousel"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
chart: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/chart")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "chart"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
checkbox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/checkbox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "checkbox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
collapsible: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/collapsible")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "collapsible"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
combobox: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/combobox")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "combobox"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
command: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/command")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "command"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"context-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/context-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "context-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
dialog: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/dialog")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dialog"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
drawer: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/drawer")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "drawer"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"dropdown-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/dropdown-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "dropdown-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
empty: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/empty")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "empty"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
field: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/field")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "field"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"hover-card": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/hover-card")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "hover-card"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
input: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/input")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/input-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"input-otp": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/input-otp")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "input-otp"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
item: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/item")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "item"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
label: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/label")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "label"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
menubar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/menubar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "menubar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"navigation-menu": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/navigation-menu")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "navigation-menu"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
pagination: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/pagination")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "pagination"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
popover: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/popover")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "popover"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
progress: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/progress")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "progress"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"radio-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/radio-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "radio-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
resizable: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/resizable")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "resizable"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"scroll-area": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/scroll-area")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "scroll-area"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
select: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
separator: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/separator")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "separator"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sheet: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/sheet")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sheet"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sidebar: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/sidebar")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sidebar"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
skeleton: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/skeleton")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "skeleton"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
slider: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/slider")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "slider"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
sonner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/sonner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "sonner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
spinner: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/spinner")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "spinner"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
switch: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/switch")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "switch"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
table: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/table")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "table"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tabs: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/tabs")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tabs"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
textarea: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/textarea")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "textarea"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
toggle: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/toggle")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"toggle-group": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/toggle-group")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "toggle-group"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
tooltip: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/tooltip")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "tooltip"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
kbd: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/kbd")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "kbd"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"native-select": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/native-select")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "native-select"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
direction: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/direction")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "direction"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
attachment: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/attachment")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "attachment"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
bubble: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/bubble")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "bubble"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
"message-scroller": React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/message-scroller")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message-scroller"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
questionnaire: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/questionnaire")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "questionnaire"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
marker: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/marker")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "marker"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
message: React.lazy(async () => {
|
||||
const mod = await import("@/styles/radix-vega/ui/message")
|
||||
const exportName =
|
||||
Object.keys(mod).find(
|
||||
(key) => typeof mod[key] === "function" || typeof mod[key] === "object"
|
||||
) || "message"
|
||||
return { default: mod.default || mod[exportName] }
|
||||
}),
|
||||
}
|
||||
1789
apps/v4/registry/_legacy-base-colors.ts
Normal file
1789
apps/v4/registry/_legacy-base-colors.ts
Normal file
File diff suppressed because it is too large
Load Diff
2126
apps/v4/registry/_legacy-colors.ts
Normal file
2126
apps/v4/registry/_legacy-colors.ts
Normal file
File diff suppressed because it is too large
Load Diff
29
apps/v4/registry/_legacy-styles.ts
Normal file
29
apps/v4/registry/_legacy-styles.ts
Normal file
@@ -0,0 +1,29 @@
|
||||
export const legacyStyles = [
|
||||
{
|
||||
name: "new-york-v4",
|
||||
title: "New York",
|
||||
},
|
||||
{
|
||||
name: "base-nova",
|
||||
title: "Base Nova",
|
||||
},
|
||||
{
|
||||
name: "radix-nova",
|
||||
title: "Radix Nova",
|
||||
},
|
||||
{
|
||||
name: "aria-nova",
|
||||
title: "React Aria Nova",
|
||||
},
|
||||
] as const
|
||||
|
||||
export type Style = (typeof legacyStyles)[number]
|
||||
|
||||
export async function getActiveStyle() {
|
||||
// In the future, this can read from cookies, session, etc.
|
||||
return legacyStyles[0]
|
||||
}
|
||||
|
||||
export function getStyle(name: string) {
|
||||
return legacyStyles.find((style) => style.name === name)
|
||||
}
|
||||
10
apps/v4/registry/_legacy-themes.ts
Normal file
10
apps/v4/registry/_legacy-themes.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { baseColorsV4 } from "@/registry/_legacy-base-colors"
|
||||
|
||||
export const themes = Object.keys(baseColorsV4).map((color) => {
|
||||
return {
|
||||
name: `theme-${color}`,
|
||||
type: "registry:theme",
|
||||
cssVars: baseColorsV4[color as keyof typeof baseColorsV4],
|
||||
dependencies: [],
|
||||
}
|
||||
})
|
||||
9
apps/v4/registry/base-colors.ts
Normal file
9
apps/v4/registry/base-colors.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { THEMES } from "@/registry/themes"
|
||||
|
||||
export const BASE_COLORS = THEMES.filter((theme) =>
|
||||
["neutral", "stone", "zinc", "mauve", "olive", "mist", "taupe"].includes(
|
||||
theme.name
|
||||
)
|
||||
)
|
||||
|
||||
export type BaseColor = (typeof BASE_COLORS)[number]
|
||||
40
apps/v4/registry/bases.ts
Normal file
40
apps/v4/registry/bases.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
import { type registryItemSchema } from "shadcn/schema"
|
||||
import { type z } from "zod"
|
||||
|
||||
export const BASES: z.infer<typeof registryItemSchema>[] = [
|
||||
{
|
||||
name: "base",
|
||||
type: "registry:style",
|
||||
title: "Base UI",
|
||||
description:
|
||||
"Components for building accessible web apps and design systems.",
|
||||
dependencies: ["@base-ui/react"],
|
||||
meta: {
|
||||
logo: "<svg width='17' height='24' viewBox='0 0 17 24'><path fill='currentColor' d='M9.5001 7.01537C9.2245 6.99837 9 7.22385 9 7.49999V23C13.4183 23 17 19.4183 17 15C17 10.7497 13.6854 7.27351 9.5001 7.01537Z'></path><path fill='currentColor' d='M8 9.8V12V23C3.58172 23 0 19.0601 0 14.2V12V1C4.41828 1 8 4.93989 8 9.8Z'></path></svg>",
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "aria",
|
||||
type: "registry:style",
|
||||
title: "React Aria",
|
||||
description:
|
||||
"Components for building accessible web apps and design systems.",
|
||||
dependencies: ["react-aria-components"],
|
||||
meta: {
|
||||
logo: "<svg xmlns='http://www.w3.org/2000/svg' viewBox='200 206 800 790' fill='none'><path d='M720.67 205.995C867.583 205.995 986.679 325.091 986.68 472.003C986.68 590.753 908.865 691.325 801.446 725.521L979.312 948.055C994.438 966.98 980.963 995 956.736 995H795.612C778.743 995 762.715 987.629 751.734 974.823L697.365 911.421L493.126 653.39C457.134 607.918 489.518 540.979 547.511 540.977L720.67 540.971C758.758 540.971 789.635 510.091 789.635 472.003C789.634 433.915 758.758 403.038 720.67 403.038H429.939C404.955 403.038 388.623 391.886 373.994 373.623L277.349 252.966C262.194 234.045 275.664 205.996 299.905 205.995H720.67Z M396.605 720.706C407.798 705.406 430.443 704.843 442.381 719.568L503.816 797.018H502.786L535.569 838.934C548.074 854.358 549.943 877.191 538.047 893.09L476.638 972.545C465.692 986.707 448.803 995 430.903 995H242.276C218.18 995 204.665 967.248 219.523 948.278L337.992 797.018H337.923L396.605 720.706Z' fill='currentColor' /></svg>",
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "radix",
|
||||
type: "registry:style",
|
||||
title: "Radix UI",
|
||||
description:
|
||||
"Optimized for fast development, easy maintenance, and accessibility.",
|
||||
dependencies: ["radix-ui"],
|
||||
meta: {
|
||||
logo: "<svg role='img' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><title>Radix UI</title><path fill='currentColor' d='M11.52 24a7.68 7.68 0 0 1-7.68-7.68 7.68 7.68 0 0 1 7.68-7.68V24Zm0-24v7.68H3.84V0h7.68Zm4.8 7.68a3.84 3.84 0 1 1 0-7.68 3.84 3.84 0 0 1 0 7.68Z'/></svg>",
|
||||
},
|
||||
},
|
||||
]
|
||||
|
||||
export type Base = (typeof BASES)[number]
|
||||
15
apps/v4/registry/bases/README.md
Normal file
15
apps/v4/registry/bases/README.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Registry bases (`base` and `radix`)
|
||||
|
||||
This folder holds **two parallel registries**:
|
||||
|
||||
- **`base/`** — Base UI–backed components and blocks
|
||||
- **`radix/`** — Radix-backed components and blocks
|
||||
|
||||
## Keep them in sync
|
||||
|
||||
For any **shared** surface (same preview block, same card, same example intent), changes should be applied to **both** `base` and `radix` variants.
|
||||
|
||||
- Adjust only what must differ: imports (`.../base/ui/...` vs `.../radix/ui/...`) and primitive APIs.
|
||||
- Avoid editing only one tree unless the work is intentionally scoped to a single base.
|
||||
|
||||
Project automation: see `.cursor/rules/registry-bases-parity.mdc` for the Cursor rule agents use when working under `apps/v4/registry/bases/`.
|
||||
1289
apps/v4/registry/bases/__components__/aria.tsx
Normal file
1289
apps/v4/registry/bases/__components__/aria.tsx
Normal file
File diff suppressed because it is too large
Load Diff
1339
apps/v4/registry/bases/__components__/base.tsx
Normal file
1339
apps/v4/registry/bases/__components__/base.tsx
Normal file
File diff suppressed because it is too large
Load Diff
528
apps/v4/registry/bases/__components__/index.tsx
Normal file
528
apps/v4/registry/bases/__components__/index.tsx
Normal file
@@ -0,0 +1,528 @@
|
||||
// @ts-nocheck
|
||||
// This file is autogenerated by scripts/build-registry.mts
|
||||
// Do not edit this file directly.
|
||||
import "server-only"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
const shards: Record<
|
||||
string,
|
||||
{
|
||||
load: () => Promise<{ Components: Record<string, any> }>
|
||||
names: Set<string>
|
||||
}
|
||||
> = {
|
||||
base: {
|
||||
load: () => import("./base"),
|
||||
names: new Set([
|
||||
"accordion",
|
||||
"alert",
|
||||
"alert-dialog",
|
||||
"aspect-ratio",
|
||||
"avatar",
|
||||
"badge",
|
||||
"breadcrumb",
|
||||
"button",
|
||||
"button-group",
|
||||
"calendar",
|
||||
"card",
|
||||
"carousel",
|
||||
"chart",
|
||||
"checkbox",
|
||||
"collapsible",
|
||||
"combobox",
|
||||
"command",
|
||||
"context-menu",
|
||||
"dialog",
|
||||
"drawer",
|
||||
"dropdown-menu",
|
||||
"empty",
|
||||
"field",
|
||||
"hover-card",
|
||||
"input",
|
||||
"input-group",
|
||||
"input-otp",
|
||||
"item",
|
||||
"label",
|
||||
"menubar",
|
||||
"navigation-menu",
|
||||
"pagination",
|
||||
"popover",
|
||||
"progress",
|
||||
"radio-group",
|
||||
"resizable",
|
||||
"scroll-area",
|
||||
"select",
|
||||
"separator",
|
||||
"sheet",
|
||||
"sidebar",
|
||||
"skeleton",
|
||||
"slider",
|
||||
"sonner",
|
||||
"spinner",
|
||||
"switch",
|
||||
"table",
|
||||
"tabs",
|
||||
"textarea",
|
||||
"toast",
|
||||
"toggle",
|
||||
"toggle-group",
|
||||
"tooltip",
|
||||
"kbd",
|
||||
"native-select",
|
||||
"direction",
|
||||
"attachment",
|
||||
"bubble",
|
||||
"message-scroller",
|
||||
"questionnaire",
|
||||
"marker",
|
||||
"message",
|
||||
"accordion-example",
|
||||
"alert-example",
|
||||
"alert-dialog-example",
|
||||
"aspect-ratio-example",
|
||||
"avatar-example",
|
||||
"badge-example",
|
||||
"breadcrumb-example",
|
||||
"button-example",
|
||||
"button-group-example",
|
||||
"calendar-example",
|
||||
"card-example",
|
||||
"carousel-example",
|
||||
"chart-example",
|
||||
"checkbox-example",
|
||||
"collapsible-example",
|
||||
"combobox-example",
|
||||
"command-example",
|
||||
"context-menu-example",
|
||||
"dialog-example",
|
||||
"drawer-example",
|
||||
"dropdown-menu-example",
|
||||
"empty-example",
|
||||
"field-example",
|
||||
"hover-card-example",
|
||||
"input-example",
|
||||
"input-group-example",
|
||||
"input-otp-example",
|
||||
"item-example",
|
||||
"kbd-example",
|
||||
"label-example",
|
||||
"menubar-example",
|
||||
"native-select-example",
|
||||
"navigation-menu-example",
|
||||
"pagination-example",
|
||||
"popover-example",
|
||||
"progress-example",
|
||||
"radio-group-example",
|
||||
"resizable-example",
|
||||
"scroll-area-example",
|
||||
"select-example",
|
||||
"separator-example",
|
||||
"sheet-example",
|
||||
"sidebar-example",
|
||||
"sidebar-icon-example",
|
||||
"sidebar-inset-example",
|
||||
"sidebar-floating-example",
|
||||
"skeleton-example",
|
||||
"slider-example",
|
||||
"sonner-example",
|
||||
"spinner-example",
|
||||
"switch-example",
|
||||
"table-example",
|
||||
"tabs-example",
|
||||
"textarea-example",
|
||||
"toast-example",
|
||||
"toggle-example",
|
||||
"toggle-group-example",
|
||||
"tooltip-example",
|
||||
"demo",
|
||||
"component-example",
|
||||
"attachment-example",
|
||||
"bubble-example",
|
||||
"message-scroller-example",
|
||||
"questionnaire-example",
|
||||
"marker-example",
|
||||
"message-example",
|
||||
"utils",
|
||||
"example",
|
||||
"preview",
|
||||
"preview-02",
|
||||
"preview-03",
|
||||
"login-01",
|
||||
"login-02",
|
||||
"login-03",
|
||||
"login-04",
|
||||
"login-05",
|
||||
"signup-01",
|
||||
"signup-02",
|
||||
"signup-03",
|
||||
"signup-04",
|
||||
"signup-05",
|
||||
"dashboard-01",
|
||||
"sidebar-01",
|
||||
"sidebar-02",
|
||||
"sidebar-03",
|
||||
"sidebar-04",
|
||||
"sidebar-05",
|
||||
"sidebar-06",
|
||||
"sidebar-07",
|
||||
"sidebar-08",
|
||||
"sidebar-09",
|
||||
"sidebar-10",
|
||||
"sidebar-11",
|
||||
"sidebar-12",
|
||||
"sidebar-13",
|
||||
"sidebar-14",
|
||||
"sidebar-15",
|
||||
"sidebar-16",
|
||||
"use-mobile",
|
||||
]),
|
||||
},
|
||||
aria: {
|
||||
load: () => import("./aria"),
|
||||
names: new Set([
|
||||
"accordion",
|
||||
"alert",
|
||||
"alert-dialog",
|
||||
"aspect-ratio",
|
||||
"avatar",
|
||||
"badge",
|
||||
"breadcrumb",
|
||||
"button",
|
||||
"button-group",
|
||||
"calendar",
|
||||
"card",
|
||||
"carousel",
|
||||
"chart",
|
||||
"checkbox",
|
||||
"collapsible",
|
||||
"combobox",
|
||||
"command",
|
||||
"context-menu",
|
||||
"dialog",
|
||||
"drawer",
|
||||
"dropdown-menu",
|
||||
"empty",
|
||||
"field",
|
||||
"hover-card",
|
||||
"input",
|
||||
"input-group",
|
||||
"input-otp",
|
||||
"item",
|
||||
"label",
|
||||
"pagination",
|
||||
"popover",
|
||||
"progress",
|
||||
"radio-group",
|
||||
"resizable",
|
||||
"scroll-area",
|
||||
"select",
|
||||
"separator",
|
||||
"sheet",
|
||||
"sidebar",
|
||||
"skeleton",
|
||||
"slider",
|
||||
"sonner",
|
||||
"spinner",
|
||||
"switch",
|
||||
"table",
|
||||
"tabs",
|
||||
"textarea",
|
||||
"toggle",
|
||||
"toggle-group",
|
||||
"tooltip",
|
||||
"kbd",
|
||||
"native-select",
|
||||
"direction",
|
||||
"attachment",
|
||||
"bubble",
|
||||
"message-scroller",
|
||||
"questionnaire",
|
||||
"marker",
|
||||
"message",
|
||||
"accordion-example",
|
||||
"alert-example",
|
||||
"alert-dialog-example",
|
||||
"aspect-ratio-example",
|
||||
"avatar-example",
|
||||
"badge-example",
|
||||
"breadcrumb-example",
|
||||
"button-example",
|
||||
"button-group-example",
|
||||
"calendar-example",
|
||||
"card-example",
|
||||
"carousel-example",
|
||||
"chart-example",
|
||||
"checkbox-example",
|
||||
"collapsible-example",
|
||||
"combobox-example",
|
||||
"command-example",
|
||||
"context-menu-example",
|
||||
"dialog-example",
|
||||
"drawer-example",
|
||||
"dropdown-menu-example",
|
||||
"empty-example",
|
||||
"field-example",
|
||||
"hover-card-example",
|
||||
"input-example",
|
||||
"input-group-example",
|
||||
"input-otp-example",
|
||||
"item-example",
|
||||
"kbd-example",
|
||||
"label-example",
|
||||
"native-select-example",
|
||||
"pagination-example",
|
||||
"popover-example",
|
||||
"progress-example",
|
||||
"radio-group-example",
|
||||
"resizable-example",
|
||||
"scroll-area-example",
|
||||
"select-example",
|
||||
"separator-example",
|
||||
"sheet-example",
|
||||
"sidebar-example",
|
||||
"sidebar-icon-example",
|
||||
"sidebar-inset-example",
|
||||
"sidebar-floating-example",
|
||||
"skeleton-example",
|
||||
"slider-example",
|
||||
"sonner-example",
|
||||
"spinner-example",
|
||||
"switch-example",
|
||||
"table-example",
|
||||
"tabs-example",
|
||||
"textarea-example",
|
||||
"toggle-example",
|
||||
"toggle-group-example",
|
||||
"tooltip-example",
|
||||
"demo",
|
||||
"component-example",
|
||||
"attachment-example",
|
||||
"bubble-example",
|
||||
"message-scroller-example",
|
||||
"questionnaire-example",
|
||||
"marker-example",
|
||||
"message-example",
|
||||
"utils",
|
||||
"example",
|
||||
"preview",
|
||||
"preview-02",
|
||||
"preview-03",
|
||||
"login-01",
|
||||
"login-02",
|
||||
"login-03",
|
||||
"login-04",
|
||||
"login-05",
|
||||
"signup-01",
|
||||
"signup-02",
|
||||
"signup-03",
|
||||
"signup-04",
|
||||
"signup-05",
|
||||
"dashboard-01",
|
||||
"sidebar-01",
|
||||
"sidebar-02",
|
||||
"sidebar-03",
|
||||
"sidebar-04",
|
||||
"sidebar-05",
|
||||
"sidebar-06",
|
||||
"sidebar-07",
|
||||
"sidebar-08",
|
||||
"sidebar-09",
|
||||
"sidebar-10",
|
||||
"sidebar-11",
|
||||
"sidebar-12",
|
||||
"sidebar-13",
|
||||
"sidebar-14",
|
||||
"sidebar-15",
|
||||
"sidebar-16",
|
||||
"use-mobile",
|
||||
]),
|
||||
},
|
||||
radix: {
|
||||
load: () => import("./radix"),
|
||||
names: new Set([
|
||||
"accordion",
|
||||
"alert",
|
||||
"alert-dialog",
|
||||
"aspect-ratio",
|
||||
"avatar",
|
||||
"badge",
|
||||
"breadcrumb",
|
||||
"button",
|
||||
"button-group",
|
||||
"calendar",
|
||||
"card",
|
||||
"carousel",
|
||||
"chart",
|
||||
"checkbox",
|
||||
"collapsible",
|
||||
"combobox",
|
||||
"command",
|
||||
"context-menu",
|
||||
"dialog",
|
||||
"drawer",
|
||||
"dropdown-menu",
|
||||
"empty",
|
||||
"field",
|
||||
"hover-card",
|
||||
"input",
|
||||
"input-group",
|
||||
"input-otp",
|
||||
"item",
|
||||
"label",
|
||||
"menubar",
|
||||
"navigation-menu",
|
||||
"pagination",
|
||||
"popover",
|
||||
"progress",
|
||||
"radio-group",
|
||||
"resizable",
|
||||
"scroll-area",
|
||||
"select",
|
||||
"separator",
|
||||
"sheet",
|
||||
"sidebar",
|
||||
"skeleton",
|
||||
"slider",
|
||||
"sonner",
|
||||
"spinner",
|
||||
"switch",
|
||||
"table",
|
||||
"tabs",
|
||||
"textarea",
|
||||
"toggle",
|
||||
"toggle-group",
|
||||
"tooltip",
|
||||
"kbd",
|
||||
"native-select",
|
||||
"direction",
|
||||
"attachment",
|
||||
"bubble",
|
||||
"message-scroller",
|
||||
"questionnaire",
|
||||
"marker",
|
||||
"message",
|
||||
"accordion-example",
|
||||
"alert-example",
|
||||
"alert-dialog-example",
|
||||
"aspect-ratio-example",
|
||||
"avatar-example",
|
||||
"badge-example",
|
||||
"breadcrumb-example",
|
||||
"button-example",
|
||||
"button-group-example",
|
||||
"calendar-example",
|
||||
"card-example",
|
||||
"carousel-example",
|
||||
"chart-example",
|
||||
"checkbox-example",
|
||||
"collapsible-example",
|
||||
"combobox-example",
|
||||
"command-example",
|
||||
"context-menu-example",
|
||||
"dialog-example",
|
||||
"drawer-example",
|
||||
"dropdown-menu-example",
|
||||
"empty-example",
|
||||
"field-example",
|
||||
"hover-card-example",
|
||||
"input-example",
|
||||
"input-group-example",
|
||||
"input-otp-example",
|
||||
"item-example",
|
||||
"kbd-example",
|
||||
"label-example",
|
||||
"menubar-example",
|
||||
"native-select-example",
|
||||
"navigation-menu-example",
|
||||
"pagination-example",
|
||||
"popover-example",
|
||||
"progress-example",
|
||||
"radio-group-example",
|
||||
"resizable-example",
|
||||
"scroll-area-example",
|
||||
"select-example",
|
||||
"separator-example",
|
||||
"sheet-example",
|
||||
"sidebar-example",
|
||||
"sidebar-icon-example",
|
||||
"sidebar-inset-example",
|
||||
"sidebar-floating-example",
|
||||
"skeleton-example",
|
||||
"slider-example",
|
||||
"sonner-example",
|
||||
"spinner-example",
|
||||
"switch-example",
|
||||
"table-example",
|
||||
"tabs-example",
|
||||
"textarea-example",
|
||||
"toggle-example",
|
||||
"toggle-group-example",
|
||||
"tooltip-example",
|
||||
"demo",
|
||||
"component-example",
|
||||
"attachment-example",
|
||||
"bubble-example",
|
||||
"message-scroller-example",
|
||||
"questionnaire-example",
|
||||
"marker-example",
|
||||
"message-example",
|
||||
"utils",
|
||||
"example",
|
||||
"preview",
|
||||
"preview-02",
|
||||
"preview-03",
|
||||
"login-01",
|
||||
"login-02",
|
||||
"login-03",
|
||||
"login-04",
|
||||
"login-05",
|
||||
"signup-01",
|
||||
"signup-02",
|
||||
"signup-03",
|
||||
"signup-04",
|
||||
"signup-05",
|
||||
"dashboard-01",
|
||||
"sidebar-01",
|
||||
"sidebar-02",
|
||||
"sidebar-03",
|
||||
"sidebar-04",
|
||||
"sidebar-05",
|
||||
"sidebar-06",
|
||||
"sidebar-07",
|
||||
"sidebar-08",
|
||||
"sidebar-09",
|
||||
"sidebar-10",
|
||||
"sidebar-11",
|
||||
"sidebar-12",
|
||||
"sidebar-13",
|
||||
"sidebar-14",
|
||||
"sidebar-15",
|
||||
"sidebar-16",
|
||||
"use-mobile",
|
||||
]),
|
||||
},
|
||||
}
|
||||
|
||||
const cache = new Map<string, any>()
|
||||
|
||||
// Sync existence check via the names set; the shard module (and with it the
|
||||
// component's dynamic-import subtree) only loads when the component renders.
|
||||
export function getComponent(styleName: string, name: string) {
|
||||
const shard = shards[styleName]
|
||||
if (!shard?.names.has(name)) {
|
||||
return undefined
|
||||
}
|
||||
|
||||
const cacheKey = `${styleName}:${name}`
|
||||
let component = cache.get(cacheKey)
|
||||
if (!component) {
|
||||
component = React.lazy(async () => {
|
||||
const { Components } = await shard.load()
|
||||
return { default: Components[name] }
|
||||
})
|
||||
cache.set(cacheKey, component)
|
||||
}
|
||||
|
||||
return component
|
||||
}
|
||||
1333
apps/v4/registry/bases/__components__/radix.tsx
Normal file
1333
apps/v4/registry/bases/__components__/radix.tsx
Normal file
File diff suppressed because it is too large
Load Diff
921
apps/v4/registry/bases/aria/blocks/_registry.ts
Normal file
921
apps/v4/registry/bases/aria/blocks/_registry.ts
Normal file
@@ -0,0 +1,921 @@
|
||||
import { type Registry } from "shadcn/schema"
|
||||
|
||||
export const blocks: Registry["items"] = [
|
||||
{
|
||||
name: "preview",
|
||||
title: "Preview",
|
||||
type: "registry:block",
|
||||
registryDependencies: [
|
||||
"alert-dialog",
|
||||
"avatar",
|
||||
"badge",
|
||||
"button",
|
||||
"button-group",
|
||||
"card",
|
||||
"chart",
|
||||
"checkbox",
|
||||
"combobox",
|
||||
"dropdown-menu",
|
||||
"empty",
|
||||
"field",
|
||||
"input",
|
||||
"input-group",
|
||||
"item",
|
||||
"label",
|
||||
"popover",
|
||||
"radio-group",
|
||||
"select",
|
||||
"separator",
|
||||
"sheet",
|
||||
"slider",
|
||||
"spinner",
|
||||
"switch",
|
||||
"textarea",
|
||||
"tooltip",
|
||||
"example",
|
||||
],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/preview/index.tsx",
|
||||
type: "registry:block",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "preview-02",
|
||||
title: "Preview 02",
|
||||
type: "registry:block",
|
||||
dependencies: ["react-qr-code"],
|
||||
registryDependencies: [
|
||||
"accordion",
|
||||
"badge",
|
||||
"breadcrumb",
|
||||
"button",
|
||||
"calendar",
|
||||
"card",
|
||||
"chart",
|
||||
"checkbox",
|
||||
"combobox",
|
||||
"dropdown-menu",
|
||||
"empty",
|
||||
"field",
|
||||
"input",
|
||||
"input-group",
|
||||
"item",
|
||||
"label",
|
||||
"native-select",
|
||||
"progress",
|
||||
"radio-group",
|
||||
"select",
|
||||
"separator",
|
||||
"sidebar",
|
||||
"skeleton",
|
||||
"slider",
|
||||
"spinner",
|
||||
"switch",
|
||||
"table",
|
||||
"tabs",
|
||||
"textarea",
|
||||
"toggle-group",
|
||||
],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/preview-02/index.tsx",
|
||||
type: "registry:block",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "preview-03",
|
||||
title: "Preview 03",
|
||||
type: "registry:block",
|
||||
registryDependencies: [],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/preview-03/index.tsx",
|
||||
type: "registry:block",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "login-01",
|
||||
title: "Login 01",
|
||||
description: "A simple login form.",
|
||||
type: "registry:block",
|
||||
registryDependencies: ["button", "card", "input", "label", "field"],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/login-01/page.tsx",
|
||||
target: "app/login/page.tsx",
|
||||
type: "registry:page",
|
||||
},
|
||||
{
|
||||
path: "blocks/login-01/components/login-form.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["authentication", "login"],
|
||||
},
|
||||
{
|
||||
name: "login-02",
|
||||
title: "Login 02",
|
||||
description: "A two column login page with a cover image.",
|
||||
type: "registry:block",
|
||||
registryDependencies: ["button", "input", "label", "field"],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/login-02/page.tsx",
|
||||
target: "app/login/page.tsx",
|
||||
type: "registry:page",
|
||||
},
|
||||
{
|
||||
path: "blocks/login-02/components/login-form.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["authentication", "login"],
|
||||
},
|
||||
{
|
||||
name: "login-03",
|
||||
title: "Login 03",
|
||||
description: "A login page with a muted background color.",
|
||||
type: "registry:block",
|
||||
registryDependencies: ["button", "card", "input", "label", "field"],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/login-03/page.tsx",
|
||||
target: "app/login/page.tsx",
|
||||
type: "registry:page",
|
||||
},
|
||||
{
|
||||
path: "blocks/login-03/components/login-form.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["authentication", "login"],
|
||||
},
|
||||
{
|
||||
name: "login-04",
|
||||
title: "Login 04",
|
||||
description: "A login page with form and image.",
|
||||
type: "registry:block",
|
||||
registryDependencies: ["button", "card", "input", "label", "field"],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/login-04/page.tsx",
|
||||
target: "app/login/page.tsx",
|
||||
type: "registry:page",
|
||||
},
|
||||
{
|
||||
path: "blocks/login-04/components/login-form.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["authentication", "login"],
|
||||
},
|
||||
{
|
||||
name: "login-05",
|
||||
title: "Login 05",
|
||||
description: "A simple email-only login page.",
|
||||
type: "registry:block",
|
||||
registryDependencies: ["button", "input", "label", "field"],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/login-05/page.tsx",
|
||||
target: "app/login/page.tsx",
|
||||
type: "registry:page",
|
||||
},
|
||||
{
|
||||
path: "blocks/login-05/components/login-form.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["authentication", "login"],
|
||||
},
|
||||
{
|
||||
name: "signup-01",
|
||||
title: "Signup 01",
|
||||
description: "A simple signup form.",
|
||||
type: "registry:block",
|
||||
registryDependencies: ["button", "card", "input", "label"],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/signup-01/page.tsx",
|
||||
target: "app/signup/page.tsx",
|
||||
type: "registry:page",
|
||||
},
|
||||
{
|
||||
path: "blocks/signup-01/components/signup-form.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["authentication", "signup"],
|
||||
},
|
||||
{
|
||||
name: "signup-02",
|
||||
title: "Signup 02",
|
||||
description: "A two column signup page with a cover image.",
|
||||
type: "registry:block",
|
||||
registryDependencies: ["button", "input", "label", "field"],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/signup-02/page.tsx",
|
||||
target: "app/signup/page.tsx",
|
||||
type: "registry:page",
|
||||
},
|
||||
{
|
||||
path: "blocks/signup-02/components/signup-form.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["authentication", "signup"],
|
||||
},
|
||||
{
|
||||
name: "signup-03",
|
||||
title: "Signup 03",
|
||||
description: "A signup page with a muted background color.",
|
||||
type: "registry:block",
|
||||
registryDependencies: ["button", "card", "input", "label", "field"],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/signup-03/page.tsx",
|
||||
target: "app/signup/page.tsx",
|
||||
type: "registry:page",
|
||||
},
|
||||
{
|
||||
path: "blocks/signup-03/components/signup-form.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["authentication", "signup"],
|
||||
},
|
||||
{
|
||||
name: "signup-04",
|
||||
title: "Signup 04",
|
||||
description: "A signup page with form and image.",
|
||||
type: "registry:block",
|
||||
registryDependencies: ["button", "card", "input", "label", "field"],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/signup-04/page.tsx",
|
||||
target: "app/signup/page.tsx",
|
||||
type: "registry:page",
|
||||
},
|
||||
{
|
||||
path: "blocks/signup-04/components/signup-form.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["authentication", "signup"],
|
||||
},
|
||||
{
|
||||
name: "signup-05",
|
||||
title: "Signup 05",
|
||||
description: "A simple signup form with social providers.",
|
||||
type: "registry:block",
|
||||
registryDependencies: ["button", "input", "label"],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/signup-05/page.tsx",
|
||||
target: "app/signup/page.tsx",
|
||||
type: "registry:page",
|
||||
},
|
||||
{
|
||||
path: "blocks/signup-05/components/signup-form.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["authentication", "signup"],
|
||||
},
|
||||
{
|
||||
name: "dashboard-01",
|
||||
title: "Dashboard 01",
|
||||
type: "registry:block",
|
||||
description: "A dashboard with sidebar, charts and data table.",
|
||||
dependencies: [
|
||||
"@dnd-kit/core",
|
||||
"@dnd-kit/modifiers",
|
||||
"@dnd-kit/sortable",
|
||||
"@dnd-kit/utilities",
|
||||
"@tanstack/react-table",
|
||||
"zod",
|
||||
],
|
||||
registryDependencies: [
|
||||
"sidebar",
|
||||
"breadcrumb",
|
||||
"separator",
|
||||
"label",
|
||||
"chart",
|
||||
"card",
|
||||
"select",
|
||||
"tabs",
|
||||
"table",
|
||||
"toggle-group",
|
||||
"badge",
|
||||
"button",
|
||||
"checkbox",
|
||||
"dropdown-menu",
|
||||
"drawer",
|
||||
"input",
|
||||
"avatar",
|
||||
"sheet",
|
||||
"sonner",
|
||||
],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/dashboard-01/page.tsx",
|
||||
type: "registry:page",
|
||||
target: "app/dashboard/page.tsx",
|
||||
},
|
||||
{
|
||||
path: "blocks/dashboard-01/data.json",
|
||||
type: "registry:file",
|
||||
target: "app/dashboard/data.json",
|
||||
},
|
||||
{
|
||||
path: "blocks/dashboard-01/components/app-sidebar.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/dashboard-01/components/chart-area-interactive.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/dashboard-01/components/data-table.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/dashboard-01/components/nav-documents.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/dashboard-01/components/nav-main.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/dashboard-01/components/nav-secondary.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/dashboard-01/components/nav-user.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/dashboard-01/components/section-cards.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/dashboard-01/components/site-header.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["dashboard"],
|
||||
meta: {
|
||||
iframeHeight: "1000px",
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "sidebar-01",
|
||||
title: "Sidebar 01",
|
||||
type: "registry:block",
|
||||
description: "A simple sidebar with navigation grouped by section.",
|
||||
registryDependencies: [
|
||||
"sidebar",
|
||||
"breadcrumb",
|
||||
"separator",
|
||||
"label",
|
||||
"dropdown-menu",
|
||||
],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/sidebar-01/page.tsx",
|
||||
type: "registry:page",
|
||||
target: "app/dashboard/page.tsx",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-01/components/app-sidebar.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-01/components/search-form.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-01/components/version-switcher.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["sidebar", "dashboard"],
|
||||
},
|
||||
{
|
||||
name: "sidebar-02",
|
||||
title: "Sidebar 02",
|
||||
description: "A sidebar with collapsible sections.",
|
||||
type: "registry:block",
|
||||
registryDependencies: [
|
||||
"sidebar",
|
||||
"breadcrumb",
|
||||
"separator",
|
||||
"label",
|
||||
"dropdown-menu",
|
||||
],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/sidebar-02/page.tsx",
|
||||
type: "registry:page",
|
||||
target: "app/dashboard/page.tsx",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-02/components/app-sidebar.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-02/components/search-form.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-02/components/version-switcher.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["sidebar", "dashboard"],
|
||||
},
|
||||
{
|
||||
name: "sidebar-03",
|
||||
title: "Sidebar 03",
|
||||
description: "A sidebar with submenus.",
|
||||
type: "registry:block",
|
||||
registryDependencies: ["sidebar", "breadcrumb"],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/sidebar-03/page.tsx",
|
||||
type: "registry:page",
|
||||
target: "app/dashboard/page.tsx",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-03/components/app-sidebar.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["sidebar", "dashboard"],
|
||||
},
|
||||
{
|
||||
name: "sidebar-04",
|
||||
title: "Sidebar 04",
|
||||
description: "A floating sidebar with submenus.",
|
||||
type: "registry:block",
|
||||
registryDependencies: ["sidebar", "breadcrumb", "separator"],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/sidebar-04/page.tsx",
|
||||
type: "registry:page",
|
||||
target: "app/dashboard/page.tsx",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-04/components/app-sidebar.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["sidebar", "dashboard"],
|
||||
},
|
||||
{
|
||||
name: "sidebar-05",
|
||||
title: "Sidebar 05",
|
||||
description: "A sidebar with collapsible submenus.",
|
||||
type: "registry:block",
|
||||
registryDependencies: [
|
||||
"sidebar",
|
||||
"breadcrumb",
|
||||
"separator",
|
||||
"label",
|
||||
"collapsible",
|
||||
],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/sidebar-05/page.tsx",
|
||||
type: "registry:page",
|
||||
target: "app/dashboard/page.tsx",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-05/components/app-sidebar.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-05/components/search-form.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["sidebar", "dashboard"],
|
||||
},
|
||||
{
|
||||
name: "sidebar-06",
|
||||
title: "Sidebar 06",
|
||||
description: "A sidebar with submenus as dropdowns.",
|
||||
type: "registry:block",
|
||||
registryDependencies: [
|
||||
"sidebar",
|
||||
"breadcrumb",
|
||||
"separator",
|
||||
"card",
|
||||
"dropdown-menu",
|
||||
],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/sidebar-06/page.tsx",
|
||||
type: "registry:page",
|
||||
target: "app/dashboard/page.tsx",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-06/components/app-sidebar.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-06/components/nav-main.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-06/components/sidebar-opt-in-form.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["sidebar", "dashboard"],
|
||||
},
|
||||
{
|
||||
name: "sidebar-07",
|
||||
title: "Sidebar 07",
|
||||
type: "registry:block",
|
||||
description: "A sidebar that collapses to icons.",
|
||||
registryDependencies: [
|
||||
"sidebar",
|
||||
"breadcrumb",
|
||||
"separator",
|
||||
"collapsible",
|
||||
"dropdown-menu",
|
||||
"avatar",
|
||||
],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/sidebar-07/page.tsx",
|
||||
type: "registry:page",
|
||||
target: "app/dashboard/page.tsx",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-07/components/app-sidebar.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-07/components/nav-main.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-07/components/nav-projects.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-07/components/nav-user.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-07/components/team-switcher.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["sidebar", "dashboard"],
|
||||
},
|
||||
{
|
||||
name: "sidebar-08",
|
||||
title: "Sidebar 08",
|
||||
description: "An inset sidebar with secondary navigation.",
|
||||
type: "registry:block",
|
||||
registryDependencies: [
|
||||
"sidebar",
|
||||
"breadcrumb",
|
||||
"separator",
|
||||
"collapsible",
|
||||
"dropdown-menu",
|
||||
"avatar",
|
||||
],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/sidebar-08/page.tsx",
|
||||
type: "registry:page",
|
||||
target: "app/dashboard/page.tsx",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-08/components/app-sidebar.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-08/components/nav-main.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-08/components/nav-projects.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-08/components/nav-secondary.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-08/components/nav-user.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["sidebar", "dashboard"],
|
||||
},
|
||||
{
|
||||
name: "sidebar-09",
|
||||
title: "Sidebar 09",
|
||||
description: "Collapsible nested sidebars.",
|
||||
type: "registry:block",
|
||||
registryDependencies: [
|
||||
"sidebar",
|
||||
"breadcrumb",
|
||||
"separator",
|
||||
"collapsible",
|
||||
"dropdown-menu",
|
||||
"avatar",
|
||||
"switch",
|
||||
"label",
|
||||
],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/sidebar-09/page.tsx",
|
||||
type: "registry:page",
|
||||
target: "app/dashboard/page.tsx",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-09/components/app-sidebar.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-09/components/nav-user.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["sidebar", "dashboard"],
|
||||
},
|
||||
{
|
||||
name: "sidebar-10",
|
||||
title: "Sidebar 10",
|
||||
description: "A sidebar in a popover.",
|
||||
type: "registry:block",
|
||||
registryDependencies: [
|
||||
"sidebar",
|
||||
"breadcrumb",
|
||||
"separator",
|
||||
"popover",
|
||||
"collapsible",
|
||||
"dropdown-menu",
|
||||
],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/sidebar-10/page.tsx",
|
||||
type: "registry:page",
|
||||
target: "app/dashboard/page.tsx",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-10/components/app-sidebar.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-10/components/nav-actions.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-10/components/nav-favorites.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-10/components/nav-main.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-10/components/nav-secondary.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-10/components/nav-workspaces.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-10/components/team-switcher.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["sidebar", "dashboard"],
|
||||
},
|
||||
{
|
||||
name: "sidebar-11",
|
||||
title: "Sidebar 11",
|
||||
description: "A sidebar with a collapsible file tree.",
|
||||
type: "registry:block",
|
||||
registryDependencies: ["sidebar", "breadcrumb", "separator", "collapsible"],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/sidebar-11/page.tsx",
|
||||
type: "registry:page",
|
||||
target: "app/dashboard/page.tsx",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-11/components/app-sidebar.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["sidebar", "dashboard"],
|
||||
},
|
||||
{
|
||||
name: "sidebar-12",
|
||||
title: "Sidebar 12",
|
||||
description: "A sidebar with a calendar.",
|
||||
type: "registry:block",
|
||||
registryDependencies: [
|
||||
"sidebar",
|
||||
"breadcrumb",
|
||||
"separator",
|
||||
"collapsible",
|
||||
"calendar",
|
||||
"dropdown-menu",
|
||||
"avatar",
|
||||
],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/sidebar-12/page.tsx",
|
||||
type: "registry:page",
|
||||
target: "app/dashboard/page.tsx",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-12/components/app-sidebar.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-12/components/calendars.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-12/components/date-picker.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-12/components/nav-user.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["sidebar", "dashboard"],
|
||||
},
|
||||
{
|
||||
name: "sidebar-13",
|
||||
title: "Sidebar 13",
|
||||
description: "A sidebar in a dialog.",
|
||||
type: "registry:block",
|
||||
registryDependencies: ["sidebar", "breadcrumb", "button", "dialog"],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/sidebar-13/page.tsx",
|
||||
type: "registry:page",
|
||||
target: "app/dashboard/page.tsx",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-13/components/settings-dialog.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["sidebar", "dashboard"],
|
||||
},
|
||||
{
|
||||
name: "sidebar-14",
|
||||
title: "Sidebar 14",
|
||||
description: "A sidebar on the right.",
|
||||
type: "registry:block",
|
||||
registryDependencies: ["sidebar", "breadcrumb"],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/sidebar-14/page.tsx",
|
||||
type: "registry:page",
|
||||
target: "app/dashboard/page.tsx",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-14/components/app-sidebar.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["sidebar", "dashboard"],
|
||||
},
|
||||
{
|
||||
name: "sidebar-15",
|
||||
title: "Sidebar 15",
|
||||
description: "A left and right sidebar.",
|
||||
type: "registry:block",
|
||||
registryDependencies: [
|
||||
"sidebar",
|
||||
"breadcrumb",
|
||||
"separator",
|
||||
"popover",
|
||||
"collapsible",
|
||||
"dropdown-menu",
|
||||
"calendar",
|
||||
"avatar",
|
||||
],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/sidebar-15/page.tsx",
|
||||
type: "registry:page",
|
||||
target: "app/dashboard/page.tsx",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-15/components/calendars.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-15/components/date-picker.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-15/components/nav-favorites.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-15/components/nav-main.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-15/components/nav-secondary.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-15/components/nav-user.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-15/components/nav-workspaces.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-15/components/sidebar-left.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-15/components/sidebar-right.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-15/components/team-switcher.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["sidebar", "dashboard"],
|
||||
},
|
||||
{
|
||||
name: "sidebar-16",
|
||||
title: "Sidebar 16",
|
||||
description: "A sidebar with a sticky site header.",
|
||||
type: "registry:block",
|
||||
registryDependencies: [
|
||||
"sidebar",
|
||||
"breadcrumb",
|
||||
"separator",
|
||||
"collapsible",
|
||||
"dropdown-menu",
|
||||
"avatar",
|
||||
"button",
|
||||
"label",
|
||||
],
|
||||
files: [
|
||||
{
|
||||
path: "blocks/sidebar-16/page.tsx",
|
||||
type: "registry:page",
|
||||
target: "app/dashboard/page.tsx",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-16/components/app-sidebar.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-16/components/nav-main.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-16/components/nav-projects.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-16/components/nav-secondary.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-16/components/nav-user.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-16/components/search-form.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
{
|
||||
path: "blocks/sidebar-16/components/site-header.tsx",
|
||||
type: "registry:component",
|
||||
},
|
||||
],
|
||||
categories: ["sidebar", "dashboard"],
|
||||
},
|
||||
]
|
||||
@@ -0,0 +1,281 @@
|
||||
"use client"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
import { NavDocuments } from "@/registry/bases/aria/blocks/dashboard-01/components/nav-documents"
|
||||
import { NavMain } from "@/registry/bases/aria/blocks/dashboard-01/components/nav-main"
|
||||
import { NavSecondary } from "@/registry/bases/aria/blocks/dashboard-01/components/nav-secondary"
|
||||
import { NavUser } from "@/registry/bases/aria/blocks/dashboard-01/components/nav-user"
|
||||
import {
|
||||
Sidebar,
|
||||
SidebarContent,
|
||||
SidebarFooter,
|
||||
SidebarHeader,
|
||||
SidebarMenu,
|
||||
SidebarMenuButton,
|
||||
SidebarMenuItem,
|
||||
} from "@/registry/bases/aria/ui/sidebar"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
const data = {
|
||||
user: {
|
||||
name: "shadcn",
|
||||
email: "m@example.com",
|
||||
avatar: "/avatars/shadcn.jpg",
|
||||
},
|
||||
navMain: [
|
||||
{
|
||||
title: "Dashboard",
|
||||
url: "#",
|
||||
icon: (
|
||||
<IconPlaceholder
|
||||
lucide="LayoutDashboardIcon"
|
||||
tabler="IconDashboard"
|
||||
hugeicons="DashboardSquare01Icon"
|
||||
phosphor="SquaresFourIcon"
|
||||
remixicon="RiDashboardLine"
|
||||
/>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: "Lifecycle",
|
||||
url: "#",
|
||||
icon: (
|
||||
<IconPlaceholder
|
||||
lucide="ListIcon"
|
||||
tabler="IconListDetails"
|
||||
hugeicons="Menu01Icon"
|
||||
phosphor="ListIcon"
|
||||
remixicon="RiListUnordered"
|
||||
/>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: "Analytics",
|
||||
url: "#",
|
||||
icon: (
|
||||
<IconPlaceholder
|
||||
lucide="ChartBarIcon"
|
||||
tabler="IconChartBar"
|
||||
hugeicons="ChartHistogramIcon"
|
||||
phosphor="ChartBarIcon"
|
||||
remixicon="RiBarChartLine"
|
||||
/>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: "Projects",
|
||||
url: "#",
|
||||
icon: (
|
||||
<IconPlaceholder
|
||||
lucide="FolderIcon"
|
||||
tabler="IconFolder"
|
||||
hugeicons="Folder01Icon"
|
||||
phosphor="FolderIcon"
|
||||
remixicon="RiFolderLine"
|
||||
/>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: "Team",
|
||||
url: "#",
|
||||
icon: (
|
||||
<IconPlaceholder
|
||||
lucide="UsersIcon"
|
||||
tabler="IconUsers"
|
||||
hugeicons="UserGroupIcon"
|
||||
phosphor="UsersIcon"
|
||||
remixicon="RiGroupLine"
|
||||
/>
|
||||
),
|
||||
},
|
||||
],
|
||||
navClouds: [
|
||||
{
|
||||
title: "Capture",
|
||||
icon: (
|
||||
<IconPlaceholder
|
||||
lucide="CameraIcon"
|
||||
tabler="IconCamera"
|
||||
hugeicons="Camera01Icon"
|
||||
phosphor="CameraIcon"
|
||||
remixicon="RiCameraLine"
|
||||
/>
|
||||
),
|
||||
isActive: true,
|
||||
url: "#",
|
||||
items: [
|
||||
{
|
||||
title: "Active Proposals",
|
||||
url: "#",
|
||||
},
|
||||
{
|
||||
title: "Archived",
|
||||
url: "#",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Proposal",
|
||||
icon: (
|
||||
<IconPlaceholder
|
||||
lucide="FileTextIcon"
|
||||
tabler="IconFileDescription"
|
||||
hugeicons="File01Icon"
|
||||
phosphor="FileTextIcon"
|
||||
remixicon="RiFileTextLine"
|
||||
/>
|
||||
),
|
||||
url: "#",
|
||||
items: [
|
||||
{
|
||||
title: "Active Proposals",
|
||||
url: "#",
|
||||
},
|
||||
{
|
||||
title: "Archived",
|
||||
url: "#",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Prompts",
|
||||
icon: (
|
||||
<IconPlaceholder
|
||||
lucide="FileTextIcon"
|
||||
tabler="IconFileAi"
|
||||
hugeicons="File01Icon"
|
||||
phosphor="FileTextIcon"
|
||||
remixicon="RiFileTextLine"
|
||||
/>
|
||||
),
|
||||
url: "#",
|
||||
items: [
|
||||
{
|
||||
title: "Active Proposals",
|
||||
url: "#",
|
||||
},
|
||||
{
|
||||
title: "Archived",
|
||||
url: "#",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
navSecondary: [
|
||||
{
|
||||
title: "Settings",
|
||||
url: "#",
|
||||
icon: (
|
||||
<IconPlaceholder
|
||||
lucide="Settings2Icon"
|
||||
tabler="IconSettings"
|
||||
hugeicons="Settings05Icon"
|
||||
phosphor="GearIcon"
|
||||
remixicon="RiSettingsLine"
|
||||
/>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: "Get Help",
|
||||
url: "#",
|
||||
icon: (
|
||||
<IconPlaceholder
|
||||
lucide="CircleHelpIcon"
|
||||
tabler="IconHelp"
|
||||
hugeicons="HelpCircleIcon"
|
||||
phosphor="QuestionIcon"
|
||||
remixicon="RiQuestionLine"
|
||||
/>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: "Search",
|
||||
url: "#",
|
||||
icon: (
|
||||
<IconPlaceholder
|
||||
lucide="SearchIcon"
|
||||
tabler="IconSearch"
|
||||
hugeicons="SearchIcon"
|
||||
phosphor="MagnifyingGlassIcon"
|
||||
remixicon="RiSearchLine"
|
||||
/>
|
||||
),
|
||||
},
|
||||
],
|
||||
documents: [
|
||||
{
|
||||
name: "Data Library",
|
||||
url: "#",
|
||||
icon: (
|
||||
<IconPlaceholder
|
||||
lucide="DatabaseIcon"
|
||||
tabler="IconDatabase"
|
||||
hugeicons="Database01Icon"
|
||||
phosphor="DatabaseIcon"
|
||||
remixicon="RiDatabase2Line"
|
||||
/>
|
||||
),
|
||||
},
|
||||
{
|
||||
name: "Reports",
|
||||
url: "#",
|
||||
icon: (
|
||||
<IconPlaceholder
|
||||
lucide="FileChartColumnIcon"
|
||||
tabler="IconReport"
|
||||
hugeicons="Analytics01Icon"
|
||||
phosphor="ChartLineIcon"
|
||||
remixicon="RiFileChartLine"
|
||||
/>
|
||||
),
|
||||
},
|
||||
{
|
||||
name: "Word Assistant",
|
||||
url: "#",
|
||||
icon: (
|
||||
<IconPlaceholder
|
||||
lucide="FileIcon"
|
||||
tabler="IconFileWord"
|
||||
hugeicons="File01Icon"
|
||||
phosphor="FileIcon"
|
||||
remixicon="RiFileLine"
|
||||
/>
|
||||
),
|
||||
},
|
||||
],
|
||||
}
|
||||
export function AppSidebar({ ...props }: React.ComponentProps<typeof Sidebar>) {
|
||||
return (
|
||||
<Sidebar collapsible="offcanvas" {...props}>
|
||||
<SidebarHeader>
|
||||
<SidebarMenu>
|
||||
<SidebarMenuItem>
|
||||
<SidebarMenuButton
|
||||
href="#"
|
||||
className="data-[slot=sidebar-menu-button]:p-1.5!"
|
||||
>
|
||||
<IconPlaceholder
|
||||
lucide="CommandIcon"
|
||||
tabler="IconInnerShadowTop"
|
||||
hugeicons="CommandIcon"
|
||||
phosphor="CommandIcon"
|
||||
remixicon="RiCommandLine"
|
||||
className="size-5!"
|
||||
/>
|
||||
<span className="text-base font-semibold">Acme Inc.</span>
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
</SidebarMenu>
|
||||
</SidebarHeader>
|
||||
<SidebarContent>
|
||||
<NavMain items={data.navMain} />
|
||||
<NavDocuments items={data.documents} />
|
||||
<NavSecondary items={data.navSecondary} className="mt-auto" />
|
||||
</SidebarContent>
|
||||
<SidebarFooter>
|
||||
<NavUser user={data.user} />
|
||||
</SidebarFooter>
|
||||
</Sidebar>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,300 @@
|
||||
"use client"
|
||||
|
||||
import * as React from "react"
|
||||
import { Area, AreaChart, CartesianGrid, XAxis } from "recharts"
|
||||
|
||||
import { useIsMobile } from "@/registry/bases/aria/hooks/use-mobile"
|
||||
import {
|
||||
Card,
|
||||
CardAction,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
ChartContainer,
|
||||
ChartTooltip,
|
||||
ChartTooltipContent,
|
||||
type ChartConfig,
|
||||
} from "@/registry/bases/aria/ui/chart"
|
||||
import {
|
||||
Select,
|
||||
SelectContent,
|
||||
SelectItem,
|
||||
SelectTrigger,
|
||||
SelectValue,
|
||||
} from "@/registry/bases/aria/ui/select"
|
||||
import {
|
||||
ToggleGroup,
|
||||
ToggleGroupItem,
|
||||
} from "@/registry/bases/aria/ui/toggle-group"
|
||||
|
||||
export const description = "An interactive area chart"
|
||||
|
||||
const chartData = [
|
||||
{ date: "2024-04-01", desktop: 222, mobile: 150 },
|
||||
{ date: "2024-04-02", desktop: 97, mobile: 180 },
|
||||
{ date: "2024-04-03", desktop: 167, mobile: 120 },
|
||||
{ date: "2024-04-04", desktop: 242, mobile: 260 },
|
||||
{ date: "2024-04-05", desktop: 373, mobile: 290 },
|
||||
{ date: "2024-04-06", desktop: 301, mobile: 340 },
|
||||
{ date: "2024-04-07", desktop: 245, mobile: 180 },
|
||||
{ date: "2024-04-08", desktop: 409, mobile: 320 },
|
||||
{ date: "2024-04-09", desktop: 59, mobile: 110 },
|
||||
{ date: "2024-04-10", desktop: 261, mobile: 190 },
|
||||
{ date: "2024-04-11", desktop: 327, mobile: 350 },
|
||||
{ date: "2024-04-12", desktop: 292, mobile: 210 },
|
||||
{ date: "2024-04-13", desktop: 342, mobile: 380 },
|
||||
{ date: "2024-04-14", desktop: 137, mobile: 220 },
|
||||
{ date: "2024-04-15", desktop: 120, mobile: 170 },
|
||||
{ date: "2024-04-16", desktop: 138, mobile: 190 },
|
||||
{ date: "2024-04-17", desktop: 446, mobile: 360 },
|
||||
{ date: "2024-04-18", desktop: 364, mobile: 410 },
|
||||
{ date: "2024-04-19", desktop: 243, mobile: 180 },
|
||||
{ date: "2024-04-20", desktop: 89, mobile: 150 },
|
||||
{ date: "2024-04-21", desktop: 137, mobile: 200 },
|
||||
{ date: "2024-04-22", desktop: 224, mobile: 170 },
|
||||
{ date: "2024-04-23", desktop: 138, mobile: 230 },
|
||||
{ date: "2024-04-24", desktop: 387, mobile: 290 },
|
||||
{ date: "2024-04-25", desktop: 215, mobile: 250 },
|
||||
{ date: "2024-04-26", desktop: 75, mobile: 130 },
|
||||
{ date: "2024-04-27", desktop: 383, mobile: 420 },
|
||||
{ date: "2024-04-28", desktop: 122, mobile: 180 },
|
||||
{ date: "2024-04-29", desktop: 315, mobile: 240 },
|
||||
{ date: "2024-04-30", desktop: 454, mobile: 380 },
|
||||
{ date: "2024-05-01", desktop: 165, mobile: 220 },
|
||||
{ date: "2024-05-02", desktop: 293, mobile: 310 },
|
||||
{ date: "2024-05-03", desktop: 247, mobile: 190 },
|
||||
{ date: "2024-05-04", desktop: 385, mobile: 420 },
|
||||
{ date: "2024-05-05", desktop: 481, mobile: 390 },
|
||||
{ date: "2024-05-06", desktop: 498, mobile: 520 },
|
||||
{ date: "2024-05-07", desktop: 388, mobile: 300 },
|
||||
{ date: "2024-05-08", desktop: 149, mobile: 210 },
|
||||
{ date: "2024-05-09", desktop: 227, mobile: 180 },
|
||||
{ date: "2024-05-10", desktop: 293, mobile: 330 },
|
||||
{ date: "2024-05-11", desktop: 335, mobile: 270 },
|
||||
{ date: "2024-05-12", desktop: 197, mobile: 240 },
|
||||
{ date: "2024-05-13", desktop: 197, mobile: 160 },
|
||||
{ date: "2024-05-14", desktop: 448, mobile: 490 },
|
||||
{ date: "2024-05-15", desktop: 473, mobile: 380 },
|
||||
{ date: "2024-05-16", desktop: 338, mobile: 400 },
|
||||
{ date: "2024-05-17", desktop: 499, mobile: 420 },
|
||||
{ date: "2024-05-18", desktop: 315, mobile: 350 },
|
||||
{ date: "2024-05-19", desktop: 235, mobile: 180 },
|
||||
{ date: "2024-05-20", desktop: 177, mobile: 230 },
|
||||
{ date: "2024-05-21", desktop: 82, mobile: 140 },
|
||||
{ date: "2024-05-22", desktop: 81, mobile: 120 },
|
||||
{ date: "2024-05-23", desktop: 252, mobile: 290 },
|
||||
{ date: "2024-05-24", desktop: 294, mobile: 220 },
|
||||
{ date: "2024-05-25", desktop: 201, mobile: 250 },
|
||||
{ date: "2024-05-26", desktop: 213, mobile: 170 },
|
||||
{ date: "2024-05-27", desktop: 420, mobile: 460 },
|
||||
{ date: "2024-05-28", desktop: 233, mobile: 190 },
|
||||
{ date: "2024-05-29", desktop: 78, mobile: 130 },
|
||||
{ date: "2024-05-30", desktop: 340, mobile: 280 },
|
||||
{ date: "2024-05-31", desktop: 178, mobile: 230 },
|
||||
{ date: "2024-06-01", desktop: 178, mobile: 200 },
|
||||
{ date: "2024-06-02", desktop: 470, mobile: 410 },
|
||||
{ date: "2024-06-03", desktop: 103, mobile: 160 },
|
||||
{ date: "2024-06-04", desktop: 439, mobile: 380 },
|
||||
{ date: "2024-06-05", desktop: 88, mobile: 140 },
|
||||
{ date: "2024-06-06", desktop: 294, mobile: 250 },
|
||||
{ date: "2024-06-07", desktop: 323, mobile: 370 },
|
||||
{ date: "2024-06-08", desktop: 385, mobile: 320 },
|
||||
{ date: "2024-06-09", desktop: 438, mobile: 480 },
|
||||
{ date: "2024-06-10", desktop: 155, mobile: 200 },
|
||||
{ date: "2024-06-11", desktop: 92, mobile: 150 },
|
||||
{ date: "2024-06-12", desktop: 492, mobile: 420 },
|
||||
{ date: "2024-06-13", desktop: 81, mobile: 130 },
|
||||
{ date: "2024-06-14", desktop: 426, mobile: 380 },
|
||||
{ date: "2024-06-15", desktop: 307, mobile: 350 },
|
||||
{ date: "2024-06-16", desktop: 371, mobile: 310 },
|
||||
{ date: "2024-06-17", desktop: 475, mobile: 520 },
|
||||
{ date: "2024-06-18", desktop: 107, mobile: 170 },
|
||||
{ date: "2024-06-19", desktop: 341, mobile: 290 },
|
||||
{ date: "2024-06-20", desktop: 408, mobile: 450 },
|
||||
{ date: "2024-06-21", desktop: 169, mobile: 210 },
|
||||
{ date: "2024-06-22", desktop: 317, mobile: 270 },
|
||||
{ date: "2024-06-23", desktop: 480, mobile: 530 },
|
||||
{ date: "2024-06-24", desktop: 132, mobile: 180 },
|
||||
{ date: "2024-06-25", desktop: 141, mobile: 190 },
|
||||
{ date: "2024-06-26", desktop: 434, mobile: 380 },
|
||||
{ date: "2024-06-27", desktop: 448, mobile: 490 },
|
||||
{ date: "2024-06-28", desktop: 149, mobile: 200 },
|
||||
{ date: "2024-06-29", desktop: 103, mobile: 160 },
|
||||
{ date: "2024-06-30", desktop: 446, mobile: 400 },
|
||||
]
|
||||
|
||||
const chartConfig = {
|
||||
visitors: {
|
||||
label: "Visitors",
|
||||
},
|
||||
desktop: {
|
||||
label: "Desktop",
|
||||
color: "var(--primary)",
|
||||
},
|
||||
mobile: {
|
||||
label: "Mobile",
|
||||
color: "var(--primary)",
|
||||
},
|
||||
} satisfies ChartConfig
|
||||
|
||||
export function ChartAreaInteractive() {
|
||||
const isMobile = useIsMobile()
|
||||
const [timeRange, setTimeRange] = React.useState("90d")
|
||||
|
||||
React.useEffect(() => {
|
||||
if (isMobile) {
|
||||
setTimeRange("7d")
|
||||
}
|
||||
}, [isMobile])
|
||||
|
||||
const filteredData = chartData.filter((item) => {
|
||||
const date = new Date(item.date)
|
||||
const referenceDate = new Date("2024-06-30")
|
||||
let daysToSubtract = 90
|
||||
if (timeRange === "30d") {
|
||||
daysToSubtract = 30
|
||||
} else if (timeRange === "7d") {
|
||||
daysToSubtract = 7
|
||||
}
|
||||
const startDate = new Date(referenceDate)
|
||||
startDate.setDate(startDate.getDate() - daysToSubtract)
|
||||
return date >= startDate
|
||||
})
|
||||
|
||||
return (
|
||||
<Card className="@container/card">
|
||||
<CardHeader>
|
||||
<CardTitle>Total Visitors</CardTitle>
|
||||
<CardDescription>
|
||||
<span className="hidden @[540px]/card:block">
|
||||
Total for the last 3 months
|
||||
</span>
|
||||
<span className="@[540px]/card:hidden">Last 3 months</span>
|
||||
</CardDescription>
|
||||
<CardAction>
|
||||
<ToggleGroup
|
||||
selectionMode="single"
|
||||
selectedKeys={timeRange ? [timeRange] : []}
|
||||
onSelectionChange={(value) => {
|
||||
setTimeRange((Array.from(value)[0] as string) ?? "90d")
|
||||
}}
|
||||
variant="outline"
|
||||
className="hidden *:data-[slot=toggle-group-item]:px-4! @[767px]/card:flex"
|
||||
>
|
||||
<ToggleGroupItem id="90d">Last 3 months</ToggleGroupItem>
|
||||
<ToggleGroupItem id="30d">Last 30 days</ToggleGroupItem>
|
||||
<ToggleGroupItem id="7d">Last 7 days</ToggleGroupItem>
|
||||
</ToggleGroup>
|
||||
<Select
|
||||
aria-label="Select a value"
|
||||
value={timeRange}
|
||||
onChange={(value) => {
|
||||
if (value !== null) {
|
||||
setTimeRange(String(value))
|
||||
}
|
||||
}}
|
||||
>
|
||||
<SelectTrigger
|
||||
className="flex w-40 **:data-[slot=select-value]:block **:data-[slot=select-value]:truncate @[767px]/card:hidden"
|
||||
size="sm"
|
||||
>
|
||||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
<SelectContent className="rounded-xl">
|
||||
<SelectItem id="90d" className="rounded-lg">
|
||||
Last 3 months
|
||||
</SelectItem>
|
||||
<SelectItem id="30d" className="rounded-lg">
|
||||
Last 30 days
|
||||
</SelectItem>
|
||||
<SelectItem id="7d" className="rounded-lg">
|
||||
Last 7 days
|
||||
</SelectItem>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</CardAction>
|
||||
</CardHeader>
|
||||
<CardContent className="px-2 pt-4 sm:px-6 sm:pt-6">
|
||||
<ChartContainer
|
||||
config={chartConfig}
|
||||
className="aspect-auto h-[250px] w-full"
|
||||
>
|
||||
<AreaChart data={filteredData}>
|
||||
<defs>
|
||||
<linearGradient id="fillDesktop" x1="0" y1="0" x2="0" y2="1">
|
||||
<stop
|
||||
offset="5%"
|
||||
stopColor="var(--color-desktop)"
|
||||
stopOpacity={1.0}
|
||||
/>
|
||||
<stop
|
||||
offset="95%"
|
||||
stopColor="var(--color-desktop)"
|
||||
stopOpacity={0.1}
|
||||
/>
|
||||
</linearGradient>
|
||||
<linearGradient id="fillMobile" x1="0" y1="0" x2="0" y2="1">
|
||||
<stop
|
||||
offset="5%"
|
||||
stopColor="var(--color-mobile)"
|
||||
stopOpacity={0.8}
|
||||
/>
|
||||
<stop
|
||||
offset="95%"
|
||||
stopColor="var(--color-mobile)"
|
||||
stopOpacity={0.1}
|
||||
/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<CartesianGrid vertical={false} />
|
||||
<XAxis
|
||||
dataKey="date"
|
||||
tickLine={false}
|
||||
axisLine={false}
|
||||
tickMargin={8}
|
||||
minTickGap={32}
|
||||
tickFormatter={(value) => {
|
||||
const date = new Date(value)
|
||||
return date.toLocaleDateString("en-US", {
|
||||
month: "short",
|
||||
day: "numeric",
|
||||
})
|
||||
}}
|
||||
/>
|
||||
<ChartTooltip
|
||||
cursor={false}
|
||||
content={
|
||||
<ChartTooltipContent
|
||||
labelFormatter={(value) => {
|
||||
return new Date(value).toLocaleDateString("en-US", {
|
||||
month: "short",
|
||||
day: "numeric",
|
||||
})
|
||||
}}
|
||||
indicator="dot"
|
||||
/>
|
||||
}
|
||||
/>
|
||||
<Area
|
||||
dataKey="mobile"
|
||||
type="natural"
|
||||
fill="url(#fillMobile)"
|
||||
stroke="var(--color-mobile)"
|
||||
stackId="a"
|
||||
/>
|
||||
<Area
|
||||
dataKey="desktop"
|
||||
type="natural"
|
||||
fill="url(#fillDesktop)"
|
||||
stroke="var(--color-desktop)"
|
||||
stackId="a"
|
||||
/>
|
||||
</AreaChart>
|
||||
</ChartContainer>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,892 @@
|
||||
"use client"
|
||||
|
||||
import * as React from "react"
|
||||
import {
|
||||
columnFilteringFeature,
|
||||
columnVisibilityFeature,
|
||||
createColumnHelper,
|
||||
createFilteredRowModel,
|
||||
createPaginatedRowModel,
|
||||
createSortedRowModel,
|
||||
rowPaginationFeature,
|
||||
rowSelectionFeature,
|
||||
rowSortingFeature,
|
||||
tableFeatures,
|
||||
useTable,
|
||||
type ColumnFiltersState,
|
||||
type ColumnVisibilityState,
|
||||
type SortingState,
|
||||
} from "@tanstack/react-table"
|
||||
import {
|
||||
DropIndicator,
|
||||
useDragAndDrop,
|
||||
useListData,
|
||||
} from "react-aria-components"
|
||||
import { Area, AreaChart, CartesianGrid, XAxis } from "recharts"
|
||||
import { toast } from "sonner"
|
||||
import { z } from "zod"
|
||||
|
||||
import { useIsMobile } from "@/registry/bases/aria/hooks/use-mobile"
|
||||
import { Badge } from "@/registry/bases/aria/ui/badge"
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
ChartContainer,
|
||||
ChartTooltip,
|
||||
ChartTooltipContent,
|
||||
type ChartConfig,
|
||||
} from "@/registry/bases/aria/ui/chart"
|
||||
import { Checkbox } from "@/registry/bases/aria/ui/checkbox"
|
||||
import {
|
||||
Drawer,
|
||||
DrawerClose,
|
||||
DrawerContent,
|
||||
DrawerDescription,
|
||||
DrawerFooter,
|
||||
DrawerHeader,
|
||||
DrawerTitle,
|
||||
DrawerTrigger,
|
||||
} from "@/registry/bases/aria/ui/drawer"
|
||||
import {
|
||||
DropdownMenu,
|
||||
DropdownMenuItem,
|
||||
DropdownMenuSeparator,
|
||||
DropdownMenuTrigger,
|
||||
} from "@/registry/bases/aria/ui/dropdown-menu"
|
||||
import { Input } from "@/registry/bases/aria/ui/input"
|
||||
import { Label } from "@/registry/bases/aria/ui/label"
|
||||
import {
|
||||
Select,
|
||||
SelectContent,
|
||||
SelectGroup,
|
||||
SelectItem,
|
||||
SelectTrigger,
|
||||
SelectValue,
|
||||
} from "@/registry/bases/aria/ui/select"
|
||||
import { Separator } from "@/registry/bases/aria/ui/separator"
|
||||
import {
|
||||
Table,
|
||||
TableBody,
|
||||
TableCell,
|
||||
TableHead,
|
||||
TableHeader,
|
||||
TableRow,
|
||||
} from "@/registry/bases/aria/ui/table"
|
||||
import {
|
||||
Tabs,
|
||||
TabsContent,
|
||||
TabsList,
|
||||
TabsTrigger,
|
||||
} from "@/registry/bases/aria/ui/tabs"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
// New in v9: declare the features this table uses — anything you don't
|
||||
// register is tree-shaken out of the bundle.
|
||||
const features = tableFeatures({
|
||||
columnFilteringFeature,
|
||||
columnVisibilityFeature,
|
||||
rowPaginationFeature,
|
||||
rowSelectionFeature,
|
||||
rowSortingFeature,
|
||||
filteredRowModel: createFilteredRowModel(),
|
||||
paginatedRowModel: createPaginatedRowModel(),
|
||||
sortedRowModel: createSortedRowModel(),
|
||||
})
|
||||
|
||||
const columnHelper = createColumnHelper<
|
||||
typeof features,
|
||||
z.infer<typeof schema>
|
||||
>()
|
||||
|
||||
export const schema = z.object({
|
||||
id: z.number(),
|
||||
header: z.string(),
|
||||
type: z.string(),
|
||||
status: z.string(),
|
||||
target: z.string(),
|
||||
limit: z.string(),
|
||||
reviewer: z.string(),
|
||||
})
|
||||
|
||||
// Create a separate component for the drag handle
|
||||
function DragHandle() {
|
||||
return (
|
||||
<Button
|
||||
slot="drag"
|
||||
variant="ghost"
|
||||
size="icon"
|
||||
className="size-7 text-muted-foreground hover:bg-transparent"
|
||||
>
|
||||
<IconPlaceholder
|
||||
lucide="GripVerticalIcon"
|
||||
tabler="IconGripVertical"
|
||||
hugeicons="DragDropVerticalIcon"
|
||||
phosphor="DotsSixVerticalIcon"
|
||||
remixicon="RiDraggable"
|
||||
className="size-3 text-muted-foreground"
|
||||
/>
|
||||
</Button>
|
||||
)
|
||||
}
|
||||
const columns = columnHelper.columns([
|
||||
columnHelper.display({
|
||||
id: "drag",
|
||||
header: () => null,
|
||||
cell: ({ row }) => <DragHandle />,
|
||||
}),
|
||||
columnHelper.display({
|
||||
id: "select",
|
||||
header: () => (
|
||||
<div className="flex items-center justify-center">
|
||||
<Checkbox slot="selection" />
|
||||
</div>
|
||||
),
|
||||
cell: () => (
|
||||
<div className="flex items-center justify-center">
|
||||
<Checkbox slot="selection" />
|
||||
</div>
|
||||
),
|
||||
enableSorting: false,
|
||||
enableHiding: false,
|
||||
}),
|
||||
columnHelper.accessor("header", {
|
||||
header: "Header",
|
||||
cell: ({ row }) => {
|
||||
return <TableCellViewer item={row.original} />
|
||||
},
|
||||
enableHiding: false,
|
||||
}),
|
||||
columnHelper.accessor("type", {
|
||||
header: "Section Type",
|
||||
cell: ({ row }) => (
|
||||
<div className="w-32">
|
||||
<Badge variant="outline" className="px-1.5 text-muted-foreground">
|
||||
{row.original.type}
|
||||
</Badge>
|
||||
</div>
|
||||
),
|
||||
}),
|
||||
columnHelper.accessor("status", {
|
||||
header: "Status",
|
||||
cell: ({ row }) => (
|
||||
<Badge variant="outline" className="px-1.5 text-muted-foreground">
|
||||
{row.original.status === "Done" ? (
|
||||
<IconPlaceholder
|
||||
lucide="CircleCheckIcon"
|
||||
tabler="IconCircleCheckFilled"
|
||||
hugeicons="CheckmarkCircle01Icon"
|
||||
phosphor="CheckCircleIcon"
|
||||
remixicon="RiCheckboxCircleFill"
|
||||
className="fill-green-500 dark:fill-green-400"
|
||||
/>
|
||||
) : (
|
||||
<IconPlaceholder
|
||||
lucide="LoaderIcon"
|
||||
tabler="IconLoader"
|
||||
hugeicons="Loading03Icon"
|
||||
phosphor="SpinnerIcon"
|
||||
remixicon="RiLoader4Line"
|
||||
/>
|
||||
)}
|
||||
{row.original.status}
|
||||
</Badge>
|
||||
),
|
||||
}),
|
||||
columnHelper.accessor("target", {
|
||||
header: () => <div className="w-full text-right">Target</div>,
|
||||
cell: ({ row }) => (
|
||||
<form
|
||||
onSubmit={(e) => {
|
||||
e.preventDefault()
|
||||
toast.promise(new Promise((resolve) => setTimeout(resolve, 1000)), {
|
||||
loading: `Saving ${row.original.header}`,
|
||||
success: "Done",
|
||||
error: "Error",
|
||||
})
|
||||
}}
|
||||
>
|
||||
<Label htmlFor={`${row.original.id}-target`} className="sr-only">
|
||||
Target
|
||||
</Label>
|
||||
<Input
|
||||
className="h-8 w-16 border-transparent bg-transparent text-right shadow-none hover:bg-input/30 focus-visible:border focus-visible:bg-background dark:bg-transparent dark:hover:bg-input/30 dark:focus-visible:bg-input/30"
|
||||
defaultValue={row.original.target}
|
||||
id={`${row.original.id}-target`}
|
||||
/>
|
||||
</form>
|
||||
),
|
||||
}),
|
||||
columnHelper.accessor("limit", {
|
||||
header: () => <div className="w-full text-right">Limit</div>,
|
||||
cell: ({ row }) => (
|
||||
<form
|
||||
onSubmit={(e) => {
|
||||
e.preventDefault()
|
||||
toast.promise(new Promise((resolve) => setTimeout(resolve, 1000)), {
|
||||
loading: `Saving ${row.original.header}`,
|
||||
success: "Done",
|
||||
error: "Error",
|
||||
})
|
||||
}}
|
||||
>
|
||||
<Label htmlFor={`${row.original.id}-limit`} className="sr-only">
|
||||
Limit
|
||||
</Label>
|
||||
<Input
|
||||
className="h-8 w-16 border-transparent bg-transparent text-right shadow-none hover:bg-input/30 focus-visible:border focus-visible:bg-background dark:bg-transparent dark:hover:bg-input/30 dark:focus-visible:bg-input/30"
|
||||
defaultValue={row.original.limit}
|
||||
id={`${row.original.id}-limit`}
|
||||
/>
|
||||
</form>
|
||||
),
|
||||
}),
|
||||
columnHelper.accessor("reviewer", {
|
||||
header: "Reviewer",
|
||||
cell: ({ row }) => {
|
||||
const isAssigned = row.original.reviewer !== "Assign reviewer"
|
||||
if (isAssigned) {
|
||||
return row.original.reviewer
|
||||
}
|
||||
return (
|
||||
<>
|
||||
<Label htmlFor={`${row.original.id}-reviewer`} className="sr-only">
|
||||
Reviewer
|
||||
</Label>
|
||||
<Select placeholder="Assign reviewer">
|
||||
<SelectTrigger
|
||||
className="w-38 **:data-[slot=select-value]:block **:data-[slot=select-value]:truncate"
|
||||
size="sm"
|
||||
id={`${row.original.id}-reviewer`}
|
||||
>
|
||||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
<SelectContent placement="bottom end">
|
||||
<SelectGroup>
|
||||
<SelectItem id="Eddie Lake">Eddie Lake</SelectItem>
|
||||
<SelectItem id="Jamik Tashpulatov">
|
||||
Jamik Tashpulatov
|
||||
</SelectItem>
|
||||
</SelectGroup>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</>
|
||||
)
|
||||
},
|
||||
}),
|
||||
columnHelper.display({
|
||||
id: "actions",
|
||||
cell: () => (
|
||||
<DropdownMenuTrigger>
|
||||
<Button
|
||||
variant="ghost"
|
||||
className="flex size-8 text-muted-foreground aria-expanded:bg-muted"
|
||||
size="icon"
|
||||
>
|
||||
<IconPlaceholder
|
||||
lucide="EllipsisVerticalIcon"
|
||||
tabler="IconDotsVertical"
|
||||
hugeicons="MoreVerticalCircle01Icon"
|
||||
phosphor="DotsThreeVerticalIcon"
|
||||
remixicon="RiMore2Line"
|
||||
/>
|
||||
<span className="sr-only">Open menu</span>
|
||||
</Button>
|
||||
<DropdownMenu placement="bottom end" className="w-32">
|
||||
<DropdownMenuItem>Edit</DropdownMenuItem>
|
||||
<DropdownMenuItem>Make a copy</DropdownMenuItem>
|
||||
<DropdownMenuItem>Favorite</DropdownMenuItem>
|
||||
<DropdownMenuSeparator />
|
||||
<DropdownMenuItem variant="destructive">Delete</DropdownMenuItem>
|
||||
</DropdownMenu>
|
||||
</DropdownMenuTrigger>
|
||||
),
|
||||
}),
|
||||
])
|
||||
|
||||
export function DataTable({
|
||||
data: initialData,
|
||||
}: {
|
||||
data: z.infer<typeof schema>[]
|
||||
}) {
|
||||
const list = useListData({
|
||||
initialItems: initialData,
|
||||
getKey: (item) => String(item.id),
|
||||
})
|
||||
const data = list.items
|
||||
const [rowSelection, setRowSelection] = React.useState({})
|
||||
const [columnVisibility, setColumnVisibility] =
|
||||
React.useState<ColumnVisibilityState>({})
|
||||
const [columnFilters, setColumnFilters] = React.useState<ColumnFiltersState>(
|
||||
[]
|
||||
)
|
||||
const [sorting, setSorting] = React.useState<SortingState>([])
|
||||
const [pagination, setPagination] = React.useState({
|
||||
pageIndex: 0,
|
||||
pageSize: 10,
|
||||
})
|
||||
const table = useTable({
|
||||
features,
|
||||
data,
|
||||
columns,
|
||||
state: {
|
||||
sorting,
|
||||
columnVisibility,
|
||||
rowSelection,
|
||||
columnFilters,
|
||||
pagination,
|
||||
},
|
||||
getRowId: (row) => row.id.toString(),
|
||||
enableRowSelection: true,
|
||||
onRowSelectionChange: setRowSelection,
|
||||
onSortingChange: setSorting,
|
||||
onColumnFiltersChange: setColumnFilters,
|
||||
onColumnVisibilityChange: setColumnVisibility,
|
||||
onPaginationChange: setPagination,
|
||||
})
|
||||
const { dragAndDropHooks } = useDragAndDrop({
|
||||
getItems: (keys, items: z.infer<typeof schema>[]) =>
|
||||
items.map((item) => ({
|
||||
"text/plain": item.header,
|
||||
})),
|
||||
onReorder(e) {
|
||||
if (e.target.dropPosition === "before") {
|
||||
list.moveBefore(e.target.key, e.keys)
|
||||
} else if (e.target.dropPosition === "after") {
|
||||
list.moveAfter(e.target.key, e.keys)
|
||||
}
|
||||
},
|
||||
renderDropIndicator(target) {
|
||||
return (
|
||||
<DropIndicator
|
||||
target={target}
|
||||
className="outline-blue-400 data-drop-target:outline-1"
|
||||
/>
|
||||
)
|
||||
},
|
||||
})
|
||||
|
||||
return (
|
||||
<Tabs
|
||||
defaultSelectedKey="outline"
|
||||
className="w-full flex-col justify-start gap-6"
|
||||
>
|
||||
<div className="flex items-center justify-between px-4 lg:px-6">
|
||||
<Label htmlFor="view-selector" className="sr-only">
|
||||
View
|
||||
</Label>
|
||||
{/* <Select placeholder="Select a view" defaultValue="outline">
|
||||
<SelectTrigger
|
||||
className="flex w-fit @4xl/main:hidden"
|
||||
size="sm"
|
||||
id="view-selector"
|
||||
>
|
||||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectGroup>
|
||||
<SelectItem id="outline">Outline</SelectItem>
|
||||
<SelectItem id="past-performance">Past Performance</SelectItem>
|
||||
<SelectItem id="key-personnel">Key Personnel</SelectItem>
|
||||
<SelectItem id="focus-documents">Focus Documents</SelectItem>
|
||||
</SelectGroup>
|
||||
</SelectContent>
|
||||
</Select> */}
|
||||
<TabsList className="hidden **:data-[slot=badge]:size-5 **:data-[slot=badge]:rounded-full **:data-[slot=badge]:bg-muted-foreground/30 **:data-[slot=badge]:px-1 @4xl/main:flex">
|
||||
<TabsTrigger id="outline">Outline</TabsTrigger>
|
||||
<TabsTrigger id="past-performance">
|
||||
Past Performance <Badge variant="secondary">3</Badge>
|
||||
</TabsTrigger>
|
||||
<TabsTrigger id="key-personnel">
|
||||
Key Personnel <Badge variant="secondary">2</Badge>
|
||||
</TabsTrigger>
|
||||
<TabsTrigger id="focus-documents">Focus Documents</TabsTrigger>
|
||||
</TabsList>
|
||||
<div className="flex items-center gap-2">
|
||||
{/* <DropdownMenuTrigger>
|
||||
<Button variant="outline" size="sm">
|
||||
<IconPlaceholder
|
||||
lucide="Columns3Icon"
|
||||
tabler="IconLayoutColumns"
|
||||
hugeicons="LeftToRightListBulletIcon"
|
||||
phosphor="ColumnsIcon"
|
||||
remixicon="RiLayoutColumnLine"
|
||||
data-icon="inline-start"
|
||||
/>
|
||||
Columns
|
||||
<IconPlaceholder
|
||||
lucide="ChevronDownIcon"
|
||||
tabler="IconChevronDown"
|
||||
hugeicons="ArrowDown01Icon"
|
||||
phosphor="CaretDownIcon"
|
||||
remixicon="RiArrowDownSLine"
|
||||
data-icon="inline-end"
|
||||
/>
|
||||
</Button>
|
||||
<DropdownMenu
|
||||
align="end"
|
||||
className="w-32"
|
||||
selectionMode="multiple"
|
||||
selectedKeys={
|
||||
table
|
||||
.getVisibleFlatColumns()
|
||||
.filter((column) => column.getCanHide())
|
||||
.map(column => column.id)
|
||||
}
|
||||
onSelectionChange={(keys) => {
|
||||
table.setColumnVisibility(
|
||||
Object.fromEntries(
|
||||
table
|
||||
.getAllFlatColumns()
|
||||
.map((c) => [
|
||||
c.id,
|
||||
!c.getCanHide() || keys === "all" || keys.has(c.id),
|
||||
])
|
||||
)
|
||||
)
|
||||
}}
|
||||
>
|
||||
{table
|
||||
.getAllColumns()
|
||||
.filter(
|
||||
(column) =>
|
||||
typeof column.accessorFn !== "undefined" &&
|
||||
column.getCanHide()
|
||||
)
|
||||
.map((column) => {
|
||||
return (
|
||||
<DropdownMenuItem
|
||||
key={column.id}
|
||||
id={column.id}
|
||||
className="capitalize"
|
||||
>
|
||||
{column.id}
|
||||
</DropdownMenuItem>
|
||||
)
|
||||
})}
|
||||
</DropdownMenu>
|
||||
</DropdownMenuTrigger> */}
|
||||
|
||||
<Button variant="outline" size="sm">
|
||||
<IconPlaceholder
|
||||
lucide="PlusIcon"
|
||||
tabler="IconPlus"
|
||||
hugeicons="Add01Icon"
|
||||
phosphor="PlusIcon"
|
||||
remixicon="RiAddLine"
|
||||
/>
|
||||
<span className="hidden lg:inline">Add Section</span>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
<TabsContent
|
||||
id="outline"
|
||||
className="relative flex flex-col gap-4 overflow-auto px-4 lg:px-6"
|
||||
>
|
||||
<div className="overflow-hidden rounded-lg border">
|
||||
<Table
|
||||
aria-label="Tasks"
|
||||
dragAndDropHooks={dragAndDropHooks}
|
||||
selectionMode="multiple"
|
||||
onSelectionChange={(selection) => {
|
||||
if (selection === "all") {
|
||||
table.toggleAllRowsSelected()
|
||||
} else {
|
||||
table.setRowSelection(
|
||||
Object.fromEntries([...selection].map((key) => [key, true]))
|
||||
)
|
||||
}
|
||||
}}
|
||||
sortDescriptor={
|
||||
sorting.length
|
||||
? {
|
||||
column: sorting[0].id,
|
||||
direction: sorting[0].desc ? "descending" : "ascending",
|
||||
}
|
||||
: undefined
|
||||
}
|
||||
onSortChange={(sortDescriptor) => {
|
||||
table.setSorting([
|
||||
{
|
||||
id: "" + sortDescriptor.column,
|
||||
desc: sortDescriptor.direction === "descending",
|
||||
},
|
||||
])
|
||||
}}
|
||||
>
|
||||
<TableHeader className="sticky top-0 z-10 bg-muted">
|
||||
{table.getFlatHeaders().map((header) => (
|
||||
<TableHead
|
||||
key={header.id}
|
||||
id={header.id}
|
||||
isRowHeader={header.index === 1}
|
||||
allowsSorting={header.column.getCanSort()}
|
||||
>
|
||||
{header.isPlaceholder ? null : (
|
||||
<table.FlexRender header={header} />
|
||||
)}
|
||||
</TableHead>
|
||||
))}
|
||||
</TableHeader>
|
||||
<TableBody
|
||||
className="data-empty:h-24 data-empty:text-center **:data-[slot=table-cell]:first:w-8"
|
||||
renderEmptyState={() => "No results."}
|
||||
>
|
||||
{table.getRowModel().rows.map((row) => (
|
||||
<TableRow
|
||||
key={row.id}
|
||||
id={row.id}
|
||||
value={row.original}
|
||||
className="relative z-0 data-[dragging=true]:z-10 data-[dragging=true]:opacity-80"
|
||||
>
|
||||
{row.getVisibleCells().map((cell) => (
|
||||
<TableCell key={cell.id}>
|
||||
<table.FlexRender cell={cell} />
|
||||
</TableCell>
|
||||
))}
|
||||
</TableRow>
|
||||
))}
|
||||
</TableBody>
|
||||
</Table>
|
||||
</div>
|
||||
<div className="flex items-center justify-between px-4">
|
||||
<div className="hidden flex-1 text-sm text-muted-foreground lg:flex">
|
||||
{table.getFilteredSelectedRowModel().rows.length} of{" "}
|
||||
{table.getFilteredRowModel().rows.length} row(s) selected.
|
||||
</div>
|
||||
<div className="flex w-full items-center gap-8 lg:w-fit">
|
||||
<div className="hidden items-center gap-2 lg:flex">
|
||||
<Label htmlFor="rows-per-page" className="text-sm font-medium">
|
||||
Rows per page
|
||||
</Label>
|
||||
<Select
|
||||
aria-label="Rows per page"
|
||||
placeholder={`${table.state.pagination.pageSize}`}
|
||||
value={`${table.state.pagination.pageSize}`}
|
||||
onChange={(value) => {
|
||||
table.setPageSize(Number(value))
|
||||
}}
|
||||
>
|
||||
<SelectTrigger size="sm" className="w-20" id="rows-per-page">
|
||||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
<SelectContent placement="top">
|
||||
<SelectGroup>
|
||||
{[10, 20, 30, 40, 50].map((pageSize) => (
|
||||
<SelectItem key={pageSize} id={`${pageSize}`}>
|
||||
{pageSize}
|
||||
</SelectItem>
|
||||
))}
|
||||
</SelectGroup>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</div>
|
||||
<div className="flex w-fit items-center justify-center text-sm font-medium">
|
||||
Page {table.state.pagination.pageIndex + 1} of{" "}
|
||||
{table.getPageCount()}
|
||||
</div>
|
||||
<div className="ml-auto flex items-center gap-2 lg:ml-0">
|
||||
<Button
|
||||
variant="outline"
|
||||
className="hidden h-8 w-8 p-0 lg:flex"
|
||||
onPress={() => table.setPageIndex(0)}
|
||||
isDisabled={!table.getCanPreviousPage()}
|
||||
>
|
||||
<span className="sr-only">Go to first page</span>
|
||||
<IconPlaceholder
|
||||
lucide="ChevronsLeftIcon"
|
||||
tabler="IconChevronsLeft"
|
||||
hugeicons="ArrowLeftDoubleIcon"
|
||||
phosphor="CaretDoubleLeftIcon"
|
||||
remixicon="RiSkipLeftLine"
|
||||
/>
|
||||
</Button>
|
||||
<Button
|
||||
variant="outline"
|
||||
className="size-8"
|
||||
size="icon"
|
||||
onPress={() => table.previousPage()}
|
||||
isDisabled={!table.getCanPreviousPage()}
|
||||
>
|
||||
<span className="sr-only">Go to previous page</span>
|
||||
<IconPlaceholder
|
||||
lucide="ChevronLeftIcon"
|
||||
tabler="IconChevronLeft"
|
||||
hugeicons="ArrowLeft01Icon"
|
||||
phosphor="CaretLeftIcon"
|
||||
remixicon="RiArrowLeftSLine"
|
||||
/>
|
||||
</Button>
|
||||
<Button
|
||||
variant="outline"
|
||||
className="size-8"
|
||||
size="icon"
|
||||
onPress={() => table.nextPage()}
|
||||
isDisabled={!table.getCanNextPage()}
|
||||
>
|
||||
<span className="sr-only">Go to next page</span>
|
||||
<IconPlaceholder
|
||||
lucide="ChevronRightIcon"
|
||||
tabler="IconChevronRight"
|
||||
hugeicons="ArrowRight01Icon"
|
||||
phosphor="CaretRightIcon"
|
||||
remixicon="RiArrowRightSLine"
|
||||
/>
|
||||
</Button>
|
||||
<Button
|
||||
variant="outline"
|
||||
className="hidden size-8 lg:flex"
|
||||
size="icon"
|
||||
onPress={() => table.setPageIndex(table.getPageCount() - 1)}
|
||||
isDisabled={!table.getCanNextPage()}
|
||||
>
|
||||
<span className="sr-only">Go to last page</span>
|
||||
<IconPlaceholder
|
||||
lucide="ChevronsRightIcon"
|
||||
tabler="IconChevronsRight"
|
||||
hugeicons="ArrowRightDoubleIcon"
|
||||
phosphor="CaretDoubleRightIcon"
|
||||
remixicon="RiSkipRightLine"
|
||||
/>
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</TabsContent>
|
||||
<TabsContent id="past-performance" className="flex flex-col px-4 lg:px-6">
|
||||
<div className="aspect-video w-full flex-1 rounded-lg border border-dashed"></div>
|
||||
</TabsContent>
|
||||
<TabsContent id="key-personnel" className="flex flex-col px-4 lg:px-6">
|
||||
<div className="aspect-video w-full flex-1 rounded-lg border border-dashed"></div>
|
||||
</TabsContent>
|
||||
<TabsContent id="focus-documents" className="flex flex-col px-4 lg:px-6">
|
||||
<div className="aspect-video w-full flex-1 rounded-lg border border-dashed"></div>
|
||||
</TabsContent>
|
||||
</Tabs>
|
||||
)
|
||||
}
|
||||
const chartData = [
|
||||
{
|
||||
month: "January",
|
||||
desktop: 186,
|
||||
mobile: 80,
|
||||
},
|
||||
{
|
||||
month: "February",
|
||||
desktop: 305,
|
||||
mobile: 200,
|
||||
},
|
||||
{
|
||||
month: "March",
|
||||
desktop: 237,
|
||||
mobile: 120,
|
||||
},
|
||||
{
|
||||
month: "April",
|
||||
desktop: 73,
|
||||
mobile: 190,
|
||||
},
|
||||
{
|
||||
month: "May",
|
||||
desktop: 209,
|
||||
mobile: 130,
|
||||
},
|
||||
{
|
||||
month: "June",
|
||||
desktop: 214,
|
||||
mobile: 140,
|
||||
},
|
||||
]
|
||||
const chartConfig = {
|
||||
desktop: {
|
||||
label: "Desktop",
|
||||
color: "var(--primary)",
|
||||
},
|
||||
mobile: {
|
||||
label: "Mobile",
|
||||
color: "var(--primary)",
|
||||
},
|
||||
} satisfies ChartConfig
|
||||
function TableCellViewer({ item }: { item: z.infer<typeof schema> }) {
|
||||
const isMobile = useIsMobile()
|
||||
return (
|
||||
<Drawer swipeDirection={isMobile ? "down" : "right"}>
|
||||
<DrawerTrigger
|
||||
render={
|
||||
<Button
|
||||
variant="link"
|
||||
className="w-fit px-0 text-left text-foreground"
|
||||
/>
|
||||
}
|
||||
>
|
||||
{item.header}
|
||||
</DrawerTrigger>
|
||||
<DrawerContent>
|
||||
<DrawerHeader className="gap-1">
|
||||
<DrawerTitle>{item.header}</DrawerTitle>
|
||||
<DrawerDescription>
|
||||
Showing total visitors for the last 6 months
|
||||
</DrawerDescription>
|
||||
</DrawerHeader>
|
||||
<div className="flex flex-col gap-4 overflow-y-auto px-4 text-sm">
|
||||
{!isMobile && (
|
||||
<>
|
||||
<ChartContainer config={chartConfig}>
|
||||
<AreaChart
|
||||
accessibilityLayer
|
||||
data={chartData}
|
||||
margin={{
|
||||
left: 0,
|
||||
right: 10,
|
||||
}}
|
||||
>
|
||||
<CartesianGrid vertical={false} />
|
||||
<XAxis
|
||||
dataKey="month"
|
||||
tickLine={false}
|
||||
axisLine={false}
|
||||
tickMargin={8}
|
||||
tickFormatter={(value) => value.slice(0, 3)}
|
||||
hide
|
||||
/>
|
||||
<ChartTooltip
|
||||
cursor={false}
|
||||
content={<ChartTooltipContent indicator="dot" />}
|
||||
/>
|
||||
<Area
|
||||
dataKey="mobile"
|
||||
type="natural"
|
||||
fill="var(--color-mobile)"
|
||||
fillOpacity={0.6}
|
||||
stroke="var(--color-mobile)"
|
||||
stackId="a"
|
||||
/>
|
||||
<Area
|
||||
dataKey="desktop"
|
||||
type="natural"
|
||||
fill="var(--color-desktop)"
|
||||
fillOpacity={0.4}
|
||||
stroke="var(--color-desktop)"
|
||||
stackId="a"
|
||||
/>
|
||||
</AreaChart>
|
||||
</ChartContainer>
|
||||
<Separator />
|
||||
<div className="grid gap-2">
|
||||
<div className="flex gap-2 leading-none font-medium">
|
||||
Trending up by 5.2% this month{" "}
|
||||
<IconPlaceholder
|
||||
lucide="TrendingUpIcon"
|
||||
tabler="IconTrendingUp"
|
||||
hugeicons="ChartUpIcon"
|
||||
phosphor="TrendUpIcon"
|
||||
remixicon="RiArrowUpLine"
|
||||
className="size-4"
|
||||
/>
|
||||
</div>
|
||||
<div className="text-muted-foreground">
|
||||
Showing total visitors for the last 6 months. This is just
|
||||
some random text to test the layout. It spans multiple lines
|
||||
and should wrap around.
|
||||
</div>
|
||||
</div>
|
||||
<Separator />
|
||||
</>
|
||||
)}
|
||||
<form className="flex flex-col gap-4">
|
||||
<div className="flex flex-col gap-3">
|
||||
<Label htmlFor="header">Header</Label>
|
||||
<Input id="header" defaultValue={item.header} />
|
||||
</div>
|
||||
<div className="grid grid-cols-2 gap-4">
|
||||
<div className="flex flex-col gap-3">
|
||||
<Label htmlFor="type">Type</Label>
|
||||
<Select
|
||||
placeholder="Select a type"
|
||||
aria-label="Type"
|
||||
defaultValue={item.type}
|
||||
>
|
||||
<SelectTrigger id="type" className="w-full">
|
||||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectGroup>
|
||||
<SelectItem id="Table of Contents">
|
||||
Table of Contents
|
||||
</SelectItem>
|
||||
<SelectItem id="Executive Summary">
|
||||
Executive Summary
|
||||
</SelectItem>
|
||||
<SelectItem id="Technical Approach">
|
||||
Technical Approach
|
||||
</SelectItem>
|
||||
<SelectItem id="Design">Design</SelectItem>
|
||||
<SelectItem id="Capabilities">Capabilities</SelectItem>
|
||||
<SelectItem id="Focus Documents">
|
||||
Focus Documents
|
||||
</SelectItem>
|
||||
<SelectItem id="Narrative">Narrative</SelectItem>
|
||||
<SelectItem id="Cover Page">Cover Page</SelectItem>
|
||||
</SelectGroup>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</div>
|
||||
<div className="flex flex-col gap-3">
|
||||
<Label htmlFor="status">Status</Label>
|
||||
<Select
|
||||
aria-label="Status"
|
||||
placeholder="Select a status"
|
||||
defaultValue={item.status}
|
||||
>
|
||||
<SelectTrigger id="status" className="w-full">
|
||||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectGroup>
|
||||
<SelectItem id="Done">Done</SelectItem>
|
||||
<SelectItem id="In Progress">In Progress</SelectItem>
|
||||
<SelectItem id="Not Started">Not Started</SelectItem>
|
||||
</SelectGroup>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</div>
|
||||
</div>
|
||||
<div className="grid grid-cols-2 gap-4">
|
||||
<div className="flex flex-col gap-3">
|
||||
<Label htmlFor="target">Target</Label>
|
||||
<Input id="target" defaultValue={item.target} />
|
||||
</div>
|
||||
<div className="flex flex-col gap-3">
|
||||
<Label htmlFor="limit">Limit</Label>
|
||||
<Input id="limit" defaultValue={item.limit} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex flex-col gap-3">
|
||||
<Label htmlFor="reviewer">Reviewer</Label>
|
||||
<Select
|
||||
aria-label="Reviewer"
|
||||
placeholder="Select a reviewer"
|
||||
defaultValue={item.reviewer}
|
||||
>
|
||||
<SelectTrigger id="reviewer" className="w-full">
|
||||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectGroup>
|
||||
<SelectItem id="Eddie Lake">Eddie Lake</SelectItem>
|
||||
<SelectItem id="Jamik Tashpulatov">
|
||||
Jamik Tashpulatov
|
||||
</SelectItem>
|
||||
<SelectItem id="Emily Whalen">Emily Whalen</SelectItem>
|
||||
</SelectGroup>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<DrawerFooter>
|
||||
<Button>Submit</Button>
|
||||
<DrawerClose render={<Button variant="outline" />}>Done</DrawerClose>
|
||||
</DrawerFooter>
|
||||
</DrawerContent>
|
||||
</Drawer>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
"use client"
|
||||
|
||||
import {
|
||||
DropdownMenu,
|
||||
DropdownMenuItem,
|
||||
DropdownMenuSeparator,
|
||||
DropdownMenuTrigger,
|
||||
} from "@/registry/bases/aria/ui/dropdown-menu"
|
||||
import {
|
||||
SidebarGroup,
|
||||
SidebarGroupLabel,
|
||||
SidebarMenu,
|
||||
SidebarMenuAction,
|
||||
SidebarMenuButton,
|
||||
SidebarMenuItem,
|
||||
useSidebar,
|
||||
} from "@/registry/bases/aria/ui/sidebar"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
export function NavDocuments({
|
||||
items,
|
||||
}: {
|
||||
items: {
|
||||
name: string
|
||||
url: string
|
||||
icon: React.ReactNode
|
||||
}[]
|
||||
}) {
|
||||
const { isMobile } = useSidebar()
|
||||
return (
|
||||
<SidebarGroup className="group-data-[collapsible=icon]:hidden">
|
||||
<SidebarGroupLabel>Documents</SidebarGroupLabel>
|
||||
<SidebarMenu>
|
||||
{items.map((item) => (
|
||||
<SidebarMenuItem key={item.name}>
|
||||
<SidebarMenuButton href={item.url}>
|
||||
{item.icon}
|
||||
<span>{item.name}</span>
|
||||
</SidebarMenuButton>
|
||||
|
||||
<DropdownMenuTrigger>
|
||||
<SidebarMenuAction showOnHover className="aria-expanded:bg-muted">
|
||||
<IconPlaceholder
|
||||
lucide="MoreHorizontalIcon"
|
||||
tabler="IconDots"
|
||||
hugeicons="MoreHorizontalCircle01Icon"
|
||||
phosphor="DotsThreeOutlineIcon"
|
||||
remixicon="RiMoreLine"
|
||||
/>
|
||||
<span className="sr-only">More</span>
|
||||
</SidebarMenuAction>
|
||||
<DropdownMenu
|
||||
className="w-24"
|
||||
placement={isMobile ? "bottom end" : "right top"}
|
||||
>
|
||||
<DropdownMenuItem>
|
||||
<IconPlaceholder
|
||||
lucide="FolderIcon"
|
||||
tabler="IconFolder"
|
||||
hugeicons="Folder01Icon"
|
||||
phosphor="FolderIcon"
|
||||
remixicon="RiFolderLine"
|
||||
/>
|
||||
<span>Open</span>
|
||||
</DropdownMenuItem>
|
||||
<DropdownMenuItem>
|
||||
<IconPlaceholder
|
||||
lucide="ShareIcon"
|
||||
tabler="IconShare3"
|
||||
hugeicons="Share01Icon"
|
||||
phosphor="ShareIcon"
|
||||
remixicon="RiShareLine"
|
||||
/>
|
||||
<span>Share</span>
|
||||
</DropdownMenuItem>
|
||||
<DropdownMenuSeparator />
|
||||
<DropdownMenuItem variant="destructive">
|
||||
<IconPlaceholder
|
||||
lucide="Trash2Icon"
|
||||
tabler="IconTrash"
|
||||
hugeicons="Delete02Icon"
|
||||
phosphor="TrashIcon"
|
||||
remixicon="RiDeleteBinLine"
|
||||
/>
|
||||
<span>Delete</span>
|
||||
</DropdownMenuItem>
|
||||
</DropdownMenu>
|
||||
</DropdownMenuTrigger>
|
||||
</SidebarMenuItem>
|
||||
))}
|
||||
<SidebarMenuItem>
|
||||
<SidebarMenuButton className="text-sidebar-foreground/70">
|
||||
<IconPlaceholder
|
||||
lucide="MoreHorizontalIcon"
|
||||
tabler="IconDots"
|
||||
hugeicons="MoreHorizontalCircle01Icon"
|
||||
phosphor="DotsThreeOutlineIcon"
|
||||
remixicon="RiMoreLine"
|
||||
className="text-sidebar-foreground/70"
|
||||
/>
|
||||
<span>More</span>
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
</SidebarMenu>
|
||||
</SidebarGroup>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
"use client"
|
||||
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
SidebarGroup,
|
||||
SidebarGroupContent,
|
||||
SidebarMenu,
|
||||
SidebarMenuButton,
|
||||
SidebarMenuItem,
|
||||
} from "@/registry/bases/aria/ui/sidebar"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
export function NavMain({
|
||||
items,
|
||||
}: {
|
||||
items: {
|
||||
title: string
|
||||
url: string
|
||||
icon?: React.ReactNode
|
||||
}[]
|
||||
}) {
|
||||
return (
|
||||
<SidebarGroup>
|
||||
<SidebarGroupContent className="flex flex-col gap-2">
|
||||
<SidebarMenu>
|
||||
<SidebarMenuItem className="flex items-center gap-2">
|
||||
<SidebarMenuButton
|
||||
tooltip="Quick Create"
|
||||
className="min-w-8 bg-primary text-primary-foreground duration-200 ease-linear hover:bg-primary/90 hover:text-primary-foreground active:bg-primary/90 active:text-primary-foreground"
|
||||
>
|
||||
<IconPlaceholder
|
||||
lucide="CirclePlusIcon"
|
||||
tabler="IconCirclePlusFilled"
|
||||
hugeicons="PlusSignCircleIcon"
|
||||
phosphor="PlusCircleIcon"
|
||||
remixicon="RiAddCircleFill"
|
||||
/>
|
||||
<span>Quick Create</span>
|
||||
</SidebarMenuButton>
|
||||
<Button
|
||||
size="icon"
|
||||
className="size-8 group-data-[collapsible=icon]:opacity-0"
|
||||
variant="outline"
|
||||
>
|
||||
<IconPlaceholder
|
||||
lucide="MailIcon"
|
||||
tabler="IconMail"
|
||||
hugeicons="Mail01Icon"
|
||||
phosphor="EnvelopeIcon"
|
||||
remixicon="RiMailLine"
|
||||
/>
|
||||
<span className="sr-only">Inbox</span>
|
||||
</Button>
|
||||
</SidebarMenuItem>
|
||||
</SidebarMenu>
|
||||
<SidebarMenu>
|
||||
{items.map((item) => (
|
||||
<SidebarMenuItem key={item.title}>
|
||||
<SidebarMenuButton tooltip={item.title}>
|
||||
{item.icon}
|
||||
<span>{item.title}</span>
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
))}
|
||||
</SidebarMenu>
|
||||
</SidebarGroupContent>
|
||||
</SidebarGroup>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
"use client"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
import {
|
||||
SidebarGroup,
|
||||
SidebarGroupContent,
|
||||
SidebarMenu,
|
||||
SidebarMenuButton,
|
||||
SidebarMenuItem,
|
||||
} from "@/registry/bases/aria/ui/sidebar"
|
||||
|
||||
export function NavSecondary({
|
||||
items,
|
||||
...props
|
||||
}: {
|
||||
items: {
|
||||
title: string
|
||||
url: string
|
||||
icon: React.ReactNode
|
||||
}[]
|
||||
} & React.ComponentPropsWithoutRef<typeof SidebarGroup>) {
|
||||
return (
|
||||
<SidebarGroup {...props}>
|
||||
<SidebarGroupContent>
|
||||
<SidebarMenu>
|
||||
{items.map((item) => (
|
||||
<SidebarMenuItem key={item.title}>
|
||||
<SidebarMenuButton href={item.url}>
|
||||
{item.icon}
|
||||
<span>{item.title}</span>
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
))}
|
||||
</SidebarMenu>
|
||||
</SidebarGroupContent>
|
||||
</SidebarGroup>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,128 @@
|
||||
"use client"
|
||||
|
||||
import {
|
||||
Avatar,
|
||||
AvatarFallback,
|
||||
AvatarImage,
|
||||
} from "@/registry/bases/aria/ui/avatar"
|
||||
import {
|
||||
DropdownMenu,
|
||||
DropdownMenuGroup,
|
||||
DropdownMenuItem,
|
||||
DropdownMenuLabel,
|
||||
DropdownMenuSeparator,
|
||||
DropdownMenuTrigger,
|
||||
} from "@/registry/bases/aria/ui/dropdown-menu"
|
||||
import {
|
||||
SidebarMenu,
|
||||
SidebarMenuButton,
|
||||
SidebarMenuItem,
|
||||
useSidebar,
|
||||
} from "@/registry/bases/aria/ui/sidebar"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
export function NavUser({
|
||||
user,
|
||||
}: {
|
||||
user: {
|
||||
name: string
|
||||
email: string
|
||||
avatar: string
|
||||
}
|
||||
}) {
|
||||
const { isMobile } = useSidebar()
|
||||
return (
|
||||
<SidebarMenu>
|
||||
<SidebarMenuItem>
|
||||
<DropdownMenuTrigger>
|
||||
<SidebarMenuButton size="lg" className="aria-expanded:bg-muted">
|
||||
<Avatar className="size-8 rounded-lg grayscale">
|
||||
<AvatarImage src={user.avatar} alt={user.name} />
|
||||
<AvatarFallback className="rounded-lg">CN</AvatarFallback>
|
||||
</Avatar>
|
||||
<div className="grid flex-1 text-left text-sm leading-tight">
|
||||
<span className="truncate font-medium">{user.name}</span>
|
||||
<span className="truncate text-xs text-foreground/70">
|
||||
{user.email}
|
||||
</span>
|
||||
</div>
|
||||
<IconPlaceholder
|
||||
lucide="EllipsisVerticalIcon"
|
||||
tabler="IconDotsVertical"
|
||||
hugeicons="MoreVerticalCircle01Icon"
|
||||
phosphor="DotsThreeVerticalIcon"
|
||||
remixicon="RiMore2Line"
|
||||
className="ml-auto size-4"
|
||||
/>
|
||||
</SidebarMenuButton>
|
||||
<DropdownMenu
|
||||
className="min-w-56"
|
||||
placement={isMobile ? "bottom end" : "right bottom"}
|
||||
offset={4}
|
||||
>
|
||||
<DropdownMenuGroup>
|
||||
<DropdownMenuLabel className="p-0 font-normal">
|
||||
<div className="flex items-center gap-2 px-1 py-1.5 text-left text-sm">
|
||||
<Avatar className="size-8">
|
||||
<AvatarImage src={user.avatar} alt={user.name} />
|
||||
<AvatarFallback className="rounded-lg">CN</AvatarFallback>
|
||||
</Avatar>
|
||||
<div className="grid flex-1 text-left text-sm leading-tight">
|
||||
<span className="truncate font-medium">{user.name}</span>
|
||||
<span className="truncate text-xs text-muted-foreground">
|
||||
{user.email}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</DropdownMenuLabel>
|
||||
</DropdownMenuGroup>
|
||||
<DropdownMenuSeparator />
|
||||
<DropdownMenuGroup>
|
||||
<DropdownMenuItem>
|
||||
<IconPlaceholder
|
||||
lucide="CircleUserRoundIcon"
|
||||
tabler="IconUserCircle"
|
||||
hugeicons="UserCircle02Icon"
|
||||
phosphor="UserCircleIcon"
|
||||
remixicon="RiUserLine"
|
||||
/>
|
||||
Account
|
||||
</DropdownMenuItem>
|
||||
<DropdownMenuItem>
|
||||
<IconPlaceholder
|
||||
lucide="CreditCardIcon"
|
||||
tabler="IconCreditCard"
|
||||
hugeicons="CreditCardIcon"
|
||||
phosphor="CreditCardIcon"
|
||||
remixicon="RiBankCardLine"
|
||||
/>
|
||||
Billing
|
||||
</DropdownMenuItem>
|
||||
<DropdownMenuItem>
|
||||
<IconPlaceholder
|
||||
lucide="BellIcon"
|
||||
tabler="IconNotification"
|
||||
hugeicons="Notification03Icon"
|
||||
phosphor="BellIcon"
|
||||
remixicon="RiNotification3Line"
|
||||
/>
|
||||
Notifications
|
||||
</DropdownMenuItem>
|
||||
</DropdownMenuGroup>
|
||||
<DropdownMenuSeparator />
|
||||
<DropdownMenuItem>
|
||||
<IconPlaceholder
|
||||
lucide="LogOutIcon"
|
||||
tabler="IconLogout"
|
||||
hugeicons="Logout01Icon"
|
||||
phosphor="SignOutIcon"
|
||||
remixicon="RiLogoutBoxLine"
|
||||
/>
|
||||
Log out
|
||||
</DropdownMenuItem>
|
||||
</DropdownMenu>
|
||||
</DropdownMenuTrigger>
|
||||
</SidebarMenuItem>
|
||||
</SidebarMenu>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,159 @@
|
||||
"use client"
|
||||
|
||||
import { Badge } from "@/registry/bases/aria/ui/badge"
|
||||
import {
|
||||
Card,
|
||||
CardAction,
|
||||
CardDescription,
|
||||
CardFooter,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
export function SectionCards() {
|
||||
return (
|
||||
<div className="grid grid-cols-1 gap-4 px-4 *:data-[slot=card]:bg-linear-to-t *:data-[slot=card]:from-primary/5 *:data-[slot=card]:to-card *:data-[slot=card]:shadow-xs lg:px-6 @xl/main:grid-cols-2 @5xl/main:grid-cols-4 dark:*:data-[slot=card]:bg-card">
|
||||
<Card className="@container/card">
|
||||
<CardHeader>
|
||||
<CardDescription>Total Revenue</CardDescription>
|
||||
<CardTitle className="text-2xl font-semibold tabular-nums @[250px]/card:text-3xl">
|
||||
$1,250.00
|
||||
</CardTitle>
|
||||
<CardAction>
|
||||
<Badge variant="outline">
|
||||
<IconPlaceholder
|
||||
lucide="TrendingUpIcon"
|
||||
tabler="IconTrendingUp"
|
||||
hugeicons="ChartUpIcon"
|
||||
phosphor="TrendUpIcon"
|
||||
remixicon="RiArrowUpLine"
|
||||
/>
|
||||
+12.5%
|
||||
</Badge>
|
||||
</CardAction>
|
||||
</CardHeader>
|
||||
<CardFooter className="flex-col items-start gap-1.5 text-sm">
|
||||
<div className="line-clamp-1 flex gap-2 font-medium">
|
||||
Trending up this month{" "}
|
||||
<IconPlaceholder
|
||||
lucide="TrendingUpIcon"
|
||||
tabler="IconTrendingUp"
|
||||
hugeicons="ChartUpIcon"
|
||||
phosphor="TrendUpIcon"
|
||||
remixicon="RiArrowUpLine"
|
||||
className="size-4"
|
||||
/>
|
||||
</div>
|
||||
<div className="text-muted-foreground">
|
||||
Visitors for the last 6 months
|
||||
</div>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
<Card className="@container/card">
|
||||
<CardHeader>
|
||||
<CardDescription>New Customers</CardDescription>
|
||||
<CardTitle className="text-2xl font-semibold tabular-nums @[250px]/card:text-3xl">
|
||||
1,234
|
||||
</CardTitle>
|
||||
<CardAction>
|
||||
<Badge variant="outline">
|
||||
<IconPlaceholder
|
||||
lucide="TrendingDownIcon"
|
||||
tabler="IconTrendingDown"
|
||||
hugeicons="ChartDownIcon"
|
||||
phosphor="TrendDownIcon"
|
||||
remixicon="RiArrowDownLine"
|
||||
/>
|
||||
-20%
|
||||
</Badge>
|
||||
</CardAction>
|
||||
</CardHeader>
|
||||
<CardFooter className="flex-col items-start gap-1.5 text-sm">
|
||||
<div className="line-clamp-1 flex gap-2 font-medium">
|
||||
Down 20% this period{" "}
|
||||
<IconPlaceholder
|
||||
lucide="TrendingDownIcon"
|
||||
tabler="IconTrendingDown"
|
||||
hugeicons="ChartDownIcon"
|
||||
phosphor="TrendDownIcon"
|
||||
remixicon="RiArrowDownLine"
|
||||
className="size-4"
|
||||
/>
|
||||
</div>
|
||||
<div className="text-muted-foreground">
|
||||
Acquisition needs attention
|
||||
</div>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
<Card className="@container/card">
|
||||
<CardHeader>
|
||||
<CardDescription>Active Accounts</CardDescription>
|
||||
<CardTitle className="text-2xl font-semibold tabular-nums @[250px]/card:text-3xl">
|
||||
45,678
|
||||
</CardTitle>
|
||||
<CardAction>
|
||||
<Badge variant="outline">
|
||||
<IconPlaceholder
|
||||
lucide="TrendingUpIcon"
|
||||
tabler="IconTrendingUp"
|
||||
hugeicons="ChartUpIcon"
|
||||
phosphor="TrendUpIcon"
|
||||
remixicon="RiArrowUpLine"
|
||||
/>
|
||||
+12.5%
|
||||
</Badge>
|
||||
</CardAction>
|
||||
</CardHeader>
|
||||
<CardFooter className="flex-col items-start gap-1.5 text-sm">
|
||||
<div className="line-clamp-1 flex gap-2 font-medium">
|
||||
Strong user retention{" "}
|
||||
<IconPlaceholder
|
||||
lucide="TrendingUpIcon"
|
||||
tabler="IconTrendingUp"
|
||||
hugeicons="ChartUpIcon"
|
||||
phosphor="TrendUpIcon"
|
||||
remixicon="RiArrowUpLine"
|
||||
className="size-4"
|
||||
/>
|
||||
</div>
|
||||
<div className="text-muted-foreground">Engagement exceed targets</div>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
<Card className="@container/card">
|
||||
<CardHeader>
|
||||
<CardDescription>Growth Rate</CardDescription>
|
||||
<CardTitle className="text-2xl font-semibold tabular-nums @[250px]/card:text-3xl">
|
||||
4.5%
|
||||
</CardTitle>
|
||||
<CardAction>
|
||||
<Badge variant="outline">
|
||||
<IconPlaceholder
|
||||
lucide="TrendingUpIcon"
|
||||
tabler="IconTrendingUp"
|
||||
hugeicons="ChartUpIcon"
|
||||
phosphor="TrendUpIcon"
|
||||
remixicon="RiArrowUpLine"
|
||||
/>
|
||||
+4.5%
|
||||
</Badge>
|
||||
</CardAction>
|
||||
</CardHeader>
|
||||
<CardFooter className="flex-col items-start gap-1.5 text-sm">
|
||||
<div className="line-clamp-1 flex gap-2 font-medium">
|
||||
Steady performance increase{" "}
|
||||
<IconPlaceholder
|
||||
lucide="TrendingUpIcon"
|
||||
tabler="IconTrendingUp"
|
||||
hugeicons="ChartUpIcon"
|
||||
phosphor="TrendUpIcon"
|
||||
remixicon="RiArrowUpLine"
|
||||
className="size-4"
|
||||
/>
|
||||
</div>
|
||||
<div className="text-muted-foreground">Meets growth projections</div>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
import { Separator } from "@/registry/bases/aria/ui/separator"
|
||||
import { SidebarTrigger } from "@/registry/bases/aria/ui/sidebar"
|
||||
|
||||
export function SiteHeader() {
|
||||
return (
|
||||
<header className="flex h-(--header-height) shrink-0 items-center gap-2 border-b transition-[width,height] ease-linear group-has-data-[collapsible=icon]/sidebar-wrapper:h-(--header-height)">
|
||||
<div className="flex w-full items-center gap-1 px-4 lg:gap-2 lg:px-6">
|
||||
<SidebarTrigger className="-ml-1" />
|
||||
<Separator
|
||||
orientation="vertical"
|
||||
className="mx-2 h-4 data-vertical:self-auto"
|
||||
/>
|
||||
<h1 className="text-base font-medium">Documents</h1>
|
||||
</div>
|
||||
</header>
|
||||
)
|
||||
}
|
||||
614
apps/v4/registry/bases/aria/blocks/dashboard-01/data.json
Normal file
614
apps/v4/registry/bases/aria/blocks/dashboard-01/data.json
Normal file
@@ -0,0 +1,614 @@
|
||||
[
|
||||
{
|
||||
"id": 1,
|
||||
"header": "Cover page",
|
||||
"type": "Cover page",
|
||||
"status": "In Process",
|
||||
"target": "18",
|
||||
"limit": "5",
|
||||
"reviewer": "Eddie Lake"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"header": "Table of contents",
|
||||
"type": "Table of contents",
|
||||
"status": "Done",
|
||||
"target": "29",
|
||||
"limit": "24",
|
||||
"reviewer": "Eddie Lake"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"header": "Executive summary",
|
||||
"type": "Narrative",
|
||||
"status": "Done",
|
||||
"target": "10",
|
||||
"limit": "13",
|
||||
"reviewer": "Eddie Lake"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"header": "Technical approach",
|
||||
"type": "Narrative",
|
||||
"status": "Done",
|
||||
"target": "27",
|
||||
"limit": "23",
|
||||
"reviewer": "Jamik Tashpulatov"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"header": "Design",
|
||||
"type": "Narrative",
|
||||
"status": "In Process",
|
||||
"target": "2",
|
||||
"limit": "16",
|
||||
"reviewer": "Jamik Tashpulatov"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"header": "Capabilities",
|
||||
"type": "Narrative",
|
||||
"status": "In Process",
|
||||
"target": "20",
|
||||
"limit": "8",
|
||||
"reviewer": "Jamik Tashpulatov"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"header": "Integration with existing systems",
|
||||
"type": "Narrative",
|
||||
"status": "In Process",
|
||||
"target": "19",
|
||||
"limit": "21",
|
||||
"reviewer": "Jamik Tashpulatov"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"header": "Innovation and Advantages",
|
||||
"type": "Narrative",
|
||||
"status": "Done",
|
||||
"target": "25",
|
||||
"limit": "26",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"header": "Overview of EMR's Innovative Solutions",
|
||||
"type": "Technical content",
|
||||
"status": "Done",
|
||||
"target": "7",
|
||||
"limit": "23",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"header": "Advanced Algorithms and Machine Learning",
|
||||
"type": "Narrative",
|
||||
"status": "Done",
|
||||
"target": "30",
|
||||
"limit": "28",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 11,
|
||||
"header": "Adaptive Communication Protocols",
|
||||
"type": "Narrative",
|
||||
"status": "Done",
|
||||
"target": "9",
|
||||
"limit": "31",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 12,
|
||||
"header": "Advantages Over Current Technologies",
|
||||
"type": "Narrative",
|
||||
"status": "Done",
|
||||
"target": "12",
|
||||
"limit": "0",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 13,
|
||||
"header": "Past Performance",
|
||||
"type": "Narrative",
|
||||
"status": "Done",
|
||||
"target": "22",
|
||||
"limit": "33",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 14,
|
||||
"header": "Customer Feedback and Satisfaction Levels",
|
||||
"type": "Narrative",
|
||||
"status": "Done",
|
||||
"target": "15",
|
||||
"limit": "34",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"header": "Implementation Challenges and Solutions",
|
||||
"type": "Narrative",
|
||||
"status": "Done",
|
||||
"target": "3",
|
||||
"limit": "35",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"header": "Security Measures and Data Protection Policies",
|
||||
"type": "Narrative",
|
||||
"status": "In Process",
|
||||
"target": "6",
|
||||
"limit": "36",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 17,
|
||||
"header": "Scalability and Future Proofing",
|
||||
"type": "Narrative",
|
||||
"status": "Done",
|
||||
"target": "4",
|
||||
"limit": "37",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 18,
|
||||
"header": "Cost-Benefit Analysis",
|
||||
"type": "Plain language",
|
||||
"status": "Done",
|
||||
"target": "14",
|
||||
"limit": "38",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 19,
|
||||
"header": "User Training and Onboarding Experience",
|
||||
"type": "Narrative",
|
||||
"status": "Done",
|
||||
"target": "17",
|
||||
"limit": "39",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 20,
|
||||
"header": "Future Development Roadmap",
|
||||
"type": "Narrative",
|
||||
"status": "Done",
|
||||
"target": "11",
|
||||
"limit": "40",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 21,
|
||||
"header": "System Architecture Overview",
|
||||
"type": "Technical content",
|
||||
"status": "In Process",
|
||||
"target": "24",
|
||||
"limit": "18",
|
||||
"reviewer": "Maya Johnson"
|
||||
},
|
||||
{
|
||||
"id": 22,
|
||||
"header": "Risk Management Plan",
|
||||
"type": "Narrative",
|
||||
"status": "Done",
|
||||
"target": "15",
|
||||
"limit": "22",
|
||||
"reviewer": "Carlos Rodriguez"
|
||||
},
|
||||
{
|
||||
"id": 23,
|
||||
"header": "Compliance Documentation",
|
||||
"type": "Legal",
|
||||
"status": "In Process",
|
||||
"target": "31",
|
||||
"limit": "27",
|
||||
"reviewer": "Sarah Chen"
|
||||
},
|
||||
{
|
||||
"id": 24,
|
||||
"header": "API Documentation",
|
||||
"type": "Technical content",
|
||||
"status": "Done",
|
||||
"target": "8",
|
||||
"limit": "12",
|
||||
"reviewer": "Raj Patel"
|
||||
},
|
||||
{
|
||||
"id": 25,
|
||||
"header": "User Interface Mockups",
|
||||
"type": "Visual",
|
||||
"status": "In Process",
|
||||
"target": "19",
|
||||
"limit": "25",
|
||||
"reviewer": "Leila Ahmadi"
|
||||
},
|
||||
{
|
||||
"id": 26,
|
||||
"header": "Database Schema",
|
||||
"type": "Technical content",
|
||||
"status": "Done",
|
||||
"target": "22",
|
||||
"limit": "20",
|
||||
"reviewer": "Thomas Wilson"
|
||||
},
|
||||
{
|
||||
"id": 27,
|
||||
"header": "Testing Methodology",
|
||||
"type": "Technical content",
|
||||
"status": "In Process",
|
||||
"target": "17",
|
||||
"limit": "14",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 28,
|
||||
"header": "Deployment Strategy",
|
||||
"type": "Narrative",
|
||||
"status": "Done",
|
||||
"target": "26",
|
||||
"limit": "30",
|
||||
"reviewer": "Eddie Lake"
|
||||
},
|
||||
{
|
||||
"id": 29,
|
||||
"header": "Budget Breakdown",
|
||||
"type": "Financial",
|
||||
"status": "In Process",
|
||||
"target": "13",
|
||||
"limit": "16",
|
||||
"reviewer": "Jamik Tashpulatov"
|
||||
},
|
||||
{
|
||||
"id": 30,
|
||||
"header": "Market Analysis",
|
||||
"type": "Research",
|
||||
"status": "Done",
|
||||
"target": "29",
|
||||
"limit": "32",
|
||||
"reviewer": "Sophia Martinez"
|
||||
},
|
||||
{
|
||||
"id": 31,
|
||||
"header": "Competitor Comparison",
|
||||
"type": "Research",
|
||||
"status": "In Process",
|
||||
"target": "21",
|
||||
"limit": "19",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 32,
|
||||
"header": "Maintenance Plan",
|
||||
"type": "Technical content",
|
||||
"status": "Done",
|
||||
"target": "16",
|
||||
"limit": "23",
|
||||
"reviewer": "Alex Thompson"
|
||||
},
|
||||
{
|
||||
"id": 33,
|
||||
"header": "User Personas",
|
||||
"type": "Research",
|
||||
"status": "In Process",
|
||||
"target": "27",
|
||||
"limit": "24",
|
||||
"reviewer": "Nina Patel"
|
||||
},
|
||||
{
|
||||
"id": 34,
|
||||
"header": "Accessibility Compliance",
|
||||
"type": "Legal",
|
||||
"status": "Done",
|
||||
"target": "18",
|
||||
"limit": "21",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 35,
|
||||
"header": "Performance Metrics",
|
||||
"type": "Technical content",
|
||||
"status": "In Process",
|
||||
"target": "23",
|
||||
"limit": "26",
|
||||
"reviewer": "David Kim"
|
||||
},
|
||||
{
|
||||
"id": 36,
|
||||
"header": "Disaster Recovery Plan",
|
||||
"type": "Technical content",
|
||||
"status": "Done",
|
||||
"target": "14",
|
||||
"limit": "17",
|
||||
"reviewer": "Jamik Tashpulatov"
|
||||
},
|
||||
{
|
||||
"id": 37,
|
||||
"header": "Third-party Integrations",
|
||||
"type": "Technical content",
|
||||
"status": "In Process",
|
||||
"target": "25",
|
||||
"limit": "28",
|
||||
"reviewer": "Eddie Lake"
|
||||
},
|
||||
{
|
||||
"id": 38,
|
||||
"header": "User Feedback Summary",
|
||||
"type": "Research",
|
||||
"status": "Done",
|
||||
"target": "20",
|
||||
"limit": "15",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 39,
|
||||
"header": "Localization Strategy",
|
||||
"type": "Narrative",
|
||||
"status": "In Process",
|
||||
"target": "12",
|
||||
"limit": "19",
|
||||
"reviewer": "Maria Garcia"
|
||||
},
|
||||
{
|
||||
"id": 40,
|
||||
"header": "Mobile Compatibility",
|
||||
"type": "Technical content",
|
||||
"status": "Done",
|
||||
"target": "28",
|
||||
"limit": "31",
|
||||
"reviewer": "James Wilson"
|
||||
},
|
||||
{
|
||||
"id": 41,
|
||||
"header": "Data Migration Plan",
|
||||
"type": "Technical content",
|
||||
"status": "In Process",
|
||||
"target": "19",
|
||||
"limit": "22",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 42,
|
||||
"header": "Quality Assurance Protocols",
|
||||
"type": "Technical content",
|
||||
"status": "Done",
|
||||
"target": "30",
|
||||
"limit": "33",
|
||||
"reviewer": "Priya Singh"
|
||||
},
|
||||
{
|
||||
"id": 43,
|
||||
"header": "Stakeholder Analysis",
|
||||
"type": "Research",
|
||||
"status": "In Process",
|
||||
"target": "11",
|
||||
"limit": "14",
|
||||
"reviewer": "Eddie Lake"
|
||||
},
|
||||
{
|
||||
"id": 44,
|
||||
"header": "Environmental Impact Assessment",
|
||||
"type": "Research",
|
||||
"status": "Done",
|
||||
"target": "24",
|
||||
"limit": "27",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 45,
|
||||
"header": "Intellectual Property Rights",
|
||||
"type": "Legal",
|
||||
"status": "In Process",
|
||||
"target": "17",
|
||||
"limit": "20",
|
||||
"reviewer": "Sarah Johnson"
|
||||
},
|
||||
{
|
||||
"id": 46,
|
||||
"header": "Customer Support Framework",
|
||||
"type": "Narrative",
|
||||
"status": "Done",
|
||||
"target": "22",
|
||||
"limit": "25",
|
||||
"reviewer": "Jamik Tashpulatov"
|
||||
},
|
||||
{
|
||||
"id": 47,
|
||||
"header": "Version Control Strategy",
|
||||
"type": "Technical content",
|
||||
"status": "In Process",
|
||||
"target": "15",
|
||||
"limit": "18",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 48,
|
||||
"header": "Continuous Integration Pipeline",
|
||||
"type": "Technical content",
|
||||
"status": "Done",
|
||||
"target": "26",
|
||||
"limit": "29",
|
||||
"reviewer": "Michael Chen"
|
||||
},
|
||||
{
|
||||
"id": 49,
|
||||
"header": "Regulatory Compliance",
|
||||
"type": "Legal",
|
||||
"status": "In Process",
|
||||
"target": "13",
|
||||
"limit": "16",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 50,
|
||||
"header": "User Authentication System",
|
||||
"type": "Technical content",
|
||||
"status": "Done",
|
||||
"target": "28",
|
||||
"limit": "31",
|
||||
"reviewer": "Eddie Lake"
|
||||
},
|
||||
{
|
||||
"id": 51,
|
||||
"header": "Data Analytics Framework",
|
||||
"type": "Technical content",
|
||||
"status": "In Process",
|
||||
"target": "21",
|
||||
"limit": "24",
|
||||
"reviewer": "Jamik Tashpulatov"
|
||||
},
|
||||
{
|
||||
"id": 52,
|
||||
"header": "Cloud Infrastructure",
|
||||
"type": "Technical content",
|
||||
"status": "Done",
|
||||
"target": "16",
|
||||
"limit": "19",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 53,
|
||||
"header": "Network Security Measures",
|
||||
"type": "Technical content",
|
||||
"status": "In Process",
|
||||
"target": "29",
|
||||
"limit": "32",
|
||||
"reviewer": "Lisa Wong"
|
||||
},
|
||||
{
|
||||
"id": 54,
|
||||
"header": "Project Timeline",
|
||||
"type": "Planning",
|
||||
"status": "Done",
|
||||
"target": "14",
|
||||
"limit": "17",
|
||||
"reviewer": "Eddie Lake"
|
||||
},
|
||||
{
|
||||
"id": 55,
|
||||
"header": "Resource Allocation",
|
||||
"type": "Planning",
|
||||
"status": "In Process",
|
||||
"target": "27",
|
||||
"limit": "30",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 56,
|
||||
"header": "Team Structure and Roles",
|
||||
"type": "Planning",
|
||||
"status": "Done",
|
||||
"target": "20",
|
||||
"limit": "23",
|
||||
"reviewer": "Jamik Tashpulatov"
|
||||
},
|
||||
{
|
||||
"id": 57,
|
||||
"header": "Communication Protocols",
|
||||
"type": "Planning",
|
||||
"status": "In Process",
|
||||
"target": "15",
|
||||
"limit": "18",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 58,
|
||||
"header": "Success Metrics",
|
||||
"type": "Planning",
|
||||
"status": "Done",
|
||||
"target": "30",
|
||||
"limit": "33",
|
||||
"reviewer": "Eddie Lake"
|
||||
},
|
||||
{
|
||||
"id": 59,
|
||||
"header": "Internationalization Support",
|
||||
"type": "Technical content",
|
||||
"status": "In Process",
|
||||
"target": "23",
|
||||
"limit": "26",
|
||||
"reviewer": "Jamik Tashpulatov"
|
||||
},
|
||||
{
|
||||
"id": 60,
|
||||
"header": "Backup and Recovery Procedures",
|
||||
"type": "Technical content",
|
||||
"status": "Done",
|
||||
"target": "18",
|
||||
"limit": "21",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 61,
|
||||
"header": "Monitoring and Alerting System",
|
||||
"type": "Technical content",
|
||||
"status": "In Process",
|
||||
"target": "25",
|
||||
"limit": "28",
|
||||
"reviewer": "Daniel Park"
|
||||
},
|
||||
{
|
||||
"id": 62,
|
||||
"header": "Code Review Guidelines",
|
||||
"type": "Technical content",
|
||||
"status": "Done",
|
||||
"target": "12",
|
||||
"limit": "15",
|
||||
"reviewer": "Eddie Lake"
|
||||
},
|
||||
{
|
||||
"id": 63,
|
||||
"header": "Documentation Standards",
|
||||
"type": "Technical content",
|
||||
"status": "In Process",
|
||||
"target": "27",
|
||||
"limit": "30",
|
||||
"reviewer": "Jamik Tashpulatov"
|
||||
},
|
||||
{
|
||||
"id": 64,
|
||||
"header": "Release Management Process",
|
||||
"type": "Planning",
|
||||
"status": "Done",
|
||||
"target": "22",
|
||||
"limit": "25",
|
||||
"reviewer": "Assign reviewer"
|
||||
},
|
||||
{
|
||||
"id": 65,
|
||||
"header": "Feature Prioritization Matrix",
|
||||
"type": "Planning",
|
||||
"status": "In Process",
|
||||
"target": "19",
|
||||
"limit": "22",
|
||||
"reviewer": "Emma Davis"
|
||||
},
|
||||
{
|
||||
"id": 66,
|
||||
"header": "Technical Debt Assessment",
|
||||
"type": "Technical content",
|
||||
"status": "Done",
|
||||
"target": "24",
|
||||
"limit": "27",
|
||||
"reviewer": "Eddie Lake"
|
||||
},
|
||||
{
|
||||
"id": 67,
|
||||
"header": "Capacity Planning",
|
||||
"type": "Planning",
|
||||
"status": "In Process",
|
||||
"target": "21",
|
||||
"limit": "24",
|
||||
"reviewer": "Jamik Tashpulatov"
|
||||
},
|
||||
{
|
||||
"id": 68,
|
||||
"header": "Service Level Agreements",
|
||||
"type": "Legal",
|
||||
"status": "Done",
|
||||
"target": "26",
|
||||
"limit": "29",
|
||||
"reviewer": "Assign reviewer"
|
||||
}
|
||||
]
|
||||
37
apps/v4/registry/bases/aria/blocks/dashboard-01/page.tsx
Normal file
37
apps/v4/registry/bases/aria/blocks/dashboard-01/page.tsx
Normal file
@@ -0,0 +1,37 @@
|
||||
import { AppSidebar } from "@/registry/bases/aria/blocks/dashboard-01/components/app-sidebar"
|
||||
import { ChartAreaInteractive } from "@/registry/bases/aria/blocks/dashboard-01/components/chart-area-interactive"
|
||||
import { DataTable } from "@/registry/bases/aria/blocks/dashboard-01/components/data-table"
|
||||
import { SectionCards } from "@/registry/bases/aria/blocks/dashboard-01/components/section-cards"
|
||||
import { SiteHeader } from "@/registry/bases/aria/blocks/dashboard-01/components/site-header"
|
||||
import { SidebarInset, SidebarProvider } from "@/registry/bases/aria/ui/sidebar"
|
||||
|
||||
import data from "./data.json"
|
||||
|
||||
export default function Page() {
|
||||
return (
|
||||
<SidebarProvider
|
||||
style={
|
||||
{
|
||||
"--sidebar-width": "calc(var(--spacing) * 72)",
|
||||
"--header-height": "calc(var(--spacing) * 12)",
|
||||
} as React.CSSProperties
|
||||
}
|
||||
>
|
||||
<AppSidebar variant="inset" />
|
||||
<SidebarInset>
|
||||
<SiteHeader />
|
||||
<div className="flex flex-1 flex-col">
|
||||
<div className="@container/main flex flex-1 flex-col gap-2">
|
||||
<div className="flex flex-col gap-4 py-4 md:gap-6 md:py-6">
|
||||
<SectionCards />
|
||||
<div className="px-4 lg:px-6">
|
||||
<ChartAreaInteractive />
|
||||
</div>
|
||||
<DataTable data={data} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</SidebarInset>
|
||||
</SidebarProvider>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
import { cn } from "cn"
|
||||
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Card,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
Field,
|
||||
FieldDescription,
|
||||
FieldGroup,
|
||||
FieldLabel,
|
||||
} from "@/registry/bases/aria/ui/field"
|
||||
import { Input } from "@/registry/bases/aria/ui/input"
|
||||
|
||||
export function LoginForm({
|
||||
className,
|
||||
...props
|
||||
}: React.ComponentProps<"div">) {
|
||||
return (
|
||||
<div className={cn("flex flex-col gap-6", className)} {...props}>
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Login to your account</CardTitle>
|
||||
<CardDescription>
|
||||
Enter your email below to login to your account
|
||||
</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<form>
|
||||
<FieldGroup>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="email">Email</FieldLabel>
|
||||
<Input
|
||||
id="email"
|
||||
type="email"
|
||||
placeholder="m@example.com"
|
||||
required
|
||||
/>
|
||||
</Field>
|
||||
<Field>
|
||||
<div className="flex items-center">
|
||||
<FieldLabel htmlFor="password">Password</FieldLabel>
|
||||
<a
|
||||
href="#"
|
||||
className="ml-auto inline-block text-sm underline-offset-4 hover:underline"
|
||||
>
|
||||
Forgot your password?
|
||||
</a>
|
||||
</div>
|
||||
<Input id="password" type="password" required />
|
||||
</Field>
|
||||
<Field>
|
||||
<Button type="submit">Login</Button>
|
||||
<Button variant="outline" type="button">
|
||||
Login with Google
|
||||
</Button>
|
||||
<FieldDescription className="text-center">
|
||||
Don't have an account? <a href="#">Sign up</a>
|
||||
</FieldDescription>
|
||||
</Field>
|
||||
</FieldGroup>
|
||||
</form>
|
||||
</CardContent>
|
||||
</Card>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
11
apps/v4/registry/bases/aria/blocks/login-01/page.tsx
Normal file
11
apps/v4/registry/bases/aria/blocks/login-01/page.tsx
Normal file
@@ -0,0 +1,11 @@
|
||||
import { LoginForm } from "@/registry/bases/aria/blocks/login-01/components/login-form"
|
||||
|
||||
export default function Page() {
|
||||
return (
|
||||
<div className="flex min-h-svh w-full items-center justify-center p-6 md:p-10">
|
||||
<div className="w-full max-w-sm">
|
||||
<LoginForm />
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
import { cn } from "cn"
|
||||
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Field,
|
||||
FieldDescription,
|
||||
FieldGroup,
|
||||
FieldLabel,
|
||||
FieldSeparator,
|
||||
} from "@/registry/bases/aria/ui/field"
|
||||
import { Input } from "@/registry/bases/aria/ui/input"
|
||||
|
||||
export function LoginForm({
|
||||
className,
|
||||
...props
|
||||
}: React.ComponentProps<"form">) {
|
||||
return (
|
||||
<form className={cn("flex flex-col gap-6", className)} {...props}>
|
||||
<FieldGroup>
|
||||
<div className="flex flex-col items-center gap-1 text-center">
|
||||
<h1 className="text-2xl font-bold">Login to your account</h1>
|
||||
<p className="text-sm text-balance text-muted-foreground">
|
||||
Enter your email below to login to your account
|
||||
</p>
|
||||
</div>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="email">Email</FieldLabel>
|
||||
<Input id="email" type="email" placeholder="m@example.com" required />
|
||||
</Field>
|
||||
<Field>
|
||||
<div className="flex items-center">
|
||||
<FieldLabel htmlFor="password">Password</FieldLabel>
|
||||
<a
|
||||
href="#"
|
||||
className="ml-auto text-sm underline-offset-4 hover:underline"
|
||||
>
|
||||
Forgot your password?
|
||||
</a>
|
||||
</div>
|
||||
<Input id="password" type="password" required />
|
||||
</Field>
|
||||
<Field>
|
||||
<Button type="submit">Login</Button>
|
||||
</Field>
|
||||
<FieldSeparator>Or continue with</FieldSeparator>
|
||||
<Field>
|
||||
<Button variant="outline" type="button">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
Login with GitHub
|
||||
</Button>
|
||||
<FieldDescription className="text-center">
|
||||
Don't have an account?{" "}
|
||||
<a href="#" className="underline underline-offset-4">
|
||||
Sign up
|
||||
</a>
|
||||
</FieldDescription>
|
||||
</Field>
|
||||
</FieldGroup>
|
||||
</form>
|
||||
)
|
||||
}
|
||||
40
apps/v4/registry/bases/aria/blocks/login-02/page.tsx
Normal file
40
apps/v4/registry/bases/aria/blocks/login-02/page.tsx
Normal file
@@ -0,0 +1,40 @@
|
||||
"use client"
|
||||
|
||||
import { LoginForm } from "@/registry/bases/aria/blocks/login-02/components/login-form"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
export default function LoginPage() {
|
||||
return (
|
||||
<div className="grid min-h-svh lg:grid-cols-2">
|
||||
<div className="flex flex-col gap-4 p-6 md:p-10">
|
||||
<div className="flex justify-center gap-2 md:justify-start">
|
||||
<a href="#" className="flex items-center gap-2 font-medium">
|
||||
<div className="flex size-6 items-center justify-center rounded-md bg-primary text-primary-foreground">
|
||||
<IconPlaceholder
|
||||
lucide="GalleryVerticalEndIcon"
|
||||
tabler="IconLayoutRows"
|
||||
hugeicons="LayoutBottomIcon"
|
||||
phosphor="RowsIcon"
|
||||
remixicon="RiGalleryLine"
|
||||
className="size-4"
|
||||
/>
|
||||
</div>
|
||||
Acme Inc.
|
||||
</a>
|
||||
</div>
|
||||
<div className="flex flex-1 items-center justify-center">
|
||||
<div className="w-full max-w-xs">
|
||||
<LoginForm />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="relative hidden bg-muted lg:block">
|
||||
<img
|
||||
src="/placeholder.svg"
|
||||
alt="Image"
|
||||
className="absolute inset-0 h-full w-full object-cover dark:brightness-[0.2] dark:grayscale"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
import { cn } from "cn"
|
||||
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Card,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
Field,
|
||||
FieldDescription,
|
||||
FieldGroup,
|
||||
FieldLabel,
|
||||
FieldSeparator,
|
||||
} from "@/registry/bases/aria/ui/field"
|
||||
import { Input } from "@/registry/bases/aria/ui/input"
|
||||
|
||||
export function LoginForm({
|
||||
className,
|
||||
...props
|
||||
}: React.ComponentProps<"div">) {
|
||||
return (
|
||||
<div className={cn("flex flex-col gap-6", className)} {...props}>
|
||||
<Card>
|
||||
<CardHeader className="text-center">
|
||||
<CardTitle className="text-xl">Welcome back</CardTitle>
|
||||
<CardDescription>
|
||||
Login with your Apple or Google account
|
||||
</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<form>
|
||||
<FieldGroup>
|
||||
<Field>
|
||||
<Button variant="outline" type="button">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
Login with Apple
|
||||
</Button>
|
||||
<Button variant="outline" type="button">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M12.48 10.92v3.28h7.84c-.24 1.84-.853 3.187-1.787 4.133-1.147 1.147-2.933 2.4-6.053 2.4-4.827 0-8.6-3.893-8.6-8.72s3.773-8.72 8.6-8.72c2.6 0 4.507 1.027 5.907 2.347l2.307-2.307C18.747 1.44 16.133 0 12.48 0 5.867 0 .307 5.387.307 12s5.56 12 12.173 12c3.573 0 6.267-1.173 8.373-3.36 2.16-2.16 2.84-5.213 2.84-7.667 0-.76-.053-1.467-.173-2.053H12.48z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
Login with Google
|
||||
</Button>
|
||||
</Field>
|
||||
<FieldSeparator className="*:data-[slot=field-separator-content]:bg-card">
|
||||
Or continue with
|
||||
</FieldSeparator>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="email">Email</FieldLabel>
|
||||
<Input
|
||||
id="email"
|
||||
type="email"
|
||||
placeholder="m@example.com"
|
||||
required
|
||||
/>
|
||||
</Field>
|
||||
<Field>
|
||||
<div className="flex items-center">
|
||||
<FieldLabel htmlFor="password">Password</FieldLabel>
|
||||
<a
|
||||
href="#"
|
||||
className="ml-auto text-sm underline-offset-4 hover:underline"
|
||||
>
|
||||
Forgot your password?
|
||||
</a>
|
||||
</div>
|
||||
<Input id="password" type="password" required />
|
||||
</Field>
|
||||
<Field>
|
||||
<Button type="submit">Login</Button>
|
||||
<FieldDescription className="text-center">
|
||||
Don't have an account? <a href="#">Sign up</a>
|
||||
</FieldDescription>
|
||||
</Field>
|
||||
</FieldGroup>
|
||||
</form>
|
||||
</CardContent>
|
||||
</Card>
|
||||
<FieldDescription className="px-6 text-center">
|
||||
By clicking continue, you agree to our <a href="#">Terms of Service</a>{" "}
|
||||
and <a href="#">Privacy Policy</a>.
|
||||
</FieldDescription>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
27
apps/v4/registry/bases/aria/blocks/login-03/page.tsx
Normal file
27
apps/v4/registry/bases/aria/blocks/login-03/page.tsx
Normal file
@@ -0,0 +1,27 @@
|
||||
"use client"
|
||||
|
||||
import { LoginForm } from "@/registry/bases/aria/blocks/login-03/components/login-form"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
export default function LoginPage() {
|
||||
return (
|
||||
<div className="flex min-h-svh flex-col items-center justify-center gap-6 bg-muted p-6 md:p-10">
|
||||
<div className="flex w-full max-w-sm flex-col gap-6">
|
||||
<a href="#" className="flex items-center gap-2 self-center font-medium">
|
||||
<div className="flex size-6 items-center justify-center rounded-md bg-primary text-primary-foreground">
|
||||
<IconPlaceholder
|
||||
lucide="GalleryVerticalEndIcon"
|
||||
tabler="IconLayoutRows"
|
||||
hugeicons="LayoutBottomIcon"
|
||||
phosphor="RowsIcon"
|
||||
remixicon="RiGalleryLine"
|
||||
className="size-4"
|
||||
/>
|
||||
</div>
|
||||
Acme Inc.
|
||||
</a>
|
||||
<LoginForm />
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
import { cn } from "cn"
|
||||
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import { Card, CardContent } from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
Field,
|
||||
FieldDescription,
|
||||
FieldGroup,
|
||||
FieldLabel,
|
||||
FieldSeparator,
|
||||
} from "@/registry/bases/aria/ui/field"
|
||||
import { Input } from "@/registry/bases/aria/ui/input"
|
||||
|
||||
export function LoginForm({
|
||||
className,
|
||||
...props
|
||||
}: React.ComponentProps<"div">) {
|
||||
return (
|
||||
<div className={cn("flex flex-col gap-6", className)} {...props}>
|
||||
<Card className="overflow-hidden p-0">
|
||||
<CardContent className="grid p-0 md:grid-cols-2">
|
||||
<form className="p-6 md:p-8">
|
||||
<FieldGroup>
|
||||
<div className="flex flex-col items-center gap-2 text-center">
|
||||
<h1 className="text-2xl font-bold">Welcome back</h1>
|
||||
<p className="text-balance text-muted-foreground">
|
||||
Login to your Acme Inc account
|
||||
</p>
|
||||
</div>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="email">Email</FieldLabel>
|
||||
<Input
|
||||
id="email"
|
||||
type="email"
|
||||
placeholder="m@example.com"
|
||||
required
|
||||
/>
|
||||
</Field>
|
||||
<Field>
|
||||
<div className="flex items-center">
|
||||
<FieldLabel htmlFor="password">Password</FieldLabel>
|
||||
<a
|
||||
href="#"
|
||||
className="ml-auto text-sm underline-offset-2 hover:underline"
|
||||
>
|
||||
Forgot your password?
|
||||
</a>
|
||||
</div>
|
||||
<Input id="password" type="password" required />
|
||||
</Field>
|
||||
<Field>
|
||||
<Button type="submit">Login</Button>
|
||||
</Field>
|
||||
<FieldSeparator className="*:data-[slot=field-separator-content]:bg-card">
|
||||
Or continue with
|
||||
</FieldSeparator>
|
||||
<Field className="grid grid-cols-3 gap-4">
|
||||
<Button variant="outline" type="button">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
<span className="sr-only">Login with Apple</span>
|
||||
</Button>
|
||||
<Button variant="outline" type="button">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M12.48 10.92v3.28h7.84c-.24 1.84-.853 3.187-1.787 4.133-1.147 1.147-2.933 2.4-6.053 2.4-4.827 0-8.6-3.893-8.6-8.72s3.773-8.72 8.6-8.72c2.6 0 4.507 1.027 5.907 2.347l2.307-2.307C18.747 1.44 16.133 0 12.48 0 5.867 0 .307 5.387.307 12s5.56 12 12.173 12c3.573 0 6.267-1.173 8.373-3.36 2.16-2.16 2.84-5.213 2.84-7.667 0-.76-.053-1.467-.173-2.053H12.48z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
<span className="sr-only">Login with Google</span>
|
||||
</Button>
|
||||
<Button variant="outline" type="button">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M6.915 4.03c-1.968 0-3.683 1.28-4.871 3.113C.704 9.208 0 11.883 0 14.449c0 .706.07 1.369.21 1.973a6.624 6.624 0 0 0 .265.86 5.297 5.297 0 0 0 .371.761c.696 1.159 1.818 1.927 3.593 1.927 1.497 0 2.633-.671 3.965-2.444.76-1.012 1.144-1.626 2.663-4.32l.756-1.339.186-.325c.061.1.121.196.183.3l2.152 3.595c.724 1.21 1.665 2.556 2.47 3.314 1.046.987 1.992 1.22 3.06 1.22 1.075 0 1.876-.355 2.455-.843a3.743 3.743 0 0 0 .81-.973c.542-.939.861-2.127.861-3.745 0-2.72-.681-5.357-2.084-7.45-1.282-1.912-2.957-2.93-4.716-2.93-1.047 0-2.088.467-3.053 1.308-.652.57-1.257 1.29-1.82 2.05-.69-.875-1.335-1.547-1.958-2.056-1.182-.966-2.315-1.303-3.454-1.303zm10.16 2.053c1.147 0 2.188.758 2.992 1.999 1.132 1.748 1.647 4.195 1.647 6.4 0 1.548-.368 2.9-1.839 2.9-.58 0-1.027-.23-1.664-1.004-.496-.601-1.343-1.878-2.832-4.358l-.617-1.028a44.908 44.908 0 0 0-1.255-1.98c.07-.109.141-.224.211-.327 1.12-1.667 2.118-2.602 3.358-2.602zm-10.201.553c1.265 0 2.058.791 2.675 1.446.307.327.737.871 1.234 1.579l-1.02 1.566c-.757 1.163-1.882 3.017-2.837 4.338-1.191 1.649-1.81 1.817-2.486 1.817-.524 0-1.038-.237-1.383-.794-.263-.426-.464-1.13-.464-2.046 0-2.221.63-4.535 1.66-6.088.454-.687.964-1.226 1.533-1.533a2.264 2.264 0 0 1 1.088-.285z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
<span className="sr-only">Login with Meta</span>
|
||||
</Button>
|
||||
</Field>
|
||||
<FieldDescription className="text-center">
|
||||
Don't have an account? <a href="#">Sign up</a>
|
||||
</FieldDescription>
|
||||
</FieldGroup>
|
||||
</form>
|
||||
<div className="relative hidden bg-muted md:block">
|
||||
<img
|
||||
src="/placeholder.svg"
|
||||
alt="Image"
|
||||
className="absolute inset-0 h-full w-full object-cover dark:brightness-[0.2] dark:grayscale"
|
||||
/>
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
<FieldDescription className="px-6 text-center">
|
||||
By clicking continue, you agree to our <a href="#">Terms of Service</a>{" "}
|
||||
and <a href="#">Privacy Policy</a>.
|
||||
</FieldDescription>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
11
apps/v4/registry/bases/aria/blocks/login-04/page.tsx
Normal file
11
apps/v4/registry/bases/aria/blocks/login-04/page.tsx
Normal file
@@ -0,0 +1,11 @@
|
||||
import { LoginForm } from "@/registry/bases/aria/blocks/login-04/components/login-form"
|
||||
|
||||
export default function LoginPage() {
|
||||
return (
|
||||
<div className="flex min-h-svh flex-col items-center justify-center bg-muted p-6 md:p-10">
|
||||
<div className="w-full max-w-sm md:max-w-4xl">
|
||||
<LoginForm />
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
"use client"
|
||||
|
||||
import { cn } from "cn"
|
||||
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Field,
|
||||
FieldDescription,
|
||||
FieldGroup,
|
||||
FieldLabel,
|
||||
FieldSeparator,
|
||||
} from "@/registry/bases/aria/ui/field"
|
||||
import { Input } from "@/registry/bases/aria/ui/input"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
export function LoginForm({
|
||||
className,
|
||||
...props
|
||||
}: React.ComponentProps<"div">) {
|
||||
return (
|
||||
<div className={cn("flex flex-col gap-6", className)} {...props}>
|
||||
<form>
|
||||
<FieldGroup>
|
||||
<div className="flex flex-col items-center gap-2 text-center">
|
||||
<a
|
||||
href="#"
|
||||
className="flex flex-col items-center gap-2 font-medium"
|
||||
>
|
||||
<div className="flex size-8 items-center justify-center rounded-md">
|
||||
<IconPlaceholder
|
||||
lucide="GalleryVerticalEndIcon"
|
||||
tabler="IconLayoutRows"
|
||||
hugeicons="LayoutBottomIcon"
|
||||
phosphor="RowsIcon"
|
||||
remixicon="RiGalleryLine"
|
||||
className="size-6"
|
||||
/>
|
||||
</div>
|
||||
<span className="sr-only">Acme Inc.</span>
|
||||
</a>
|
||||
<h1 className="text-xl font-bold">Welcome to Acme Inc.</h1>
|
||||
<FieldDescription>
|
||||
Don't have an account? <a href="#">Sign up</a>
|
||||
</FieldDescription>
|
||||
</div>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="email">Email</FieldLabel>
|
||||
<Input
|
||||
id="email"
|
||||
type="email"
|
||||
placeholder="m@example.com"
|
||||
required
|
||||
/>
|
||||
</Field>
|
||||
<Field>
|
||||
<Button type="submit">Login</Button>
|
||||
</Field>
|
||||
<FieldSeparator>Or</FieldSeparator>
|
||||
<Field className="grid gap-4 sm:grid-cols-2">
|
||||
<Button variant="outline" type="button">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
Continue with Apple
|
||||
</Button>
|
||||
<Button variant="outline" type="button">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
||||
<path
|
||||
d="M12.48 10.92v3.28h7.84c-.24 1.84-.853 3.187-1.787 4.133-1.147 1.147-2.933 2.4-6.053 2.4-4.827 0-8.6-3.893-8.6-8.72s3.773-8.72 8.6-8.72c2.6 0 4.507 1.027 5.907 2.347l2.307-2.307C18.747 1.44 16.133 0 12.48 0 5.867 0 .307 5.387.307 12s5.56 12 12.173 12c3.573 0 6.267-1.173 8.373-3.36 2.16-2.16 2.84-5.213 2.84-7.667 0-.76-.053-1.467-.173-2.053H12.48z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
Continue with Google
|
||||
</Button>
|
||||
</Field>
|
||||
</FieldGroup>
|
||||
</form>
|
||||
<FieldDescription className="px-6 text-center">
|
||||
By clicking continue, you agree to our <a href="#">Terms of Service</a>{" "}
|
||||
and <a href="#">Privacy Policy</a>.
|
||||
</FieldDescription>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
11
apps/v4/registry/bases/aria/blocks/login-05/page.tsx
Normal file
11
apps/v4/registry/bases/aria/blocks/login-05/page.tsx
Normal file
@@ -0,0 +1,11 @@
|
||||
import { LoginForm } from "@/registry/bases/aria/blocks/login-05/components/login-form"
|
||||
|
||||
export default function LoginPage() {
|
||||
return (
|
||||
<div className="flex min-h-svh flex-col items-center justify-center gap-6 bg-background p-6 md:p-10">
|
||||
<div className="w-full max-w-sm">
|
||||
<LoginForm />
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
"use client"
|
||||
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Card,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardFooter,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import { Field, FieldGroup, FieldLabel } from "@/registry/bases/aria/ui/field"
|
||||
import { Input } from "@/registry/bases/aria/ui/input"
|
||||
import {
|
||||
Item,
|
||||
ItemContent,
|
||||
ItemDescription,
|
||||
ItemMedia,
|
||||
ItemTitle,
|
||||
} from "@/registry/bases/aria/ui/item"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
export function AccountAccess() {
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Account Access</CardTitle>
|
||||
<CardDescription>
|
||||
Update your credentials or re-authenticate.
|
||||
</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<FieldGroup>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="email-address">Email Address</FieldLabel>
|
||||
<Input
|
||||
id="email-address"
|
||||
type="email"
|
||||
defaultValue="artist@example.com"
|
||||
/>
|
||||
</Field>
|
||||
<Field>
|
||||
<div className="flex items-center justify-between">
|
||||
<FieldLabel htmlFor="current-password">
|
||||
Current Password
|
||||
</FieldLabel>
|
||||
<a
|
||||
href="#"
|
||||
className="text-xs font-medium tracking-wider text-muted-foreground uppercase hover:text-foreground"
|
||||
>
|
||||
Forgot?
|
||||
</a>
|
||||
</div>
|
||||
<Input
|
||||
id="current-password"
|
||||
type="password"
|
||||
defaultValue="password123"
|
||||
/>
|
||||
</Field>
|
||||
</FieldGroup>
|
||||
</CardContent>
|
||||
<CardFooter className="flex-col gap-4">
|
||||
<Button className="w-full">
|
||||
<IconPlaceholder
|
||||
lucide="LockKeyholeIcon"
|
||||
tabler="IconLock"
|
||||
hugeicons="SquareLock02Icon"
|
||||
phosphor="LockKeyIcon"
|
||||
remixicon="RiLockLine"
|
||||
/>
|
||||
Update Security
|
||||
</Button>
|
||||
<Item variant="muted" href="#">
|
||||
<ItemMedia variant="icon">
|
||||
<IconPlaceholder
|
||||
lucide="AlertCircleIcon"
|
||||
tabler="IconAlertCircle"
|
||||
hugeicons="AlertCircleIcon"
|
||||
phosphor="WarningCircleIcon"
|
||||
remixicon="RiErrorWarningLine"
|
||||
className="text-destructive"
|
||||
/>
|
||||
</ItemMedia>
|
||||
<ItemContent>
|
||||
<ItemTitle>Danger Zone</ItemTitle>
|
||||
<ItemDescription className="line-clamp-1">
|
||||
Archive account and remove catalog
|
||||
</ItemDescription>
|
||||
</ItemContent>
|
||||
<IconPlaceholder
|
||||
lucide="ArrowRightIcon"
|
||||
tabler="IconArrowRight"
|
||||
hugeicons="ArrowRight01Icon"
|
||||
phosphor="ArrowRightIcon"
|
||||
remixicon="RiArrowRightLine"
|
||||
className="size-4"
|
||||
/>
|
||||
</Item>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
import { Badge } from "@/registry/bases/aria/ui/badge"
|
||||
import {
|
||||
Card,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardFooter,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import { Separator } from "@/registry/bases/aria/ui/separator"
|
||||
|
||||
export function AlbumCard() {
|
||||
return (
|
||||
<Card>
|
||||
<CardContent className="flex flex-col gap-4">
|
||||
<div className="relative overflow-hidden rounded-lg">
|
||||
<img
|
||||
src="https://images.unsplash.com/photo-1534088568595-a066f410bcda?w=800&h=800&fit=crop"
|
||||
alt="Synthetic Horizons EP cover art"
|
||||
className="aspect-square w-full object-cover"
|
||||
/>
|
||||
<Badge className="absolute top-3 right-3">$26,033.79</Badge>
|
||||
</div>
|
||||
<div className="flex flex-col gap-1">
|
||||
<CardTitle>Synthetic Horizons EP</CardTitle>
|
||||
<CardDescription className="text-xs tracking-wider uppercase">
|
||||
Released Aug 14, 2023
|
||||
</CardDescription>
|
||||
</div>
|
||||
</CardContent>
|
||||
<CardFooter className="flex-col gap-4">
|
||||
<Separator />
|
||||
<div className="grid w-full grid-cols-2 gap-4">
|
||||
<div className="flex flex-col gap-0.5">
|
||||
<span className="text-xs tracking-wider text-muted-foreground uppercase">
|
||||
Tracks
|
||||
</span>
|
||||
<span className="text-lg font-medium tabular-nums">6 Tracks</span>
|
||||
</div>
|
||||
<div className="flex flex-col gap-0.5">
|
||||
<span className="line-clamp-1 text-xs tracking-wider text-muted-foreground uppercase">
|
||||
Cumulative Streams
|
||||
</span>
|
||||
<span className="text-lg font-medium tabular-nums">6,198,524</span>
|
||||
</div>
|
||||
</div>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
"use client"
|
||||
|
||||
import { Bar, BarChart, XAxis } from "recharts"
|
||||
|
||||
import { Badge } from "@/registry/bases/aria/ui/badge"
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Card,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
ChartContainer,
|
||||
ChartTooltip,
|
||||
ChartTooltipContent,
|
||||
type ChartConfig,
|
||||
} from "@/registry/bases/aria/ui/chart"
|
||||
|
||||
const activityData = [
|
||||
{ month: "Jan", amount: 40 },
|
||||
{ month: "Feb", amount: 55 },
|
||||
{ month: "Mar", amount: 35 },
|
||||
{ month: "Apr", amount: 60 },
|
||||
{ month: "May", amount: 45 },
|
||||
{ month: "Jun", amount: 50 },
|
||||
{ month: "Jul", amount: 65 },
|
||||
{ month: "Aug", amount: 40 },
|
||||
{ month: "Sep", amount: 55 },
|
||||
{ month: "Oct", amount: 70 },
|
||||
{ month: "Nov", amount: 45 },
|
||||
{ month: "Dec", amount: 80 },
|
||||
]
|
||||
|
||||
const chartConfig = {
|
||||
amount: {
|
||||
label: "Activity",
|
||||
color: "var(--chart-2)",
|
||||
},
|
||||
} satisfies ChartConfig
|
||||
|
||||
export function CardOverview() {
|
||||
return (
|
||||
<div className="grid grid-cols-2 gap-3">
|
||||
<Card>
|
||||
<CardContent>
|
||||
<CardDescription>Card Balance</CardDescription>
|
||||
<CardTitle className="text-2xl tabular-nums">US$12.94</CardTitle>
|
||||
<CardDescription className="tabular-nums">
|
||||
US$11,337.06 Available
|
||||
</CardDescription>
|
||||
</CardContent>
|
||||
</Card>
|
||||
<Card className="flex flex-col justify-between">
|
||||
<CardContent className="flex flex-1 flex-col justify-between">
|
||||
<div className="flex flex-col gap-1">
|
||||
<CardDescription>Payment Due</CardDescription>
|
||||
<CardTitle className="text-2xl">1 Apr</CardTitle>
|
||||
</div>
|
||||
<Button variant="outline" size="sm" className="mt-3 w-full">
|
||||
Pay Early
|
||||
</Button>
|
||||
</CardContent>
|
||||
</Card>
|
||||
<Card className="col-span-2">
|
||||
<CardContent className="flex flex-col gap-2">
|
||||
<div className="flex items-center justify-between">
|
||||
<CardDescription>Yearly Activity</CardDescription>
|
||||
<Badge variant="secondary">+US$0.25 Daily Cash</Badge>
|
||||
</div>
|
||||
<ChartContainer config={chartConfig} className="h-20 w-full">
|
||||
<BarChart
|
||||
data={activityData}
|
||||
margin={{ top: 4, right: 0, bottom: 0, left: 0 }}
|
||||
>
|
||||
<XAxis
|
||||
dataKey="month"
|
||||
tickLine={false}
|
||||
tickMargin={4}
|
||||
axisLine={false}
|
||||
tickFormatter={(v) => String(v).slice(0, 1)}
|
||||
className="text-[10px]"
|
||||
/>
|
||||
<ChartTooltip
|
||||
cursor={false}
|
||||
content={<ChartTooltipContent hideLabel />}
|
||||
/>
|
||||
<Bar
|
||||
dataKey="amount"
|
||||
fill="var(--color-amount)"
|
||||
radius={[3, 3, 0, 0]}
|
||||
/>
|
||||
</BarChart>
|
||||
</ChartContainer>
|
||||
</CardContent>
|
||||
</Card>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
"use client"
|
||||
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
InputGroup,
|
||||
InputGroupAddon,
|
||||
InputGroupInput,
|
||||
} from "@/registry/bases/aria/ui/input-group"
|
||||
import {
|
||||
ToggleGroup,
|
||||
ToggleGroupItem,
|
||||
} from "@/registry/bases/aria/ui/toggle-group"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
export function CatalogToolbar() {
|
||||
return (
|
||||
<div className="flex items-center gap-3">
|
||||
<InputGroup className="flex-1">
|
||||
<InputGroupAddon>
|
||||
<IconPlaceholder
|
||||
lucide="SearchIcon"
|
||||
tabler="IconSearch"
|
||||
hugeicons="Search01Icon"
|
||||
phosphor="MagnifyingGlassIcon"
|
||||
remixicon="RiSearchLine"
|
||||
/>
|
||||
</InputGroupAddon>
|
||||
<InputGroupInput placeholder="Search releases or catalog..." />
|
||||
</InputGroup>
|
||||
<Button>
|
||||
<IconPlaceholder
|
||||
lucide="PlusIcon"
|
||||
tabler="IconPlus"
|
||||
hugeicons="Add01Icon"
|
||||
phosphor="PlusIcon"
|
||||
remixicon="RiAddLine"
|
||||
/>
|
||||
Upload New Release
|
||||
</Button>
|
||||
<ToggleGroup defaultSelectedKeys={["releases"]} variant="outline">
|
||||
<ToggleGroupItem id="all-tracks">All Tracks</ToggleGroupItem>
|
||||
<ToggleGroupItem id="releases">Releases</ToggleGroupItem>
|
||||
<ToggleGroupItem id="top-earners">Top Earners</ToggleGroupItem>
|
||||
</ToggleGroup>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
import { Badge } from "@/registry/bases/aria/ui/badge"
|
||||
import {
|
||||
Card,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardFooter,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import { Item, ItemContent } from "@/registry/bases/aria/ui/item"
|
||||
import { Separator } from "@/registry/bases/aria/ui/separator"
|
||||
|
||||
export function ClaimableBalance() {
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardDescription>Claimable Balance</CardDescription>
|
||||
<CardTitle className="text-5xl tabular-nums">$0.00</CardTitle>
|
||||
<Badge variant="outline">
|
||||
<span className="size-2 rounded-full bg-yellow-500" />
|
||||
Pending Setup
|
||||
</Badge>
|
||||
</CardHeader>
|
||||
<CardContent className="flex flex-1 flex-col justify-end">
|
||||
<Item variant="muted" className="flex-col items-stretch">
|
||||
<ItemContent className="gap-3">
|
||||
<div className="flex items-center justify-between">
|
||||
<span className="text-sm text-muted-foreground">
|
||||
Net Royalties
|
||||
</span>
|
||||
<span className="text-sm font-medium tabular-nums">$0.00</span>
|
||||
</div>
|
||||
<div className="flex items-center justify-between">
|
||||
<span className="text-sm text-muted-foreground">
|
||||
Processing Fee
|
||||
</span>
|
||||
<span className="text-sm font-medium tabular-nums">-$0.00</span>
|
||||
</div>
|
||||
<Separator />
|
||||
<div className="flex items-center justify-between">
|
||||
<span className="text-sm text-muted-foreground">
|
||||
Total Ready to Claim
|
||||
</span>
|
||||
<span className="text-sm font-semibold tabular-nums">
|
||||
$0.00 USD
|
||||
</span>
|
||||
</div>
|
||||
</ItemContent>
|
||||
</Item>
|
||||
</CardContent>
|
||||
<CardFooter>
|
||||
<CardDescription>
|
||||
Once your bank is connected, balances over $10.00 are automatically
|
||||
eligible for monthly distribution on the 15th of each month.
|
||||
</CardDescription>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
"use client"
|
||||
|
||||
import { Bar, BarChart, XAxis } from "recharts"
|
||||
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Card,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardFooter,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
ChartContainer,
|
||||
ChartTooltip,
|
||||
ChartTooltipContent,
|
||||
type ChartConfig,
|
||||
} from "@/registry/bases/aria/ui/chart"
|
||||
import {
|
||||
Item,
|
||||
ItemContent,
|
||||
ItemDescription,
|
||||
} from "@/registry/bases/aria/ui/item"
|
||||
import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params"
|
||||
|
||||
const chartData = [
|
||||
{ month: "Dec", amount: 800 },
|
||||
{ month: "Jan", amount: 1100 },
|
||||
{ month: "Feb", amount: 900 },
|
||||
{ month: "Mar", amount: 1300 },
|
||||
{ month: "Apr", amount: 750 },
|
||||
{ month: "May", amount: 1400 },
|
||||
]
|
||||
|
||||
const chartConfig = {
|
||||
amount: {
|
||||
label: "Contribution",
|
||||
color: "var(--chart-2)",
|
||||
},
|
||||
} satisfies ChartConfig
|
||||
|
||||
export function ContributionHistory() {
|
||||
const [params] = useDesignSystemSearchParams()
|
||||
const isRounded = !["lyra", "sera"].includes(params.style)
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Contribution History</CardTitle>
|
||||
<CardDescription>Last 6 months of activity</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<ChartContainer config={chartConfig} className="h-[200px] w-full">
|
||||
<BarChart
|
||||
accessibilityLayer
|
||||
data={chartData}
|
||||
margin={{ left: 0, right: 0, top: 8, bottom: 0 }}
|
||||
>
|
||||
<XAxis
|
||||
dataKey="month"
|
||||
tickLine={false}
|
||||
tickMargin={8}
|
||||
axisLine={false}
|
||||
/>
|
||||
<ChartTooltip
|
||||
cursor={false}
|
||||
content={<ChartTooltipContent hideLabel className="min-w-40" />}
|
||||
/>
|
||||
<Bar
|
||||
dataKey="amount"
|
||||
fill="var(--color-amount)"
|
||||
radius={isRounded ? [6, 6, 0, 0] : 0}
|
||||
maxBarSize={40}
|
||||
/>
|
||||
</BarChart>
|
||||
</ChartContainer>
|
||||
</CardContent>
|
||||
<CardContent>
|
||||
<div className="grid w-full grid-cols-1 gap-3 md:grid-cols-2">
|
||||
<Item variant="muted" className="flex-col items-stretch">
|
||||
<ItemContent className="gap-1">
|
||||
<ItemDescription className="text-xs font-medium tracking-wider text-muted-foreground uppercase">
|
||||
Upcoming
|
||||
</ItemDescription>
|
||||
<span className="cn-font-heading text-lg font-semibold">
|
||||
May 25, 2024
|
||||
</span>
|
||||
<span className="text-sm text-muted-foreground">
|
||||
$1,000 scheduled
|
||||
</span>
|
||||
</ItemContent>
|
||||
</Item>
|
||||
<Item variant="muted" className="flex-col items-stretch">
|
||||
<ItemContent className="gap-1">
|
||||
<ItemDescription className="text-xs font-medium tracking-wider text-muted-foreground uppercase">
|
||||
Auto-Save Plan
|
||||
</ItemDescription>
|
||||
<span className="cn-font-heading text-lg font-semibold">
|
||||
Accelerated
|
||||
</span>
|
||||
<span className="text-sm text-muted-foreground">
|
||||
Recurring weekly
|
||||
</span>
|
||||
</ItemContent>
|
||||
</Item>
|
||||
</div>
|
||||
</CardContent>
|
||||
<CardFooter>
|
||||
<Button className="w-full">View Full Report</Button>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Card,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardFooter,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import { Item } from "@/registry/bases/aria/ui/item"
|
||||
import { Label } from "@/registry/bases/aria/ui/label"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
export function CoverArt() {
|
||||
return (
|
||||
<Card>
|
||||
<CardContent className="flex flex-col gap-3">
|
||||
<Label
|
||||
htmlFor="cover-art"
|
||||
className="text-center text-xs font-normal tracking-wider text-muted-foreground uppercase"
|
||||
>
|
||||
Cover Art
|
||||
</Label>
|
||||
<Item className="aspect-square" variant="outline">
|
||||
<label
|
||||
htmlFor="cover-art"
|
||||
className="flex size-full cursor-pointer items-center justify-center"
|
||||
>
|
||||
<IconPlaceholder
|
||||
lucide="ImageIcon"
|
||||
tabler="IconPhoto"
|
||||
hugeicons="Image01Icon"
|
||||
phosphor="ImageIcon"
|
||||
remixicon="RiImageLine"
|
||||
className="size-10 text-muted-foreground/50"
|
||||
/>
|
||||
</label>
|
||||
</Item>
|
||||
<input
|
||||
id="cover-art"
|
||||
type="file"
|
||||
accept="image/jpeg,image/png"
|
||||
className="sr-only"
|
||||
/>
|
||||
</CardContent>
|
||||
<CardFooter className="flex-col gap-2">
|
||||
<label htmlFor="cover-art" className="w-full">
|
||||
<Button variant="secondary" className="w-full">
|
||||
Upload Artwork
|
||||
</Button>
|
||||
</label>
|
||||
<CardDescription className="text-center text-xs">
|
||||
Minimum 3000 × 3000px
|
||||
<br />
|
||||
JPEG or PNG only
|
||||
</CardDescription>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,142 @@
|
||||
"use client"
|
||||
|
||||
import { Bar, BarChart, XAxis } from "recharts"
|
||||
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Card,
|
||||
CardAction,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
ChartContainer,
|
||||
ChartTooltip,
|
||||
ChartTooltipContent,
|
||||
type ChartConfig,
|
||||
} from "@/registry/bases/aria/ui/chart"
|
||||
import {
|
||||
Item,
|
||||
ItemContent,
|
||||
ItemDescription,
|
||||
ItemGroup,
|
||||
ItemTitle,
|
||||
} from "@/registry/bases/aria/ui/item"
|
||||
import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
const HOLDINGS = [
|
||||
{
|
||||
name: "Vanguard VIG",
|
||||
shares: "450 Shares",
|
||||
amount: "$1,842.10",
|
||||
data: [
|
||||
{ q: "Q1", value: 380 },
|
||||
{ q: "Q2", value: 420 },
|
||||
{ q: "Q3", value: 390 },
|
||||
{ q: "Q4", value: 652 },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "S&P 500 VOO",
|
||||
shares: "112 Shares",
|
||||
amount: "$928.40",
|
||||
data: [
|
||||
{ q: "Q1", value: 180 },
|
||||
{ q: "Q2", value: 210 },
|
||||
{ q: "Q3", value: 320 },
|
||||
{ q: "Q4", value: 218 },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Apple AAPL",
|
||||
shares: "85 Shares",
|
||||
amount: "$340.00",
|
||||
data: [
|
||||
{ q: "Q1", value: 60 },
|
||||
{ q: "Q2", value: 70 },
|
||||
{ q: "Q3", value: 120 },
|
||||
{ q: "Q4", value: 90 },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Realty Income",
|
||||
shares: "320 Shares",
|
||||
amount: "$1,139.50",
|
||||
data: [
|
||||
{ q: "Q1", value: 240 },
|
||||
{ q: "Q2", value: 260 },
|
||||
{ q: "Q3", value: 280 },
|
||||
{ q: "Q4", value: 360 },
|
||||
],
|
||||
},
|
||||
]
|
||||
|
||||
const miniChartConfig = {
|
||||
value: {
|
||||
label: "Dividend",
|
||||
color: "var(--chart-2)",
|
||||
},
|
||||
} satisfies ChartConfig
|
||||
|
||||
export function DividendIncome() {
|
||||
const [params] = useDesignSystemSearchParams()
|
||||
const isRounded = !["lyra", "sera"].includes(params.style)
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Q2 Dividend Income</CardTitle>
|
||||
<CardDescription>
|
||||
Quarterly dividend payouts across your portfolio holdings.
|
||||
</CardDescription>
|
||||
<CardAction>
|
||||
<Button variant="ghost" size="icon-sm" className="bg-muted">
|
||||
<IconPlaceholder
|
||||
lucide="XIcon"
|
||||
tabler="IconX"
|
||||
hugeicons="Cancel01Icon"
|
||||
phosphor="XIcon"
|
||||
remixicon="RiCloseLine"
|
||||
/>
|
||||
</Button>
|
||||
</CardAction>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<ItemGroup>
|
||||
{HOLDINGS.map((holding) => (
|
||||
<Item key={holding.name} variant="muted">
|
||||
<ItemContent>
|
||||
<ItemTitle>{holding.name}</ItemTitle>
|
||||
<ItemDescription>{holding.shares}</ItemDescription>
|
||||
</ItemContent>
|
||||
<ChartContainer
|
||||
config={miniChartConfig}
|
||||
className="hidden h-8 w-24 md:block"
|
||||
>
|
||||
<BarChart
|
||||
data={holding.data}
|
||||
margin={{ top: 0, right: 0, bottom: 0, left: 0 }}
|
||||
>
|
||||
<ChartTooltip
|
||||
cursor={false}
|
||||
content={<ChartTooltipContent hideLabel />}
|
||||
/>
|
||||
<Bar
|
||||
dataKey="value"
|
||||
fill="var(--color-value)"
|
||||
radius={isRounded ? [3, 3, 0, 0] : 0}
|
||||
/>
|
||||
</BarChart>
|
||||
</ChartContainer>
|
||||
<span className="hidden text-sm font-semibold tabular-nums md:block">
|
||||
{holding.amount}
|
||||
</span>
|
||||
</Item>
|
||||
))}
|
||||
</ItemGroup>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import { Card, CardContent } from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
Empty,
|
||||
EmptyContent,
|
||||
EmptyDescription,
|
||||
EmptyHeader,
|
||||
EmptyMedia,
|
||||
EmptyTitle,
|
||||
} from "@/registry/bases/aria/ui/empty"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
export function EmptyConnectBank() {
|
||||
return (
|
||||
<Card>
|
||||
<CardContent>
|
||||
<Empty className="p-4">
|
||||
<EmptyMedia variant="icon">
|
||||
<IconPlaceholder
|
||||
lucide="CreditCardIcon"
|
||||
tabler="IconCreditCard"
|
||||
hugeicons="CreditCardIcon"
|
||||
phosphor="CreditCardIcon"
|
||||
remixicon="RiBankCardLine"
|
||||
/>
|
||||
</EmptyMedia>
|
||||
<EmptyHeader>
|
||||
<EmptyTitle>Connect Bank</EmptyTitle>
|
||||
<EmptyDescription>
|
||||
Link your payout method to receive monthly royalty distributions
|
||||
automatically.
|
||||
</EmptyDescription>
|
||||
</EmptyHeader>
|
||||
<EmptyContent>
|
||||
<Button>Set Up Payouts</Button>
|
||||
</EmptyContent>
|
||||
</Empty>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import { Card, CardContent } from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
Empty,
|
||||
EmptyContent,
|
||||
EmptyDescription,
|
||||
EmptyHeader,
|
||||
EmptyMedia,
|
||||
EmptyTitle,
|
||||
} from "@/registry/bases/aria/ui/empty"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
export function EmptyDistributeTrack() {
|
||||
return (
|
||||
<Card>
|
||||
<CardContent>
|
||||
<Empty className="p-4">
|
||||
<EmptyMedia variant="icon">
|
||||
<IconPlaceholder
|
||||
lucide="PlusIcon"
|
||||
tabler="IconPlus"
|
||||
hugeicons="Add01Icon"
|
||||
phosphor="PlusIcon"
|
||||
remixicon="RiAddLine"
|
||||
/>
|
||||
</EmptyMedia>
|
||||
<EmptyHeader>
|
||||
<EmptyTitle>Distribute Track</EmptyTitle>
|
||||
<EmptyDescription>
|
||||
Upload your first master to start reaching listeners on Spotify,
|
||||
Apple Music, and more.
|
||||
</EmptyDescription>
|
||||
</EmptyHeader>
|
||||
<EmptyContent>
|
||||
<Button>Create Release</Button>
|
||||
</EmptyContent>
|
||||
</Empty>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import { Card, CardContent } from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
Empty,
|
||||
EmptyContent,
|
||||
EmptyDescription,
|
||||
EmptyHeader,
|
||||
EmptyMedia,
|
||||
EmptyTitle,
|
||||
} from "@/registry/bases/aria/ui/empty"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
export function EmptyExploreCatalog() {
|
||||
return (
|
||||
<Card>
|
||||
<CardContent>
|
||||
<Empty className="p-4">
|
||||
<EmptyMedia variant="icon">
|
||||
<IconPlaceholder
|
||||
lucide="AudioLinesIcon"
|
||||
tabler="IconPlayerRecordFilled"
|
||||
hugeicons="AudioWave01Icon"
|
||||
phosphor="RecordIcon"
|
||||
remixicon="RiRecordCircleLine"
|
||||
/>
|
||||
</EmptyMedia>
|
||||
<EmptyHeader>
|
||||
<EmptyTitle>Explore Catalog</EmptyTitle>
|
||||
<EmptyDescription>
|
||||
Check your ISRC codes, metadata, and visual assets before going
|
||||
live.
|
||||
</EmptyDescription>
|
||||
</EmptyHeader>
|
||||
<EmptyContent>
|
||||
<Button>View Catalog</Button>
|
||||
</EmptyContent>
|
||||
</Empty>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
124
apps/v4/registry/bases/aria/blocks/preview-02/cards/faq.tsx
Normal file
124
apps/v4/registry/bases/aria/blocks/preview-02/cards/faq.tsx
Normal file
@@ -0,0 +1,124 @@
|
||||
"use client"
|
||||
|
||||
import {
|
||||
Accordion,
|
||||
AccordionContent,
|
||||
AccordionItem,
|
||||
AccordionTrigger,
|
||||
} from "@/registry/bases/aria/ui/accordion"
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Card,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardFooter,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
Tabs,
|
||||
TabsContent,
|
||||
TabsList,
|
||||
TabsTrigger,
|
||||
} from "@/registry/bases/aria/ui/tabs"
|
||||
|
||||
const GENERAL_QUESTIONS = [
|
||||
{
|
||||
q: "How secure is my financial data with Ledger?",
|
||||
a: "We use bank-level AES-256 encryption, SOC 2 Type II certified infrastructure, and never store your credentials. All connections use read-only access tokens. We are a SEC registered investment advisor.",
|
||||
},
|
||||
{
|
||||
q: "How do I connect my bank or investment accounts?",
|
||||
a: "Go to Settings > Linked Accounts and search for your institution. We support over 12,000 banks and brokerages via Plaid and MX.",
|
||||
},
|
||||
{
|
||||
q: "Can I export my data for tax purposes?",
|
||||
a: "Yes. Navigate to Reports > Tax Export to download a CSV or PDF summary of your transactions, dividends, and capital gains for any tax year.",
|
||||
},
|
||||
]
|
||||
|
||||
const BILLING_QUESTIONS = [
|
||||
{
|
||||
q: "What is the difference between Basic and Pro pricing tiers?",
|
||||
a: "Basic includes budgeting, goal tracking, and up to 3 linked accounts. Pro adds unlimited accounts, dividend tracking, portfolio analysis, and priority support.",
|
||||
},
|
||||
{
|
||||
q: "How do I cancel my subscription?",
|
||||
a: "Go to Settings > Billing > Manage Plan and click Cancel. Your access continues until the end of your current billing period.",
|
||||
},
|
||||
{
|
||||
q: "Do you offer a free trial?",
|
||||
a: "Yes. All new accounts start with a 14-day Pro trial. No credit card required.",
|
||||
},
|
||||
]
|
||||
|
||||
const GOALS_QUESTIONS = [
|
||||
{
|
||||
q: "How do I set up a custom financial goal?",
|
||||
a: "Click New Goal from the Savings Targets card. Choose a category, set a target amount and date, and we'll calculate the monthly contribution needed.",
|
||||
},
|
||||
{
|
||||
q: "Can I track multiple goals at once?",
|
||||
a: "Yes. Pro accounts can track unlimited goals. Basic accounts support up to 3 active goals.",
|
||||
},
|
||||
{
|
||||
q: "How are monthly contributions calculated?",
|
||||
a: "We divide the remaining amount by the number of months until your target date, adjusted for your current savings rate and any auto-transfer schedules.",
|
||||
},
|
||||
]
|
||||
|
||||
function QuestionList({
|
||||
questions,
|
||||
}: {
|
||||
questions: { q: string; a: string }[]
|
||||
}) {
|
||||
return (
|
||||
<Accordion>
|
||||
{questions.map((item, index) => (
|
||||
<AccordionItem key={index} id={`question-${index}`}>
|
||||
<AccordionTrigger>{item.q}</AccordionTrigger>
|
||||
<AccordionContent>{item.a}</AccordionContent>
|
||||
</AccordionItem>
|
||||
))}
|
||||
</Accordion>
|
||||
)
|
||||
}
|
||||
|
||||
export function Faq() {
|
||||
return (
|
||||
<Card>
|
||||
<CardContent>
|
||||
<Tabs defaultSelectedKey="general">
|
||||
<TabsList className="w-full">
|
||||
<TabsTrigger id="general" className="flex-1">
|
||||
General
|
||||
</TabsTrigger>
|
||||
<TabsTrigger id="billing" className="flex-1">
|
||||
Billing
|
||||
</TabsTrigger>
|
||||
<TabsTrigger id="goals" className="flex-1">
|
||||
Goals
|
||||
</TabsTrigger>
|
||||
</TabsList>
|
||||
<TabsContent id="general">
|
||||
<QuestionList questions={GENERAL_QUESTIONS} />
|
||||
</TabsContent>
|
||||
<TabsContent id="billing">
|
||||
<QuestionList questions={BILLING_QUESTIONS} />
|
||||
</TabsContent>
|
||||
<TabsContent id="goals">
|
||||
<QuestionList questions={GOALS_QUESTIONS} />
|
||||
</TabsContent>
|
||||
</Tabs>
|
||||
</CardContent>
|
||||
<CardFooter>
|
||||
<Button variant="outline" className="w-full">
|
||||
Contact Support
|
||||
</Button>
|
||||
<Button variant="link" className="w-full">
|
||||
Learn More
|
||||
</Button>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
import { Badge } from "@/registry/bases/aria/ui/badge"
|
||||
import {
|
||||
Card,
|
||||
CardAction,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
export function FrontDoor() {
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Front Door</CardTitle>
|
||||
<CardDescription>Smart Lock Pro</CardDescription>
|
||||
<CardAction>
|
||||
<div className="flex items-center gap-1.5 text-sm text-muted-foreground">
|
||||
Locked
|
||||
<IconPlaceholder
|
||||
lucide="LockIcon"
|
||||
tabler="IconLock"
|
||||
hugeicons="SquareLock02Icon"
|
||||
phosphor="LockKeyIcon"
|
||||
remixicon="RiLockLine"
|
||||
className="size-4"
|
||||
/>
|
||||
</div>
|
||||
</CardAction>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<div className="relative flex aspect-video items-center justify-center overflow-hidden rounded-lg bg-muted bg-[repeating-linear-gradient(45deg,transparent,transparent_10px,var(--border)_10px,var(--border)_11px)]">
|
||||
<Badge variant="destructive" className="absolute top-2 right-2">
|
||||
Live
|
||||
</Badge>
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Card,
|
||||
CardAction,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
export function IndexInvesting() {
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Dollar-Cost Averaging</CardTitle>
|
||||
<CardDescription>
|
||||
A strategy for building wealth over time.
|
||||
</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<CardDescription className="mt-3 text-sm leading-relaxed style-sera:mt-0">
|
||||
<a
|
||||
href="#"
|
||||
className="underline underline-offset-4 hover:text-primary"
|
||||
>
|
||||
Over time
|
||||
</a>
|
||||
, this smooths out the average cost of your investments. When prices
|
||||
drop, your fixed amount buys more shares. When prices rise, you buy
|
||||
fewer. The result is a lower average cost per share compared to
|
||||
lump-sum investing during volatile periods.
|
||||
</CardDescription>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,191 @@
|
||||
"use client"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
import {
|
||||
Card,
|
||||
CardAction,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
Item,
|
||||
ItemActions,
|
||||
ItemContent,
|
||||
ItemGroup,
|
||||
ItemMedia,
|
||||
ItemTitle,
|
||||
} from "@/registry/bases/aria/ui/item"
|
||||
import { Slider } from "@/registry/bases/aria/ui/slider"
|
||||
import { Switch } from "@/registry/bases/aria/ui/switch"
|
||||
import {
|
||||
ToggleGroup,
|
||||
ToggleGroupItem,
|
||||
} from "@/registry/bases/aria/ui/toggle-group"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
const SCENES = {
|
||||
cooking: { brightness: [90], colorTemp: [70], volume: [30], fade: [0] },
|
||||
dining: { brightness: [50], colorTemp: [40], volume: [20], fade: [60] },
|
||||
nightlight: { brightness: [15], colorTemp: [20], volume: [0], fade: [80] },
|
||||
focus: { brightness: [100], colorTemp: [85], volume: [0], fade: [0] },
|
||||
} as const
|
||||
|
||||
export function KitchenIsland() {
|
||||
const [enabled, setEnabled] = React.useState(true)
|
||||
const [scene, setScene] = React.useState("cooking")
|
||||
const [brightness, setBrightness] = React.useState([90])
|
||||
const [colorTemp, setColorTemp] = React.useState([70])
|
||||
const [volume, setVolume] = React.useState([30])
|
||||
const [fade, setFade] = React.useState([0])
|
||||
|
||||
const handleSceneChange = (value: string) => {
|
||||
if (!value) return
|
||||
setScene(value)
|
||||
const preset = SCENES[value as keyof typeof SCENES]
|
||||
setBrightness([...preset.brightness])
|
||||
setColorTemp([...preset.colorTemp])
|
||||
setVolume([...preset.volume])
|
||||
setFade([...preset.fade])
|
||||
}
|
||||
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Kitchen Island</CardTitle>
|
||||
<CardDescription>Hue Color Ambient</CardDescription>
|
||||
<CardAction>
|
||||
<Switch isSelected={enabled} onChange={setEnabled} />
|
||||
</CardAction>
|
||||
</CardHeader>
|
||||
<CardContent className="flex flex-col gap-4">
|
||||
<div className="flex flex-col gap-2">
|
||||
<span className="sr-only">Scenes</span>
|
||||
<ToggleGroup
|
||||
selectedKeys={[scene]}
|
||||
onSelectionChange={(value) =>
|
||||
handleSceneChange((Array.from(value)[0] as string) ?? "cooking")
|
||||
}
|
||||
variant="outline"
|
||||
spacing={1}
|
||||
className="flex-wrap"
|
||||
>
|
||||
<ToggleGroupItem id="cooking" isDisabled={!enabled}>
|
||||
Cooking
|
||||
</ToggleGroupItem>
|
||||
<ToggleGroupItem id="dining" isDisabled={!enabled}>
|
||||
Dining
|
||||
</ToggleGroupItem>
|
||||
<ToggleGroupItem id="nightlight" isDisabled={!enabled}>
|
||||
Nightlight
|
||||
</ToggleGroupItem>
|
||||
<ToggleGroupItem id="focus" isDisabled={!enabled}>
|
||||
Focus
|
||||
</ToggleGroupItem>
|
||||
</ToggleGroup>
|
||||
</div>
|
||||
<ItemGroup>
|
||||
<Item size="sm" variant="outline">
|
||||
<ItemMedia variant="icon">
|
||||
<IconPlaceholder
|
||||
lucide="SunIcon"
|
||||
tabler="IconSun"
|
||||
hugeicons="Sun03Icon"
|
||||
phosphor="SunIcon"
|
||||
remixicon="RiSunLine"
|
||||
/>
|
||||
</ItemMedia>
|
||||
<ItemContent className="flex-row items-center gap-3">
|
||||
<ItemTitle className="shrink-0">Brightness</ItemTitle>
|
||||
</ItemContent>
|
||||
<ItemActions className="flex-1">
|
||||
<Slider
|
||||
value={brightness}
|
||||
onChange={(value) =>
|
||||
setBrightness(Array.isArray(value) ? [...value] : [value])
|
||||
}
|
||||
maxValue={100}
|
||||
isDisabled={!enabled}
|
||||
className="w-full"
|
||||
/>
|
||||
</ItemActions>
|
||||
</Item>
|
||||
<Item size="sm" variant="outline">
|
||||
<ItemMedia variant="icon">
|
||||
<IconPlaceholder
|
||||
lucide="ThermometerIcon"
|
||||
tabler="IconThermometer"
|
||||
hugeicons="ThermometerWarmIcon"
|
||||
phosphor="ThermometerIcon"
|
||||
remixicon="RiThermometerLine"
|
||||
/>
|
||||
</ItemMedia>
|
||||
<ItemContent className="flex-row items-center gap-3">
|
||||
<ItemTitle className="shrink-0">Color Temp</ItemTitle>
|
||||
</ItemContent>
|
||||
<ItemActions className="flex-1">
|
||||
<Slider
|
||||
value={colorTemp}
|
||||
onChange={(value) =>
|
||||
setColorTemp(Array.isArray(value) ? [...value] : [value])
|
||||
}
|
||||
maxValue={100}
|
||||
isDisabled={!enabled}
|
||||
/>
|
||||
</ItemActions>
|
||||
</Item>
|
||||
<Item size="sm" variant="outline">
|
||||
<ItemMedia variant="icon">
|
||||
<IconPlaceholder
|
||||
lucide="Volume2Icon"
|
||||
tabler="IconVolume"
|
||||
hugeicons="VolumeHighIcon"
|
||||
phosphor="SpeakerHighIcon"
|
||||
remixicon="RiVolumeUpLine"
|
||||
/>
|
||||
</ItemMedia>
|
||||
<ItemContent className="flex-row items-center gap-3">
|
||||
<ItemTitle className="shrink-0">Volume</ItemTitle>
|
||||
</ItemContent>
|
||||
<ItemActions className="flex-1">
|
||||
<Slider
|
||||
value={volume}
|
||||
onChange={(value) =>
|
||||
setVolume(Array.isArray(value) ? [...value] : [value])
|
||||
}
|
||||
maxValue={100}
|
||||
isDisabled={!enabled}
|
||||
/>
|
||||
</ItemActions>
|
||||
</Item>
|
||||
<Item size="sm" variant="outline">
|
||||
<ItemMedia variant="icon">
|
||||
<IconPlaceholder
|
||||
lucide="TimerIcon"
|
||||
tabler="IconClock"
|
||||
hugeicons="Clock03Icon"
|
||||
phosphor="TimerIcon"
|
||||
remixicon="RiTimerLine"
|
||||
/>
|
||||
</ItemMedia>
|
||||
<ItemContent className="flex-row items-center gap-3">
|
||||
<ItemTitle className="shrink-0">Fade</ItemTitle>
|
||||
</ItemContent>
|
||||
<ItemActions className="flex-1">
|
||||
<Slider
|
||||
value={fade}
|
||||
onChange={(value) =>
|
||||
setFade(Array.isArray(value) ? [...value] : [value])
|
||||
}
|
||||
maxValue={100}
|
||||
isDisabled={!enabled}
|
||||
/>
|
||||
</ItemActions>
|
||||
</Item>
|
||||
</ItemGroup>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
import { Card, CardContent, CardHeader } from "@/registry/bases/aria/ui/card"
|
||||
import { Skeleton } from "@/registry/bases/aria/ui/skeleton"
|
||||
|
||||
export function LoadingCard() {
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<Skeleton className="h-5 w-32" />
|
||||
<Skeleton className="h-4 w-48" />
|
||||
</CardHeader>
|
||||
<CardContent className="flex flex-col gap-4">
|
||||
<Skeleton className="h-32 w-full rounded-lg" />
|
||||
<div className="flex flex-col gap-2">
|
||||
<Skeleton className="h-4 w-full" />
|
||||
<Skeleton className="h-4 w-3/4" />
|
||||
<Skeleton className="h-4 w-1/2" />
|
||||
</div>
|
||||
<div className="flex gap-2">
|
||||
<Skeleton className="h-9 flex-1 rounded-md" />
|
||||
<Skeleton className="h-9 flex-1 rounded-md" />
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
"use client"
|
||||
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Card,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardFooter,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import { Field, FieldGroup, FieldLabel } from "@/registry/bases/aria/ui/field"
|
||||
import { Input } from "@/registry/bases/aria/ui/input"
|
||||
|
||||
export function NewMilestone() {
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Set a new milestone</CardTitle>
|
||||
<CardDescription>
|
||||
Define your financial target and we'll help you pace your
|
||||
savings.
|
||||
</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<FieldGroup>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="goal-name">Goal Name</FieldLabel>
|
||||
<Input
|
||||
id="goal-name"
|
||||
placeholder="e.g. New Car, Home Downpayment"
|
||||
/>
|
||||
</Field>
|
||||
<div className="grid grid-cols-2 gap-3">
|
||||
<Field>
|
||||
<FieldLabel htmlFor="target-amount">Target Amount</FieldLabel>
|
||||
<Input id="target-amount" defaultValue="$15,000" />
|
||||
</Field>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="target-date">Target Date</FieldLabel>
|
||||
<Input id="target-date" defaultValue="Dec 2025" />
|
||||
</Field>
|
||||
</div>
|
||||
</FieldGroup>
|
||||
</CardContent>
|
||||
<CardFooter className="flex-col gap-2">
|
||||
<Button className="w-full">Create Goal</Button>
|
||||
<Button variant="outline" className="w-full">
|
||||
Cancel
|
||||
</Button>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
"use client"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Card,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardFooter,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import { Checkbox } from "@/registry/bases/aria/ui/checkbox"
|
||||
import {
|
||||
Field,
|
||||
FieldContent,
|
||||
FieldDescription,
|
||||
FieldGroup,
|
||||
FieldLabel,
|
||||
} from "@/registry/bases/aria/ui/field"
|
||||
|
||||
const NOTIFICATIONS = [
|
||||
{
|
||||
id: "transactions",
|
||||
label: "Transaction alerts",
|
||||
description: "Deposits, withdrawals, and transfers.",
|
||||
defaultChecked: true,
|
||||
},
|
||||
{
|
||||
id: "security",
|
||||
label: "Security alerts",
|
||||
description: "Login attempts and account changes.",
|
||||
defaultChecked: true,
|
||||
},
|
||||
{
|
||||
id: "goals",
|
||||
label: "Goal milestones",
|
||||
description: "Updates at 25%, 50%, 75%, and 100%.",
|
||||
defaultChecked: false,
|
||||
},
|
||||
{
|
||||
id: "market",
|
||||
label: "Market updates",
|
||||
description: "Daily portfolio summary and price alerts.",
|
||||
defaultChecked: false,
|
||||
},
|
||||
]
|
||||
|
||||
export function NotificationSettings() {
|
||||
const [checked, setChecked] = React.useState<Record<string, boolean>>(
|
||||
Object.fromEntries(NOTIFICATIONS.map((n) => [n.id, n.defaultChecked]))
|
||||
)
|
||||
|
||||
const allChecked = NOTIFICATIONS.every((n) => checked[n.id])
|
||||
const someChecked = NOTIFICATIONS.some((n) => checked[n.id]) && !allChecked
|
||||
|
||||
const handleSelectAll = (value: boolean) => {
|
||||
setChecked(Object.fromEntries(NOTIFICATIONS.map((n) => [n.id, value])))
|
||||
}
|
||||
|
||||
const handleToggle = (id: string, value: boolean) => {
|
||||
setChecked((prev) => ({ ...prev, [id]: value }))
|
||||
}
|
||||
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Notifications</CardTitle>
|
||||
<CardDescription>
|
||||
Choose what you want to be notified about.
|
||||
</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<FieldGroup>
|
||||
<Field orientation="horizontal">
|
||||
<Checkbox
|
||||
id="notify-all"
|
||||
isSelected={allChecked}
|
||||
isIndeterminate={someChecked}
|
||||
onChange={(value) => handleSelectAll(!!value)}
|
||||
/>
|
||||
<FieldContent>
|
||||
<FieldLabel htmlFor="notify-all">Select all</FieldLabel>
|
||||
</FieldContent>
|
||||
</Field>
|
||||
{NOTIFICATIONS.map((n) => (
|
||||
<Field key={n.id} orientation="horizontal">
|
||||
<Checkbox
|
||||
id={`notify-${n.id}`}
|
||||
isSelected={checked[n.id]}
|
||||
onChange={(value) => handleToggle(n.id, !!value)}
|
||||
/>
|
||||
<FieldContent>
|
||||
<FieldLabel htmlFor={`notify-${n.id}`}>{n.label}</FieldLabel>
|
||||
<FieldDescription>{n.description}</FieldDescription>
|
||||
</FieldContent>
|
||||
</Field>
|
||||
))}
|
||||
</FieldGroup>
|
||||
</CardContent>
|
||||
<CardFooter>
|
||||
<Button className="w-full">Save Preferences</Button>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
170
apps/v4/registry/bases/aria/blocks/preview-02/cards/payments.tsx
Normal file
170
apps/v4/registry/bases/aria/blocks/preview-02/cards/payments.tsx
Normal file
@@ -0,0 +1,170 @@
|
||||
"use client"
|
||||
|
||||
import {
|
||||
Breadcrumb,
|
||||
BreadcrumbItem,
|
||||
BreadcrumbLink,
|
||||
BreadcrumbList,
|
||||
BreadcrumbPage,
|
||||
} from "@/registry/bases/aria/ui/breadcrumb"
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import { Card, CardContent, CardHeader } from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
DropdownMenu,
|
||||
DropdownMenuGroup,
|
||||
DropdownMenuItem,
|
||||
DropdownMenuTrigger,
|
||||
} from "@/registry/bases/aria/ui/dropdown-menu"
|
||||
import {
|
||||
Item,
|
||||
ItemContent,
|
||||
ItemDescription,
|
||||
ItemGroup,
|
||||
ItemMedia,
|
||||
ItemTitle,
|
||||
} from "@/registry/bases/aria/ui/item"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
export function Payments() {
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader className="flex flex-col gap-3">
|
||||
<Breadcrumb>
|
||||
<BreadcrumbList>
|
||||
<BreadcrumbItem>
|
||||
<BreadcrumbLink href="#">Home</BreadcrumbLink>
|
||||
</BreadcrumbItem>
|
||||
<BreadcrumbItem>
|
||||
<DropdownMenuTrigger>
|
||||
<Button size="icon-sm" variant="ghost">
|
||||
<IconPlaceholder
|
||||
lucide="MoreHorizontalIcon"
|
||||
tabler="IconDots"
|
||||
hugeicons="MoreHorizontalCircle01Icon"
|
||||
phosphor="DotsThreeIcon"
|
||||
remixicon="RiMoreLine"
|
||||
/>
|
||||
<span className="sr-only">Account options</span>
|
||||
</Button>
|
||||
<DropdownMenu placement="bottom start">
|
||||
<DropdownMenuGroup>
|
||||
<DropdownMenuItem>Profile</DropdownMenuItem>
|
||||
<DropdownMenuItem>Statements</DropdownMenuItem>
|
||||
<DropdownMenuItem>Documents</DropdownMenuItem>
|
||||
</DropdownMenuGroup>
|
||||
</DropdownMenu>
|
||||
</DropdownMenuTrigger>
|
||||
</BreadcrumbItem>
|
||||
<BreadcrumbItem>
|
||||
<BreadcrumbPage>Payments</BreadcrumbPage>
|
||||
</BreadcrumbItem>
|
||||
</BreadcrumbList>
|
||||
</Breadcrumb>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<ItemGroup>
|
||||
<Item variant="muted" href="#">
|
||||
<ItemMedia variant="icon">
|
||||
<IconPlaceholder
|
||||
lucide="GaugeIcon"
|
||||
tabler="IconGauge"
|
||||
hugeicons="Settings01Icon"
|
||||
phosphor="GaugeIcon"
|
||||
remixicon="RiDashboardLine"
|
||||
/>
|
||||
</ItemMedia>
|
||||
<ItemContent>
|
||||
<ItemTitle>Change transfer limit</ItemTitle>
|
||||
<ItemDescription>
|
||||
Adjust how much you can send from your balance.
|
||||
</ItemDescription>
|
||||
</ItemContent>
|
||||
<IconPlaceholder
|
||||
lucide="ChevronRightIcon"
|
||||
tabler="IconChevronRight"
|
||||
hugeicons="ArrowRight01Icon"
|
||||
phosphor="CaretRightIcon"
|
||||
remixicon="RiArrowRightSLine"
|
||||
className="size-4 shrink-0 text-muted-foreground"
|
||||
/>
|
||||
</Item>
|
||||
<Item variant="muted" href="#">
|
||||
<ItemMedia variant="icon">
|
||||
<IconPlaceholder
|
||||
lucide="CalendarIcon"
|
||||
tabler="IconCalendar"
|
||||
hugeicons="Calendar03Icon"
|
||||
phosphor="CalendarIcon"
|
||||
remixicon="RiCalendarLine"
|
||||
/>
|
||||
</ItemMedia>
|
||||
<ItemContent>
|
||||
<ItemTitle>Scheduled transfers</ItemTitle>
|
||||
<ItemDescription>
|
||||
Set up a transfer to send at a later date.
|
||||
</ItemDescription>
|
||||
</ItemContent>
|
||||
<IconPlaceholder
|
||||
lucide="ChevronRightIcon"
|
||||
tabler="IconChevronRight"
|
||||
hugeicons="ArrowRight01Icon"
|
||||
phosphor="CaretRightIcon"
|
||||
remixicon="RiArrowRightSLine"
|
||||
className="size-4 shrink-0 text-muted-foreground"
|
||||
/>
|
||||
</Item>
|
||||
<Item variant="muted" href="#">
|
||||
<ItemMedia variant="icon">
|
||||
<IconPlaceholder
|
||||
lucide="RepeatIcon"
|
||||
tabler="IconRepeat"
|
||||
hugeicons="RepeatIcon"
|
||||
phosphor="RepeatIcon"
|
||||
remixicon="RiRepeatLine"
|
||||
/>
|
||||
</ItemMedia>
|
||||
<ItemContent>
|
||||
<ItemTitle>Direct Debits</ItemTitle>
|
||||
<ItemDescription>
|
||||
Set up and manage regular payments.
|
||||
</ItemDescription>
|
||||
</ItemContent>
|
||||
<IconPlaceholder
|
||||
lucide="ChevronRightIcon"
|
||||
tabler="IconChevronRight"
|
||||
hugeicons="ArrowRight01Icon"
|
||||
phosphor="CaretRightIcon"
|
||||
remixicon="RiArrowRightSLine"
|
||||
className="size-4 shrink-0 text-muted-foreground"
|
||||
/>
|
||||
</Item>
|
||||
<Item variant="muted" href="#">
|
||||
<ItemMedia variant="icon">
|
||||
<IconPlaceholder
|
||||
lucide="RefreshCwIcon"
|
||||
tabler="IconRefresh"
|
||||
hugeicons="RepeatIcon"
|
||||
phosphor="ArrowsClockwiseIcon"
|
||||
remixicon="RiRefreshLine"
|
||||
/>
|
||||
</ItemMedia>
|
||||
<ItemContent>
|
||||
<ItemTitle>Recurring card payments</ItemTitle>
|
||||
<ItemDescription>
|
||||
Manage your repeated card transactions.
|
||||
</ItemDescription>
|
||||
</ItemContent>
|
||||
<IconPlaceholder
|
||||
lucide="ChevronRightIcon"
|
||||
tabler="IconChevronRight"
|
||||
hugeicons="ArrowRight01Icon"
|
||||
phosphor="CaretRightIcon"
|
||||
remixicon="RiArrowRightSLine"
|
||||
className="size-4 shrink-0 text-muted-foreground"
|
||||
/>
|
||||
</Item>
|
||||
</ItemGroup>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
"use client"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Card,
|
||||
CardAction,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardFooter,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
Field,
|
||||
FieldDescription,
|
||||
FieldGroup,
|
||||
FieldLabel,
|
||||
} from "@/registry/bases/aria/ui/field"
|
||||
import {
|
||||
Select,
|
||||
SelectContent,
|
||||
SelectGroup,
|
||||
SelectItem,
|
||||
SelectTrigger,
|
||||
SelectValue,
|
||||
} from "@/registry/bases/aria/ui/select"
|
||||
import { Slider } from "@/registry/bases/aria/ui/slider"
|
||||
import { Textarea } from "@/registry/bases/aria/ui/textarea"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
const CURRENCIES = [
|
||||
{ label: "USD — United States Dollar", value: "usd" },
|
||||
{ label: "EUR — Euro", value: "eur" },
|
||||
{ label: "GBP — British Pound", value: "gbp" },
|
||||
{ label: "JPY — Japanese Yen", value: "jpy" },
|
||||
]
|
||||
|
||||
export function PayoutThreshold() {
|
||||
const [amount, setAmount] = React.useState([2500])
|
||||
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Payout Threshold</CardTitle>
|
||||
<CardDescription>
|
||||
Set the minimum balance required before a payout is triggered.
|
||||
</CardDescription>
|
||||
<CardAction>
|
||||
<Button variant="ghost" size="icon-sm" className="bg-muted">
|
||||
<IconPlaceholder
|
||||
lucide="XIcon"
|
||||
tabler="IconX"
|
||||
hugeicons="Cancel01Icon"
|
||||
phosphor="XIcon"
|
||||
remixicon="RiCloseLine"
|
||||
/>
|
||||
</Button>
|
||||
</CardAction>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<FieldGroup>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="preferred-currency">
|
||||
Preferred Currency
|
||||
</FieldLabel>
|
||||
<Select defaultValue="usd">
|
||||
<SelectTrigger id="preferred-currency" className="w-full">
|
||||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectGroup>
|
||||
{CURRENCIES.map((item) => (
|
||||
<SelectItem key={item.value} id={item.value}>
|
||||
{item.label}
|
||||
</SelectItem>
|
||||
))}
|
||||
</SelectGroup>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</Field>
|
||||
<Field>
|
||||
<div className="flex items-baseline justify-between">
|
||||
<FieldLabel htmlFor="min-payout">
|
||||
Minimum Payout Amount
|
||||
</FieldLabel>
|
||||
<span className="text-2xl font-semibold tabular-nums">
|
||||
${amount[0].toFixed(2)}
|
||||
</span>
|
||||
</div>
|
||||
<Slider
|
||||
id="min-payout"
|
||||
value={amount}
|
||||
onChange={(value) =>
|
||||
setAmount(Array.isArray(value) ? [...value] : [value])
|
||||
}
|
||||
minValue={50}
|
||||
maxValue={10000}
|
||||
step={50}
|
||||
/>
|
||||
<div className="flex items-center justify-between">
|
||||
<FieldDescription>$50 (MIN)</FieldDescription>
|
||||
<FieldDescription>$10,000 (MAX)</FieldDescription>
|
||||
</div>
|
||||
</Field>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="payout-notes">Notes</FieldLabel>
|
||||
<Textarea
|
||||
id="payout-notes"
|
||||
placeholder="Add any notes for this payout configuration..."
|
||||
className="min-h-[100px]"
|
||||
/>
|
||||
</Field>
|
||||
</FieldGroup>
|
||||
</CardContent>
|
||||
<CardFooter>
|
||||
<Button className="w-full">Save Threshold</Button>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
"use client"
|
||||
|
||||
import { Bar, BarChart, XAxis } from "recharts"
|
||||
|
||||
import {
|
||||
Card,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardFooter,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
ChartContainer,
|
||||
ChartTooltip,
|
||||
ChartTooltipContent,
|
||||
type ChartConfig,
|
||||
} from "@/registry/bases/aria/ui/chart"
|
||||
import { Progress } from "@/registry/bases/aria/ui/progress"
|
||||
import { Separator } from "@/registry/bases/aria/ui/separator"
|
||||
import { useDesignSystemSearchParams } from "@/app/(app)/create/lib/search-params"
|
||||
|
||||
const chartData = [
|
||||
{ hour: "6a", usage: 1.2 },
|
||||
{ hour: "8a", usage: 2.8 },
|
||||
{ hour: "10a", usage: 3.1 },
|
||||
{ hour: "12p", usage: 2.4 },
|
||||
{ hour: "2p", usage: 3.4 },
|
||||
{ hour: "4p", usage: 2.9 },
|
||||
{ hour: "6p", usage: 3.8 },
|
||||
{ hour: "8p", usage: 3.2 },
|
||||
]
|
||||
|
||||
const chartConfig = {
|
||||
usage: {
|
||||
label: "Usage (kW)",
|
||||
color: "var(--chart-2)",
|
||||
},
|
||||
} satisfies ChartConfig
|
||||
|
||||
export function PowerUsage() {
|
||||
const [params] = useDesignSystemSearchParams()
|
||||
const isRounded = !["lyra", "sera"].includes(params.style)
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Power Usage</CardTitle>
|
||||
<CardDescription>Whole Home</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent className="flex flex-col gap-4">
|
||||
<ChartContainer config={chartConfig} className="h-[140px] w-full">
|
||||
<BarChart
|
||||
data={chartData}
|
||||
margin={{ left: 0, right: 0, top: 4, bottom: 0 }}
|
||||
>
|
||||
<XAxis
|
||||
dataKey="hour"
|
||||
tickLine={false}
|
||||
tickMargin={6}
|
||||
axisLine={false}
|
||||
className="text-xs"
|
||||
/>
|
||||
<ChartTooltip
|
||||
cursor={false}
|
||||
content={<ChartTooltipContent hideLabel />}
|
||||
/>
|
||||
<Bar
|
||||
dataKey="usage"
|
||||
fill="var(--color-usage)"
|
||||
radius={isRounded ? [4, 4, 0, 0] : 0}
|
||||
/>
|
||||
</BarChart>
|
||||
</ChartContainer>
|
||||
<Separator />
|
||||
<div className="grid grid-cols-2 gap-4">
|
||||
<div className="flex flex-col gap-0.5">
|
||||
<span className="text-sm text-muted-foreground">
|
||||
Currently Using
|
||||
</span>
|
||||
<span className="text-lg font-semibold tabular-nums">3.4 kW</span>
|
||||
</div>
|
||||
<div className="flex flex-col gap-0.5">
|
||||
<span className="text-sm text-muted-foreground">Solar Gen</span>
|
||||
<span className="text-lg font-semibold text-chart-1 tabular-nums">
|
||||
+1.2 kW
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</CardContent>
|
||||
<CardFooter className="flex-col items-start gap-1">
|
||||
<span className="text-sm text-muted-foreground">Battery Level</span>
|
||||
<div className="flex w-full items-center gap-2">
|
||||
<Progress value={85} className="flex-1" />
|
||||
<span className="text-sm font-medium tabular-nums">85%</span>
|
||||
</div>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,109 @@
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Card,
|
||||
CardAction,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardFooter,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
Field,
|
||||
FieldContent,
|
||||
FieldDescription,
|
||||
FieldGroup,
|
||||
FieldLabel,
|
||||
FieldSeparator,
|
||||
} from "@/registry/bases/aria/ui/field"
|
||||
import {
|
||||
Select,
|
||||
SelectContent,
|
||||
SelectGroup,
|
||||
SelectItem,
|
||||
SelectTrigger,
|
||||
SelectValue,
|
||||
} from "@/registry/bases/aria/ui/select"
|
||||
import { Switch } from "@/registry/bases/aria/ui/switch"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
const CURRENCIES = [
|
||||
{ label: "USD — United States Dollar", value: "usd" },
|
||||
{ label: "EUR — Euro", value: "eur" },
|
||||
{ label: "GBP — British Pound", value: "gbp" },
|
||||
{ label: "JPY — Japanese Yen", value: "jpy" },
|
||||
]
|
||||
|
||||
export function Preferences() {
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Preferences</CardTitle>
|
||||
<CardDescription>
|
||||
Manage your account settings and notifications.
|
||||
</CardDescription>
|
||||
<CardAction>
|
||||
<Button variant="ghost" size="icon-sm" className="bg-muted">
|
||||
<IconPlaceholder
|
||||
lucide="XIcon"
|
||||
tabler="IconX"
|
||||
hugeicons="Cancel01Icon"
|
||||
phosphor="XIcon"
|
||||
remixicon="RiCloseLine"
|
||||
/>
|
||||
</Button>
|
||||
</CardAction>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<FieldGroup>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="default-currency">Default Currency</FieldLabel>
|
||||
<Select defaultValue="usd">
|
||||
<SelectTrigger id="default-currency" className="w-full">
|
||||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectGroup>
|
||||
{CURRENCIES.map((item) => (
|
||||
<SelectItem key={item.value} id={item.value}>
|
||||
{item.label}
|
||||
</SelectItem>
|
||||
))}
|
||||
</SelectGroup>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</Field>
|
||||
<FieldSeparator className="-my-4 style-sera:hidden" />
|
||||
<Field orientation="horizontal">
|
||||
<FieldContent>
|
||||
<FieldLabel htmlFor="public-statistics">
|
||||
Public Statistics
|
||||
</FieldLabel>
|
||||
<FieldDescription>
|
||||
Allow others to see your total stream count and listening
|
||||
activity
|
||||
</FieldDescription>
|
||||
</FieldContent>
|
||||
<Switch id="public-statistics" defaultSelected />
|
||||
</Field>
|
||||
<FieldSeparator className="-my-4 style-sera:hidden" />
|
||||
<Field orientation="horizontal">
|
||||
<FieldContent>
|
||||
<FieldLabel htmlFor="email-notifications">
|
||||
Email Notifications
|
||||
</FieldLabel>
|
||||
<FieldDescription>
|
||||
Monthly royalty reports and distribution updates
|
||||
</FieldDescription>
|
||||
</FieldContent>
|
||||
<Switch id="email-notifications" defaultSelected />
|
||||
</Field>
|
||||
</FieldGroup>
|
||||
</CardContent>
|
||||
<CardFooter>
|
||||
<Button variant="outline">Reset</Button>
|
||||
<Button className="ml-auto">Save Preferences</Button>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
"use client"
|
||||
|
||||
import QRCode from "react-qr-code"
|
||||
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Card,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardFooter,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
|
||||
export function QrConnect() {
|
||||
return (
|
||||
<Card>
|
||||
<CardContent className="flex justify-center pt-6">
|
||||
<div className="rounded-xl border bg-white p-4">
|
||||
<QRCode
|
||||
value="https://ledger.app/connect/jd-4829"
|
||||
size={160}
|
||||
level="M"
|
||||
/>
|
||||
</div>
|
||||
</CardContent>
|
||||
<CardHeader className="text-center">
|
||||
<CardTitle>Scan to connect your mobile device</CardTitle>
|
||||
<CardDescription>
|
||||
Open the Ledger mobile app and scan this code to link your device.
|
||||
</CardDescription>
|
||||
</CardHeader>
|
||||
<CardFooter>
|
||||
<Button variant="secondary" className="w-full">
|
||||
Got it
|
||||
</Button>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
"use client"
|
||||
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Card,
|
||||
CardAction,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardFooter,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
Field,
|
||||
FieldContent,
|
||||
FieldDescription,
|
||||
FieldGroup,
|
||||
FieldLabel,
|
||||
FieldLegend,
|
||||
FieldSet,
|
||||
FieldTitle,
|
||||
} from "@/registry/bases/aria/ui/field"
|
||||
import { Input } from "@/registry/bases/aria/ui/input"
|
||||
import {
|
||||
RadioGroup,
|
||||
RadioGroupItem,
|
||||
} from "@/registry/bases/aria/ui/radio-group"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
export function ReceivingMethod() {
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardDescription>Payout Preferences</CardDescription>
|
||||
<CardTitle>Receiving Method</CardTitle>
|
||||
<CardAction>
|
||||
<Button variant="ghost" size="icon-sm" className="bg-muted">
|
||||
<IconPlaceholder
|
||||
lucide="XIcon"
|
||||
tabler="IconX"
|
||||
hugeicons="Cancel01Icon"
|
||||
phosphor="XIcon"
|
||||
remixicon="RiCloseLine"
|
||||
/>
|
||||
</Button>
|
||||
</CardAction>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<FieldGroup>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="account-holder">
|
||||
Account Holder Name
|
||||
</FieldLabel>
|
||||
<Input
|
||||
id="account-holder"
|
||||
defaultValue="Synthetic Horizons Music LLC"
|
||||
/>
|
||||
</Field>
|
||||
<FieldSet>
|
||||
<FieldLegend variant="label">Receiving Method</FieldLegend>
|
||||
<RadioGroup
|
||||
defaultValue="bank"
|
||||
className="grid grid-cols-1 items-start gap-3 md:grid-cols-2 style-sera:grid-cols-1"
|
||||
>
|
||||
<FieldLabel htmlFor="method-bank">
|
||||
<Field orientation="horizontal" className="pb-2.5">
|
||||
<RadioGroupItem value="bank" id="method-bank" />
|
||||
<FieldContent>
|
||||
<FieldTitle>Bank Transfer</FieldTitle>
|
||||
<FieldDescription>SWIFT / IBAN</FieldDescription>
|
||||
</FieldContent>
|
||||
</Field>
|
||||
</FieldLabel>
|
||||
<FieldLabel htmlFor="method-paypal">
|
||||
<Field orientation="horizontal" className="pb-2.5">
|
||||
<RadioGroupItem value="paypal" id="method-paypal" />
|
||||
<FieldContent>
|
||||
<FieldTitle>PayPal</FieldTitle>
|
||||
<FieldDescription className="line-clamp-1">
|
||||
Instant Payout
|
||||
</FieldDescription>
|
||||
</FieldContent>
|
||||
</Field>
|
||||
</FieldLabel>
|
||||
</RadioGroup>
|
||||
</FieldSet>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="iban">IBAN / Account Number</FieldLabel>
|
||||
<Input id="iban" placeholder="DE89 3704 0044 ...." />
|
||||
</Field>
|
||||
</FieldGroup>
|
||||
</CardContent>
|
||||
<CardFooter>
|
||||
<Button className="w-full" isDisabled>
|
||||
Save Payout Settings
|
||||
</Button>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,305 @@
|
||||
"use client"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Card,
|
||||
CardAction,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
DropdownMenu,
|
||||
DropdownMenuItem,
|
||||
DropdownMenuSeparator,
|
||||
DropdownMenuTrigger,
|
||||
} from "@/registry/bases/aria/ui/dropdown-menu"
|
||||
import {
|
||||
Table,
|
||||
TableBody,
|
||||
TableCell,
|
||||
TableHead,
|
||||
TableHeader,
|
||||
TableRow,
|
||||
} from "@/registry/bases/aria/ui/table"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
export function RecentTransactions() {
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Recent Transactions</CardTitle>
|
||||
<CardDescription>Your latest account activity.</CardDescription>
|
||||
<CardAction>
|
||||
<Button variant="outline" size="sm">
|
||||
View All
|
||||
</Button>
|
||||
</CardAction>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<Table>
|
||||
<TableHeader>
|
||||
<TableHead />
|
||||
<TableHead isRowHeader>Merchant</TableHead>
|
||||
<TableHead>Date</TableHead>
|
||||
<TableHead>Amount</TableHead>
|
||||
<TableHead />
|
||||
</TableHeader>
|
||||
<TableBody>
|
||||
<TableRow>
|
||||
<TableCell className="w-10">
|
||||
<div className="flex size-10 items-center justify-center rounded-lg bg-muted">
|
||||
<IconPlaceholder
|
||||
className="size-4 shrink-0"
|
||||
lucide="CoffeeIcon"
|
||||
tabler="IconCoffee"
|
||||
hugeicons="CoffeeIcon"
|
||||
phosphor="CoffeeIcon"
|
||||
remixicon="RiCupLine"
|
||||
/>
|
||||
</div>
|
||||
</TableCell>
|
||||
<TableCell>
|
||||
<div className="flex flex-col">
|
||||
<span className="font-medium">Blue Bottle Coffee</span>
|
||||
<span className="text-sm text-muted-foreground">
|
||||
Food & Drink
|
||||
</span>
|
||||
</div>
|
||||
</TableCell>
|
||||
<TableCell className="text-sm text-muted-foreground">
|
||||
Today, 10:24 AM
|
||||
</TableCell>
|
||||
<TableCell className="text-right">
|
||||
<span className="text-sm font-semibold tabular-nums">
|
||||
-$6.50
|
||||
</span>
|
||||
</TableCell>
|
||||
<TableCell className="w-8">
|
||||
<DropdownMenuTrigger>
|
||||
<Button variant="ghost" size="icon-sm">
|
||||
<IconPlaceholder
|
||||
lucide="MoreHorizontalIcon"
|
||||
tabler="IconDotsVertical"
|
||||
hugeicons="MoreVerticalCircle01Icon"
|
||||
phosphor="DotsThreeIcon"
|
||||
remixicon="RiMore2Line"
|
||||
/>
|
||||
</Button>
|
||||
<DropdownMenu placement="bottom end">
|
||||
<DropdownMenuItem>View details</DropdownMenuItem>
|
||||
<DropdownMenuItem>Add note</DropdownMenuItem>
|
||||
<DropdownMenuItem>Categorize</DropdownMenuItem>
|
||||
<DropdownMenuSeparator />
|
||||
<DropdownMenuItem>Dispute</DropdownMenuItem>
|
||||
</DropdownMenu>
|
||||
</DropdownMenuTrigger>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TableCell className="w-10">
|
||||
<div className="flex size-10 items-center justify-center rounded-lg bg-muted">
|
||||
<IconPlaceholder
|
||||
className="size-4 shrink-0"
|
||||
lucide="ShoppingCartIcon"
|
||||
tabler="IconShoppingCart"
|
||||
hugeicons="ShoppingCart01Icon"
|
||||
phosphor="ShoppingCartIcon"
|
||||
remixicon="RiShoppingCartLine"
|
||||
/>
|
||||
</div>
|
||||
</TableCell>
|
||||
<TableCell>
|
||||
<div className="flex flex-col">
|
||||
<span className="font-medium">Whole Foods Market</span>
|
||||
<span className="text-sm text-muted-foreground">
|
||||
Groceries
|
||||
</span>
|
||||
</div>
|
||||
</TableCell>
|
||||
<TableCell className="text-sm text-muted-foreground">
|
||||
Yesterday
|
||||
</TableCell>
|
||||
<TableCell className="text-right">
|
||||
<span className="text-sm font-semibold tabular-nums">
|
||||
-$142.30
|
||||
</span>
|
||||
</TableCell>
|
||||
<TableCell className="w-8">
|
||||
<DropdownMenuTrigger>
|
||||
<Button variant="ghost" size="icon-sm">
|
||||
<IconPlaceholder
|
||||
lucide="MoreHorizontalIcon"
|
||||
tabler="IconDotsVertical"
|
||||
hugeicons="MoreVerticalCircle01Icon"
|
||||
phosphor="DotsThreeIcon"
|
||||
remixicon="RiMore2Line"
|
||||
/>
|
||||
</Button>
|
||||
<DropdownMenu placement="bottom end">
|
||||
<DropdownMenuItem>View details</DropdownMenuItem>
|
||||
<DropdownMenuItem>Add note</DropdownMenuItem>
|
||||
<DropdownMenuItem>Categorize</DropdownMenuItem>
|
||||
<DropdownMenuSeparator />
|
||||
<DropdownMenuItem>Dispute</DropdownMenuItem>
|
||||
</DropdownMenu>
|
||||
</DropdownMenuTrigger>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TableCell className="w-10">
|
||||
<div className="flex size-10 items-center justify-center rounded-lg bg-muted">
|
||||
<IconPlaceholder
|
||||
className="size-4 shrink-0"
|
||||
lucide="WalletIcon"
|
||||
tabler="IconWallet"
|
||||
hugeicons="Wallet01Icon"
|
||||
phosphor="WalletIcon"
|
||||
remixicon="RiWalletLine"
|
||||
/>
|
||||
</div>
|
||||
</TableCell>
|
||||
<TableCell>
|
||||
<div className="flex flex-col">
|
||||
<span className="font-medium">Stripe Payout</span>
|
||||
<span className="text-sm text-muted-foreground">Income</span>
|
||||
</div>
|
||||
</TableCell>
|
||||
<TableCell className="text-sm text-muted-foreground">
|
||||
Oct 12
|
||||
</TableCell>
|
||||
<TableCell className="text-right">
|
||||
<span className="text-sm font-semibold text-emerald-500 tabular-nums">
|
||||
+$4,200.00
|
||||
</span>
|
||||
</TableCell>
|
||||
<TableCell className="w-8">
|
||||
<DropdownMenuTrigger>
|
||||
<Button variant="ghost" size="icon-sm">
|
||||
<IconPlaceholder
|
||||
lucide="MoreHorizontalIcon"
|
||||
tabler="IconDotsVertical"
|
||||
hugeicons="MoreVerticalCircle01Icon"
|
||||
phosphor="DotsThreeIcon"
|
||||
remixicon="RiMore2Line"
|
||||
/>
|
||||
</Button>
|
||||
<DropdownMenu placement="bottom end">
|
||||
<DropdownMenuItem>View details</DropdownMenuItem>
|
||||
<DropdownMenuItem>Add note</DropdownMenuItem>
|
||||
<DropdownMenuItem>Categorize</DropdownMenuItem>
|
||||
<DropdownMenuSeparator />
|
||||
<DropdownMenuItem>Dispute</DropdownMenuItem>
|
||||
</DropdownMenu>
|
||||
</DropdownMenuTrigger>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TableCell className="w-10">
|
||||
<div className="flex size-10 items-center justify-center rounded-lg bg-muted">
|
||||
<IconPlaceholder
|
||||
className="size-4 shrink-0"
|
||||
lucide="CarIcon"
|
||||
tabler="IconCar"
|
||||
hugeicons="Car01Icon"
|
||||
phosphor="CarIcon"
|
||||
remixicon="RiCarLine"
|
||||
/>
|
||||
</div>
|
||||
</TableCell>
|
||||
<TableCell>
|
||||
<div className="flex flex-col">
|
||||
<span className="font-medium">Uber Technologies</span>
|
||||
<span className="text-sm text-muted-foreground">
|
||||
Transport
|
||||
</span>
|
||||
</div>
|
||||
</TableCell>
|
||||
<TableCell className="text-sm text-muted-foreground">
|
||||
Oct 11
|
||||
</TableCell>
|
||||
<TableCell className="text-right">
|
||||
<span className="text-sm font-semibold tabular-nums">
|
||||
-$24.10
|
||||
</span>
|
||||
</TableCell>
|
||||
<TableCell className="w-8">
|
||||
<DropdownMenuTrigger>
|
||||
<Button variant="ghost" size="icon-sm">
|
||||
<IconPlaceholder
|
||||
lucide="MoreHorizontalIcon"
|
||||
tabler="IconDotsVertical"
|
||||
hugeicons="MoreVerticalCircle01Icon"
|
||||
phosphor="DotsThreeIcon"
|
||||
remixicon="RiMore2Line"
|
||||
/>
|
||||
</Button>
|
||||
<DropdownMenu placement="bottom end">
|
||||
<DropdownMenuItem>View details</DropdownMenuItem>
|
||||
<DropdownMenuItem>Add note</DropdownMenuItem>
|
||||
<DropdownMenuItem>Categorize</DropdownMenuItem>
|
||||
<DropdownMenuSeparator />
|
||||
<DropdownMenuItem>Dispute</DropdownMenuItem>
|
||||
</DropdownMenu>
|
||||
</DropdownMenuTrigger>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
<TableRow>
|
||||
<TableCell className="w-10">
|
||||
<div className="flex size-10 items-center justify-center rounded-lg bg-muted">
|
||||
<IconPlaceholder
|
||||
className="size-4 shrink-0"
|
||||
lucide="TvIcon"
|
||||
tabler="IconDeviceTv"
|
||||
hugeicons="Tv01Icon"
|
||||
phosphor="TelevisionIcon"
|
||||
remixicon="RiTvLine"
|
||||
/>
|
||||
</div>
|
||||
</TableCell>
|
||||
<TableCell>
|
||||
<div className="flex flex-col">
|
||||
<span className="font-medium">Netflix Subscription</span>
|
||||
<span className="text-sm text-muted-foreground">
|
||||
Entertainment
|
||||
</span>
|
||||
</div>
|
||||
</TableCell>
|
||||
<TableCell className="text-sm text-muted-foreground">
|
||||
Oct 10
|
||||
</TableCell>
|
||||
<TableCell className="text-right">
|
||||
<span className="text-sm font-semibold tabular-nums">
|
||||
-$19.99
|
||||
</span>
|
||||
</TableCell>
|
||||
<TableCell className="w-8">
|
||||
<DropdownMenuTrigger>
|
||||
<Button variant="ghost" size="icon-sm">
|
||||
<IconPlaceholder
|
||||
lucide="MoreHorizontalIcon"
|
||||
tabler="IconDotsVertical"
|
||||
hugeicons="MoreVerticalCircle01Icon"
|
||||
phosphor="DotsThreeIcon"
|
||||
remixicon="RiMore2Line"
|
||||
/>
|
||||
</Button>
|
||||
<DropdownMenu placement="bottom end">
|
||||
<DropdownMenuItem>View details</DropdownMenuItem>
|
||||
<DropdownMenuItem>Add note</DropdownMenuItem>
|
||||
<DropdownMenuItem>Categorize</DropdownMenuItem>
|
||||
<DropdownMenuSeparator />
|
||||
<DropdownMenuItem>Dispute</DropdownMenuItem>
|
||||
</DropdownMenu>
|
||||
</DropdownMenuTrigger>
|
||||
</TableCell>
|
||||
</TableRow>
|
||||
</TableBody>
|
||||
</Table>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,119 @@
|
||||
"use client"
|
||||
|
||||
import { Badge } from "@/registry/bases/aria/ui/badge"
|
||||
import { Card, CardContent, CardHeader } from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
InputGroup,
|
||||
InputGroupAddon,
|
||||
InputGroupInput,
|
||||
} from "@/registry/bases/aria/ui/input-group"
|
||||
import {
|
||||
Item,
|
||||
ItemContent,
|
||||
ItemDescription,
|
||||
ItemGroup,
|
||||
ItemMedia,
|
||||
ItemTitle,
|
||||
} from "@/registry/bases/aria/ui/item"
|
||||
import {
|
||||
ToggleGroup,
|
||||
ToggleGroupItem,
|
||||
} from "@/registry/bases/aria/ui/toggle-group"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
const HOLDINGS = [
|
||||
{
|
||||
ticker: "VOO",
|
||||
name: "Vanguard S&P 500 ETF",
|
||||
type: "ETF",
|
||||
added: "Jan 2021",
|
||||
shares: "112",
|
||||
value: "$48,230.40",
|
||||
},
|
||||
{
|
||||
ticker: "VIG",
|
||||
name: "Vanguard Dividend Appreciation",
|
||||
type: "ETF",
|
||||
added: "Mar 2022",
|
||||
shares: "450",
|
||||
value: "$26,033.79",
|
||||
},
|
||||
{
|
||||
ticker: "AAPL",
|
||||
name: "Apple Inc.",
|
||||
type: "Stock",
|
||||
added: "Nov 2020",
|
||||
shares: "85",
|
||||
value: "$18,488.90",
|
||||
},
|
||||
{
|
||||
ticker: "O",
|
||||
name: "Realty Income Corp",
|
||||
type: "REIT",
|
||||
added: "Jun 2023",
|
||||
shares: "320",
|
||||
value: "$15,136.59",
|
||||
},
|
||||
]
|
||||
|
||||
export function ReleaseCatalog() {
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<div className="flex items-center justify-between gap-3">
|
||||
<InputGroup className="max-w-sm">
|
||||
<InputGroupAddon>
|
||||
<IconPlaceholder
|
||||
lucide="SearchIcon"
|
||||
tabler="IconSearch"
|
||||
hugeicons="Search01Icon"
|
||||
phosphor="MagnifyingGlassIcon"
|
||||
remixicon="RiSearchLine"
|
||||
/>
|
||||
</InputGroupAddon>
|
||||
<InputGroupInput placeholder="Search holdings or tickers..." />
|
||||
</InputGroup>
|
||||
<ToggleGroup
|
||||
defaultSelectedKeys={["etfs"]}
|
||||
variant="outline"
|
||||
spacing={1}
|
||||
>
|
||||
<ToggleGroupItem id="stocks">Stocks</ToggleGroupItem>
|
||||
<ToggleGroupItem id="etfs">ETFs</ToggleGroupItem>
|
||||
<ToggleGroupItem id="reits">REITs</ToggleGroupItem>
|
||||
</ToggleGroup>
|
||||
</div>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<ItemGroup>
|
||||
{HOLDINGS.map((holding) => (
|
||||
<Item key={holding.ticker} variant="muted">
|
||||
<ItemMedia>
|
||||
<div className="flex size-12 items-center justify-center rounded-lg border text-sm font-semibold">
|
||||
{holding.ticker}
|
||||
</div>
|
||||
</ItemMedia>
|
||||
<ItemContent>
|
||||
<ItemTitle>{holding.name}</ItemTitle>
|
||||
<ItemDescription className="text-xs tracking-wider uppercase">
|
||||
{holding.shares} Shares · {holding.added}
|
||||
</ItemDescription>
|
||||
</ItemContent>
|
||||
<div className="flex shrink-0 items-center gap-6">
|
||||
<Badge variant="outline">{holding.type}</Badge>
|
||||
<div className="flex flex-col items-end gap-0.5">
|
||||
<span className="text-xs tracking-wider text-muted-foreground uppercase">
|
||||
Value
|
||||
</span>
|
||||
<span className="font-medium tabular-nums">
|
||||
{holding.value}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</Item>
|
||||
))}
|
||||
</ItemGroup>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
"use client"
|
||||
|
||||
import * as React from "react"
|
||||
|
||||
import {
|
||||
Card,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardFooter,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import { Slider } from "@/registry/bases/aria/ui/slider"
|
||||
import {
|
||||
ToggleGroup,
|
||||
ToggleGroupItem,
|
||||
} from "@/registry/bases/aria/ui/toggle-group"
|
||||
|
||||
export function RollerShades() {
|
||||
const [position, setPosition] = React.useState([50])
|
||||
|
||||
const preset =
|
||||
position[0] <= 10 ? "open" : position[0] >= 90 ? "closed" : "half"
|
||||
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Living Room</CardTitle>
|
||||
<CardDescription>Roller Shades</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent className="flex flex-col gap-4">
|
||||
<div className="flex h-32 flex-col overflow-hidden rounded-lg border bg-muted">
|
||||
<div
|
||||
className="bg-muted-foreground transition-all duration-300"
|
||||
style={{ height: `${position[0]}%` }}
|
||||
/>
|
||||
</div>
|
||||
<div className="flex items-center gap-3">
|
||||
<span className="text-xs font-medium tracking-wider text-muted-foreground uppercase">
|
||||
Open
|
||||
</span>
|
||||
<Slider
|
||||
value={position}
|
||||
onChange={(value) =>
|
||||
setPosition(Array.isArray(value) ? [...value] : [value])
|
||||
}
|
||||
maxValue={100}
|
||||
className="flex-1"
|
||||
/>
|
||||
<span className="text-xs font-medium tracking-wider text-muted-foreground uppercase">
|
||||
Close
|
||||
</span>
|
||||
</div>
|
||||
</CardContent>
|
||||
<CardFooter>
|
||||
<ToggleGroup
|
||||
selectedKeys={[preset]}
|
||||
onSelectionChange={(value) => {
|
||||
const v = Array.from(value)[0]
|
||||
if (v === "open") setPosition([0])
|
||||
if (v === "half") setPosition([50])
|
||||
if (v === "closed") setPosition([100])
|
||||
}}
|
||||
variant="outline"
|
||||
spacing={1}
|
||||
className="w-full"
|
||||
>
|
||||
<ToggleGroupItem id="open" className="flex-1">
|
||||
Open
|
||||
</ToggleGroupItem>
|
||||
<ToggleGroupItem id="half" className="flex-1">
|
||||
Half
|
||||
</ToggleGroupItem>
|
||||
<ToggleGroupItem id="closed" className="flex-1">
|
||||
Closed
|
||||
</ToggleGroupItem>
|
||||
</ToggleGroup>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
"use client"
|
||||
|
||||
import { Label, Pie, PieChart } from "recharts"
|
||||
|
||||
import { Card, CardContent, CardFooter } from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
ChartContainer,
|
||||
ChartTooltip,
|
||||
ChartTooltipContent,
|
||||
type ChartConfig,
|
||||
} from "@/registry/bases/aria/ui/chart"
|
||||
import { Separator } from "@/registry/bases/aria/ui/separator"
|
||||
|
||||
const chartData = [
|
||||
{ name: "saved", value: 24000, fill: "var(--color-saved)" },
|
||||
{ name: "remaining", value: 6000, fill: "var(--color-remaining)" },
|
||||
]
|
||||
|
||||
const chartConfig = {
|
||||
saved: {
|
||||
label: "Saved",
|
||||
color: "var(--chart-2)",
|
||||
},
|
||||
remaining: {
|
||||
label: "Remaining",
|
||||
color: "var(--chart-1)",
|
||||
},
|
||||
} satisfies ChartConfig
|
||||
|
||||
export function SavingsProgress() {
|
||||
return (
|
||||
<Card>
|
||||
<CardContent>
|
||||
<ChartContainer
|
||||
config={chartConfig}
|
||||
className="mx-auto aspect-square max-h-[220px]"
|
||||
>
|
||||
<PieChart>
|
||||
<ChartTooltip
|
||||
cursor={false}
|
||||
content={<ChartTooltipContent hideLabel />}
|
||||
/>
|
||||
<Pie
|
||||
data={chartData}
|
||||
dataKey="value"
|
||||
nameKey="name"
|
||||
innerRadius={70}
|
||||
outerRadius={95}
|
||||
strokeWidth={0}
|
||||
startAngle={90}
|
||||
endAngle={-270}
|
||||
>
|
||||
<Label
|
||||
content={({ viewBox }) => {
|
||||
if (viewBox && "cx" in viewBox && "cy" in viewBox) {
|
||||
return (
|
||||
<text
|
||||
x={viewBox.cx}
|
||||
y={viewBox.cy}
|
||||
textAnchor="middle"
|
||||
dominantBaseline="middle"
|
||||
>
|
||||
<tspan
|
||||
x={viewBox.cx}
|
||||
y={(viewBox.cy || 0) - 12}
|
||||
className="fill-foreground text-2xl font-bold"
|
||||
>
|
||||
$24,000
|
||||
</tspan>
|
||||
<tspan
|
||||
x={viewBox.cx}
|
||||
y={(viewBox.cy || 0) + 12}
|
||||
className="fill-muted-foreground text-xs"
|
||||
>
|
||||
80% of $30,000
|
||||
</tspan>
|
||||
</text>
|
||||
)
|
||||
}
|
||||
}}
|
||||
/>
|
||||
</Pie>
|
||||
</PieChart>
|
||||
</ChartContainer>
|
||||
</CardContent>
|
||||
<CardFooter className="flex-col gap-0">
|
||||
<div className="flex w-full items-center justify-between py-3">
|
||||
<span className="text-sm text-muted-foreground">
|
||||
Projected Finish
|
||||
</span>
|
||||
<span className="text-sm font-semibold">October 2024</span>
|
||||
</div>
|
||||
<Separator />
|
||||
<div className="flex w-full items-center justify-between py-3">
|
||||
<span className="text-sm text-muted-foreground">Monthly Average</span>
|
||||
<span className="text-sm font-semibold tabular-nums">$1,250</span>
|
||||
</div>
|
||||
<Separator />
|
||||
<div className="flex w-full items-center justify-between py-3">
|
||||
<span className="text-sm text-muted-foreground">Top Contributor</span>
|
||||
<span className="text-sm font-semibold">Auto-Transfer</span>
|
||||
</div>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,154 @@
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Card,
|
||||
CardAction,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardFooter,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
Field,
|
||||
FieldDescription,
|
||||
FieldGroup,
|
||||
FieldLabel,
|
||||
} from "@/registry/bases/aria/ui/field"
|
||||
import {
|
||||
InputGroup,
|
||||
InputGroupAddon,
|
||||
InputGroupInput,
|
||||
InputGroupText,
|
||||
} from "@/registry/bases/aria/ui/input-group"
|
||||
import {
|
||||
Item,
|
||||
ItemContent,
|
||||
ItemDescription,
|
||||
ItemFooter,
|
||||
ItemGroup,
|
||||
} from "@/registry/bases/aria/ui/item"
|
||||
import {
|
||||
NativeSelect,
|
||||
NativeSelectOption,
|
||||
} from "@/registry/bases/aria/ui/native-select"
|
||||
import { Progress } from "@/registry/bases/aria/ui/progress"
|
||||
|
||||
export function SavingsTargets() {
|
||||
return (
|
||||
<div className="grid grid-cols-2 gap-(--gap)">
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Savings Targets</CardTitle>
|
||||
<CardDescription>Active milestones for 2024</CardDescription>
|
||||
<CardAction>
|
||||
<Button variant="outline" size="sm">
|
||||
New Goal
|
||||
</Button>
|
||||
</CardAction>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<ItemGroup className="gap-3">
|
||||
<Item variant="muted" className="flex-col items-stretch">
|
||||
<ItemContent className="gap-3">
|
||||
<ItemDescription className="cn-font-heading text-xs font-medium tracking-wider text-muted-foreground uppercase">
|
||||
Retirement
|
||||
</ItemDescription>
|
||||
<span className="text-3xl font-semibold tabular-nums">
|
||||
$420,000
|
||||
</span>
|
||||
<Progress value={65} />
|
||||
</ItemContent>
|
||||
<ItemFooter>
|
||||
<span className="text-sm text-muted-foreground">
|
||||
65% achieved
|
||||
</span>
|
||||
<span className="text-sm font-medium tabular-nums">
|
||||
$273,000
|
||||
</span>
|
||||
</ItemFooter>
|
||||
</Item>
|
||||
<Item variant="muted" className="flex-col items-stretch">
|
||||
<ItemContent className="gap-3">
|
||||
<ItemDescription className="cn-font-heading text-xs font-medium tracking-wider text-muted-foreground uppercase">
|
||||
Real Estate
|
||||
</ItemDescription>
|
||||
<span className="text-3xl font-semibold tabular-nums">
|
||||
$85,000
|
||||
</span>
|
||||
<Progress value={32} />
|
||||
</ItemContent>
|
||||
<ItemFooter>
|
||||
<span className="text-sm text-muted-foreground">
|
||||
32% achieved
|
||||
</span>
|
||||
<span className="text-sm font-medium tabular-nums">
|
||||
$27,200
|
||||
</span>
|
||||
</ItemFooter>
|
||||
</Item>
|
||||
</ItemGroup>
|
||||
</CardContent>
|
||||
<CardFooter>
|
||||
<CardDescription className="text-center">
|
||||
You have not met your targets for this year.
|
||||
</CardDescription>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Buy Investment</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent className="flex flex-1 flex-col gap-3">
|
||||
<FieldGroup className="flex-1">
|
||||
<Field>
|
||||
<FieldLabel htmlFor="invest-amount">Amount to Invest</FieldLabel>
|
||||
<InputGroup>
|
||||
<InputGroupAddon>
|
||||
<InputGroupText>$</InputGroupText>
|
||||
</InputGroupAddon>
|
||||
<InputGroupInput id="invest-amount" defaultValue="1,000.00" />
|
||||
</InputGroup>
|
||||
</Field>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="invest-type">Order Type</FieldLabel>
|
||||
<NativeSelect id="invest-type" defaultValue="market">
|
||||
<NativeSelectOption value="market">
|
||||
Market Order
|
||||
</NativeSelectOption>
|
||||
<NativeSelectOption value="limit">
|
||||
Limit Order
|
||||
</NativeSelectOption>
|
||||
<NativeSelectOption value="stop">Stop Order</NativeSelectOption>
|
||||
</NativeSelect>
|
||||
<FieldDescription>
|
||||
Market orders execute at the current price.
|
||||
</FieldDescription>
|
||||
</Field>
|
||||
<div className="flex flex-col gap-2">
|
||||
<div className="flex items-center justify-between">
|
||||
<span className="text-sm text-muted-foreground">
|
||||
Estimated Shares
|
||||
</span>
|
||||
<span className="text-sm font-semibold tabular-nums">1.95</span>
|
||||
</div>
|
||||
<div className="flex items-center justify-between">
|
||||
<span className="text-sm text-muted-foreground">
|
||||
Buying Power
|
||||
</span>
|
||||
<span className="text-sm font-semibold tabular-nums">
|
||||
$12,450.00
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</FieldGroup>
|
||||
</CardContent>
|
||||
<CardFooter className="flex-col gap-3">
|
||||
<Button className="w-full">Review Order</Button>
|
||||
<CardDescription className="text-center">
|
||||
Trades are typically executed within minutes during market hours.
|
||||
</CardDescription>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,285 @@
|
||||
"use client"
|
||||
|
||||
import { Card } from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
Sidebar,
|
||||
SidebarContent,
|
||||
SidebarGroup,
|
||||
SidebarGroupContent,
|
||||
SidebarGroupLabel,
|
||||
SidebarMenu,
|
||||
SidebarMenuButton,
|
||||
SidebarMenuItem,
|
||||
SidebarProvider,
|
||||
SidebarSeparator,
|
||||
} from "@/registry/bases/aria/ui/sidebar"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
export function SidebarNav() {
|
||||
return (
|
||||
<div className="grid grid-cols-2 items-start gap-6">
|
||||
<Card className="overflow-hidden py-0">
|
||||
<SidebarProvider className="min-h-0">
|
||||
<Sidebar collapsible="none" className="w-full bg-transparent">
|
||||
<SidebarContent className="gap-0">
|
||||
<SidebarGroup className="pb-1">
|
||||
<SidebarGroupLabel>Overview</SidebarGroupLabel>
|
||||
<SidebarGroupContent>
|
||||
<SidebarMenu>
|
||||
<SidebarMenuItem>
|
||||
<SidebarMenuButton isActive>
|
||||
<IconPlaceholder
|
||||
lucide="LayoutDashboardIcon"
|
||||
tabler="IconLayoutDashboard"
|
||||
hugeicons="DashboardSquare01Icon"
|
||||
phosphor="SquaresFourIcon"
|
||||
remixicon="RiDashboardLine"
|
||||
/>
|
||||
Dashboard
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
<SidebarMenuItem>
|
||||
<SidebarMenuButton>
|
||||
<IconPlaceholder
|
||||
lucide="ArrowLeftRightIcon"
|
||||
tabler="IconArrowsLeftRight"
|
||||
hugeicons="ArrowDataTransferHorizontalIcon"
|
||||
phosphor="ArrowsLeftRightIcon"
|
||||
remixicon="RiArrowLeftRightLine"
|
||||
/>
|
||||
Transactions
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
<SidebarMenuItem>
|
||||
<SidebarMenuButton>
|
||||
<IconPlaceholder
|
||||
lucide="TrendingUpIcon"
|
||||
tabler="IconTrendingUp"
|
||||
hugeicons="AnalyticsUpIcon"
|
||||
phosphor="TrendUpIcon"
|
||||
remixicon="RiLineChartLine"
|
||||
/>
|
||||
Investments
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
<SidebarMenuItem>
|
||||
<SidebarMenuButton>
|
||||
<IconPlaceholder
|
||||
lucide="Building2Icon"
|
||||
tabler="IconBuildingBank"
|
||||
hugeicons="BankIcon"
|
||||
phosphor="BankIcon"
|
||||
remixicon="RiBankLine"
|
||||
/>
|
||||
Accounts
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
<SidebarMenuItem>
|
||||
<SidebarMenuButton>
|
||||
<IconPlaceholder
|
||||
lucide="PieChartIcon"
|
||||
tabler="IconChartPie"
|
||||
hugeicons="PieChartIcon"
|
||||
phosphor="ChartPieIcon"
|
||||
remixicon="RiPieChartLine"
|
||||
/>
|
||||
Spending
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
</SidebarMenu>
|
||||
</SidebarGroupContent>
|
||||
</SidebarGroup>
|
||||
<SidebarSeparator className="w-auto!" />
|
||||
<SidebarGroup className="pt-1">
|
||||
<SidebarGroupLabel>Planning</SidebarGroupLabel>
|
||||
<SidebarGroupContent>
|
||||
<SidebarMenu>
|
||||
<SidebarMenuItem>
|
||||
<SidebarMenuButton>
|
||||
<IconPlaceholder
|
||||
lucide="TargetIcon"
|
||||
tabler="IconTarget"
|
||||
hugeicons="Target02Icon"
|
||||
phosphor="TargetIcon"
|
||||
remixicon="RiFocus3Line"
|
||||
/>
|
||||
Goals
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
<SidebarMenuItem>
|
||||
<SidebarMenuButton>
|
||||
<IconPlaceholder
|
||||
lucide="WalletIcon"
|
||||
tabler="IconWallet"
|
||||
hugeicons="Wallet01Icon"
|
||||
phosphor="WalletIcon"
|
||||
remixicon="RiWalletLine"
|
||||
/>
|
||||
Budget
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
<SidebarMenuItem>
|
||||
<SidebarMenuButton>
|
||||
<IconPlaceholder
|
||||
lucide="FileBarChartIcon"
|
||||
tabler="IconReportAnalytics"
|
||||
hugeicons="ChartBarLineIcon"
|
||||
phosphor="ChartBarIcon"
|
||||
remixicon="RiBarChartLine"
|
||||
/>
|
||||
Reports
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
<SidebarMenuItem>
|
||||
<SidebarMenuButton>
|
||||
<IconPlaceholder
|
||||
lucide="FileTextIcon"
|
||||
tabler="IconFileText"
|
||||
hugeicons="File02Icon"
|
||||
phosphor="FileTextIcon"
|
||||
remixicon="RiFileTextLine"
|
||||
/>
|
||||
Documents
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
</SidebarMenu>
|
||||
</SidebarGroupContent>
|
||||
</SidebarGroup>
|
||||
</SidebarContent>
|
||||
</Sidebar>
|
||||
</SidebarProvider>
|
||||
</Card>
|
||||
<Card className="overflow-hidden py-0">
|
||||
<SidebarProvider className="min-h-0">
|
||||
<Sidebar collapsible="none" className="w-full bg-transparent">
|
||||
<SidebarContent className="gap-0">
|
||||
<SidebarGroup className="pb-1">
|
||||
<SidebarGroupLabel>Account</SidebarGroupLabel>
|
||||
<SidebarGroupContent>
|
||||
<SidebarMenu>
|
||||
<SidebarMenuItem>
|
||||
<SidebarMenuButton>
|
||||
<IconPlaceholder
|
||||
lucide="UserIcon"
|
||||
tabler="IconUser"
|
||||
hugeicons="UserIcon"
|
||||
phosphor="UserIcon"
|
||||
remixicon="RiUserLine"
|
||||
/>
|
||||
Profile
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
<SidebarMenuItem>
|
||||
<SidebarMenuButton isActive>
|
||||
<IconPlaceholder
|
||||
lucide="CreditCardIcon"
|
||||
tabler="IconCreditCard"
|
||||
hugeicons="CreditCardIcon"
|
||||
phosphor="CreditCardIcon"
|
||||
remixicon="RiBankCardLine"
|
||||
/>
|
||||
Billing
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
<SidebarMenuItem>
|
||||
<SidebarMenuButton>
|
||||
<IconPlaceholder
|
||||
lucide="BellIcon"
|
||||
tabler="IconBell"
|
||||
hugeicons="Notification03Icon"
|
||||
phosphor="BellIcon"
|
||||
remixicon="RiBellLine"
|
||||
/>
|
||||
Notifications
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
<SidebarMenuItem>
|
||||
<SidebarMenuButton>
|
||||
<IconPlaceholder
|
||||
lucide="ShieldIcon"
|
||||
tabler="IconShield"
|
||||
hugeicons="ShieldIcon"
|
||||
phosphor="ShieldIcon"
|
||||
remixicon="RiShieldLine"
|
||||
/>
|
||||
Security
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
<SidebarMenuItem>
|
||||
<SidebarMenuButton>
|
||||
<IconPlaceholder
|
||||
lucide="PaintbrushIcon"
|
||||
tabler="IconPalette"
|
||||
hugeicons="PaintBoardIcon"
|
||||
phosphor="PaletteIcon"
|
||||
remixicon="RiPaletteLine"
|
||||
/>
|
||||
Appearance
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
</SidebarMenu>
|
||||
</SidebarGroupContent>
|
||||
</SidebarGroup>
|
||||
<SidebarSeparator className="w-auto!" />
|
||||
<SidebarGroup className="pt-1">
|
||||
<SidebarGroupLabel>Support</SidebarGroupLabel>
|
||||
<SidebarGroupContent>
|
||||
<SidebarMenu>
|
||||
<SidebarMenuItem>
|
||||
<SidebarMenuButton>
|
||||
<IconPlaceholder
|
||||
lucide="CircleHelpIcon"
|
||||
tabler="IconHelp"
|
||||
hugeicons="HelpCircleIcon"
|
||||
phosphor="QuestionIcon"
|
||||
remixicon="RiQuestionLine"
|
||||
/>
|
||||
Help Center
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
<SidebarMenuItem>
|
||||
<SidebarMenuButton>
|
||||
<IconPlaceholder
|
||||
lucide="MessageSquareIcon"
|
||||
tabler="IconMessage"
|
||||
hugeicons="Message01Icon"
|
||||
phosphor="ChatIcon"
|
||||
remixicon="RiChat1Line"
|
||||
/>
|
||||
Contact Us
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
<SidebarMenuItem>
|
||||
<SidebarMenuButton>
|
||||
<IconPlaceholder
|
||||
lucide="BookOpenIcon"
|
||||
tabler="IconBook"
|
||||
hugeicons="BookOpen02Icon"
|
||||
phosphor="BookOpenIcon"
|
||||
remixicon="RiBookOpenLine"
|
||||
/>
|
||||
Documentation
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
<SidebarMenuItem>
|
||||
<SidebarMenuButton>
|
||||
<IconPlaceholder
|
||||
lucide="ActivityIcon"
|
||||
tabler="IconActivity"
|
||||
hugeicons="ActivityIcon"
|
||||
phosphor="ActivityIcon"
|
||||
remixicon="RiPulseLine"
|
||||
/>
|
||||
Status
|
||||
</SidebarMenuButton>
|
||||
</SidebarMenuItem>
|
||||
</SidebarMenu>
|
||||
</SidebarGroupContent>
|
||||
</SidebarGroup>
|
||||
</SidebarContent>
|
||||
</Sidebar>
|
||||
</SidebarProvider>
|
||||
</Card>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Card,
|
||||
CardContent,
|
||||
CardFooter,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import { Field, FieldGroup, FieldLabel } from "@/registry/bases/aria/ui/field"
|
||||
import {
|
||||
InputGroup,
|
||||
InputGroupAddon,
|
||||
InputGroupInput,
|
||||
} from "@/registry/bases/aria/ui/input-group"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
export function SocialLinks() {
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Social Links</CardTitle>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<FieldGroup>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="spotify-url">Spotify Artist URL</FieldLabel>
|
||||
<InputGroup>
|
||||
<InputGroupAddon>
|
||||
<IconPlaceholder
|
||||
lucide="CirclePlusIcon"
|
||||
tabler="IconCirclePlus"
|
||||
hugeicons="PlusSignCircleIcon"
|
||||
phosphor="PlusCircleIcon"
|
||||
remixicon="RiAddCircleLine"
|
||||
/>
|
||||
</InputGroupAddon>
|
||||
<InputGroupInput
|
||||
id="spotify-url"
|
||||
defaultValue="spotify.com/artist/3j...2k"
|
||||
/>
|
||||
</InputGroup>
|
||||
</Field>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="instagram-handle">Instagram Handle</FieldLabel>
|
||||
<InputGroup>
|
||||
<InputGroupAddon>
|
||||
<IconPlaceholder
|
||||
lucide="CameraIcon"
|
||||
tabler="IconCamera"
|
||||
hugeicons="Camera01Icon"
|
||||
phosphor="CameraIcon"
|
||||
remixicon="RiCameraLine"
|
||||
/>
|
||||
</InputGroupAddon>
|
||||
<InputGroupInput
|
||||
id="instagram-handle"
|
||||
defaultValue="@julianduryea_music"
|
||||
/>
|
||||
</InputGroup>
|
||||
</Field>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="soundcloud-url">SoundCloud URL</FieldLabel>
|
||||
<InputGroup>
|
||||
<InputGroupAddon>
|
||||
<IconPlaceholder
|
||||
lucide="CloudIcon"
|
||||
tabler="IconCloud"
|
||||
hugeicons="CloudUploadIcon"
|
||||
phosphor="CloudIcon"
|
||||
remixicon="RiCloudLine"
|
||||
/>
|
||||
</InputGroupAddon>
|
||||
<InputGroupInput
|
||||
id="soundcloud-url"
|
||||
placeholder="soundcloud.com/username"
|
||||
/>
|
||||
</InputGroup>
|
||||
</Field>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="website-url">Website</FieldLabel>
|
||||
<InputGroup>
|
||||
<InputGroupAddon>
|
||||
<IconPlaceholder
|
||||
lucide="GlobeIcon"
|
||||
tabler="IconWorld"
|
||||
hugeicons="Globe02Icon"
|
||||
phosphor="GlobeIcon"
|
||||
remixicon="RiGlobalLine"
|
||||
/>
|
||||
</InputGroupAddon>
|
||||
<InputGroupInput
|
||||
id="website-url"
|
||||
placeholder="https://yoursite.com"
|
||||
/>
|
||||
</InputGroup>
|
||||
</Field>
|
||||
</FieldGroup>
|
||||
</CardContent>
|
||||
<CardFooter className="justify-end gap-2 style-sera:justify-center">
|
||||
<Button variant="secondary" className="style-sera:flex-1">
|
||||
Discard
|
||||
</Button>
|
||||
<Button className="style-sera:flex-1">Save Changes</Button>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,143 @@
|
||||
"use client"
|
||||
|
||||
import * as React from "react"
|
||||
import { Area, AreaChart, CartesianGrid, XAxis } from "recharts"
|
||||
|
||||
import {
|
||||
Card,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
ChartContainer,
|
||||
ChartTooltip,
|
||||
ChartTooltipContent,
|
||||
type ChartConfig,
|
||||
} from "@/registry/bases/aria/ui/chart"
|
||||
import {
|
||||
Combobox,
|
||||
ComboboxContent,
|
||||
ComboboxEmpty,
|
||||
ComboboxInput,
|
||||
ComboboxItem,
|
||||
ComboboxList,
|
||||
} from "@/registry/bases/aria/ui/combobox"
|
||||
import { Field, FieldGroup, FieldLabel } from "@/registry/bases/aria/ui/field"
|
||||
import { Separator } from "@/registry/bases/aria/ui/separator"
|
||||
|
||||
const TICKERS = ["VOO", "VIG", "AAPL", "MSFT", "GOOGL", "AMZN", "TSLA"]
|
||||
|
||||
const CHART_DATA: Record<string, { month: string; price: number }[]> = {
|
||||
VOO: [
|
||||
{ month: "Jan", price: 412 },
|
||||
{ month: "Feb", price: 438 },
|
||||
{ month: "Mar", price: 395 },
|
||||
{ month: "Apr", price: 450 },
|
||||
{ month: "May", price: 420 },
|
||||
{ month: "Jun", price: 462 },
|
||||
],
|
||||
AAPL: [
|
||||
{ month: "Jan", price: 185 },
|
||||
{ month: "Feb", price: 210 },
|
||||
{ month: "Mar", price: 172 },
|
||||
{ month: "Apr", price: 198 },
|
||||
{ month: "May", price: 178 },
|
||||
{ month: "Jun", price: 215 },
|
||||
],
|
||||
}
|
||||
|
||||
const DEFAULT_DATA = [
|
||||
{ month: "Jan", price: 100 },
|
||||
{ month: "Feb", price: 118 },
|
||||
{ month: "Mar", price: 95 },
|
||||
{ month: "Apr", price: 125 },
|
||||
{ month: "May", price: 108 },
|
||||
{ month: "Jun", price: 130 },
|
||||
]
|
||||
|
||||
const chartConfig = {
|
||||
price: {
|
||||
label: "Price",
|
||||
color: "var(--chart-1)",
|
||||
},
|
||||
} satisfies ChartConfig
|
||||
|
||||
export function StockPerformance() {
|
||||
const [ticker, setTicker] = React.useState("VOO")
|
||||
|
||||
const data = CHART_DATA[ticker] ?? DEFAULT_DATA
|
||||
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Stock Performance</CardTitle>
|
||||
<CardDescription>6-month price history.</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent className="flex flex-col gap-4">
|
||||
<FieldGroup>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="ticker-select">Ticker</FieldLabel>
|
||||
<Combobox
|
||||
selectedKey={ticker}
|
||||
onSelectionChange={(key) => {
|
||||
if (key !== null) setTicker(String(key))
|
||||
}}
|
||||
>
|
||||
<ComboboxInput
|
||||
id="ticker-select"
|
||||
placeholder="Search ticker..."
|
||||
/>
|
||||
<ComboboxContent>
|
||||
<ComboboxEmpty>No tickers found.</ComboboxEmpty>
|
||||
<ComboboxList>
|
||||
{TICKERS.map((item) => (
|
||||
<ComboboxItem key={item} id={item}>
|
||||
{item}
|
||||
</ComboboxItem>
|
||||
))}
|
||||
</ComboboxList>
|
||||
</ComboboxContent>
|
||||
</Combobox>
|
||||
</Field>
|
||||
</FieldGroup>
|
||||
<Separator className="style-sera:hidden" />
|
||||
<ChartContainer config={chartConfig} className="h-[200px] w-full">
|
||||
<AreaChart
|
||||
accessibilityLayer
|
||||
data={data}
|
||||
margin={{ left: 0, right: 0, top: 8, bottom: 0 }}
|
||||
>
|
||||
<defs>
|
||||
<linearGradient id="fillPrice" x1="0" y1="0" x2="0" y2="1">
|
||||
<stop
|
||||
offset="0%"
|
||||
stopColor="var(--color-price)"
|
||||
stopOpacity={0.3}
|
||||
/>
|
||||
<stop
|
||||
offset="100%"
|
||||
stopColor="var(--color-price)"
|
||||
stopOpacity={0.05}
|
||||
/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<CartesianGrid vertical={false} strokeDasharray="3 3" />
|
||||
<ChartTooltip
|
||||
cursor={false}
|
||||
content={<ChartTooltipContent hideLabel />}
|
||||
/>
|
||||
<Area
|
||||
type="monotone"
|
||||
dataKey="price"
|
||||
stroke="var(--color-price)"
|
||||
strokeWidth={2}
|
||||
fill="url(#fillPrice)"
|
||||
/>
|
||||
</AreaChart>
|
||||
</ChartContainer>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import { Card, CardContent } from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
Empty,
|
||||
EmptyContent,
|
||||
EmptyDescription,
|
||||
EmptyHeader,
|
||||
EmptyMedia,
|
||||
EmptyTitle,
|
||||
} from "@/registry/bases/aria/ui/empty"
|
||||
import { Spinner } from "@/registry/bases/aria/ui/spinner"
|
||||
|
||||
export function SyncingState() {
|
||||
return (
|
||||
<Card>
|
||||
<CardContent className="p-0">
|
||||
<Empty className="p-4">
|
||||
<EmptyHeader>
|
||||
<EmptyMedia variant="icon">
|
||||
<Spinner />
|
||||
</EmptyMedia>
|
||||
<EmptyTitle>Syncing your accounts</EmptyTitle>
|
||||
<EmptyDescription>
|
||||
We're pulling in your latest transactions. This usually takes
|
||||
a few seconds.
|
||||
</EmptyDescription>
|
||||
</EmptyHeader>
|
||||
<EmptyContent>
|
||||
<Button variant="outline">Cancel</Button>
|
||||
</EmptyContent>
|
||||
</Empty>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,138 @@
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Card,
|
||||
CardAction,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardFooter,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import { Field, FieldGroup, FieldLabel } from "@/registry/bases/aria/ui/field"
|
||||
import {
|
||||
InputGroup,
|
||||
InputGroupAddon,
|
||||
InputGroupInput,
|
||||
InputGroupText,
|
||||
} from "@/registry/bases/aria/ui/input-group"
|
||||
import { Item, ItemContent } from "@/registry/bases/aria/ui/item"
|
||||
import {
|
||||
Select,
|
||||
SelectContent,
|
||||
SelectGroup,
|
||||
SelectItem,
|
||||
SelectTrigger,
|
||||
SelectValue,
|
||||
} from "@/registry/bases/aria/ui/select"
|
||||
import { Separator } from "@/registry/bases/aria/ui/separator"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
const FROM_ACCOUNTS = [
|
||||
{ label: "Main Checking (··8402) — $12,450.00", value: "checking" },
|
||||
{ label: "Business (··7731) — $8,920.00", value: "business" },
|
||||
]
|
||||
|
||||
const TO_ACCOUNTS = [
|
||||
{ label: "High Yield Savings (··1192) — $42,100.00", value: "savings" },
|
||||
{ label: "Investment (··3349) — $18,200.00", value: "investment" },
|
||||
]
|
||||
|
||||
export function TransferFunds() {
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Transfer Funds</CardTitle>
|
||||
<CardDescription>
|
||||
Move money between your connected accounts.
|
||||
</CardDescription>
|
||||
<CardAction>
|
||||
<Button variant="ghost" size="icon-sm" className="bg-muted">
|
||||
<IconPlaceholder
|
||||
lucide="XIcon"
|
||||
tabler="IconX"
|
||||
hugeicons="Cancel01Icon"
|
||||
phosphor="XIcon"
|
||||
remixicon="RiCloseLine"
|
||||
/>
|
||||
</Button>
|
||||
</CardAction>
|
||||
</CardHeader>
|
||||
<CardContent>
|
||||
<FieldGroup>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="transfer-amount">
|
||||
Amount to Transfer
|
||||
</FieldLabel>
|
||||
<InputGroup>
|
||||
<InputGroupAddon>
|
||||
<InputGroupText>$</InputGroupText>
|
||||
</InputGroupAddon>
|
||||
<InputGroupInput id="transfer-amount" defaultValue="1,200.00" />
|
||||
</InputGroup>
|
||||
</Field>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="from-account">From Account</FieldLabel>
|
||||
<Select defaultValue="checking">
|
||||
<SelectTrigger id="from-account" className="w-full">
|
||||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectGroup>
|
||||
{FROM_ACCOUNTS.map((item) => (
|
||||
<SelectItem key={item.value} id={item.value}>
|
||||
{item.label}
|
||||
</SelectItem>
|
||||
))}
|
||||
</SelectGroup>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</Field>
|
||||
<Field>
|
||||
<FieldLabel htmlFor="to-account">To Account</FieldLabel>
|
||||
<Select defaultValue="savings">
|
||||
<SelectTrigger id="to-account" className="w-full">
|
||||
<SelectValue />
|
||||
</SelectTrigger>
|
||||
<SelectContent>
|
||||
<SelectGroup>
|
||||
{TO_ACCOUNTS.map((item) => (
|
||||
<SelectItem key={item.value} id={item.value}>
|
||||
{item.label}
|
||||
</SelectItem>
|
||||
))}
|
||||
</SelectGroup>
|
||||
</SelectContent>
|
||||
</Select>
|
||||
</Field>
|
||||
<Item variant="muted" className="flex-col items-stretch">
|
||||
<ItemContent className="gap-3">
|
||||
<div className="flex items-center justify-between">
|
||||
<span className="text-sm text-muted-foreground">
|
||||
Estimated arrival
|
||||
</span>
|
||||
<span className="text-sm font-medium">Today, Apr 14</span>
|
||||
</div>
|
||||
<Separator />
|
||||
<div className="flex items-center justify-between">
|
||||
<span className="text-sm text-muted-foreground">
|
||||
Transaction fee
|
||||
</span>
|
||||
<span className="text-sm font-medium tabular-nums">$0.00</span>
|
||||
</div>
|
||||
<Separator />
|
||||
<div className="flex items-center justify-between">
|
||||
<span className="text-sm font-medium">Total amount</span>
|
||||
<span className="text-sm font-semibold tabular-nums">
|
||||
$1,200.00
|
||||
</span>
|
||||
</div>
|
||||
</ItemContent>
|
||||
</Item>
|
||||
</FieldGroup>
|
||||
</CardContent>
|
||||
<CardFooter>
|
||||
<Button className="w-full">Confirm Transfer</Button>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
"use client"
|
||||
|
||||
import * as React from "react"
|
||||
import {
|
||||
getLocalTimeZone,
|
||||
today,
|
||||
type CalendarDate,
|
||||
} from "@internationalized/date"
|
||||
|
||||
import { Badge } from "@/registry/bases/aria/ui/badge"
|
||||
import { Calendar } from "@/registry/bases/aria/ui/calendar"
|
||||
import {
|
||||
Card,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
Item,
|
||||
ItemContent,
|
||||
ItemDescription,
|
||||
ItemGroup,
|
||||
ItemMedia,
|
||||
ItemTitle,
|
||||
} from "@/registry/bases/aria/ui/item"
|
||||
|
||||
export function UpcomingPayments() {
|
||||
const [date, setDate] = React.useState<CalendarDate | undefined>(
|
||||
today(getLocalTimeZone())
|
||||
)
|
||||
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Upcoming Payments</CardTitle>
|
||||
<CardDescription>
|
||||
Select a date to view scheduled payments.
|
||||
</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent className="flex flex-col gap-4">
|
||||
<Item variant="outline" className="justify-center">
|
||||
<Calendar
|
||||
value={date}
|
||||
onChange={setDate}
|
||||
className="w-full [--cell-size:--spacing(8)] md:[--cell-size:--spacing(10)] style-sera:md:[--cell-size:--spacing(9)]"
|
||||
/>
|
||||
</Item>
|
||||
<ItemGroup className="w-full">
|
||||
<Item variant="muted">
|
||||
<ItemContent>
|
||||
<ItemTitle>Netflix Subscription</ItemTitle>
|
||||
<ItemDescription>Apr 15, 2024</ItemDescription>
|
||||
</ItemContent>
|
||||
<Badge variant="secondary">$19.99</Badge>
|
||||
</Item>
|
||||
<Item variant="muted">
|
||||
<ItemContent>
|
||||
<ItemTitle>Rent Payment</ItemTitle>
|
||||
<ItemDescription>Apr 1, 2024</ItemDescription>
|
||||
</ItemContent>
|
||||
<Badge variant="secondary">$2,400.00</Badge>
|
||||
</Item>
|
||||
<Item variant="muted">
|
||||
<ItemContent>
|
||||
<ItemTitle>Auto Insurance</ItemTitle>
|
||||
<ItemDescription>Apr 22, 2024</ItemDescription>
|
||||
</ItemContent>
|
||||
<Badge variant="secondary">$186.00</Badge>
|
||||
</Item>
|
||||
</ItemGroup>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
98
apps/v4/registry/bases/aria/blocks/preview-02/index.tsx
Normal file
98
apps/v4/registry/bases/aria/blocks/preview-02/index.tsx
Normal file
@@ -0,0 +1,98 @@
|
||||
import { AccountAccess } from "@/registry/bases/aria/blocks/preview-02/cards/account-access"
|
||||
import { CardOverview } from "@/registry/bases/aria/blocks/preview-02/cards/card-overview"
|
||||
import { ClaimableBalance } from "@/registry/bases/aria/blocks/preview-02/cards/claimable-balance"
|
||||
import { ContributionHistory } from "@/registry/bases/aria/blocks/preview-02/cards/contribution-history"
|
||||
import { CoverArt } from "@/registry/bases/aria/blocks/preview-02/cards/cover-art"
|
||||
import { DividendIncome } from "@/registry/bases/aria/blocks/preview-02/cards/dividend-income"
|
||||
import { EmptyConnectBank } from "@/registry/bases/aria/blocks/preview-02/cards/empty-connect-bank"
|
||||
import { EmptyDistributeTrack } from "@/registry/bases/aria/blocks/preview-02/cards/empty-distribute-track"
|
||||
import { EmptyExploreCatalog } from "@/registry/bases/aria/blocks/preview-02/cards/empty-explore-catalog"
|
||||
import { Faq } from "@/registry/bases/aria/blocks/preview-02/cards/faq"
|
||||
import { FrontDoor } from "@/registry/bases/aria/blocks/preview-02/cards/front-door"
|
||||
import { IndexInvesting } from "@/registry/bases/aria/blocks/preview-02/cards/index-investing"
|
||||
import { KitchenIsland } from "@/registry/bases/aria/blocks/preview-02/cards/kitchen-island"
|
||||
import { LoadingCard } from "@/registry/bases/aria/blocks/preview-02/cards/loading-card"
|
||||
import { NewMilestone } from "@/registry/bases/aria/blocks/preview-02/cards/new-milestone"
|
||||
import { NotificationSettings } from "@/registry/bases/aria/blocks/preview-02/cards/notification-settings"
|
||||
import { Payments } from "@/registry/bases/aria/blocks/preview-02/cards/payments"
|
||||
import { PayoutThreshold } from "@/registry/bases/aria/blocks/preview-02/cards/payout-threshold"
|
||||
import { PowerUsage } from "@/registry/bases/aria/blocks/preview-02/cards/power-usage"
|
||||
import { Preferences } from "@/registry/bases/aria/blocks/preview-02/cards/preferences"
|
||||
import { QrConnect } from "@/registry/bases/aria/blocks/preview-02/cards/qr-connect"
|
||||
import { ReceivingMethod } from "@/registry/bases/aria/blocks/preview-02/cards/receiving-method"
|
||||
import { RecentTransactions } from "@/registry/bases/aria/blocks/preview-02/cards/recent-transactions"
|
||||
import { ReleaseCatalog } from "@/registry/bases/aria/blocks/preview-02/cards/release-catalog"
|
||||
import { RollerShades } from "@/registry/bases/aria/blocks/preview-02/cards/roller-shades"
|
||||
import { SavingsProgress } from "@/registry/bases/aria/blocks/preview-02/cards/savings-progress"
|
||||
import { SavingsTargets } from "@/registry/bases/aria/blocks/preview-02/cards/savings-targets"
|
||||
import { SidebarNav } from "@/registry/bases/aria/blocks/preview-02/cards/sidebar-nav"
|
||||
import { SocialLinks } from "@/registry/bases/aria/blocks/preview-02/cards/social-links"
|
||||
import { StockPerformance } from "@/registry/bases/aria/blocks/preview-02/cards/stock-performance"
|
||||
import { SyncingState } from "@/registry/bases/aria/blocks/preview-02/cards/syncing-state"
|
||||
import { TransferFunds } from "@/registry/bases/aria/blocks/preview-02/cards/transfer-funds"
|
||||
import { UpcomingPayments } from "@/registry/bases/aria/blocks/preview-02/cards/upcoming-payments"
|
||||
|
||||
export default function Preview02Example() {
|
||||
return (
|
||||
<div className="overflow-x-auto overflow-y-hidden bg-muted contain-[paint] [--gap:--spacing(4)] 3xl:[--gap:--spacing(12)] md:[--gap:--spacing(10)] dark:bg-background style-lyra:md:[--gap:--spacing(6)] style-mira:md:[--gap:--spacing(6)]">
|
||||
<div className="flex w-full min-w-max justify-center">
|
||||
<div
|
||||
className="grid w-[2400px] grid-cols-7 items-start gap-(--gap) bg-muted p-(--gap) md:w-[3000px] dark:bg-background style-lyra:md:w-[2600px] style-mira:md:w-[2600px] *:[div]:gap-(--gap)"
|
||||
data-slot="capture-target"
|
||||
>
|
||||
<div className="flex flex-col p-1 [contain-intrinsic-size:380px_1200px] [content-visibility:auto]">
|
||||
<ContributionHistory />
|
||||
<EmptyDistributeTrack />
|
||||
<QrConnect />
|
||||
<DividendIncome />
|
||||
<IndexInvesting />
|
||||
<SyncingState />
|
||||
</div>
|
||||
<div className="flex flex-col p-1 [contain-intrinsic-size:380px_1200px] [content-visibility:auto]">
|
||||
<PayoutThreshold />
|
||||
<ClaimableBalance />
|
||||
<Preferences />
|
||||
<SavingsProgress />
|
||||
<KitchenIsland />
|
||||
</div>
|
||||
<div className="col-span-2 flex flex-col p-1 [contain-intrinsic-size:760px_1200px] [content-visibility:auto]">
|
||||
<SavingsTargets />
|
||||
<RecentTransactions />
|
||||
<div className="grid grid-cols-2 items-start gap-(--gap)">
|
||||
<div className="flex flex-col gap-(--gap)">
|
||||
<SidebarNav />
|
||||
<Faq />
|
||||
</div>
|
||||
<div className="flex flex-col gap-(--gap)">
|
||||
<Payments />
|
||||
<FrontDoor />
|
||||
</div>
|
||||
</div>
|
||||
<ReleaseCatalog />
|
||||
</div>
|
||||
<div className="flex flex-col p-1 [contain-intrinsic-size:380px_1200px] [content-visibility:auto]">
|
||||
<AccountAccess />
|
||||
<CardOverview />
|
||||
<TransferFunds />
|
||||
<CoverArt />
|
||||
<LoadingCard />
|
||||
</div>
|
||||
<div className="flex flex-col p-1 [contain-intrinsic-size:380px_1200px] [content-visibility:auto]">
|
||||
<ReceivingMethod />
|
||||
<PowerUsage />
|
||||
<EmptyConnectBank />
|
||||
<UpcomingPayments />
|
||||
<RollerShades />
|
||||
</div>
|
||||
<div className="flex flex-col p-1 [contain-intrinsic-size:380px_1200px] [content-visibility:auto]">
|
||||
<StockPerformance />
|
||||
<EmptyExploreCatalog />
|
||||
<NewMilestone />
|
||||
<SocialLinks />
|
||||
<NotificationSettings />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
3
apps/v4/registry/bases/aria/blocks/preview-03/index.tsx
Normal file
3
apps/v4/registry/bases/aria/blocks/preview-03/index.tsx
Normal file
@@ -0,0 +1,3 @@
|
||||
export default function Preview03() {
|
||||
return <div>Preview 03</div>
|
||||
}
|
||||
@@ -0,0 +1,105 @@
|
||||
"use client"
|
||||
|
||||
import { Alert, AlertDescription } from "@/registry/bases/aria/ui/alert"
|
||||
import { Badge } from "@/registry/bases/aria/ui/badge"
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Card,
|
||||
CardContent,
|
||||
CardDescription,
|
||||
CardFooter,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
Item,
|
||||
ItemContent,
|
||||
ItemGroup,
|
||||
ItemMedia,
|
||||
ItemTitle,
|
||||
} from "@/registry/bases/aria/ui/item"
|
||||
import { IconPlaceholder } from "@/app/(create)/components/icon-placeholder"
|
||||
|
||||
// Agent feature descriptions.
|
||||
const agentFeatures = [
|
||||
{
|
||||
id: "code-reviews",
|
||||
content: (
|
||||
<>
|
||||
<strong>Code reviews</strong> with full codebase context to catch{" "}
|
||||
<strong>hard-to-find</strong> bugs.
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
id: "code-suggestions",
|
||||
content: (
|
||||
<>
|
||||
<strong>Code suggestions</strong> validated in sandboxes before you
|
||||
merge.
|
||||
</>
|
||||
),
|
||||
},
|
||||
{
|
||||
id: "root-cause",
|
||||
content: (
|
||||
<>
|
||||
<strong>Root-cause analysis</strong> for production issues with
|
||||
deployment context.{" "}
|
||||
<Badge variant="secondary" className="bg-chart-1 text-chart-5">
|
||||
Requires Observability Plus
|
||||
</Badge>
|
||||
</>
|
||||
),
|
||||
},
|
||||
]
|
||||
|
||||
export function ActivateAgentDialog() {
|
||||
return (
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle>Ship faster & safer with Vercel Agent</CardTitle>
|
||||
<CardDescription>
|
||||
Your use is subject to Vercel's{" "}
|
||||
<a href="#">Public Beta Agreement</a> and{" "}
|
||||
<a href="#">AI Product Terms</a>.
|
||||
</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent className="flex flex-col gap-4">
|
||||
<ItemGroup className="gap-0">
|
||||
{agentFeatures.map((feature) => (
|
||||
<Item key={feature.id} size="xs" className="px-0">
|
||||
<ItemMedia variant="icon" className="self-start">
|
||||
<IconPlaceholder
|
||||
lucide="CheckCircle2Icon"
|
||||
tabler="IconCircleCheckFilled"
|
||||
hugeicons="CheckmarkCircle02Icon"
|
||||
phosphor="CheckCircleIcon"
|
||||
remixicon="RiCheckboxCircleLine"
|
||||
className="size-5 fill-primary text-primary-foreground"
|
||||
/>
|
||||
</ItemMedia>
|
||||
<ItemContent>
|
||||
<ItemTitle className="inline leading-relaxed font-normal text-muted-foreground *:[strong]:font-medium *:[strong]:text-foreground">
|
||||
{feature.content}
|
||||
</ItemTitle>
|
||||
</ItemContent>
|
||||
</Item>
|
||||
))}
|
||||
</ItemGroup>
|
||||
<Alert>
|
||||
<AlertDescription>
|
||||
Pro teams get $100 in Vercel Agent trial credit for 2 weeks after
|
||||
activation.
|
||||
</AlertDescription>
|
||||
</Alert>
|
||||
</CardContent>
|
||||
<CardFooter className="justify-end gap-2">
|
||||
<Button variant="outline" className="style-sera:hidden">
|
||||
Cancel
|
||||
</Button>
|
||||
<Button className="style-sera:w-full">Enable with $100 credits</Button>
|
||||
</CardFooter>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
"use client"
|
||||
|
||||
import { Area, AreaChart } from "recharts"
|
||||
|
||||
import { Badge } from "@/registry/bases/aria/ui/badge"
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import {
|
||||
Card,
|
||||
CardAction,
|
||||
CardDescription,
|
||||
CardHeader,
|
||||
CardTitle,
|
||||
} from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
ChartContainer,
|
||||
ChartTooltip,
|
||||
ChartTooltipContent,
|
||||
type ChartConfig,
|
||||
} from "@/registry/bases/aria/ui/chart"
|
||||
|
||||
// Monthly visitor data for the area chart.
|
||||
const chartData = [
|
||||
{ month: "January", visitors: 186 },
|
||||
{ month: "February", visitors: 305 },
|
||||
{ month: "March", visitors: 237 },
|
||||
{ month: "April", visitors: 73 },
|
||||
{ month: "May", visitors: 209 },
|
||||
{ month: "June", visitors: 214 },
|
||||
]
|
||||
|
||||
// Chart configuration for the visitors dataset.
|
||||
const chartConfig = {
|
||||
visitors: {
|
||||
label: "Visitors",
|
||||
color: "var(--chart-1)",
|
||||
},
|
||||
} satisfies ChartConfig
|
||||
|
||||
export function AnalyticsCard() {
|
||||
return (
|
||||
<Card className="mx-auto w-full max-w-sm data-[size=sm]:pb-0" size="sm">
|
||||
<CardHeader>
|
||||
<CardTitle>Analytics</CardTitle>
|
||||
<CardDescription>
|
||||
418.2K Visitors <Badge>+10%</Badge>
|
||||
</CardDescription>
|
||||
<CardAction>
|
||||
<Button variant="outline" size="sm">
|
||||
View Analytics
|
||||
</Button>
|
||||
</CardAction>
|
||||
</CardHeader>
|
||||
<ChartContainer config={chartConfig} className="aspect-[1/0.35]">
|
||||
<AreaChart
|
||||
accessibilityLayer
|
||||
data={chartData}
|
||||
margin={{
|
||||
left: 0,
|
||||
right: 0,
|
||||
}}
|
||||
>
|
||||
<ChartTooltip
|
||||
cursor={false}
|
||||
content={<ChartTooltipContent indicator="line" hideLabel />}
|
||||
/>
|
||||
<Area
|
||||
dataKey="visitors"
|
||||
type="linear"
|
||||
fill="var(--color-visitors)"
|
||||
fillOpacity={0.4}
|
||||
stroke="var(--color-visitors)"
|
||||
/>
|
||||
</AreaChart>
|
||||
</ChartContainer>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
"use client"
|
||||
|
||||
import { Button } from "@/registry/bases/aria/ui/button"
|
||||
import { Card, CardContent } from "@/registry/bases/aria/ui/card"
|
||||
import {
|
||||
Empty,
|
||||
EmptyContent,
|
||||
EmptyDescription,
|
||||
EmptyHeader,
|
||||
EmptyTitle,
|
||||
} from "@/registry/bases/aria/ui/empty"
|
||||
|
||||
export function AnomalyAlert() {
|
||||
return (
|
||||
<Card>
|
||||
<CardContent>
|
||||
<Empty className="h-48">
|
||||
<EmptyHeader>
|
||||
<EmptyTitle>Get alerted for anomalies</EmptyTitle>
|
||||
<EmptyDescription>
|
||||
Automatically monitor your projects for anomalies and get
|
||||
notified.
|
||||
</EmptyDescription>
|
||||
</EmptyHeader>
|
||||
<EmptyContent>
|
||||
<Button>Upgrade to Observability Plus</Button>
|
||||
</EmptyContent>
|
||||
</Empty>
|
||||
</CardContent>
|
||||
</Card>
|
||||
)
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user