@scouterna/ui-react 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # Scouterna UI
2
+
3
+ Read the docs at https://scouterna.github.io/ui
@@ -0,0 +1,18 @@
1
+ import { type VariantProps } from "class-variance-authority";
2
+ import "../../style.css";
3
+ declare const buttonVariants: (props?: ({
4
+ color?: "blue" | "orange" | "red" | "trackergreen" | "discovererblue" | "adventurerorange" | "challengerpink" | "roveryellow" | null | undefined;
5
+ variant?: "contained" | "text" | "outlined" | null | undefined;
6
+ size?: "medium" | "small" | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ export type ButtonProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "color"> & VariantProps<typeof buttonVariants> & {
9
+ asChild?: boolean;
10
+ };
11
+ declare const Button: import("react").ForwardRefExoticComponent<Omit<import("react").ButtonHTMLAttributes<HTMLButtonElement>, "color"> & VariantProps<(props?: ({
12
+ color?: "blue" | "orange" | "red" | "trackergreen" | "discovererblue" | "adventurerorange" | "challengerpink" | "roveryellow" | null | undefined;
13
+ variant?: "contained" | "text" | "outlined" | null | undefined;
14
+ size?: "medium" | "small" | null | undefined;
15
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string> & {
16
+ asChild?: boolean;
17
+ } & import("react").RefAttributes<HTMLButtonElement>>;
18
+ export { Button };
@@ -0,0 +1,146 @@
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 { forwardRef } from "react";
5
+ import { cn } from "../../lib/utils.js";
6
+ import "../../style.css";
7
+ const buttonVariants = cva(`
8
+ flex items-center justify-center
9
+ cursor-pointer
10
+ border border-transparent
11
+ ring-offset-2
12
+ leading-none font-sans font-medium
13
+ disabled:opacity-40
14
+ `, {
15
+ variants: {
16
+ color: {
17
+ blue: `
18
+ [--btn-text:var(--color-white)]
19
+ [--btn-border:var(--color-blue)]
20
+ [--btn-bg:var(--color-blue)]
21
+ [--btn-bg-hover:var(--color-blue-hover)]
22
+ [--btn-bg-active:var(--color-blue-active)]
23
+
24
+ [--btn-text-border:var(--color-blue-600)]
25
+ [--btn-bg-text-hover:var(--color-bluegray-100)]
26
+ [--btn-bg-text-active:var(--color-bluegray-200)]
27
+ `,
28
+ orange: `
29
+ [--btn-text:var(--color-white)]
30
+ [--btn-border:var(--color-orange)]
31
+ [--btn-bg:var(--color-orange)]
32
+ [--btn-bg-hover:var(--color-orange-hover)]
33
+ [--btn-bg-active:var(--color-orange-active)]
34
+
35
+ [--btn-text-border:var(--color-orange)]
36
+ [--btn-bg-text-hover:var(--color-orange-100)]
37
+ [--btn-bg-text-active:var(--color-orange-200)]
38
+ `,
39
+ red: `
40
+ [--btn-text:var(--color-white)]
41
+ [--btn-border:var(--color-red)]
42
+ [--btn-bg:var(--color-red)]
43
+ [--btn-bg-hover:var(--color-red-hover)]
44
+ [--btn-bg-active:var(--color-red-active)]
45
+
46
+ [--btn-text-border:var(--color-red)]
47
+ [--btn-bg-text-hover:var(--color-red-100)]
48
+ [--btn-bg-text-active:var(--color-red-200)]
49
+ `,
50
+ trackergreen: `
51
+ [--btn-text:var(--color-white)]
52
+ [--btn-border:var(--color-trackergreen)]
53
+ [--btn-bg:var(--color-trackergreen)]
54
+ [--btn-bg-hover:var(--color-trackergreen-hover)]
55
+ [--btn-bg-active:var(--color-trackergreen-active)]
56
+
57
+ [--btn-text-border:var(--color-trackergreen)]
58
+ [--btn-bg-text-hover:var(--color-trackergreen-100)]
59
+ [--btn-bg-text-active:var(--color-trackergreen-200)]
60
+ `,
61
+ discovererblue: `
62
+ [--btn-text:var(--color-white)]
63
+ [--btn-border:var(--color-discovererblue)]
64
+ [--btn-bg:var(--color-discovererblue)]
65
+ [--btn-bg-hover:var(--color-discovererblue-hover)]
66
+ [--btn-bg-active:var(--color-discovererblue-active)]
67
+
68
+ [--btn-text-border:var(--color-discovererblue)]
69
+ [--btn-bg-text-hover:var(--color-discovererblue-100)]
70
+ [--btn-bg-text-active:var(--color-discovererblue-200)]
71
+ `,
72
+ adventurerorange: `
73
+ [--btn-text:var(--color-white)]
74
+ [--btn-border:var(--color-adventurerorange)]
75
+ [--btn-bg:var(--color-adventurerorange)]
76
+ [--btn-bg-hover:var(--color-adventurerorange-hover)]
77
+ [--btn-bg-active:var(--color-adventurerorange-active)]
78
+
79
+ [--btn-text-border:var(--color-adventurerorange)]
80
+ [--btn-bg-text-hover:var(--color-adventurerorange-100)]
81
+ [--btn-bg-text-active:var(--color-adventurerorange-200)]
82
+ `,
83
+ challengerpink: `
84
+ [--btn-text:var(--color-white)]
85
+ [--btn-border:var(--color-challengerpink)]
86
+ [--btn-bg:var(--color-challengerpink)]
87
+ [--btn-bg-hover:var(--color-challengerpink-hover)]
88
+ [--btn-bg-active:var(--color-challengerpink-active)]
89
+
90
+ [--btn-text-border:var(--color-challengerpink)]
91
+ [--btn-bg-text-hover:var(--color-challengerpink-100)]
92
+ [--btn-bg-text-active:var(--color-challengerpink-200)]
93
+ `,
94
+ roveryellow: `
95
+ [--btn-text:var(--color-gray-dark)]
96
+ [--btn-border:var(--color-roveryellow)]
97
+ [--btn-bg:var(--color-roveryellow)]
98
+ [--btn-bg-hover:var(--color-roveryellow-hover)]
99
+ [--btn-bg-active:var(--color-roveryellow-active)]
100
+
101
+ [--btn-text-border:var(--color-roveryellow)]
102
+ [--btn-bg-text-hover:var(--color-roveryellow-100)]
103
+ [--btn-bg-text-active:var(--color-roveryellow-200)]
104
+ `,
105
+ },
106
+ variant: {
107
+ contained: `
108
+ text-(--btn-text) bg-(--btn-bg)
109
+ disabled:bg-(--btn-bg)
110
+ hover:bg-(--btn-bg-hover)
111
+ active:bg-(--btn-bg-active)
112
+ focus-visible:bg-(--btn-bg) focus-visible:ring-2 focus-visible:ring-(--btn-border) focus-visible:outline-none
113
+ `,
114
+ text: `
115
+ text-(--btn-bg) bg-transparent
116
+ disabled:bg-transparent
117
+ hover:bg-(--btn-bg-text-hover)
118
+ active:bg-(--btn-bg-text-active)
119
+ focus-visible:bg-(--btn-bg-text-hover) focus-visible:ring-2 focus-visible:ring-(--btn-text-outline) focus-visible:outline-none
120
+ `,
121
+ outlined: `
122
+ text-(--btn-bg) border-(--btn-border) bg-transparent
123
+ disabled:bg-transparent
124
+ hover:bg-(--btn-bg-text-hover)
125
+ active:bg-(--btn-bg-text-active)
126
+ focus-visible:bg-(--btn-bg-text-hover) focus-visible:ring-2 focus-visible:ring-(--btn-text-outline) focus-visible:outline-none
127
+ `,
128
+ },
129
+ size: {
130
+ medium: "text-base px-4 h-10 rounded-lg",
131
+ small: "text-sm px-3 h-8 rounded-md",
132
+ },
133
+ },
134
+ defaultVariants: {
135
+ color: "blue",
136
+ variant: "contained",
137
+ size: "medium",
138
+ },
139
+ });
140
+ const Button = forwardRef(({ className, color, variant, size, children, asChild = false, ...props }, ref) => {
141
+ const Comp = asChild ? Slot : "button";
142
+ return (_jsx(Comp, { className: cn(buttonVariants({ color, variant, size, className })), ref: ref, ...props, children: children }));
143
+ });
144
+ Button.displayName = "Button";
145
+ export { Button };
146
+ //# sourceMappingURL=button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/components/button/button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAqB,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,OAAO,iBAAiB,CAAC;AAEzB,MAAM,cAAc,GAAG,GAAG,CACxB;;;;;;;GAOC,EACD;IACE,QAAQ,EAAE;QACR,KAAK,EAAE;YACL,IAAI,EAAE;;;;;;;;;;SAUL;YACD,MAAM,EAAE;;;;;;;;;;SAUP;YACD,GAAG,EAAE;;;;;;;;;;SAUJ;YACD,YAAY,EAAE;;;;;;;;;;SAUb;YACD,cAAc,EAAE;;;;;;;;;;SAUf;YACD,gBAAgB,EAAE;;;;;;;;;;SAUjB;YACD,cAAc,EAAE;;;;;;;;;;SAUf;YACD,WAAW,EAAE;;;;;;;;;;SAUZ;SACF;QACD,OAAO,EAAE;YACP,SAAS,EAAE;;;;;;SAMV;YACD,IAAI,EAAE;;;;;;SAML;YACD,QAAQ,EAAE;;;;;;SAMT;SACF;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,gCAAgC;YACxC,KAAK,EAAE,6BAA6B;SACrC;KACF;IACD,eAAe,EAAE;QACf,KAAK,EAAE,MAAM;QACb,OAAO,EAAE,WAAW;QACpB,IAAI,EAAE,QAAQ;KACf;CACF,CACF,CAAC;AAUF,MAAM,MAAM,GAAG,UAAU,CACvB,CACE,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,EACxE,GAAG,EACH,EAAE;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvC,OAAO,CACL,KAAC,IAAI,IACH,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EAClE,GAAG,EAAE,GAAG,KACJ,KAAK,YAGR,QAAQ,GAEJ,CACR,CAAC;AACJ,CAAC,CACF,CAAC;AACF,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
2
+ import "../../style.css";
3
+ declare const Checkbox: import("react").ForwardRefExoticComponent<Omit<CheckboxPrimitive.CheckboxProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
4
+ export { Checkbox };
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
3
+ import { CheckIcon } from "lucide-react";
4
+ import { forwardRef, useId } from "react";
5
+ import { cn } from "../../lib/utils.js";
6
+ import "../../style.css";
7
+ const Checkbox = forwardRef(({ className, id, children, ...props }, ref) => {
8
+ const autoId = useId();
9
+ id = id || autoId;
10
+ return (_jsxs("div", { className: "flex items-center text-gray-dark", children: [_jsx(CheckboxPrimitive.Root, { className: cn(`
11
+ flex items-center justify-center
12
+ size-6
13
+ rounded-md appearance-none
14
+ bg-gray-100 border-gray-400
15
+ hover:bg-gray-200 border
16
+ focus-visible:outline-none
17
+ focus-visible:border-gray-500
18
+ focus-visible:ring-2 focus-visible:ring-blue-400 focus-visible:ring-offset-2
19
+ disabled:cursor-not-allowed
20
+ disabled:opacity-50
21
+ `, className), id: id, ...props, children: _jsx(CheckboxPrimitive.Indicator, { children: _jsx(CheckIcon, { className: "size-5" }) }) }), _jsx("label", { className: "pl-2 text-sm leading-none", htmlFor: id, children: children })] }));
22
+ });
23
+ Checkbox.displayName = CheckboxPrimitive.Root.displayName;
24
+ export { Checkbox };
25
+ //# sourceMappingURL=checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../../src/components/checkbox/checkbox.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,OAAO,iBAAiB,CAAC;AAEzB,MAAM,QAAQ,GAAG,UAAU,CAGzB,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC/C,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;IACvB,EAAE,GAAG,EAAE,IAAI,MAAM,CAAC;IAElB,OAAO,CACL,eAAK,SAAS,EAAC,kCAAkC,aAC/C,KAAC,iBAAiB,CAAC,IAAI,IACrB,SAAS,EAAE,EAAE,CACX;;;;;;;;;;;WAWC,EACD,SAAS,CACV,EACD,EAAE,EAAE,EAAE,KACF,KAAK,YAET,KAAC,iBAAiB,CAAC,SAAS,cAC1B,KAAC,SAAS,IAAC,SAAS,EAAC,QAAQ,GAAG,GACJ,GACP,EACzB,gBAAO,SAAS,EAAC,2BAA2B,EAAC,OAAO,EAAE,EAAE,YACrD,QAAQ,GACH,IACJ,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,QAAQ,CAAC,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,16 @@
1
+ import * as LabelPrimitive from "@radix-ui/react-label";
2
+ export type FieldProps = React.HTMLAttributes<HTMLDivElement> & {
3
+ asChild?: boolean;
4
+ label: string;
5
+ labelFor: string;
6
+ };
7
+ declare const Field: import("react").ForwardRefExoticComponent<import("react").HTMLAttributes<HTMLDivElement> & {
8
+ asChild?: boolean;
9
+ label: string;
10
+ labelFor: string;
11
+ } & import("react").RefAttributes<HTMLDivElement>>;
12
+ export type LabelProps = React.LabelHTMLAttributes<HTMLLabelElement> & {
13
+ htmlFor: string;
14
+ };
15
+ declare const Label: import("react").ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & import("react").RefAttributes<HTMLLabelElement>, "ref"> & import("react").RefAttributes<HTMLLabelElement>>;
16
+ export { Field, Label };
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as LabelPrimitive from "@radix-ui/react-label";
3
+ import { Slot } from "@radix-ui/react-slot";
4
+ import { forwardRef } from "react";
5
+ import { cn } from "../../lib/utils.js";
6
+ const Field = forwardRef(({ className, asChild = false, label, labelFor, children, ...props }, ref) => {
7
+ const Comp = asChild ? Slot : "div";
8
+ return (_jsx(Comp, { className: cn(""), ref: ref, ...props, children: children }));
9
+ });
10
+ Field.displayName = "Field";
11
+ const Label = forwardRef(({ className, ...props }, ref) => {
12
+ return (_jsx(LabelPrimitive.Root, { className: cn("font-bold text-sm text-gray-dark"), ref: ref, ...props }));
13
+ });
14
+ Label.displayName = LabelPrimitive.Root.displayName;
15
+ export { Field, Label };
16
+ //# sourceMappingURL=form-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-field.js","sourceRoot":"","sources":["../../../src/components/form-field/form-field.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,cAAc,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAQxC,MAAM,KAAK,GAAG,UAAU,CACtB,CACE,EAAE,SAAS,EAAE,OAAO,GAAG,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EACnE,GAAG,EACH,EAAE;IACF,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAEpC,OAAO,CACL,KAAC,IAAI,IAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,KAAM,KAAK,YACzC,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC,CACF,CAAC;AACF,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;AAO5B,MAAM,KAAK,GAAG,UAAU,CAGtB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACjC,OAAO,CACL,KAAC,cAAc,CAAC,IAAI,IAClB,SAAS,EAAE,EAAE,CAAC,kCAAkC,CAAC,EACjD,GAAG,EAAE,GAAG,KACJ,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AACH,KAAK,CAAC,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import "../../style.css";
2
+ export type InputProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, "placeholder"> & {
3
+ id: string;
4
+ };
5
+ declare const Input: import("react").ForwardRefExoticComponent<Omit<import("react").InputHTMLAttributes<HTMLInputElement>, "placeholder"> & {
6
+ id: string;
7
+ } & import("react").RefAttributes<HTMLInputElement>>;
8
+ export { Input };
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { forwardRef } from "react";
3
+ import { cn } from "../../lib/utils.js";
4
+ import "../../style.css";
5
+ const Input = forwardRef(({ className, type = "text", ...props }, ref) => {
6
+ return (_jsx("input", { type: type, className: cn(`
7
+ flex
8
+ h-10 w-full px-3 py-2
9
+ rounded-lg
10
+ border border-gray-300
11
+ bg-gray-100 text-gray-dark
12
+ text-base
13
+ file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground
14
+ focus-visible:outline-none
15
+ focus-visible:border-gray-500
16
+ disabled:cursor-not-allowed
17
+ disabled:opacity-50
18
+ `, className), ref: ref, ...props,
19
+ // Explicitly set placeholder to empty string to avoid users ignoring
20
+ // the types and passing placeholder anyways.
21
+ placeholder: "" }));
22
+ });
23
+ Input.displayName = "Input";
24
+ export { Input };
25
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/components/input/input.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,OAAO,iBAAiB,CAAC;AAUzB,MAAM,KAAK,GAAG,UAAU,CACtB,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC9C,OAAO,CACL,gBACE,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,EAAE,CACX;;;;;;;;;;;;WAYC,EACD,SAAS,CACV,EACD,GAAG,EAAE,GAAG,KACJ,KAAK;QACT,qEAAqE;QACrE,6CAA6C;QAC7C,WAAW,EAAC,EAAE,GACd,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AACF,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;AAE5B,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -0,0 +1,18 @@
1
+ import * as SelectPrimitive from "@radix-ui/react-select";
2
+ import "../../style.css";
3
+ declare const Root: {
4
+ ({ children, placeholder, ...props }: React.ComponentPropsWithoutRef<typeof SelectPrimitive.Root> & {
5
+ placeholder?: string;
6
+ }): import("react/jsx-runtime").JSX.Element;
7
+ displayName: string | undefined;
8
+ };
9
+ declare const Group: import("react").ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & import("react").RefAttributes<HTMLDivElement>>;
10
+ declare const Value: import("react").ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & import("react").RefAttributes<HTMLSpanElement>>;
11
+ declare const Trigger: import("react").ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
12
+ declare const ScrollUpButton: import("react").ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
13
+ declare const ScrollDownButton: import("react").ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
14
+ declare const Content: import("react").ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
15
+ declare const Label: import("react").ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
16
+ declare const Item: import("react").ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
17
+ declare const Separator: import("react").ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
18
+ export { Root, Group, Value, Trigger, Content, Label, Item, Separator, ScrollUpButton, ScrollDownButton, };
@@ -0,0 +1,43 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as SelectPrimitive from "@radix-ui/react-select";
3
+ import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
4
+ import { forwardRef } from "react";
5
+ import { cn } from "../../lib/utils.js";
6
+ import "../../style.css";
7
+ const Root = ({ children, placeholder, ...props }) => (_jsxs(SelectPrimitive.Root, { ...props, children: [_jsx(Trigger, { children: _jsx(Value, { placeholder: placeholder }) }), _jsx(Content, { className: "text-gray-dark", children: children })] }));
8
+ Root.displayName = SelectPrimitive.Root.displayName;
9
+ const Group = SelectPrimitive.Group;
10
+ const Value = SelectPrimitive.Value;
11
+ const Trigger = forwardRef(({ className, children, ...props }, ref) => (_jsxs(SelectPrimitive.Trigger, { ref: ref, className: cn(`
12
+ flex
13
+ items-center
14
+ justify-between
15
+ h-10 w-full px-3 py-2
16
+ rounded-lg
17
+ border border-gray-300
18
+ bg-gray-100 text-gray-dark
19
+ text-base
20
+ file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground
21
+ focus-visible:outline-none
22
+ focus-visible:border-gray-500
23
+ disabled:cursor-not-allowed
24
+ disabled:opacity-50
25
+ data-[placeholder]:text-gray-600
26
+ data-[placeholder]:italic
27
+ [&>span]:whitespace-nowrap
28
+ `, className), ...props, children: [children, _jsx(SelectPrimitive.Icon, { asChild: true, children: _jsx(ChevronDownIcon, { className: "size-4 opacity-50" }) })] })));
29
+ Trigger.displayName = SelectPrimitive.Trigger.displayName;
30
+ const ScrollUpButton = forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.ScrollUpButton, { ref: ref, className: cn("flex cursor-default items-center justify-center py-1", className), ...props, children: _jsx(ChevronUpIcon, { className: "size-4" }) })));
31
+ ScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
32
+ const ScrollDownButton = forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.ScrollDownButton, { ref: ref, className: cn("flex cursor-default items-center justify-center py-1", className), ...props, children: _jsx(ChevronDownIcon, { className: "size-4" }) })));
33
+ ScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
34
+ const Content = forwardRef(({ className, children, ...props }, ref) => (_jsx(SelectPrimitive.Portal, { children: _jsxs(SelectPrimitive.Content, { ref: ref, className: cn("relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-lg border bg-gray-100 text-popover-foreground shadow-md border-gray-300", className), ...props, children: [_jsx(ScrollUpButton, {}), _jsx(SelectPrimitive.Viewport, { className: cn("p-1.5"), children: children }), _jsx(ScrollDownButton, {})] }) })));
35
+ Content.displayName = SelectPrimitive.Content.displayName;
36
+ const Label = forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.Label, { ref: ref, className: cn("px-[25px] text-sm leading-[25px] font-semibold select-none", className), ...props })));
37
+ Label.displayName = SelectPrimitive.Label.displayName;
38
+ const Item = forwardRef(({ className, children, ...props }, ref) => (_jsxs(SelectPrimitive.Item, { ref: ref, className: cn("relative flex h-7 select-none items-center rounded-sm pl-[25px] pr-[35px] leading-none data-[disabled]:pointer-events-none data-[highlighted]:bg-blue-100 data-[disabled]:opacity-50 data-[highlighted]:text-blue data-[highlighted]:outline-none", className), ...props, children: [_jsx(SelectPrimitive.ItemText, { children: children }), _jsx(SelectPrimitive.ItemIndicator, { className: "absolute left-1.5 inline-flex w-4 items-center justify-center", children: _jsx(CheckIcon, {}) })] })));
39
+ Item.displayName = SelectPrimitive.Item.displayName;
40
+ const Separator = forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.Separator, { ref: ref, className: cn("m-[5px] h-px bg-gray-300", className), ...props })));
41
+ Separator.displayName = SelectPrimitive.Separator.displayName;
42
+ export { Root, Group, Value, Trigger, Content, Label, Item, Separator, ScrollUpButton, ScrollDownButton, };
43
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/components/select/select.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,OAAO,iBAAiB,CAAC;AAEzB,MAAM,IAAI,GAAG,CAAC,EACZ,QAAQ,EACR,WAAW,EACX,GAAG,KAAK,EAGT,EAAE,EAAE,CAAC,CACJ,MAAC,eAAe,CAAC,IAAI,OAAK,KAAK,aAC7B,KAAC,OAAO,cACN,KAAC,KAAK,IAAC,WAAW,EAAE,WAAW,GAAI,GAC3B,EACV,KAAC,OAAO,IAAC,SAAS,EAAC,gBAAgB,YAAE,QAAQ,GAAW,IACnC,CACxB,CAAC;AACF,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC;AAEpD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;AAEpC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;AAEpC,MAAM,OAAO,GAAG,UAAU,CAGxB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAC5C,MAAC,eAAe,CAAC,OAAO,IACtB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX;;;;;;;;;;;;;;;;;OAiBC,EACD,SAAS,CACV,KACG,KAAK,aAER,QAAQ,EACT,KAAC,eAAe,CAAC,IAAI,IAAC,OAAO,kBAC3B,KAAC,eAAe,IAAC,SAAS,EAAC,mBAAmB,GAAG,GAC5B,IACC,CAC3B,CAAC,CAAC;AACH,OAAO,CAAC,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC;AAE1D,MAAM,cAAc,GAAG,UAAU,CAG/B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,KAAC,eAAe,CAAC,cAAc,IAC7B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,sDAAsD,EACtD,SAAS,CACV,KACG,KAAK,YAET,KAAC,aAAa,IAAC,SAAS,EAAC,QAAQ,GAAG,GACL,CAClC,CAAC,CAAC;AACH,cAAc,CAAC,WAAW,GAAG,eAAe,CAAC,cAAc,CAAC,WAAW,CAAC;AAExE,MAAM,gBAAgB,GAAG,UAAU,CAGjC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,KAAC,eAAe,CAAC,gBAAgB,IAC/B,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,sDAAsD,EACtD,SAAS,CACV,KACG,KAAK,YAET,KAAC,eAAe,IAAC,SAAS,EAAC,QAAQ,GAAG,GACL,CACpC,CAAC,CAAC;AACH,gBAAgB,CAAC,WAAW,GAAG,eAAe,CAAC,gBAAgB,CAAC,WAAW,CAAC;AAE5E,MAAM,OAAO,GAAG,UAAU,CAGxB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAC5C,KAAC,eAAe,CAAC,MAAM,cACrB,MAAC,eAAe,CAAC,OAAO,IACtB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,8LAA8L,EAC9L,SAAS,CACV,KACG,KAAK,aAET,KAAC,cAAc,KAAG,EAClB,KAAC,eAAe,CAAC,QAAQ,IAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,YAC7C,QAAQ,GACgB,EAC3B,KAAC,gBAAgB,KAAG,IACI,GACH,CAC1B,CAAC,CAAC;AACH,OAAO,CAAC,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC;AAE1D,MAAM,KAAK,GAAG,UAAU,CAGtB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,KAAC,eAAe,CAAC,KAAK,IACpB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,4DAA4D,EAC5D,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC,CAAC;AACH,KAAK,CAAC,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC;AAEtD,MAAM,IAAI,GAAG,UAAU,CAGrB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAC5C,MAAC,eAAe,CAAC,IAAI,IACnB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,mPAAmP,EACnP,SAAS,CACV,KACG,KAAK,aAET,KAAC,eAAe,CAAC,QAAQ,cAAE,QAAQ,GAA4B,EAC/D,KAAC,eAAe,CAAC,aAAa,IAAC,SAAS,EAAC,+DAA+D,YACtG,KAAC,SAAS,KAAG,GACiB,IACX,CACxB,CAAC,CAAC;AACH,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC;AAEpD,MAAM,SAAS,GAAG,UAAU,CAG1B,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAClC,KAAC,eAAe,CAAC,SAAS,IACxB,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,0BAA0B,EAAE,SAAS,CAAC,KAChD,KAAK,GACT,CACH,CAAC,CAAC;AACH,SAAS,CAAC,WAAW,GAAG,eAAe,CAAC,SAAS,CAAC,WAAW,CAAC;AAE9D,OAAO,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,OAAO,EACP,OAAO,EACP,KAAK,EACL,IAAI,EACJ,SAAS,EACT,cAAc,EACd,gBAAgB,GACjB,CAAC"}
@@ -0,0 +1,11 @@
1
+ declare const dismiss: (id?: number | string) => string | number;
2
+ declare function toast(toastProps: ToastProps): string | number;
3
+ interface ToastProps {
4
+ title: string;
5
+ description?: string;
6
+ action?: {
7
+ label: string;
8
+ onClick: () => void;
9
+ };
10
+ }
11
+ export { toast, dismiss };
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { toast as sonnerToast } from "sonner";
3
+ import { Button } from "../button/button.js";
4
+ const dismiss = sonnerToast.dismiss;
5
+ function toast(toastProps) {
6
+ return sonnerToast.custom(() => _jsx(Toast, { ...toastProps }));
7
+ }
8
+ function Toast(props) {
9
+ const { title, description, action } = props;
10
+ return (_jsxs("div", { className: "flex rounded-lg bg-gray-100 text-gray-dark shadow-lg border border-gray-200 w-full md:max-w-[364px] items-center py-3 px-4", children: [_jsx("div", { className: "flex flex-1 items-center", children: _jsxs("div", { className: "w-full", children: [_jsx("p", { className: "text-sm font-medium text-gray-900", children: title }), _jsx("p", { className: "mt-1 text-sm text-gray-600", children: description })] }) }), _jsx("div", { className: "ml-5 shrink-0 rounded-md text-sm font-medium text-indigo-600 hover:text-indigo-500 focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 focus:outline-hidden", children: action && (_jsx(Button, { variant: "text", size: "small", onClick: () => {
11
+ action.onClick();
12
+ }, children: action.label })) })] }));
13
+ }
14
+ export { toast, dismiss };
15
+ //# sourceMappingURL=toast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.js","sourceRoot":"","sources":["../../../src/components/toast/toast.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;AAEpC,SAAS,KAAK,CAAC,UAAsB;IACnC,OAAO,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAC,KAAK,OAAK,UAAU,GAAI,CAAC,CAAC;AAC7D,CAAC;AAWD,SAAS,KAAK,CAAC,KAAiB;IAC9B,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAE7C,OAAO,CACL,eAAK,SAAS,EAAC,4HAA4H,aACzI,cAAK,SAAS,EAAC,0BAA0B,YACvC,eAAK,SAAS,EAAC,QAAQ,aACrB,YAAG,SAAS,EAAC,mCAAmC,YAAE,KAAK,GAAK,EAC5D,YAAG,SAAS,EAAC,4BAA4B,YAAE,WAAW,GAAK,IACvD,GACF,EACN,cAAK,SAAS,EAAC,gKAAgK,YAC5K,MAAM,IAAI,CACT,KAAC,MAAM,IACL,OAAO,EAAC,MAAM,EACd,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,GAAG,EAAE;wBACZ,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,CAAC,YAEA,MAAM,CAAC,KAAK,GACN,CACV,GACG,IACF,CACP,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * as Button from "./components/button/button.js";
2
+ export * as Checkbox from "./components/checkbox/checkbox.js";
3
+ export * as FormField from "./components/form-field/form-field.js";
4
+ export * as Input from "./components/input/input.js";
5
+ export * as Select from "./components/select/select.js";
6
+ export * as Toast from "./components/toast/toast.js";
package/dist/index.js ADDED
@@ -0,0 +1,7 @@
1
+ export * as Button from "./components/button/button.js";
2
+ export * as Checkbox from "./components/checkbox/checkbox.js";
3
+ export * as FormField from "./components/form-field/form-field.js";
4
+ export * as Input from "./components/input/input.js";
5
+ export * as Select from "./components/select/select.js";
6
+ export * as Toast from "./components/toast/toast.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAC;AACxD,OAAO,KAAK,QAAQ,MAAM,mCAAmC,CAAC;AAC9D,OAAO,KAAK,SAAS,MAAM,uCAAuC,CAAC;AACnE,OAAO,KAAK,KAAK,MAAM,6BAA6B,CAAC;AACrD,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAC;AACxD,OAAO,KAAK,KAAK,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { type ClassValue } from "clsx";
2
+ export declare function cn(...inputs: ClassValue[]): string;
@@ -0,0 +1,6 @@
1
+ import { clsx } from "clsx";
2
+ import { twMerge } from "tailwind-merge";
3
+ export function cn(...inputs) {
4
+ return twMerge(clsx(inputs));
5
+ }
6
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,IAAI,EAAE,MAAM,MAAM,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,MAAM,UAAU,EAAE,CAAC,GAAG,MAAoB;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/B,CAAC"}
package/dist/theme.css ADDED
@@ -0,0 +1,177 @@
1
+ @theme {
2
+ --font-sans: "Tee Franklin", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
3
+ --font-serif: "EB Garamond", ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
4
+
5
+ /* Disable Tailwind colors */
6
+ --color-*: initial;
7
+
8
+ /* Base colors */
9
+ --color-white: #ffffff;
10
+ --color-black: #000000;
11
+
12
+ --color-gray-50: #fafafa;
13
+ --color-gray-100: #f2f2ee;
14
+ --color-gray-200: #e6e6dd;
15
+ --color-gray-300: #d5d5ce;
16
+ --color-gray-400: #b9b9ae;
17
+ --color-gray-500: #8c8c85;
18
+ --color-gray-600: #696969;
19
+ --color-gray-700: #535455;
20
+ --color-gray-800: #444547;
21
+ --color-gray-900: #333538;
22
+ --color-gray-950: #222224;
23
+
24
+ --color-bluegray-50: #f8f9fa;
25
+ --color-bluegray-100: #e4ebf0;
26
+ --color-bluegray-200: #ccd7df;
27
+ --color-bluegray-300: #a2b4c2;
28
+ --color-bluegray-400: #8ea2b1;
29
+ --color-bluegray-500: #608199;
30
+ --color-bluegray-600: #42749d;
31
+ --color-bluegray-700: #305b7d;
32
+ --color-bluegray-800: #234a69;
33
+ --color-bluegray-900: #163a56;
34
+ --color-bluegray-950: #1c2e3d;
35
+
36
+ --color-blue-50: #f4faff;
37
+ --color-blue-100: #c6def0;
38
+ --color-blue-200: #a6cdeb;
39
+ --color-blue-300: #7ab2dc;
40
+ --color-blue-400: #488ec4;
41
+ --color-blue-500: #1666a4;
42
+ --color-blue-600: #064d83;
43
+ --color-blue-700: #003660;
44
+ --color-blue-800: #002441;
45
+ --color-blue-900: #021e35;
46
+ --color-blue-950: #011729;
47
+
48
+ --color-orange-50: #fff9f6;
49
+ --color-orange-100: #ffd5be;
50
+ --color-orange-200: #fdac81;
51
+ --color-orange-300: #f7915b;
52
+ --color-orange-400: #eb6924;
53
+ --color-orange-500: #d14800;
54
+ --color-orange-600: #b9410e;
55
+ --color-orange-700: #a6451b;
56
+ --color-orange-800: #8c3712;
57
+ --color-orange-900: #722a0a;
58
+ --color-orange-950: #562109;
59
+
60
+ --color-red-50: #fff1f1;
61
+ --color-red-100: #ffd2d2;
62
+ --color-red-200: #f8a4a4;
63
+ --color-red-300: #f98181;
64
+ --color-red-400: #ff5e5e;
65
+ --color-red-500: #e93d3d;
66
+ --color-red-600: #d81313;
67
+ --color-red-700: #ca1d1d;
68
+ --color-red-800: #b60606;
69
+ --color-red-900: #a51616;
70
+ --color-red-950: #760d0d;
71
+
72
+ --color-trackergreen-50: #f3fff0;
73
+ --color-trackergreen-100: #c8eac0;
74
+ --color-trackergreen-200: #ace59f;
75
+ --color-trackergreen-300: #95db85;
76
+ --color-trackergreen-400: #64c74e;
77
+ --color-trackergreen-500: #41a62a;
78
+ --color-trackergreen-600: #2a8e14;
79
+ --color-trackergreen-700: #21750e;
80
+ --color-trackergreen-800: #114c03;
81
+ --color-trackergreen-900: #0e3c03;
82
+ --color-trackergreen-950: #0b3002;
83
+
84
+ --color-discovererblue-50: #f3fcff;
85
+ --color-discovererblue-100: #c3edfc;
86
+ --color-discovererblue-200: #a0e4fb;
87
+ --color-discovererblue-300: #7fdfff;
88
+ --color-discovererblue-400: #4ecffb;
89
+ --color-discovererblue-500: #00a8e1;
90
+ --color-discovererblue-600: #0089b8;
91
+ --color-discovererblue-700: #006c90;
92
+ --color-discovererblue-800: #005a78;
93
+ --color-discovererblue-900: #01485f;
94
+ --color-discovererblue-950: #02303f;
95
+
96
+ --color-adventurerorange-50: #fef8f5;
97
+ --color-adventurerorange-100: #ffd4be;
98
+ --color-adventurerorange-200: #fdbc98;
99
+ --color-adventurerorange-300: #f59d6d;
100
+ --color-adventurerorange-400: #f78546;
101
+ --color-adventurerorange-500: #e95f13;
102
+ --color-adventurerorange-600: #cc5411;
103
+ --color-adventurerorange-700: #b84a0d;
104
+ --color-adventurerorange-800: #8f390a;
105
+ --color-adventurerorange-900: #702b05;
106
+ --color-adventurerorange-950: #542104;
107
+
108
+ --color-challengerpink-50: #fff8fb;
109
+ --color-challengerpink-100: #f0d0de;
110
+ --color-challengerpink-200: #eeb2cc;
111
+ --color-challengerpink-300: #e883af;
112
+ --color-challengerpink-400: #e14488;
113
+ --color-challengerpink-500: #da005e;
114
+ --color-challengerpink-600: #b7004f;
115
+ --color-challengerpink-700: #820038;
116
+ --color-challengerpink-800: #6d002f;
117
+ --color-challengerpink-900: #5e032a;
118
+ --color-challengerpink-950: #470320;
119
+
120
+ --color-roveryellow-50: #ffffeb;
121
+ --color-roveryellow-100: #fffeb3;
122
+ --color-roveryellow-200: #f9f89d;
123
+ --color-roveryellow-300: #f2f278;
124
+ --color-roveryellow-400: #eeed4a;
125
+ --color-roveryellow-500: #e2e000;
126
+ --color-roveryellow-600: #d8d600;
127
+ --color-roveryellow-700: #c9c700;
128
+ --color-roveryellow-800: #a9a700;
129
+ --color-roveryellow-900: #8c8b03;
130
+ --color-roveryellow-950: #626100;
131
+ }
132
+
133
+ @theme inline {
134
+ /* Brand colors */
135
+ --color-blue: var(--color-blue-700);
136
+ --color-blue-hover: var(--color-blue-500);
137
+ --color-blue-active: var(--color-blue-800);
138
+
139
+ --color-orange: var(--color-orange-500);
140
+ --color-orange-hover: var(--color-orange-700);
141
+ --color-orange-active: var(--color-orange-800);
142
+
143
+ --color-orange: var(--color-orange-500);
144
+ --color-orange-hover: var(--color-orange-700);
145
+ --color-orange-active: var(--color-orange-800);
146
+
147
+ --color-gray-dark: var(--color-gray-800);
148
+
149
+ /* Utility colors */
150
+ --color-red: var(--color-red-500);
151
+ --color-red-hover: var(--color-red-700);
152
+ --color-red-active: var(--color-red-900);
153
+
154
+ --color-gray: var(--color-gray-600);
155
+ --color-gray-light: var(--color-gray-200);
156
+
157
+ /* Age group colors */
158
+ --color-trackergreen: var(--color-trackergreen-500);
159
+ --color-trackergreen-hover: var(--color-trackergreen-700);
160
+ --color-trackergreen-active: var(--color-trackergreen-800);
161
+
162
+ --color-discovererblue: var(--color-discovererblue-500);
163
+ --color-discovererblue-hover: var(--color-discovererblue-700);
164
+ --color-discovererblue-active: var(--color-discovererblue-800);
165
+
166
+ --color-adventurerorange: var(--color-adventurerorange-500);
167
+ --color-adventurerorange-hover: var(--color-adventurerorange-700);
168
+ --color-adventurerorange-active: var(--color-adventurerorange-800);
169
+
170
+ --color-challengerpink: var(--color-challengerpink-500);
171
+ --color-challengerpink-hover: var(--color-challengerpink-700);
172
+ --color-challengerpink-active: var(--color-challengerpink-800);
173
+
174
+ --color-roveryellow: var(--color-roveryellow-500);
175
+ --color-roveryellow-hover: var(--color-roveryellow-700);
176
+ --color-roveryellow-active: var(--color-roveryellow-800);
177
+ }
package/package.json ADDED
@@ -0,0 +1,64 @@
1
+ {
2
+ "name": "@scouterna/ui-react",
3
+ "version": "0.0.2",
4
+ "description": "",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/Scouterna/ui.git"
8
+ },
9
+ "type": "module",
10
+ "exports": {
11
+ ".": "./dist/index.js"
12
+ },
13
+ "types": "./dist/index.d.ts",
14
+ "files": [
15
+ "dist"
16
+ ],
17
+ "scripts": {
18
+ "test": "echo \"Error: no test specified\" && exit 1",
19
+ "storybook": "storybook dev -p 6006 --no-open",
20
+ "build-storybook": "storybook build",
21
+ "build": "pnpm run build:tsc && pnpm run build:copy",
22
+ "build:tsc": "tsc -p tsconfig.library.json",
23
+ "build:copy": "copyfiles -u 1 src/theme.css dist"
24
+ },
25
+ "keywords": [],
26
+ "author": "",
27
+ "license": "ISC",
28
+ "packageManager": "pnpm@10.11.0",
29
+ "dependencies": {
30
+ "@radix-ui/react-checkbox": "^1.3.2",
31
+ "@radix-ui/react-label": "^2.1.7",
32
+ "@radix-ui/react-select": "2.1.7",
33
+ "@radix-ui/react-slot": "^1.2.2",
34
+ "@tailwindcss/vite": "^4.1.7",
35
+ "class-variance-authority": "^0.7.1",
36
+ "clsx": "^2.1.1",
37
+ "lucide-react": "^0.511.0",
38
+ "react": "^19.1.0",
39
+ "sonner": "^2.0.3",
40
+ "tailwind-merge": "^3.3.0",
41
+ "tailwindcss": "^4.1.7"
42
+ },
43
+ "devDependencies": {
44
+ "@biomejs/biome": "1.9.4",
45
+ "@storybook/addon-a11y": "^8.6.14",
46
+ "@storybook/addon-docs": "8.6.14",
47
+ "@storybook/addon-essentials": "8.6.14",
48
+ "@storybook/blocks": "8.6.14",
49
+ "@storybook/experimental-addon-test": "8.6.14",
50
+ "@storybook/react": "8.6.14",
51
+ "@storybook/react-vite": "8.6.14",
52
+ "@storybook/test": "8.6.14",
53
+ "@types/react": "^19.1.4",
54
+ "@vitest/browser": "^3.1.3",
55
+ "@vitest/coverage-v8": "^3.1.3",
56
+ "copyfiles": "^2.4.1",
57
+ "playwright": "^1.52.0",
58
+ "prop-types": "15.8.1",
59
+ "storybook": "8.6.14",
60
+ "typescript": "^5.8.3",
61
+ "vite": "^6.3.5",
62
+ "vitest": "^3.1.3"
63
+ }
64
+ }