@powered-by-array/ui 1.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/README.md +163 -0
  2. package/dist/components/alert-dialog.d.ts +20 -0
  3. package/dist/components/alert-dialog.d.ts.map +1 -0
  4. package/dist/components/alert-dialog.js +40 -0
  5. package/dist/components/alert-dialog.js.map +1 -0
  6. package/dist/components/avatar.d.ts +7 -0
  7. package/dist/components/avatar.d.ts.map +1 -0
  8. package/dist/components/avatar.js +15 -0
  9. package/dist/components/avatar.js.map +1 -0
  10. package/dist/components/badge.d.ts +10 -0
  11. package/dist/components/badge.d.ts.map +1 -0
  12. package/dist/components/badge.js +24 -0
  13. package/dist/components/badge.js.map +1 -0
  14. package/dist/components/breadcrumb.d.ts +12 -0
  15. package/dist/components/breadcrumb.d.ts.map +1 -0
  16. package/dist/components/breadcrumb.js +29 -0
  17. package/dist/components/breadcrumb.js.map +1 -0
  18. package/dist/components/button.d.ts +14 -0
  19. package/dist/components/button.d.ts.map +1 -0
  20. package/dist/components/button.js +36 -0
  21. package/dist/components/button.js.map +1 -0
  22. package/dist/components/calendar.d.ts +9 -0
  23. package/dist/components/calendar.d.ts.map +1 -0
  24. package/dist/components/calendar.js +77 -0
  25. package/dist/components/calendar.js.map +1 -0
  26. package/dist/components/card.d.ts +10 -0
  27. package/dist/components/card.d.ts.map +1 -0
  28. package/dist/components/card.js +26 -0
  29. package/dist/components/card.js.map +1 -0
  30. package/dist/components/chart.d.ts +57 -0
  31. package/dist/components/chart.d.ts.map +1 -0
  32. package/dist/components/chart.js +123 -0
  33. package/dist/components/chart.js.map +1 -0
  34. package/dist/components/collapsible.d.ts +7 -0
  35. package/dist/components/collapsible.d.ts.map +1 -0
  36. package/dist/components/collapsible.js +14 -0
  37. package/dist/components/collapsible.js.map +1 -0
  38. package/dist/components/combobox.d.ts +43 -0
  39. package/dist/components/combobox.d.ts.map +1 -0
  40. package/dist/components/combobox.js +171 -0
  41. package/dist/components/combobox.js.map +1 -0
  42. package/dist/components/dialog.d.ts +20 -0
  43. package/dist/components/dialog.d.ts.map +1 -0
  44. package/dist/components/dialog.js +35 -0
  45. package/dist/components/dialog.js.map +1 -0
  46. package/dist/components/dropdown-menu.d.ts +38 -0
  47. package/dist/components/dropdown-menu.d.ts.map +1 -0
  48. package/dist/components/dropdown-menu.js +53 -0
  49. package/dist/components/dropdown-menu.js.map +1 -0
  50. package/dist/components/input.d.ts +4 -0
  51. package/dist/components/input.d.ts.map +1 -0
  52. package/dist/components/input.js +8 -0
  53. package/dist/components/input.js.map +1 -0
  54. package/dist/components/label.d.ts +5 -0
  55. package/dist/components/label.d.ts.map +1 -0
  56. package/dist/components/label.js +9 -0
  57. package/dist/components/label.js.map +1 -0
  58. package/dist/components/nav-item.d.ts +24 -0
  59. package/dist/components/nav-item.d.ts.map +1 -0
  60. package/dist/components/nav-item.js +110 -0
  61. package/dist/components/nav-item.js.map +1 -0
  62. package/dist/components/nav-list-item.d.ts +28 -0
  63. package/dist/components/nav-list-item.d.ts.map +1 -0
  64. package/dist/components/nav-list-item.js +123 -0
  65. package/dist/components/nav-list-item.js.map +1 -0
  66. package/dist/components/nav-menu-context.d.ts +11 -0
  67. package/dist/components/nav-menu-context.d.ts.map +1 -0
  68. package/dist/components/nav-menu-context.js +11 -0
  69. package/dist/components/nav-menu-context.js.map +1 -0
  70. package/dist/components/nav-menu-primitives.d.ts +37 -0
  71. package/dist/components/nav-menu-primitives.d.ts.map +1 -0
  72. package/dist/components/nav-menu-primitives.js +71 -0
  73. package/dist/components/nav-menu-primitives.js.map +1 -0
  74. package/dist/components/nav-menu.d.ts +9 -0
  75. package/dist/components/nav-menu.d.ts.map +1 -0
  76. package/dist/components/nav-menu.js +5 -0
  77. package/dist/components/nav-menu.js.map +1 -0
  78. package/dist/components/nav-profile-item.d.ts +17 -0
  79. package/dist/components/nav-profile-item.d.ts.map +1 -0
  80. package/dist/components/nav-profile-item.js +16 -0
  81. package/dist/components/nav-profile-item.js.map +1 -0
  82. package/dist/components/pagination.d.ts +14 -0
  83. package/dist/components/pagination.d.ts.map +1 -0
  84. package/dist/components/pagination.js +31 -0
  85. package/dist/components/pagination.js.map +1 -0
  86. package/dist/components/popover.d.ts +7 -0
  87. package/dist/components/popover.d.ts.map +1 -0
  88. package/dist/components/popover.js +12 -0
  89. package/dist/components/popover.js.map +1 -0
  90. package/dist/components/select.d.ts +16 -0
  91. package/dist/components/select.d.ts.map +1 -0
  92. package/dist/components/select.js +44 -0
  93. package/dist/components/select.js.map +1 -0
  94. package/dist/components/separator.d.ts +5 -0
  95. package/dist/components/separator.d.ts.map +1 -0
  96. package/dist/components/separator.js +9 -0
  97. package/dist/components/separator.js.map +1 -0
  98. package/dist/components/sheet.d.ts +18 -0
  99. package/dist/components/sheet.d.ts.map +1 -0
  100. package/dist/components/sheet.js +41 -0
  101. package/dist/components/sheet.js.map +1 -0
  102. package/dist/components/sidebar.d.ts +71 -0
  103. package/dist/components/sidebar.d.ts.map +1 -0
  104. package/dist/components/sidebar.js +218 -0
  105. package/dist/components/sidebar.js.map +1 -0
  106. package/dist/components/skeleton.d.ts +4 -0
  107. package/dist/components/skeleton.d.ts.map +1 -0
  108. package/dist/components/skeleton.js +8 -0
  109. package/dist/components/skeleton.js.map +1 -0
  110. package/dist/components/sonner.d.ts +7 -0
  111. package/dist/components/sonner.d.ts.map +1 -0
  112. package/dist/components/sonner.js +22 -0
  113. package/dist/components/sonner.js.map +1 -0
  114. package/dist/components/switch.d.ts +5 -0
  115. package/dist/components/switch.d.ts.map +1 -0
  116. package/dist/components/switch.js +9 -0
  117. package/dist/components/switch.js.map +1 -0
  118. package/dist/components/table.d.ts +11 -0
  119. package/dist/components/table.d.ts.map +1 -0
  120. package/dist/components/table.js +29 -0
  121. package/dist/components/table.js.map +1 -0
  122. package/dist/components/tabs.d.ts +25 -0
  123. package/dist/components/tabs.d.ts.map +1 -0
  124. package/dist/components/tabs.js +34 -0
  125. package/dist/components/tabs.js.map +1 -0
  126. package/dist/components/tooltip.d.ts +8 -0
  127. package/dist/components/tooltip.d.ts.map +1 -0
  128. package/dist/components/tooltip.js +18 -0
  129. package/dist/components/tooltip.js.map +1 -0
  130. package/dist/hooks/use-is-mobile.d.ts +6 -0
  131. package/dist/hooks/use-is-mobile.d.ts.map +1 -0
  132. package/dist/hooks/use-is-mobile.js +20 -0
  133. package/dist/hooks/use-is-mobile.js.map +1 -0
  134. package/dist/index.d.ts +1166 -0
  135. package/dist/index.d.ts.map +1 -0
  136. package/dist/index.js +56 -0
  137. package/dist/index.js.map +1 -0
  138. package/dist/lib/cn.d.ts +3 -0
  139. package/dist/lib/cn.d.ts.map +1 -0
  140. package/dist/lib/cn.js +6 -0
  141. package/dist/lib/cn.js.map +1 -0
  142. package/dist/logos/index.d.ts +21 -0
  143. package/dist/logos/index.d.ts.map +1 -0
  144. package/dist/logos/index.js +81 -0
  145. package/dist/logos/index.js.map +1 -0
  146. package/package.json +77 -0
package/README.md ADDED
@@ -0,0 +1,163 @@
1
+ # @powered-by-array/ui
2
+
3
+ ArrayHQ design-system UI package for React web consumers.
4
+
5
+ **License:** This package is published as **`UNLICENSED`** (proprietary). It is **not** open source and **not** free for unrestricted use by third parties. Use is limited to scenarios covered by your agreement with Powered By Array; contact your Array representative if you are unsure whether your use is permitted.
6
+
7
+ ## Current scope
8
+
9
+ This package ships ESM + type declarations, token helper exports, and **UI primitives**
10
+ that are **source-aligned with** `pba-webapp` `src/components/ui/*`: **`cva` + Tailwind
11
+ class strings** + `cn` (`clsx` + `tailwind-merge`).
12
+
13
+ **Consumers must use Tailwind CSS v4** with the **same `@theme` / `:root` / `.dark` theme**
14
+ as PBA Web (`globals.css`), so utilities like `bg-primary` match the app (purple primary,
15
+ etc.). The optional **`@powered-by-array/tokens/tokens.css`** is for JSON-driven tooling,
16
+ not required for these components.
17
+
18
+ It intentionally does **not** require `styled-components`.
19
+
20
+ ### Logos: React vs hosted static files
21
+
22
+ - **React:** `import { ArrayLogo } from "@powered-by-array/ui/logos"` for inline, resizable SVGs.
23
+ - **Hosted (Storybook / design site):** `yarn storybook:build` also writes versioned files under `storybook-static/logos/{version}/` (for example `array-logo.svg`), using the same markup as `src/logos/index.tsx`. Public URLs look like `https://design.arrayhq.com/logos/<version>/array-logo.svg` where `<version>` matches this package’s `version` (or `DESIGN_SYSTEM_SITE_VERSION` / release tag in CI).
24
+
25
+ ### Keeping Storybook aligned with PBA Web
26
+
27
+ In this monorepo, **`.storybook/webapp-parity.css`** mirrors **`pba-webapp` `src/styles/globals.css`**
28
+ (Tailwind imports, `@theme` primitives, shadcn semantic tokens, `:root` / `.dark`). **Any change
29
+ to the web app’s global theme should be reflected here** so Storybook and package consumers stay
30
+ visually consistent. Do not drop Storybook-specific directives (for example **`@source`** paths for
31
+ `packages/ui` and `stories/`) when porting updates.
32
+
33
+ **`.storybook/array-font-scale.css`** mirrors **`pba-webapp` `src/styles/array-font-scale.css`**
34
+ and is imported from `webapp-parity.css`. Update both mirrors when the font scale or typography
35
+ tokens change in the web app.
36
+
37
+ See also `docs/TOKEN_GAP_MATRIX.md` for how `tokens.css`, Tailwind, and these mirrors relate.
38
+
39
+ ## CI quality gate parity
40
+
41
+ Workflow: **`.github/workflows/ci-quality-gate.yml`** (on `pull_request` and `push` to `main`).
42
+ It uses Node.js **22**, enables Corepack, activates **Yarn 4.6.0**, caches Berry artifacts, then runs:
43
+
44
+ | Step | Command |
45
+ |------|---------|
46
+ | Install | `yarn install --immutable` |
47
+ | Lint | `yarn lint` |
48
+ | Typecheck | `yarn typecheck` |
49
+ | Tests | `yarn test` (Vitest) |
50
+ | Build tokens | `yarn workspace @powered-by-array/tokens build` |
51
+ | Build UI | `yarn tsc -p packages/ui/tsconfig.json` |
52
+ | Storybook | `yarn storybook:build` |
53
+ | Axe | `yarn axe:storybook` |
54
+
55
+ Run the same commands locally (UI build can use `yarn workspace @powered-by-array/ui build` instead of `yarn tsc -p …`; both invoke `tsc` for the UI package):
56
+
57
+ ```bash
58
+ corepack enable
59
+ corepack prepare yarn@4.6.0 --activate
60
+ yarn install --immutable
61
+ yarn lint
62
+ yarn typecheck
63
+ yarn test
64
+ yarn workspace @powered-by-array/tokens build
65
+ yarn workspace @powered-by-array/ui build
66
+ yarn storybook:build
67
+ yarn axe:storybook
68
+ ```
69
+
70
+ Root **`yarn build`** runs tokens + UI builds in order and matches what **`yarn prestorybook`** runs before Storybook.
71
+
72
+ ### Axe threshold
73
+
74
+ `yarn axe:storybook` scans a small allowlist of Storybook story URLs from
75
+ `storybook-static` and **fails CI on `serious` or `critical` violations**.
76
+ Lower-severity findings (`moderate`, `minor`) are reported by Storybook a11y
77
+ addon and should be triaged, but they do not fail the gate.
78
+
79
+ ## Installing `@powered-by-array/ui` from npm
80
+
81
+ This monorepo publishes `@powered-by-array/ui` and `@powered-by-array/tokens` to the **public npm registry** ([npmjs.org](https://www.npmjs.com/)) under the `@powered-by-array` scope (packages are **listed publicly** for install convenience only—see the license notice above). No `.npmrc` scope routing or `NODE_AUTH_TOKEN` is required for installation.
82
+
83
+ ```bash
84
+ yarn add @powered-by-array/ui @powered-by-array/tokens react react-dom
85
+ ```
86
+
87
+ `react` and `react-dom` are peer dependencies of `@powered-by-array/ui`.
88
+
89
+ For npm releases, provenance, and Trusted Publishing (OIDC) from GitHub Actions, see [npm’s publish documentation](https://docs.npmjs.com/trusted-publishers) and this repo’s `.github/workflows/publish-packages.yml`.
90
+
91
+ ### Chart visualization (`recharts`)
92
+
93
+ **Chart** primitives (`ChartContainer`, `ChartTooltip`, `ChartLegend`, etc.) are built on **[Recharts](https://recharts.org/)**. **`recharts` is a peer dependency** of `@powered-by-array/ui` (see `peerDependencies` in `packages/ui/package.json`, currently `^3.2.1`). Install it in any app that uses those exports:
94
+
95
+ ```bash
96
+ yarn add recharts
97
+ ```
98
+
99
+ If your product does not use charts, you can skip `recharts`; tree-shaking and omitting the dependency only matter once you import chart components from `@powered-by-array/ui`.
100
+
101
+ For GitHub guidance on npm releases and Trusted Publishing, see:
102
+ https://docs.npmjs.com/trusted-publishers
103
+
104
+ ## Release and versioning policy (semantic-release on `main`)
105
+
106
+ This repo uses **semantic-release**. On each push to `main`:
107
+
108
+ - semantic-release analyzes commit messages (Conventional Commits) to determine
109
+ the next semver version.
110
+ - `packages/tokens` and `packages/ui` are both version-bumped to that release
111
+ version.
112
+ - Packages are published to [npmjs.org](https://www.npmjs.com/) in dependency order
113
+ (`@powered-by-array/tokens` first, then `@powered-by-array/ui`).
114
+ - A release tag (`vX.Y.Z`) and changelog update are produced automatically.
115
+
116
+ ### Conventional commit guidance
117
+
118
+ - `feat:` → minor release
119
+ - `fix:` → patch release
120
+ - `feat!:` or `BREAKING CHANGE:` in commit body/footer → major release
121
+ - `chore:`, `docs:`, `refactor:` without breaking change → no release
122
+
123
+ ### First publish checklist
124
+
125
+ If no release has happened yet, verify before the first `main` merge:
126
+
127
+ - GitHub Actions workflow `publish-packages.yml` is enabled and targets the **`npm-publish`** environment.
128
+ - Workflow permissions include `contents: write`, `pull-requests: write`, `issues: write`, and **`id-token: write`** (for npm Trusted Publishing + provenance).
129
+ - **npmjs.org:** scope `@powered-by-array` is ready; an initial manual publish (or token-based CI run) exists so each package can bind **Trusted Publishers** → GitHub Actions → this repo → workflow `publish-packages.yml` → environment `npm-publish`.
130
+ - Commits merged to `main` use Conventional Commit prefixes so semantic-release
131
+ can compute versions.
132
+
133
+ Older versions may still appear on GitHub Packages; new releases use npm only.
134
+
135
+ ## Next.js consumption
136
+
137
+ `@powered-by-array/ui` is published as ESM and is tree-shakeable (`"sideEffects": false`).
138
+
139
+ Use named imports so bundlers can remove unused exports:
140
+
141
+ ```ts
142
+ import { countLeafTokens, getTokenTree } from "@powered-by-array/ui";
143
+ ```
144
+
145
+ To expose token CSS variables in your app, import tokens CSS once in your app entry
146
+ (`app/layout.tsx` for App Router or `pages/_app.tsx` for Pages Router):
147
+
148
+ ```ts
149
+ import "@powered-by-array/tokens/tokens.css";
150
+ ```
151
+
152
+ ## Styling and primitive direction (pba-webapp aligned)
153
+
154
+ Planned web primitives in this package should follow the same stack as `pba-webapp`:
155
+
156
+ - Tailwind CSS utility classes for styling
157
+ - `class-variance-authority` + `clsx` + `tailwind-merge` for variants/class composition
158
+ - Radix UI primitives for behavior and accessibility where needed
159
+ - CSS variables from `@powered-by-array/tokens` for design-token values
160
+ - `next-themes` for app-level light/dark mode integration
161
+
162
+ This package should avoid introducing a parallel styled-components layer unless that
163
+ decision is made explicitly at the program level.
@@ -0,0 +1,20 @@
1
+ import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
2
+ import * as React from "react";
3
+ declare function AlertDialog({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function AlertDialogTrigger({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
5
+ declare function AlertDialogPortal({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
6
+ declare function AlertDialogOverlay({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>): import("react/jsx-runtime").JSX.Element;
7
+ declare function AlertDialogContent({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
8
+ declare function AlertDialogHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
9
+ declare function AlertDialogFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
10
+ declare function AlertDialogTitle({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Title> & React.PropsWithChildren): import("react/jsx-runtime").JSX.Element;
11
+ declare function AlertDialogDescription({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Description> & React.PropsWithChildren): import("react/jsx-runtime").JSX.Element;
12
+ type AlertDialogActionProps = React.ComponentProps<typeof AlertDialogPrimitive.Action> & React.PropsWithChildren & {
13
+ onClick?: React.MouseEventHandler<HTMLButtonElement>;
14
+ disabled?: boolean;
15
+ className?: string;
16
+ };
17
+ declare function AlertDialogAction({ className, ...props }: AlertDialogActionProps): import("react/jsx-runtime").JSX.Element;
18
+ declare function AlertDialogCancel({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Cancel> & React.PropsWithChildren & Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, "disabled">): import("react/jsx-runtime").JSX.Element;
19
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, };
20
+ //# sourceMappingURL=alert-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog.d.ts","sourceRoot":"","sources":["../../src/components/alert-dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,iBAAS,WAAW,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,2CAExF;AAED,iBAAS,kBAAkB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,OAAO,CAAC,2CAElG;AAED,iBAAS,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,MAAM,CAAC,2CAEhG;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,OAAO,CAAC,2CAW3D;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,OAAO,CAAC,2CAc3D;AAED,iBAAS,iBAAiB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ9E;AAED,iBAAS,iBAAiB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ9E;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,iBAAiB,2CAQnF;AAED,iBAAS,sBAAsB,CAAC,EAC9B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,iBAAiB,2CAQzF;AAED,KAAK,sBAAsB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,MAAM,CAAC,GACpF,KAAK,CAAC,iBAAiB,GAAG;IACxB,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEJ,iBAAS,iBAAiB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,sBAAsB,2CAEzE;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,oBAAoB,CAAC,MAAM,CAAC,GACzD,KAAK,CAAC,iBAAiB,GACvB,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,2CAOhE;AAED,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GACnB,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog";
3
+ import * as React from "react";
4
+ import { cn } from "../lib/cn.js";
5
+ import { buttonVariants } from "./button.js";
6
+ function AlertDialog({ ...props }) {
7
+ return _jsx(AlertDialogPrimitive.Root, { "data-slot": "alert-dialog", ...props });
8
+ }
9
+ function AlertDialogTrigger({ ...props }) {
10
+ return _jsx(AlertDialogPrimitive.Trigger, { "data-slot": "alert-dialog-trigger", ...props });
11
+ }
12
+ function AlertDialogPortal({ ...props }) {
13
+ return _jsx(AlertDialogPrimitive.Portal, { "data-slot": "alert-dialog-portal", ...props });
14
+ }
15
+ function AlertDialogOverlay({ className, ...props }) {
16
+ return (_jsx(AlertDialogPrimitive.Overlay, { "data-slot": "alert-dialog-overlay", className: cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-[70] bg-black/50", className), ...props }));
17
+ }
18
+ function AlertDialogContent({ className, ...props }) {
19
+ return (_jsxs(AlertDialogPortal, { children: [_jsx(AlertDialogOverlay, {}), _jsx(AlertDialogPrimitive.Content, { "data-slot": "alert-dialog-content", className: cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-[70] grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 sm:max-w-lg", className), ...props })] }));
20
+ }
21
+ function AlertDialogHeader({ className, ...props }) {
22
+ return (_jsx("div", { "data-slot": "alert-dialog-header", className: cn("flex flex-col gap-2 text-center sm:text-left", className), ...props }));
23
+ }
24
+ function AlertDialogFooter({ className, ...props }) {
25
+ return (_jsx("div", { "data-slot": "alert-dialog-footer", className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className), ...props }));
26
+ }
27
+ function AlertDialogTitle({ className, ...props }) {
28
+ return (_jsx(AlertDialogPrimitive.Title, { "data-slot": "alert-dialog-title", className: cn("text-lg font-semibold", className), ...props }));
29
+ }
30
+ function AlertDialogDescription({ className, ...props }) {
31
+ return (_jsx(AlertDialogPrimitive.Description, { "data-slot": "alert-dialog-description", className: cn("text-sm text-muted-foreground", className), ...props }));
32
+ }
33
+ function AlertDialogAction({ className, ...props }) {
34
+ return _jsx(AlertDialogPrimitive.Action, { className: cn(buttonVariants(), className), ...props });
35
+ }
36
+ function AlertDialogCancel({ className, ...props }) {
37
+ return (_jsx(AlertDialogPrimitive.Cancel, { className: cn(buttonVariants({ variant: "outline" }), className), ...props }));
38
+ }
39
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, };
40
+ //# sourceMappingURL=alert-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog.js","sourceRoot":"","sources":["../../src/components/alert-dialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import * as AvatarPrimitive from "@radix-ui/react-avatar";
2
+ import * as React from "react";
3
+ declare function Avatar({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>): import("react/jsx-runtime").JSX.Element;
5
+ declare function AvatarFallback({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Fallback>): import("react/jsx-runtime").JSX.Element;
6
+ export { Avatar, AvatarFallback, AvatarImage };
7
+ //# sourceMappingURL=avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../src/components/avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,iBAAS,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAQzF;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,2CAQ/F;AAED,iBAAS,cAAc,CAAC,EACtB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,QAAQ,CAAC,2CAQvD;AAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as AvatarPrimitive from "@radix-ui/react-avatar";
3
+ import * as React from "react";
4
+ import { cn } from "../lib/cn.js";
5
+ function Avatar({ className, ...props }) {
6
+ return (_jsx(AvatarPrimitive.Root, { "data-slot": "avatar", className: cn("relative flex size-8 shrink-0 overflow-hidden rounded-full", className), ...props }));
7
+ }
8
+ function AvatarImage({ className, ...props }) {
9
+ return (_jsx(AvatarPrimitive.Image, { "data-slot": "avatar-image", className: cn("aspect-square size-full", className), ...props }));
10
+ }
11
+ function AvatarFallback({ className, ...props }) {
12
+ return (_jsx(AvatarPrimitive.Fallback, { "data-slot": "avatar-fallback", className: cn("bg-muted flex size-full items-center justify-center rounded-full", className), ...props }));
13
+ }
14
+ export { Avatar, AvatarFallback, AvatarImage };
15
+ //# sourceMappingURL=avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../src/components/avatar.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,SAAS,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAqD;IACxF,OAAO,CACL,KAAC,eAAe,CAAC,IAAI,iBACT,QAAQ,EAClB,SAAS,EAAE,EAAE,CAAC,4DAA4D,EAAE,SAAS,CAAC,KAClF,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAsD;IAC9F,OAAO,CACL,KAAC,eAAe,CAAC,KAAK,iBACV,cAAc,EACxB,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC,KAC/C,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,SAAS,EACT,GAAG,KAAK,EAC8C;IACtD,OAAO,CACL,KAAC,eAAe,CAAC,QAAQ,iBACb,iBAAiB,EAC3B,SAAS,EAAE,EAAE,CAAC,kEAAkE,EAAE,SAAS,CAAC,KACxF,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { type VariantProps } from "class-variance-authority";
2
+ import * as React from "react";
3
+ declare const badgeVariants: (props?: ({
4
+ variant?: "default" | "secondary" | "destructive" | "outline" | null | undefined;
5
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
+ declare function Badge({ className, variant, asChild, ...props }: React.ComponentProps<"span"> & VariantProps<typeof badgeVariants> & {
7
+ asChild?: boolean;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ export { Badge, badgeVariants };
10
+ //# sourceMappingURL=badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../src/components/badge.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,aAAa;;8EAiBlB,CAAC;AAEF,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,OAAmB,EACnB,OAAe,EACf,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,2CAW3F;AAED,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Slot } from "@radix-ui/react-slot";
3
+ import { cva } from "class-variance-authority";
4
+ import * as React from "react";
5
+ import { cn } from "../lib/cn.js";
6
+ const badgeVariants = cva("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden", {
7
+ variants: {
8
+ variant: {
9
+ default: "bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
10
+ secondary: "bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
11
+ destructive: "bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
12
+ outline: "border-semantic-stroke-default text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
13
+ },
14
+ },
15
+ defaultVariants: {
16
+ variant: "default",
17
+ },
18
+ });
19
+ function Badge({ className, variant = "default", asChild = false, ...props }) {
20
+ const Comp = asChild ? Slot : "span";
21
+ return (_jsx(Comp, { "data-slot": "badge", "data-variant": variant, className: cn(badgeVariants({ variant }), className), ...props }));
22
+ }
23
+ export { Badge, badgeVariants };
24
+ //# sourceMappingURL=badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.js","sourceRoot":"","sources":["../../src/components/badge.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,MAAM,aAAa,GAAG,GAAG,CACvB,qaAAqa,EACra;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,6DAA6D;YACtE,SAAS,EAAE,mEAAmE;YAC9E,WAAW,EACT,wJAAwJ;YAC1J,OAAO,EACL,uGAAuG;SAC1G;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;KACnB;CACF,CACF,CAAC;AAEF,SAAS,KAAK,CAAC,EACb,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,OAAO,GAAG,KAAK,EACf,GAAG,KAAK,EACkF;IAC1F,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAErC,OAAO,CACL,KAAC,IAAI,iBACO,OAAO,kBACH,OAAO,EACrB,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,KAChD,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ declare function Breadcrumb({ ...props }: React.ComponentProps<"nav">): import("react/jsx-runtime").JSX.Element;
3
+ declare function BreadcrumbList({ className, ...props }: React.ComponentProps<"ol">): import("react/jsx-runtime").JSX.Element;
4
+ declare function BreadcrumbItem({ className, ...props }: React.ComponentProps<"li">): import("react/jsx-runtime").JSX.Element;
5
+ declare function BreadcrumbLink({ asChild, className, ...props }: React.ComponentProps<"a"> & {
6
+ asChild?: boolean;
7
+ }): import("react/jsx-runtime").JSX.Element;
8
+ declare function BreadcrumbPage({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
9
+ declare function BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<"li">): import("react/jsx-runtime").JSX.Element;
10
+ declare function BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
11
+ export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, };
12
+ //# sourceMappingURL=breadcrumb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../src/components/breadcrumb.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,iBAAS,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAE5D;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAW1E;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAI1E;AAED,iBAAS,cAAc,CAAC,EACtB,OAAO,EACP,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,2CAUA;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,2CAW5E;AAED,iBAAS,mBAAmB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAYzF;AAED,iBAAS,kBAAkB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,2CAahF;AAED,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,GACpB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Slot } from "@radix-ui/react-slot";
3
+ import { ChevronRight, MoreHorizontal } from "lucide-react";
4
+ import * as React from "react";
5
+ import { cn } from "../lib/cn.js";
6
+ function Breadcrumb({ ...props }) {
7
+ return _jsx("nav", { "aria-label": "breadcrumb", "data-slot": "breadcrumb", ...props });
8
+ }
9
+ function BreadcrumbList({ className, ...props }) {
10
+ return (_jsx("ol", { "data-slot": "breadcrumb-list", className: cn("text-muted-foreground flex flex-wrap items-center gap-1.5 text-sm break-words sm:gap-2.5", className), ...props }));
11
+ }
12
+ function BreadcrumbItem({ className, ...props }) {
13
+ return (_jsx("li", { "data-slot": "breadcrumb-item", className: cn("inline-flex items-center gap-1.5", className), ...props }));
14
+ }
15
+ function BreadcrumbLink({ asChild, className, ...props }) {
16
+ const Comp = asChild ? Slot : "a";
17
+ return (_jsx(Comp, { "data-slot": "breadcrumb-link", className: cn("hover:text-foreground transition-colors", className), ...props }));
18
+ }
19
+ function BreadcrumbPage({ className, ...props }) {
20
+ return (_jsx("span", { "data-slot": "breadcrumb-page", role: "link", "aria-disabled": "true", "aria-current": "page", className: cn("text-foreground font-normal", className), ...props }));
21
+ }
22
+ function BreadcrumbSeparator({ children, className, ...props }) {
23
+ return (_jsx("li", { "data-slot": "breadcrumb-separator", role: "presentation", "aria-hidden": "true", className: cn("[&>svg]:size-3.5", className), ...props, children: children ?? _jsx(ChevronRight, {}) }));
24
+ }
25
+ function BreadcrumbEllipsis({ className, ...props }) {
26
+ return (_jsxs("span", { "data-slot": "breadcrumb-ellipsis", role: "presentation", "aria-hidden": "true", className: cn("flex size-9 items-center justify-center", className), ...props, children: [_jsx(MoreHorizontal, { className: "size-4" }), _jsx("span", { className: "sr-only", children: "More" })] }));
27
+ }
28
+ export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, };
29
+ //# sourceMappingURL=breadcrumb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb.js","sourceRoot":"","sources":["../../src/components/breadcrumb.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,SAAS,UAAU,CAAC,EAAE,GAAG,KAAK,EAA+B;IAC3D,OAAO,4BAAgB,YAAY,eAAW,YAAY,KAAK,KAAK,GAAI,CAAC;AAC3E,CAAC;AAED,SAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA8B;IACzE,OAAO,CACL,0BACY,iBAAiB,EAC3B,SAAS,EAAE,EAAE,CACX,0FAA0F,EAC1F,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA8B;IACzE,OAAO,CACL,0BAAc,iBAAiB,EAAC,SAAS,EAAE,EAAE,CAAC,kCAAkC,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAC5G,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,OAAO,EACP,SAAS,EACT,GAAG,KAAK,EAGT;IACC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IAElC,OAAO,CACL,KAAC,IAAI,iBACO,iBAAiB,EAC3B,SAAS,EAAE,EAAE,CAAC,yCAAyC,EAAE,SAAS,CAAC,KAC/D,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAgC;IAC3E,OAAO,CACL,4BACY,iBAAiB,EAC3B,IAAI,EAAC,MAAM,mBACG,MAAM,kBACP,MAAM,EACnB,SAAS,EAAE,EAAE,CAAC,6BAA6B,EAAE,SAAS,CAAC,KACnD,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAA8B;IACxF,OAAO,CACL,0BACY,sBAAsB,EAChC,IAAI,EAAC,cAAc,iBACP,MAAM,EAClB,SAAS,EAAE,EAAE,CAAC,kBAAkB,EAAE,SAAS,CAAC,KACxC,KAAK,YAER,QAAQ,IAAI,KAAC,YAAY,KAAG,GAC1B,CACN,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAgC;IAC/E,OAAO,CACL,6BACY,qBAAqB,EAC/B,IAAI,EAAC,cAAc,iBACP,MAAM,EAClB,SAAS,EAAE,EAAE,CAAC,yCAAyC,EAAE,SAAS,CAAC,KAC/D,KAAK,aAET,KAAC,cAAc,IAAC,SAAS,EAAC,QAAQ,GAAG,EACrC,eAAM,SAAS,EAAC,SAAS,qBAAY,IAChC,CACR,CAAC;AACJ,CAAC;AAED,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,GACpB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { type VariantProps } from "class-variance-authority";
2
+ import * as React from "react";
3
+ declare const buttonVariants: (props?: ({
4
+ variant?: "default" | "brandedPrimary" | "destructive" | "outline" | "secondary" | "ghost" | "link" | null | undefined;
5
+ size?: "default" | "sm" | "lg" | "icon" | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ declare const Button: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLButtonElement> & React.ButtonHTMLAttributes<HTMLButtonElement> & VariantProps<(props?: ({
8
+ variant?: "default" | "brandedPrimary" | "destructive" | "outline" | "secondary" | "ghost" | "link" | null | undefined;
9
+ size?: "default" | "sm" | "lg" | "icon" | null | undefined;
10
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
11
+ asChild?: boolean;
12
+ }, "ref"> & React.RefAttributes<HTMLButtonElement>>;
13
+ export { Button, buttonVariants };
14
+ //# sourceMappingURL=button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/components/button.tsx"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,QAAA,MAAM,cAAc;;;8EA6BnB,CAAC;AAEF,QAAA,MAAM,MAAM;;;;cAII,OAAO;mDAarB,CAAC;AAGH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Slot } from "@radix-ui/react-slot";
3
+ import { cva } from "class-variance-authority";
4
+ import * as React from "react";
5
+ import { cn } from "../lib/cn.js";
6
+ const buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", {
7
+ variants: {
8
+ variant: {
9
+ default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
10
+ /** Matches Bootstrap `.btn-primary` on auth / branded standalone pages; colors from `color.semantic.action.*` → `--color-semantic-action-*`. */
11
+ brandedPrimary: "rounded-lg border border-[var(--color-semantic-action-branded)] bg-[var(--color-semantic-action-branded)] text-white shadow-xs hover:border-[var(--color-semantic-action-branded-pressed)] hover:bg-[var(--color-semantic-action-branded-hover)] active:border-[var(--color-semantic-action-branded-active-border)] active:bg-[var(--color-semantic-action-branded-pressed)] active:shadow-[inset_0_3px_5px_rgba(0,0,0,0.125)] focus-visible:border-[var(--color-semantic-action-branded)] focus-visible:ring-[var(--color-semantic-action-branded-focus)]/40 disabled:border-[var(--color-semantic-action-branded)] disabled:bg-[var(--color-semantic-action-branded)] disabled:text-white dark:bg-[var(--color-semantic-action-branded)] dark:hover:bg-[var(--color-semantic-action-branded-hover)]",
12
+ destructive: "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
13
+ outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
14
+ secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",
15
+ ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
16
+ link: "text-primary underline-offset-4 hover:underline",
17
+ },
18
+ size: {
19
+ default: "h-9 px-4 py-2 has-[>svg]:px-3",
20
+ sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
21
+ lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
22
+ icon: "size-9",
23
+ },
24
+ },
25
+ defaultVariants: {
26
+ variant: "default",
27
+ size: "default",
28
+ },
29
+ });
30
+ const Button = React.forwardRef(function Button({ className, variant, size, asChild = false, ...props }, ref) {
31
+ const Comp = asChild ? Slot : "button";
32
+ return (_jsx(Comp, { ref: ref, "data-slot": "button", className: cn(buttonVariants({ variant, size, className })), ...props }));
33
+ });
34
+ Button.displayName = "Button";
35
+ export { Button, buttonVariants };
36
+ //# sourceMappingURL=button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/components/button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,MAAM,cAAc,GAAG,GAAG,CACxB,6bAA6b,EAC7b;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,kEAAkE;YAC3E,gJAAgJ;YAChJ,cAAc,EACZ,uwBAAuwB;YACzwB,WAAW,EACT,6JAA6J;YAC/J,OAAO,EACL,uIAAuI;YACzI,SAAS,EAAE,wEAAwE;YACnF,KAAK,EAAE,sEAAsE;YAC7E,IAAI,EAAE,iDAAiD;SACxD;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,+BAA+B;YACxC,EAAE,EAAE,+CAA+C;YACnD,EAAE,EAAE,sCAAsC;YAC1C,IAAI,EAAE,QAAQ;SACf;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAC;AAEF,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAM7B,SAAS,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG;IAC5E,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEvC,OAAO,CACL,KAAC,IAAI,IACH,GAAG,EAAE,GAAG,eACE,QAAQ,EAClB,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KACvD,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ import { DayButton, DayPicker } from "react-day-picker";
3
+ import { Button } from "./button.js";
4
+ declare function Calendar({ className, classNames, showOutsideDays, captionLayout, buttonVariant, formatters, components, ...props }: React.ComponentProps<typeof DayPicker> & {
5
+ buttonVariant?: React.ComponentProps<typeof Button>["variant"];
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ declare function CalendarDayButton({ className, day, modifiers, ...props }: React.ComponentProps<typeof DayButton>): import("react/jsx-runtime").JSX.Element;
8
+ export { Calendar, CalendarDayButton };
9
+ //# sourceMappingURL=calendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../src/components/calendar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAwB,MAAM,kBAAkB,CAAC;AAG9E,OAAO,EAAE,MAAM,EAAkB,MAAM,aAAa,CAAC;AAErD,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,UAAU,EACV,eAAsB,EACtB,aAAuB,EACvB,aAAuB,EACvB,UAAU,EACV,UAAU,EACV,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,GAAG;IAC1C,aAAa,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;CAChE,2CAuHA;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,2CA+BxC;AAED,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,77 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from "lucide-react";
4
+ import * as React from "react";
5
+ import { DayButton, DayPicker, getDefaultClassNames } from "react-day-picker";
6
+ import { cn } from "../lib/cn.js";
7
+ import { Button, buttonVariants } from "./button.js";
8
+ function Calendar({ className, classNames, showOutsideDays = true, captionLayout = "label", buttonVariant = "ghost", formatters, components, ...props }) {
9
+ const defaultClassNames = getDefaultClassNames();
10
+ return (_jsx(DayPicker, { showOutsideDays: showOutsideDays, className: cn("bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent", String.raw `rtl:**:[.rdp-button\_next>svg]:rotate-180`, String.raw `rtl:**:[.rdp-button\_previous>svg]:rotate-180`, className), captionLayout: captionLayout, formatters: {
11
+ formatMonthDropdown: (date) => date.toLocaleString("default", { month: "short" }),
12
+ ...formatters,
13
+ }, classNames: {
14
+ root: cn("w-fit", defaultClassNames.root),
15
+ months: cn("flex gap-4 flex-col md:flex-row relative", defaultClassNames.months),
16
+ month: cn("flex flex-col w-full gap-4", defaultClassNames.month),
17
+ nav: cn("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between", defaultClassNames.nav),
18
+ button_previous: cn(buttonVariants({ variant: buttonVariant }), "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none", defaultClassNames.button_previous),
19
+ button_next: cn(buttonVariants({ variant: buttonVariant }), "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none", defaultClassNames.button_next),
20
+ month_caption: cn("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)", defaultClassNames.month_caption),
21
+ dropdowns: cn("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5", defaultClassNames.dropdowns),
22
+ dropdown_root: cn("relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md", defaultClassNames.dropdown_root),
23
+ dropdown: cn("absolute bg-popover inset-0 opacity-0", defaultClassNames.dropdown),
24
+ caption_label: cn("select-none font-medium", captionLayout === "label"
25
+ ? "text-sm"
26
+ : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5", defaultClassNames.caption_label),
27
+ table: "w-full border-collapse",
28
+ weekdays: cn("flex", defaultClassNames.weekdays),
29
+ weekday: cn("text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none", defaultClassNames.weekday),
30
+ week: cn("flex w-full mt-2", defaultClassNames.week),
31
+ week_number_header: cn("select-none w-(--cell-size)", defaultClassNames.week_number_header),
32
+ week_number: cn("text-[0.8rem] select-none text-muted-foreground", defaultClassNames.week_number),
33
+ day: cn("relative w-full h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none", props.showWeekNumber
34
+ ? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-md"
35
+ : "[&:first-child[data-selected=true]_button]:rounded-l-md", defaultClassNames.day),
36
+ range_start: cn("rounded-l-md bg-accent", defaultClassNames.range_start),
37
+ range_middle: cn("rounded-none", defaultClassNames.range_middle),
38
+ range_end: cn("rounded-r-md bg-accent", defaultClassNames.range_end),
39
+ today: cn("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none", defaultClassNames.today),
40
+ outside: cn("text-muted-foreground aria-selected:text-muted-foreground", defaultClassNames.outside),
41
+ disabled: cn("text-muted-foreground opacity-50", defaultClassNames.disabled),
42
+ hidden: cn("invisible", defaultClassNames.hidden),
43
+ ...classNames,
44
+ }, components: {
45
+ Root: ({ className, rootRef, ...rootProps }) => {
46
+ return _jsx("div", { "data-slot": "calendar", ref: rootRef, className: cn(className), ...rootProps });
47
+ },
48
+ Chevron: ({ className, orientation, ...chevronProps }) => {
49
+ if (orientation === "left") {
50
+ return _jsx(ChevronLeftIcon, { className: cn("size-4", className), ...chevronProps });
51
+ }
52
+ if (orientation === "right") {
53
+ return _jsx(ChevronRightIcon, { className: cn("size-4", className), ...chevronProps });
54
+ }
55
+ return _jsx(ChevronDownIcon, { className: cn("size-4", className), ...chevronProps });
56
+ },
57
+ DayButton: CalendarDayButton,
58
+ WeekNumber: ({ children, ...weekProps }) => {
59
+ return (_jsx("td", { ...weekProps, children: _jsx("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children: children }) }));
60
+ },
61
+ ...components,
62
+ }, ...props }));
63
+ }
64
+ function CalendarDayButton({ className, day, modifiers, ...props }) {
65
+ const defaultClassNames = getDefaultClassNames();
66
+ const ref = React.useRef(null);
67
+ React.useEffect(() => {
68
+ if (modifiers.focused)
69
+ ref.current?.focus();
70
+ }, [modifiers.focused]);
71
+ return (_jsx(Button, { ref: ref, variant: "ghost", size: "icon", "data-day": day.date.toLocaleDateString(), "data-selected-single": modifiers.selected &&
72
+ !modifiers.range_start &&
73
+ !modifiers.range_end &&
74
+ !modifiers.range_middle, "data-range-start": modifiers.range_start, "data-range-end": modifiers.range_end, "data-range-middle": modifiers.range_middle, className: cn("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70", defaultClassNames.day, className), ...props }));
75
+ }
76
+ export { Calendar, CalendarDayButton };
77
+ //# sourceMappingURL=calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../src/components/calendar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAErD,SAAS,QAAQ,CAAC,EAChB,SAAS,EACT,UAAU,EACV,eAAe,GAAG,IAAI,EACtB,aAAa,GAAG,OAAO,EACvB,aAAa,GAAG,OAAO,EACvB,UAAU,EACV,UAAU,EACV,GAAG,KAAK,EAGT;IACC,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;IAEjD,OAAO,CACL,KAAC,SAAS,IACR,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,EAAE,CACX,wJAAwJ,EACxJ,MAAM,CAAC,GAAG,CAAA,2CAA2C,EACrD,MAAM,CAAC,GAAG,CAAA,+CAA+C,EACzD,SAAS,CACV,EACD,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE;YACV,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;YACjF,GAAG,UAAU;SACd,EACD,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC;YACzC,MAAM,EAAE,EAAE,CAAC,0CAA0C,EAAE,iBAAiB,CAAC,MAAM,CAAC;YAChF,KAAK,EAAE,EAAE,CAAC,4BAA4B,EAAE,iBAAiB,CAAC,KAAK,CAAC;YAChE,GAAG,EAAE,EAAE,CACL,yEAAyE,EACzE,iBAAiB,CAAC,GAAG,CACtB;YACD,eAAe,EAAE,EAAE,CACjB,cAAc,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAC1C,6DAA6D,EAC7D,iBAAiB,CAAC,eAAe,CAClC;YACD,WAAW,EAAE,EAAE,CACb,cAAc,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAC1C,6DAA6D,EAC7D,iBAAiB,CAAC,WAAW,CAC9B;YACD,aAAa,EAAE,EAAE,CACf,0EAA0E,EAC1E,iBAAiB,CAAC,aAAa,CAChC;YACD,SAAS,EAAE,EAAE,CACX,qFAAqF,EACrF,iBAAiB,CAAC,SAAS,CAC5B;YACD,aAAa,EAAE,EAAE,CACf,qHAAqH,EACrH,iBAAiB,CAAC,aAAa,CAChC;YACD,QAAQ,EAAE,EAAE,CAAC,uCAAuC,EAAE,iBAAiB,CAAC,QAAQ,CAAC;YACjF,aAAa,EAAE,EAAE,CACf,yBAAyB,EACzB,aAAa,KAAK,OAAO;gBACvB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,yGAAyG,EAC7G,iBAAiB,CAAC,aAAa,CAChC;YACD,KAAK,EAAE,wBAAwB;YAC/B,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC;YAChD,OAAO,EAAE,EAAE,CACT,+EAA+E,EAC/E,iBAAiB,CAAC,OAAO,CAC1B;YACD,IAAI,EAAE,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,IAAI,CAAC;YACpD,kBAAkB,EAAE,EAAE,CAAC,6BAA6B,EAAE,iBAAiB,CAAC,kBAAkB,CAAC;YAC3F,WAAW,EAAE,EAAE,CACb,iDAAiD,EACjD,iBAAiB,CAAC,WAAW,CAC9B;YACD,GAAG,EAAE,EAAE,CACL,mIAAmI,EACnI,KAAK,CAAC,cAAc;gBAClB,CAAC,CAAC,0DAA0D;gBAC5D,CAAC,CAAC,yDAAyD,EAC7D,iBAAiB,CAAC,GAAG,CACtB;YACD,WAAW,EAAE,EAAE,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,WAAW,CAAC;YACxE,YAAY,EAAE,EAAE,CAAC,cAAc,EAAE,iBAAiB,CAAC,YAAY,CAAC;YAChE,SAAS,EAAE,EAAE,CAAC,wBAAwB,EAAE,iBAAiB,CAAC,SAAS,CAAC;YACpE,KAAK,EAAE,EAAE,CACP,+EAA+E,EAC/E,iBAAiB,CAAC,KAAK,CACxB;YACD,OAAO,EAAE,EAAE,CACT,2DAA2D,EAC3D,iBAAiB,CAAC,OAAO,CAC1B;YACD,QAAQ,EAAE,EAAE,CAAC,kCAAkC,EAAE,iBAAiB,CAAC,QAAQ,CAAC;YAC5E,MAAM,EAAE,EAAE,CAAC,WAAW,EAAE,iBAAiB,CAAC,MAAM,CAAC;YACjD,GAAG,UAAU;SACd,EACD,UAAU,EAAE;YACV,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;gBAC7C,OAAO,2BAAe,UAAU,EAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAM,SAAS,GAAI,CAAC;YAC7F,CAAC;YACD,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,YAAY,EAAE,EAAE,EAAE;gBACvD,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;oBAC3B,OAAO,KAAC,eAAe,IAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAM,YAAY,GAAI,CAAC;gBACnF,CAAC;gBAED,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;oBAC5B,OAAO,KAAC,gBAAgB,IAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAM,YAAY,GAAI,CAAC;gBACpF,CAAC;gBAED,OAAO,KAAC,eAAe,IAAC,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,KAAM,YAAY,GAAI,CAAC;YACnF,CAAC;YACD,SAAS,EAAE,iBAAiB;YAC5B,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE;gBACzC,OAAO,CACL,gBAAQ,SAAS,YACf,cAAK,SAAS,EAAC,iEAAiE,YAC7E,QAAQ,GACL,GACH,CACN,CAAC;YACJ,CAAC;YACD,GAAG,UAAU;SACd,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,EACH,SAAS,EACT,GAAG,KAAK,EAC+B;IACvC,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;IAEjD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAoB,IAAI,CAAC,CAAC;IAClD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,SAAS,CAAC,OAAO;YAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;IAC9C,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAExB,OAAO,CACL,KAAC,MAAM,IACL,GAAG,EAAE,GAAG,EACR,OAAO,EAAC,OAAO,EACf,IAAI,EAAC,MAAM,cACD,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,0BAErC,SAAS,CAAC,QAAQ;YAClB,CAAC,SAAS,CAAC,WAAW;YACtB,CAAC,SAAS,CAAC,SAAS;YACpB,CAAC,SAAS,CAAC,YAAY,sBAEP,SAAS,CAAC,WAAW,oBACvB,SAAS,CAAC,SAAS,uBAChB,SAAS,CAAC,YAAY,EACzC,SAAS,EAAE,EAAE,CACX,k3BAAk3B,EACl3B,iBAAiB,CAAC,GAAG,EACrB,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ import * as React from "react";
2
+ declare function Card({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
3
+ declare function CardHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
4
+ declare function CardTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
5
+ declare function CardDescription({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
6
+ declare function CardAction({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
7
+ declare function CardContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
8
+ declare function CardFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
9
+ export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };
10
+ //# sourceMappingURL=card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../src/components/card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,iBAAS,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWjE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWvE;AAED,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAItE;AAED,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ5E;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQvE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAExE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQvE;AAED,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { cn } from "../lib/cn.js";
4
+ function Card({ className, ...props }) {
5
+ return (_jsx("div", { "data-slot": "card", className: cn("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm", className), ...props }));
6
+ }
7
+ function CardHeader({ className, ...props }) {
8
+ return (_jsx("div", { "data-slot": "card-header", className: cn("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6", className), ...props }));
9
+ }
10
+ function CardTitle({ className, ...props }) {
11
+ return (_jsx("div", { "data-slot": "card-title", className: cn("leading-none font-semibold", className), ...props }));
12
+ }
13
+ function CardDescription({ className, ...props }) {
14
+ return (_jsx("div", { "data-slot": "card-description", className: cn("text-muted-foreground text-sm", className), ...props }));
15
+ }
16
+ function CardAction({ className, ...props }) {
17
+ return (_jsx("div", { "data-slot": "card-action", className: cn("col-start-2 row-span-2 row-start-1 self-start justify-self-end", className), ...props }));
18
+ }
19
+ function CardContent({ className, ...props }) {
20
+ return _jsx("div", { "data-slot": "card-content", className: cn("px-6", className), ...props });
21
+ }
22
+ function CardFooter({ className, ...props }) {
23
+ return (_jsx("div", { "data-slot": "card-footer", className: cn("flex items-center px-6 [.border-t]:pt-6", className), ...props }));
24
+ }
25
+ export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };
26
+ //# sourceMappingURL=card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.js","sourceRoot":"","sources":["../../src/components/card.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,SAAS,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IAChE,OAAO,CACL,2BACY,MAAM,EAChB,SAAS,EAAE,EAAE,CACX,mFAAmF,EACnF,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACtE,OAAO,CACL,2BACY,aAAa,EACvB,SAAS,EAAE,EAAE,CACX,4JAA4J,EAC5J,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACrE,OAAO,CACL,2BAAe,YAAY,EAAC,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAClG,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IAC3E,OAAO,CACL,2BACY,kBAAkB,EAC5B,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,KACrD,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACtE,OAAO,CACL,2BACY,aAAa,EACvB,SAAS,EAAE,EAAE,CAAC,gEAAgE,EAAE,SAAS,CAAC,KACtF,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACvE,OAAO,2BAAe,cAAc,EAAC,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,KAAM,KAAK,GAAI,CAAC;AACvF,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACtE,OAAO,CACL,2BACY,aAAa,EACvB,SAAS,EAAE,EAAE,CAAC,yCAAyC,EAAE,SAAS,CAAC,KAC/D,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC"}