gold-on-frontend-common 0.1.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 (117) hide show
  1. package/README.md +75 -0
  2. package/config/eslint/base.mjs +13 -0
  3. package/config/eslint/next-js.mjs +27 -0
  4. package/config/eslint/react-library.mjs +10 -0
  5. package/config/typescript/base.json +16 -0
  6. package/config/typescript/nextjs.json +14 -0
  7. package/config/typescript/react-library.json +7 -0
  8. package/dist/components/accordion.d.ts +12 -0
  9. package/dist/components/accordion.d.ts.map +1 -0
  10. package/dist/components/accordion.js +34 -0
  11. package/dist/components/accordion.js.map +1 -0
  12. package/dist/components/alert.d.ts +13 -0
  13. package/dist/components/alert.d.ts.map +1 -0
  14. package/dist/components/alert.js +52 -0
  15. package/dist/components/alert.js.map +1 -0
  16. package/dist/components/avatar.d.ts +12 -0
  17. package/dist/components/avatar.d.ts.map +1 -0
  18. package/dist/components/avatar.js +39 -0
  19. package/dist/components/avatar.js.map +1 -0
  20. package/dist/components/badge.d.ts +12 -0
  21. package/dist/components/badge.d.ts.map +1 -0
  22. package/dist/components/badge.js +37 -0
  23. package/dist/components/badge.js.map +1 -0
  24. package/dist/components/breadcrumb.d.ts +12 -0
  25. package/dist/components/breadcrumb.d.ts.map +1 -0
  26. package/dist/components/breadcrumb.js +28 -0
  27. package/dist/components/breadcrumb.js.map +1 -0
  28. package/dist/components/button-group.d.ts +9 -0
  29. package/dist/components/button-group.d.ts.map +1 -0
  30. package/dist/components/button-group.js +25 -0
  31. package/dist/components/button-group.js.map +1 -0
  32. package/dist/components/button.d.ts +12 -0
  33. package/dist/components/button.d.ts.map +1 -0
  34. package/dist/components/button.js +48 -0
  35. package/dist/components/button.js.map +1 -0
  36. package/dist/components/card.d.ts +10 -0
  37. package/dist/components/card.d.ts.map +1 -0
  38. package/dist/components/card.js +25 -0
  39. package/dist/components/card.js.map +1 -0
  40. package/dist/components/dialog.d.ts +18 -0
  41. package/dist/components/dialog.d.ts.map +1 -0
  42. package/dist/components/dialog.js +38 -0
  43. package/dist/components/dialog.js.map +1 -0
  44. package/dist/components/dropdown-menu.d.ts +26 -0
  45. package/dist/components/dropdown-menu.d.ts.map +1 -0
  46. package/dist/components/dropdown-menu.js +52 -0
  47. package/dist/components/dropdown-menu.js.map +1 -0
  48. package/dist/components/field.d.ts +25 -0
  49. package/dist/components/field.d.ts.map +1 -0
  50. package/dist/components/field.js +75 -0
  51. package/dist/components/field.js.map +1 -0
  52. package/dist/components/form.d.ts +25 -0
  53. package/dist/components/form.d.ts.map +1 -0
  54. package/dist/components/form.js +58 -0
  55. package/dist/components/form.js.map +1 -0
  56. package/dist/components/index.d.ts +24 -0
  57. package/dist/components/index.d.ts.map +1 -0
  58. package/dist/components/index.js +24 -0
  59. package/dist/components/index.js.map +1 -0
  60. package/dist/components/input.d.ts +4 -0
  61. package/dist/components/input.d.ts.map +1 -0
  62. package/dist/components/input.js +7 -0
  63. package/dist/components/input.js.map +1 -0
  64. package/dist/components/label.d.ts +5 -0
  65. package/dist/components/label.d.ts.map +1 -0
  66. package/dist/components/label.js +9 -0
  67. package/dist/components/label.js.map +1 -0
  68. package/dist/components/pagination.d.ts +17 -0
  69. package/dist/components/pagination.d.ts.map +1 -0
  70. package/dist/components/pagination.js +33 -0
  71. package/dist/components/pagination.js.map +1 -0
  72. package/dist/components/separator.d.ts +5 -0
  73. package/dist/components/separator.d.ts.map +1 -0
  74. package/dist/components/separator.js +9 -0
  75. package/dist/components/separator.js.map +1 -0
  76. package/dist/components/sonner.d.ts +4 -0
  77. package/dist/components/sonner.d.ts.map +1 -0
  78. package/dist/components/sonner.js +22 -0
  79. package/dist/components/sonner.js.map +1 -0
  80. package/dist/components/status-label.d.ts +10 -0
  81. package/dist/components/status-label.d.ts.map +1 -0
  82. package/dist/components/status-label.js +34 -0
  83. package/dist/components/status-label.js.map +1 -0
  84. package/dist/components/table.d.ts +11 -0
  85. package/dist/components/table.d.ts.map +1 -0
  86. package/dist/components/table.js +29 -0
  87. package/dist/components/table.js.map +1 -0
  88. package/dist/components/tabs.d.ts +8 -0
  89. package/dist/components/tabs.d.ts.map +1 -0
  90. package/dist/components/tabs.js +18 -0
  91. package/dist/components/tabs.js.map +1 -0
  92. package/dist/components/toggle-group.d.ts +12 -0
  93. package/dist/components/toggle-group.d.ts.map +1 -0
  94. package/dist/components/toggle-group.js +37 -0
  95. package/dist/components/toggle-group.js.map +1 -0
  96. package/dist/components/toggle.d.ts +11 -0
  97. package/dist/components/toggle.d.ts.map +1 -0
  98. package/dist/components/toggle.js +36 -0
  99. package/dist/components/toggle.js.map +1 -0
  100. package/dist/components/tooltip.d.ts +8 -0
  101. package/dist/components/tooltip.d.ts.map +1 -0
  102. package/dist/components/tooltip.js +18 -0
  103. package/dist/components/tooltip.js.map +1 -0
  104. package/dist/index.d.ts +4 -0
  105. package/dist/index.d.ts.map +1 -0
  106. package/dist/index.js +4 -0
  107. package/dist/index.js.map +1 -0
  108. package/dist/lib/utils.d.ts +3 -0
  109. package/dist/lib/utils.d.ts.map +1 -0
  110. package/dist/lib/utils.js +6 -0
  111. package/dist/lib/utils.js.map +1 -0
  112. package/dist/styles/globals.css +222 -0
  113. package/dist/tokens.d.ts +118 -0
  114. package/dist/tokens.d.ts.map +1 -0
  115. package/dist/tokens.js +63 -0
  116. package/dist/tokens.js.map +1 -0
  117. package/package.json +115 -0
package/README.md ADDED
@@ -0,0 +1,75 @@
1
+ # gold-on-frontend-common
2
+
3
+ Shared Gold On React components, Tailwind v4 design tokens, and frontend configuration.
4
+
5
+ ## Install
6
+
7
+ ```sh
8
+ npm install gold-on-frontend-common
9
+ ```
10
+
11
+ The package is public. Consuming projects do not need a token or custom `.npmrc`.
12
+
13
+ ## Components and styles
14
+
15
+ Import the shared stylesheet once in the application's global CSS:
16
+
17
+ ```css
18
+ @import "gold-on-frontend-common/styles.css";
19
+ ```
20
+
21
+ Use the components from the main entry point or a component subpath:
22
+
23
+ ```tsx
24
+ import { Button } from "gold-on-frontend-common";
25
+ import { Card } from "gold-on-frontend-common/components/card";
26
+ ```
27
+
28
+ JavaScript design tokens are available separately:
29
+
30
+ ```ts
31
+ import { colors, tokens } from "gold-on-frontend-common/tokens";
32
+ ```
33
+
34
+ ## Shared configuration
35
+
36
+ Extend the TypeScript configuration:
37
+
38
+ ```json
39
+ {
40
+ "extends": "gold-on-frontend-common/tsconfig/nextjs.json"
41
+ }
42
+ ```
43
+
44
+ Use the ESLint flat configuration:
45
+
46
+ ```js
47
+ import config from "gold-on-frontend-common/eslint/next-js";
48
+
49
+ export default config;
50
+ ```
51
+
52
+ The Next.js ESLint entry expects `next` to be installed in the consuming application.
53
+
54
+ ## Publish
55
+
56
+ 1. Update `version` in `package.json`.
57
+ 2. Commit and push the change.
58
+ 3. Create a GitHub Release, or run the `Publish package` workflow manually.
59
+
60
+ For the first GitHub Actions publish:
61
+
62
+ 1. Create an npm granular access token with read/write package permission and 2FA bypass enabled.
63
+ 2. Add it to the GitHub repository as the Actions secret `NPM_TOKEN`.
64
+ 3. Run the `Publish package` workflow.
65
+
66
+ Consumers never need this token. npm provenance is disabled because npm only supports GitHub
67
+ Actions provenance when the source repository is public.
68
+
69
+ For a local publish, authenticate with npm and run:
70
+
71
+ ```sh
72
+ npm login
73
+ npm run check
74
+ npm run publish:npm
75
+ ```
@@ -0,0 +1,13 @@
1
+ export const baseConfig = [
2
+ {
3
+ rules: {
4
+ "@typescript-eslint/no-explicit-any": "off"
5
+ },
6
+ settings: {
7
+ tailwindcss: {
8
+ callees: ["clsx", "cn", "cva"],
9
+ classRegex: "^(?:class|className)$"
10
+ }
11
+ }
12
+ }
13
+ ];
@@ -0,0 +1,27 @@
1
+ import nextVitals from "eslint-config-next/core-web-vitals";
2
+ import nextTs from "eslint-config-next/typescript";
3
+ import { defineConfig, globalIgnores } from "eslint/config";
4
+
5
+ import { baseConfig } from "./base.mjs";
6
+
7
+ export default defineConfig([
8
+ ...nextVitals,
9
+ ...nextTs,
10
+ ...baseConfig,
11
+ globalIgnores([
12
+ "**/.next/**",
13
+ "**/.turbo/**",
14
+ "**/out/**",
15
+ "**/build/**",
16
+ "**/dist/**",
17
+ "**/next-env.d.ts"
18
+ ]),
19
+ {
20
+ rules: {
21
+ "jsx-a11y/anchor-is-valid": [
22
+ "error",
23
+ { components: ["Link"], aspects: ["invalidHref", "preferButton"] }
24
+ ]
25
+ }
26
+ }
27
+ ]);
@@ -0,0 +1,10 @@
1
+ import nextTs from "eslint-config-next/typescript";
2
+ import { defineConfig, globalIgnores } from "eslint/config";
3
+
4
+ import { baseConfig } from "./base.mjs";
5
+
6
+ export default defineConfig([
7
+ ...nextTs,
8
+ ...baseConfig,
9
+ globalIgnores(["**/.turbo/**", "**/dist/**"])
10
+ ]);
@@ -0,0 +1,16 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/tsconfig",
3
+ "compilerOptions": {
4
+ "allowJs": true,
5
+ "esModuleInterop": true,
6
+ "isolatedModules": true,
7
+ "lib": ["dom", "dom.iterable", "esnext"],
8
+ "module": "esnext",
9
+ "moduleResolution": "bundler",
10
+ "noEmit": true,
11
+ "resolveJsonModule": true,
12
+ "skipLibCheck": true,
13
+ "strict": true,
14
+ "target": "ES2017"
15
+ }
16
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/tsconfig",
3
+ "extends": "./base.json",
4
+ "compilerOptions": {
5
+ "allowArbitraryExtensions": true,
6
+ "incremental": true,
7
+ "jsx": "react-jsx",
8
+ "plugins": [
9
+ {
10
+ "name": "next"
11
+ }
12
+ ]
13
+ }
14
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/tsconfig",
3
+ "extends": "./base.json",
4
+ "compilerOptions": {
5
+ "jsx": "react-jsx"
6
+ }
7
+ }
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ import { Accordion as AccordionPrimitive } from "radix-ui";
4
+ declare const accordionVariants: (props?: ({
5
+ variant?: "default" | "card" | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ declare function Accordion({ className, variant, ...props }: React.ComponentProps<typeof AccordionPrimitive.Root> & VariantProps<typeof accordionVariants>): React.JSX.Element;
8
+ declare function AccordionItem({ className, ...props }: React.ComponentProps<typeof AccordionPrimitive.Item>): React.JSX.Element;
9
+ declare function AccordionTrigger({ className, children, ...props }: React.ComponentProps<typeof AccordionPrimitive.Trigger>): React.JSX.Element;
10
+ declare function AccordionContent({ className, children, ...props }: React.ComponentProps<typeof AccordionPrimitive.Content>): React.JSX.Element;
11
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, accordionVariants };
12
+ //# sourceMappingURL=accordion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../src/components/accordion.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAI3D,QAAA,MAAM,iBAAiB;;8EAUrB,CAAC;AAEH,iBAAS,SAAS,CAAC,EACjB,SAAS,EACT,OAAO,EACP,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,OAAO,iBAAiB,CAAC,qBAS/F;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,qBAWtD;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,OAAO,CAAC,qBAyBzD;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,OAAO,CAAC,qBAiBzD;AAED,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,34 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { ChevronDownIcon, ChevronUpIcon } from "lucide-react";
4
+ import { cva } from "class-variance-authority";
5
+ import { Accordion as AccordionPrimitive } from "radix-ui";
6
+ import { cn } from "../lib/utils.js";
7
+ const accordionVariants = cva("flex w-full flex-col", {
8
+ variants: {
9
+ variant: {
10
+ default: "",
11
+ card: "gap-3 [&>[data-slot=accordion-item]]:rounded-2xl [&>[data-slot=accordion-item]]:border [&>[data-slot=accordion-item]]:border-transparent [&>[data-slot=accordion-item][data-state=open]]:border-border [&>[data-slot=accordion-item][data-state=open]]:bg-card [&>[data-slot=accordion-item][data-state=open]]:shadow-card"
12
+ }
13
+ },
14
+ defaultVariants: {
15
+ variant: "default"
16
+ }
17
+ });
18
+ function Accordion({ className, variant, ...props }) {
19
+ return (_jsx(AccordionPrimitive.Root, { "data-slot": "accordion", "data-variant": variant ?? "default", className: cn(accordionVariants({ variant, className })), ...props }));
20
+ }
21
+ function AccordionItem({ className, ...props }) {
22
+ return (_jsx(AccordionPrimitive.Item, { "data-slot": "accordion-item", className: cn("not-last:border-b data-[state=open]:border-b-transparent [[data-variant=card]>&]:px-4", className), ...props }));
23
+ }
24
+ function AccordionTrigger({ className, children, ...props }) {
25
+ return (_jsx(AccordionPrimitive.Header, { className: "flex", children: _jsxs(AccordionPrimitive.Trigger, { "data-slot": "accordion-trigger", className: cn(
26
+ // Changed text-left to text-start
27
+ // Changed ml-auto to ms-auto in the icon target
28
+ "group/accordion-trigger relative flex flex-1 items-center justify-between rounded-lg border border-transparent py-3 text-start text-sm font-semibold transition-all outline-none hover:text-primary-main focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring disabled:pointer-events-none disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ms-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground [[data-variant=card]_&]:min-h-16 [[data-variant=card]_&]:px-2", className), ...props, children: [children, _jsx(ChevronDownIcon, { "data-slot": "accordion-trigger-icon", className: "pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden" }), _jsx(ChevronUpIcon, { "data-slot": "accordion-trigger-icon", className: "pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline" })] }) }));
29
+ }
30
+ function AccordionContent({ className, children, ...props }) {
31
+ return (_jsx(AccordionPrimitive.Content, { "data-slot": "accordion-content", className: "overflow-hidden text-sm data-closed:animate-accordion-up data-open:animate-accordion-down", ...props, children: _jsx("div", { className: cn("h-(--radix-accordion-content-height) pt-0 pb-3 text-ink-secondary [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4 [[data-variant=card]_&]:px-2 [[data-variant=card]_&]:pb-5", className), children: children }) }));
32
+ }
33
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, accordionVariants };
34
+ //# sourceMappingURL=accordion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion.js","sourceRoot":"","sources":["../../src/components/accordion.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAIb,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE3D,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,iBAAiB,GAAG,GAAG,CAAC,sBAAsB,EAAE;IACpD,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,4TAA4T;SACnU;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;KACnB;CACF,CAAC,CAAC;AAEH,SAAS,SAAS,CAAC,EACjB,SAAS,EACT,OAAO,EACP,GAAG,KAAK,EACsF;IAC9F,OAAO,CACL,KAAC,kBAAkB,CAAC,IAAI,iBACZ,WAAW,kBACP,OAAO,IAAI,SAAS,EAClC,SAAS,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,KACpD,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,EACrB,SAAS,EACT,GAAG,KAAK,EAC6C;IACrD,OAAO,CACL,KAAC,kBAAkB,CAAC,IAAI,iBACZ,gBAAgB,EAC1B,SAAS,EAAE,EAAE,CACX,uFAAuF,EACvF,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACgD;IACxD,OAAO,CACL,KAAC,kBAAkB,CAAC,MAAM,IAAC,SAAS,EAAC,MAAM,YACzC,MAAC,kBAAkB,CAAC,OAAO,iBACf,mBAAmB,EAC7B,SAAS,EAAE,EAAE;YACX,kCAAkC;YAClC,gDAAgD;YAChD,0jBAA0jB,EAC1jB,SAAS,CACV,KACG,KAAK,aAER,QAAQ,EACT,KAAC,eAAe,iBACJ,wBAAwB,EAClC,SAAS,EAAC,2EAA2E,GACrF,EACF,KAAC,aAAa,iBACF,wBAAwB,EAClC,SAAS,EAAC,kFAAkF,GAC5F,IACyB,GACH,CAC7B,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACgD;IACxD,OAAO,CACL,KAAC,kBAAkB,CAAC,OAAO,iBACf,mBAAmB,EAC7B,SAAS,EAAC,2FAA2F,KACjG,KAAK,YAET,cACE,SAAS,EAAE,EAAE,CACX,8NAA8N,EAC9N,SAAS,CACV,YAEA,QAAQ,GACL,GACqB,CAC9B,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,13 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const alertVariants: (props?: ({
4
+ color?: "info" | "success" | "warning" | "error" | null | undefined;
5
+ variant?: "soft" | "filled" | null | undefined;
6
+ disabled?: boolean | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ declare function Alert({ className, color, variant, disabled, ...props }: React.ComponentProps<"div"> & VariantProps<typeof alertVariants>): React.JSX.Element;
9
+ declare function AlertTitle({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
10
+ declare function AlertDescription({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
11
+ declare function AlertAction({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
12
+ export { Alert, AlertAction, AlertDescription, AlertTitle, alertVariants };
13
+ //# sourceMappingURL=alert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../src/components/alert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,aAAa;;;;8EAyClB,CAAC;AAEF,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,KAAK,EACL,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,qBAUlE;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQvE;AAED,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQ7E;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQxE;AAED,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cva } from "class-variance-authority";
3
+ import { cn } from "../lib/utils.js";
4
+ const alertVariants = cva("relative flex w-full items-center gap-3 rounded-lg px-4 py-3 text-sm font-medium [&>svg]:size-5 [&>svg]:shrink-0 [&>svg]:fill-current", {
5
+ variants: {
6
+ color: {
7
+ info: "[--alert-icon:var(--color-info-light)] [--alert-light:var(--color-info-lighter)] [--alert-main:var(--color-info-main)] [--alert-text:var(--color-info-dark)]",
8
+ success: "[--alert-icon:var(--color-success-light)] [--alert-light:var(--color-success-lighter)] [--alert-main:var(--color-success-main)] [--alert-text:var(--color-success-dark)]",
9
+ warning: "[--alert-icon:var(--color-warning-light)] [--alert-light:var(--color-warning-lighter)] [--alert-main:var(--color-warning-main)] [--alert-text:var(--color-warning-dark)]",
10
+ error: "[--alert-icon:var(--color-error-light)] [--alert-light:var(--color-error-lighter)] [--alert-main:var(--color-error-main)] [--alert-text:var(--color-error-dark)]"
11
+ },
12
+ variant: {
13
+ soft: "bg-[var(--alert-light)] text-[var(--alert-text)] [&>svg]:fill-[var(--alert-icon)] [&>svg]:stroke-[var(--alert-text)]",
14
+ filled: "bg-[var(--alert-main)] text-[var(--alert-contrast)] [&>svg]:fill-[var(--alert-contrast)] [&>svg]:stroke-[var(--alert-main)]"
15
+ },
16
+ disabled: {
17
+ true: "pointer-events-none opacity-48",
18
+ false: ""
19
+ }
20
+ },
21
+ compoundVariants: [
22
+ {
23
+ color: ["info", "success", "error"],
24
+ variant: "filled",
25
+ className: "[--alert-contrast:#fff]"
26
+ },
27
+ {
28
+ color: "warning",
29
+ variant: "filled",
30
+ className: "[--alert-contrast:#151104]"
31
+ }
32
+ ],
33
+ defaultVariants: {
34
+ color: "info",
35
+ variant: "soft",
36
+ disabled: false
37
+ }
38
+ });
39
+ function Alert({ className, color, variant, disabled, ...props }) {
40
+ return (_jsx("div", { "data-slot": "alert", role: "alert", "aria-disabled": disabled || undefined, className: cn(alertVariants({ color, variant, disabled, className })), ...props }));
41
+ }
42
+ function AlertTitle({ className, ...props }) {
43
+ return (_jsx("div", { "data-slot": "alert-title", className: cn("min-w-0 flex-1 font-semibold", className), ...props }));
44
+ }
45
+ function AlertDescription({ className, ...props }) {
46
+ return (_jsx("div", { "data-slot": "alert-description", className: cn("min-w-0 flex-1 leading-relaxed", className), ...props }));
47
+ }
48
+ function AlertAction({ className, ...props }) {
49
+ return (_jsx("div", { "data-slot": "alert-action", className: cn("ms-auto flex shrink-0 items-center", className), ...props }));
50
+ }
51
+ export { Alert, AlertAction, AlertDescription, AlertTitle, alertVariants };
52
+ //# sourceMappingURL=alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert.js","sourceRoot":"","sources":["../../src/components/alert.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,aAAa,GAAG,GAAG,CACvB,uIAAuI,EACvI;IACE,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,IAAI,EAAE,8JAA8J;YACpK,OAAO,EACL,0KAA0K;YAC5K,OAAO,EACL,0KAA0K;YAC5K,KAAK,EACH,kKAAkK;SACrK;QACD,OAAO,EAAE;YACP,IAAI,EAAE,sHAAsH;YAC5H,MAAM,EACJ,6HAA6H;SAChI;QACD,QAAQ,EAAE;YACR,IAAI,EAAE,gCAAgC;YACtC,KAAK,EAAE,EAAE;SACV;KACF;IACD,gBAAgB,EAAE;QAChB;YACE,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC;YACnC,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,yBAAyB;SACrC;QACD;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,4BAA4B;SACxC;KACF;IACD,eAAe,EAAE;QACf,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,KAAK;KAChB;CACF,CACF,CAAC;AAEF,SAAS,KAAK,CAAC,EACb,SAAS,EACT,KAAK,EACL,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,EACyD;IACjE,OAAO,CACL,2BACY,OAAO,EACjB,IAAI,EAAC,OAAO,mBACG,QAAQ,IAAI,SAAS,EACpC,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,KACjE,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,8BAA8B,EAAE,SAAS,CAAC,KACpD,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IAC5E,OAAO,CACL,2BACY,mBAAmB,EAC7B,SAAS,EAAE,EAAE,CAAC,gCAAgC,EAAE,SAAS,CAAC,KACtD,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B;IACvE,OAAO,CACL,2BACY,cAAc,EACxB,SAAS,EAAE,EAAE,CAAC,oCAAoC,EAAE,SAAS,CAAC,KAC1D,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ import { Avatar as AvatarPrimitive } from "radix-ui";
4
+ declare const avatarVariants: (props?: ({
5
+ shape?: "circle" | "rounded" | "square" | null | undefined;
6
+ size?: "default" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ declare function Avatar({ className, shape, size, ...props }: React.ComponentProps<typeof AvatarPrimitive.Root> & VariantProps<typeof avatarVariants>): React.JSX.Element;
9
+ declare function AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>): React.JSX.Element;
10
+ declare function AvatarFallback({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Fallback>): React.JSX.Element;
11
+ export { Avatar, AvatarFallback, AvatarImage, avatarVariants };
12
+ //# sourceMappingURL=avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../src/components/avatar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAIrD,QAAA,MAAM,cAAc;;;8EAsBlB,CAAC;AAEH,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,KAAK,EACL,IAAI,EACJ,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,qBAQzF;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,qBAQ/F;AAED,iBAAS,cAAc,CAAC,EACtB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,QAAQ,CAAC,qBAWvD;AAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,39 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { cva } from "class-variance-authority";
4
+ import { Avatar as AvatarPrimitive } from "radix-ui";
5
+ import { cn } from "../lib/utils.js";
6
+ const avatarVariants = cva("relative flex shrink-0 overflow-hidden bg-muted", {
7
+ variants: {
8
+ shape: {
9
+ circle: "rounded-full",
10
+ rounded: "rounded-xl",
11
+ square: "rounded-none"
12
+ },
13
+ size: {
14
+ xs: "size-6",
15
+ sm: "size-8",
16
+ default: "size-10",
17
+ md: "size-12",
18
+ lg: "size-16",
19
+ xl: "size-20",
20
+ "2xl": "size-24",
21
+ "3xl": "size-32"
22
+ }
23
+ },
24
+ defaultVariants: {
25
+ shape: "circle",
26
+ size: "default"
27
+ }
28
+ });
29
+ function Avatar({ className, shape, size, ...props }) {
30
+ return (_jsx(AvatarPrimitive.Root, { "data-slot": "avatar", className: cn(avatarVariants({ shape, size, className })), ...props }));
31
+ }
32
+ function AvatarImage({ className, ...props }) {
33
+ return (_jsx(AvatarPrimitive.Image, { "data-slot": "avatar-image", className: cn("aspect-square size-full object-cover", className), ...props }));
34
+ }
35
+ function AvatarFallback({ className, ...props }) {
36
+ return (_jsx(AvatarPrimitive.Fallback, { "data-slot": "avatar-fallback", className: cn("flex size-full items-center justify-center bg-primary-lighter font-semibold text-primary-main", className), ...props }));
37
+ }
38
+ export { Avatar, AvatarFallback, AvatarImage, avatarVariants };
39
+ //# sourceMappingURL=avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../src/components/avatar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAIb,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAErD,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,cAAc,GAAG,GAAG,CAAC,iDAAiD,EAAE;IAC5E,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,YAAY;YACrB,MAAM,EAAE,cAAc;SACvB;QACD,IAAI,EAAE;YACJ,EAAE,EAAE,QAAQ;YACZ,EAAE,EAAE,QAAQ;YACZ,OAAO,EAAE,SAAS;YAClB,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,SAAS;YACb,KAAK,EAAE,SAAS;YAChB,KAAK,EAAE,SAAS;SACjB;KACF;IACD,eAAe,EAAE;QACf,KAAK,EAAE,QAAQ;QACf,IAAI,EAAE,SAAS;KAChB;CACF,CAAC,CAAC;AAEH,SAAS,MAAM,CAAC,EACd,SAAS,EACT,KAAK,EACL,IAAI,EACJ,GAAG,KAAK,EACgF;IACxF,OAAO,CACL,KAAC,eAAe,CAAC,IAAI,iBACT,QAAQ,EAClB,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KACrD,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,sCAAsC,EAAE,SAAS,CAAC,KAC5D,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,CACX,+FAA+F,EAC/F,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const badgeVariants: (props?: ({
4
+ color?: "info" | "success" | "warning" | "error" | "neutral" | "primary" | "secondary" | null | undefined;
5
+ variant?: "default" | "soft" | "outline" | null | undefined;
6
+ size?: "default" | "sm" | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ declare function Badge({ className, color, variant, size, asChild, ...props }: React.ComponentProps<"span"> & VariantProps<typeof badgeVariants> & {
9
+ asChild?: boolean;
10
+ }): React.JSX.Element;
11
+ export { Badge, badgeVariants };
12
+ //# sourceMappingURL=badge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../src/components/badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,aAAa;;;;8EAmClB,CAAC;AAEF,iBAAS,KAAK,CAAC,EACb,SAAS,EACT,KAAK,EACL,OAAO,EACP,IAAI,EACJ,OAAe,EACf,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,GAC7B,YAAY,CAAC,OAAO,aAAa,CAAC,GAAG;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,qBAUF;AAED,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,37 @@
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 { cn } from "../lib/utils.js";
5
+ const badgeVariants = cva("inline-flex w-fit shrink-0 items-center justify-center gap-1 font-medium whitespace-nowrap transition-colors disabled:pointer-events-none disabled:opacity-48 [&>svg]:size-3.5 [&>svg]:shrink-0", {
6
+ variants: {
7
+ color: {
8
+ neutral: "[--badge-contrast:#fff] [--badge-main:var(--color-primary-darker)] [--badge-text:var(--color-primary-darker)]",
9
+ primary: "[--badge-contrast:#fff] [--badge-main:var(--color-primary-main)] [--badge-text:var(--color-primary-main)]",
10
+ secondary: "[--badge-contrast:#151104] [--badge-main:var(--color-secondary-main)] [--badge-text:var(--color-secondary-main)]",
11
+ info: "[--badge-contrast:#fff] [--badge-main:var(--color-info-main)] [--badge-text:var(--color-info-main)]",
12
+ success: "[--badge-contrast:#fff] [--badge-main:var(--color-success-main)] [--badge-text:var(--color-success-main)]",
13
+ warning: "[--badge-contrast:#151104] [--badge-main:var(--color-warning-main)] [--badge-text:var(--color-warning-main)]",
14
+ error: "[--badge-contrast:#fff] [--badge-main:var(--color-error-main)] [--badge-text:var(--color-error-main)]"
15
+ },
16
+ variant: {
17
+ default: "bg-[var(--badge-main)] text-[var(--badge-contrast)]",
18
+ outline: "border border-[var(--badge-main)] bg-transparent text-[var(--badge-text)]",
19
+ soft: "bg-[color-mix(in_srgb,var(--badge-main)_24%,transparent)] text-[var(--badge-text)]"
20
+ },
21
+ size: {
22
+ sm: "h-6 rounded-md px-2 text-xs",
23
+ default: "h-8 rounded-lg px-3 text-sm"
24
+ }
25
+ },
26
+ defaultVariants: {
27
+ color: "neutral",
28
+ variant: "default",
29
+ size: "default"
30
+ }
31
+ });
32
+ function Badge({ className, color, variant, size, asChild = false, ...props }) {
33
+ const Comp = asChild ? Slot : "span";
34
+ return (_jsx(Comp, { "data-slot": "badge", className: cn(badgeVariants({ color, variant, size, className })), ...props }));
35
+ }
36
+ export { Badge, badgeVariants };
37
+ //# sourceMappingURL=badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge.js","sourceRoot":"","sources":["../../src/components/badge.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,aAAa,GAAG,GAAG,CACvB,iMAAiM,EACjM;IACE,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,OAAO,EACL,+GAA+G;YACjH,OAAO,EACL,2GAA2G;YAC7G,SAAS,EACP,kHAAkH;YACpH,IAAI,EAAE,qGAAqG;YAC3G,OAAO,EACL,2GAA2G;YAC7G,OAAO,EACL,8GAA8G;YAChH,KAAK,EACH,uGAAuG;SAC1G;QACD,OAAO,EAAE;YACP,OAAO,EAAE,qDAAqD;YAC9D,OAAO,EAAE,2EAA2E;YACpF,IAAI,EAAE,oFAAoF;SAC3F;QACD,IAAI,EAAE;YACJ,EAAE,EAAE,6BAA6B;YACjC,OAAO,EAAE,6BAA6B;SACvC;KACF;IACD,eAAe,EAAE;QACf,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAC;AAEF,SAAS,KAAK,CAAC,EACb,SAAS,EACT,KAAK,EACL,OAAO,EACP,IAAI,EACJ,OAAO,GAAG,KAAK,EACf,GAAG,KAAK,EAIP;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;IAErC,OAAO,CACL,KAAC,IAAI,iBACO,OAAO,EACjB,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAC7D,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">): React.JSX.Element;
3
+ declare function BreadcrumbList({ className, ...props }: React.ComponentProps<"ol">): React.JSX.Element;
4
+ declare function BreadcrumbItem({ className, ...props }: React.ComponentProps<"li">): React.JSX.Element;
5
+ declare function BreadcrumbLink({ asChild, className, ...props }: React.ComponentProps<"a"> & {
6
+ asChild?: boolean;
7
+ }): React.JSX.Element;
8
+ declare function BreadcrumbPage({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
9
+ declare function BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<"li">): React.JSX.Element;
10
+ declare function BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<"span">): React.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":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,iBAAS,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAE5D;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,qBAW1E;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,qBAQ1E;AAED,iBAAS,cAAc,CAAC,EACtB,OAAe,EACf,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,qBAUnD;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,qBAW5E;AAED,iBAAS,mBAAmB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,qBAYzF;AAED,iBAAS,kBAAkB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,qBAahF;AAED,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACpB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ChevronRightIcon, MoreHorizontalIcon } from "lucide-react";
3
+ import { Slot } from "@radix-ui/react-slot";
4
+ import { cn } from "../lib/utils.js";
5
+ function Breadcrumb({ ...props }) {
6
+ return _jsx("nav", { "data-slot": "breadcrumb", "aria-label": "breadcrumb", ...props });
7
+ }
8
+ function BreadcrumbList({ className, ...props }) {
9
+ return (_jsx("ol", { "data-slot": "breadcrumb-list", className: cn("flex flex-wrap items-center gap-2 text-sm text-ink-secondary sm:gap-2.5", className), ...props }));
10
+ }
11
+ function BreadcrumbItem({ className, ...props }) {
12
+ return (_jsx("li", { "data-slot": "breadcrumb-item", className: cn("inline-flex items-center gap-2", className), ...props }));
13
+ }
14
+ function BreadcrumbLink({ asChild = false, className, ...props }) {
15
+ const Comp = asChild ? Slot : "a";
16
+ return (_jsx(Comp, { "data-slot": "breadcrumb-link", className: cn("text-ink-primary transition-colors hover:text-primary-main", className), ...props }));
17
+ }
18
+ function BreadcrumbPage({ className, ...props }) {
19
+ return (_jsx("span", { "data-slot": "breadcrumb-page", role: "link", "aria-current": "page", "aria-disabled": "true", className: cn("font-medium text-ink-secondary", className), ...props }));
20
+ }
21
+ function BreadcrumbSeparator({ children, className, ...props }) {
22
+ return (_jsx("li", { "data-slot": "breadcrumb-separator", role: "presentation", "aria-hidden": "true", className: cn("text-ink-disabled [&>svg]:size-3.5 rtl:[&>svg]:rotate-180", className), ...props, children: children ?? _jsx(ChevronRightIcon, {}) }));
23
+ }
24
+ function BreadcrumbEllipsis({ className, ...props }) {
25
+ return (_jsxs("span", { "data-slot": "breadcrumb-ellipsis", role: "presentation", "aria-hidden": "true", className: cn("flex size-8 items-center justify-center", className), ...props, children: [_jsx(MoreHorizontalIcon, { className: "size-4" }), _jsx("span", { className: "sr-only", children: "More" })] }));
26
+ }
27
+ export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };
28
+ //# sourceMappingURL=breadcrumb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumb.js","sourceRoot":"","sources":["../../src/components/breadcrumb.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAE5C,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,SAAS,UAAU,CAAC,EAAE,GAAG,KAAK,EAA+B;IAC3D,OAAO,2BAAe,YAAY,gBAAY,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,yEAAyE,EACzE,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA8B;IACzE,OAAO,CACL,0BACY,iBAAiB,EAC3B,SAAS,EAAE,EAAE,CAAC,gCAAgC,EAAE,SAAS,CAAC,KACtD,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,EACtB,OAAO,GAAG,KAAK,EACf,SAAS,EACT,GAAG,KAAK,EAC0C;IAClD,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,4DAA4D,EAAE,SAAS,CAAC,KAClF,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,kBACE,MAAM,mBACL,MAAM,EACpB,SAAS,EAAE,EAAE,CAAC,gCAAgC,EAAE,SAAS,CAAC,KACtD,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,2DAA2D,EAAE,SAAS,CAAC,KACjF,KAAK,YAER,QAAQ,IAAI,KAAC,gBAAgB,KAAG,GAC9B,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,kBAAkB,IAAC,SAAS,EAAC,QAAQ,GAAG,EACzC,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,EACpB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const buttonGroupVariants: (props?: ({
4
+ orientation?: "horizontal" | "vertical" | null | undefined;
5
+ size?: "default" | "sm" | "lg" | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ declare function ButtonGroup({ className, orientation, size, role, ...props }: React.ComponentProps<"div"> & VariantProps<typeof buttonGroupVariants>): React.JSX.Element;
8
+ export { ButtonGroup, buttonGroupVariants };
9
+ //# sourceMappingURL=button-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-group.d.ts","sourceRoot":"","sources":["../../src/components/button-group.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,QAAA,MAAM,mBAAmB;;;8EAsBxB,CAAC;AAEF,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,WAAW,EACX,IAAI,EACJ,IAAc,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,OAAO,mBAAmB,CAAC,qBAUxE;AAED,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cva } from "class-variance-authority";
3
+ import { cn } from "../lib/utils.js";
4
+ const buttonGroupVariants = cva("inline-flex w-fit rounded-lg [&>[data-slot=button]]:rounded-none [&>[data-slot=button]]:shadow-none", {
5
+ variants: {
6
+ orientation: {
7
+ horizontal: "flex-row [&>[data-slot=button]+[data-slot=button]:not([data-variant=outline])]:border-s [&>[data-slot=button]+[data-slot=button]:not([data-variant=outline])]:border-s-black/15 [&>[data-slot=button]+[data-slot=button][data-variant=outline]]:-ms-px [&>[data-slot=button]:first-child]:rounded-s-lg [&>[data-slot=button]:last-child]:rounded-e-lg",
8
+ vertical: "flex-col [&>[data-slot=button]+[data-slot=button]:not([data-variant=outline])]:border-t [&>[data-slot=button]+[data-slot=button]:not([data-variant=outline])]:border-t-black/15 [&>[data-slot=button]+[data-slot=button][data-variant=outline]]:-mt-px [&>[data-slot=button]:first-child]:rounded-t-lg [&>[data-slot=button]:last-child]:rounded-b-lg"
9
+ },
10
+ size: {
11
+ sm: "[&>[data-slot=button]]:h-[30px] [&>[data-slot=button]]:px-3 [&>[data-slot=button]]:text-[13px]",
12
+ default: "[&>[data-slot=button]]:h-9 [&>[data-slot=button]]:px-4 [&>[data-slot=button]]:text-sm",
13
+ lg: "[&>[data-slot=button]]:h-12 [&>[data-slot=button]]:px-5 [&>[data-slot=button]]:text-base"
14
+ }
15
+ },
16
+ defaultVariants: {
17
+ orientation: "horizontal",
18
+ size: "default"
19
+ }
20
+ });
21
+ function ButtonGroup({ className, orientation, size, role = "group", ...props }) {
22
+ return (_jsx("div", { "data-slot": "button-group", "data-orientation": orientation, role: role, className: cn(buttonGroupVariants({ orientation, size, className })), ...props }));
23
+ }
24
+ export { ButtonGroup, buttonGroupVariants };
25
+ //# sourceMappingURL=button-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-group.js","sourceRoot":"","sources":["../../src/components/button-group.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,mBAAmB,GAAG,GAAG,CAC7B,qGAAqG,EACrG;IACE,QAAQ,EAAE;QACR,WAAW,EAAE;YACX,UAAU,EACR,uVAAuV;YACzV,QAAQ,EACN,uVAAuV;SAC1V;QACD,IAAI,EAAE;YACJ,EAAE,EAAE,gGAAgG;YACpG,OAAO,EACL,uFAAuF;YACzF,EAAE,EAAE,0FAA0F;SAC/F;KACF;IACD,eAAe,EAAE;QACf,WAAW,EAAE,YAAY;QACzB,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAC;AAEF,SAAS,WAAW,CAAC,EACnB,SAAS,EACT,WAAW,EACX,IAAI,EACJ,IAAI,GAAG,OAAO,EACd,GAAG,KAAK,EAC+D;IACvE,OAAO,CACL,2BACY,cAAc,sBACN,WAAW,EAC7B,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAChE,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ declare const buttonVariants: (props?: ({
4
+ color?: "info" | "success" | "warning" | "error" | "primary" | "secondary" | null | undefined;
5
+ variant?: "default" | "link" | "text" | "soft" | "outline" | "contained" | "outlined" | "ghost" | null | undefined;
6
+ size?: "default" | "sm" | "lg" | "icon" | "icon-sm" | "icon-lg" | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ declare function Button({ className, color, variant, size, asChild, ...props }: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
9
+ asChild?: boolean;
10
+ }): React.JSX.Element;
11
+ export { Button, buttonVariants };
12
+ //# sourceMappingURL=button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../src/components/button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AASlE,QAAA,MAAM,cAAc;;;;8EAkDnB,CAAC;AAEF,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,KAAK,EACL,OAAO,EACP,IAAI,EACJ,OAAe,EACf,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAC/B,YAAY,CAAC,OAAO,cAAc,CAAC,GAAG;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,qBAWF;AAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,48 @@
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 { cn } from "../lib/utils.js";
5
+ const luxuryButtonEffect = "relative isolate overflow-hidden duration-700 ease-out hover:z-10 hover:scale-[1.02] " +
6
+ "before:pointer-events-none before:absolute before:inset-0 before:-translate-x-full before:bg-linear-to-r before:from-transparent before:via-white/20 before:to-transparent before:content-[''] before:transition-transform before:duration-[1.2s] before:ease-in-out hover:before:translate-x-full " +
7
+ "disabled:hover:scale-100 disabled:hover:before:-translate-x-full";
8
+ const buttonVariants = cva(cn("inline-flex shrink-0 items-center justify-center gap-2 rounded-lg font-semibold whitespace-nowrap transition-[background-color,border-color,color,box-shadow,transform] outline-none focus-visible:ring-[3px] focus-visible:ring-[color-mix(in_srgb,var(--button-main)_24%,transparent)] disabled:pointer-events-none disabled:border-action-active/24 disabled:bg-action-active/24 disabled:text-action-active/80 disabled:shadow-none aria-invalid:border-error-main aria-invalid:ring-error-main/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", luxuryButtonEffect), {
9
+ variants: {
10
+ color: {
11
+ primary: "[--button-contrast:#fff] [--button-dark:var(--color-primary-dark)] [--button-main:var(--color-primary-main)]",
12
+ secondary: "[--button-contrast:#151104] [--button-dark:var(--color-secondary-dark)] [--button-main:var(--color-secondary-main)]",
13
+ info: "[--button-contrast:#fff] [--button-dark:var(--color-info-dark)] [--button-main:var(--color-info-main)]",
14
+ success: "[--button-contrast:#fff] [--button-dark:var(--color-success-dark)] [--button-main:var(--color-success-main)]",
15
+ warning: "[--button-contrast:#151104] [--button-dark:var(--color-warning-dark)] [--button-main:var(--color-warning-main)]",
16
+ error: "[--button-contrast:#fff] [--button-dark:var(--color-error-dark)] [--button-main:var(--color-error-main)]"
17
+ },
18
+ variant: {
19
+ default: "bg-[var(--button-main)] text-[var(--button-contrast)] hover:bg-[var(--button-dark)] hover:shadow-[0_8px_16px_color-mix(in_srgb,var(--button-main)_32%,transparent)]",
20
+ contained: "bg-[var(--button-main)] text-[var(--button-contrast)] hover:bg-[var(--button-dark)] hover:shadow-[0_8px_16px_color-mix(in_srgb,var(--button-main)_32%,transparent)]",
21
+ outlined: "border border-[var(--button-main)] bg-transparent text-[var(--button-main)] hover:bg-[color-mix(in_srgb,var(--button-main)_8%,transparent)]",
22
+ text: "bg-transparent text-[var(--button-main)] hover:bg-[color-mix(in_srgb,var(--button-main)_8%,transparent)]",
23
+ soft: "bg-[color-mix(in_srgb,var(--button-main)_16%,transparent)] text-[var(--button-main)] hover:bg-[color-mix(in_srgb,var(--button-main)_24%,transparent)]",
24
+ outline: "border border-[var(--button-main)] bg-transparent text-[var(--button-main)] hover:bg-[color-mix(in_srgb,var(--button-main)_8%,transparent)]",
25
+ ghost: "bg-transparent text-[var(--button-main)] hover:bg-[color-mix(in_srgb,var(--button-main)_8%,transparent)]",
26
+ link: "h-auto bg-transparent p-0 text-[var(--button-main)] underline-offset-4 hover:underline"
27
+ },
28
+ size: {
29
+ default: "h-9 px-4 text-sm has-[>svg]:px-3",
30
+ sm: "h-[30px] gap-1.5 px-3 text-[13px] has-[>svg]:px-2.5",
31
+ lg: "h-12 px-5 text-base has-[>svg]:px-4",
32
+ icon: "size-9",
33
+ "icon-sm": "size-[30px]",
34
+ "icon-lg": "size-12"
35
+ }
36
+ },
37
+ defaultVariants: {
38
+ color: "primary",
39
+ variant: "default",
40
+ size: "default"
41
+ }
42
+ });
43
+ function Button({ className, color, variant, size, asChild = false, ...props }) {
44
+ const Comp = asChild ? Slot : "button";
45
+ return (_jsx(Comp, { "data-slot": "button", "data-variant": variant ?? "default", className: cn(buttonVariants({ color, variant, size, className })), ...props }));
46
+ }
47
+ export { Button, buttonVariants };
48
+ //# sourceMappingURL=button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/components/button.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,MAAM,kBAAkB,GACtB,uFAAuF;IACvF,qSAAqS;IACrS,kEAAkE,CAAC;AAErE,MAAM,cAAc,GAAG,GAAG,CACxB,EAAE,CACA,0jBAA0jB,EAC1jB,kBAAkB,CACnB,EACD;IACE,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,OAAO,EACL,8GAA8G;YAChH,SAAS,EACP,qHAAqH;YACvH,IAAI,EAAE,wGAAwG;YAC9G,OAAO,EACL,8GAA8G;YAChH,OAAO,EACL,iHAAiH;YACnH,KAAK,EACH,0GAA0G;SAC7G;QACD,OAAO,EAAE;YACP,OAAO,EACL,qKAAqK;YACvK,SAAS,EACP,qKAAqK;YACvK,QAAQ,EACN,6IAA6I;YAC/I,IAAI,EAAE,0GAA0G;YAChH,IAAI,EAAE,uJAAuJ;YAC7J,OAAO,EACL,6IAA6I;YAC/I,KAAK,EACH,0GAA0G;YAC5G,IAAI,EAAE,wFAAwF;SAC/F;QACD,IAAI,EAAE;YACJ,OAAO,EAAE,kCAAkC;YAC3C,EAAE,EAAE,qDAAqD;YACzD,EAAE,EAAE,qCAAqC;YACzC,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,aAAa;YACxB,SAAS,EAAE,SAAS;SACrB;KACF;IACD,eAAe,EAAE;QACf,KAAK,EAAE,SAAS;QAChB,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,SAAS;KAChB;CACF,CACF,CAAC;AAEF,SAAS,MAAM,CAAC,EACd,SAAS,EACT,KAAK,EACL,OAAO,EACP,IAAI,EACJ,OAAO,GAAG,KAAK,EACf,GAAG,KAAK,EAIP;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEvC,OAAO,CACL,KAAC,IAAI,iBACO,QAAQ,kBACJ,OAAO,IAAI,SAAS,EAClC,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAC9D,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC"}