trepur_components 2.4.2 → 2.4.3
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/lib/components/Button/Button.stories.d.ts +1 -3
- package/lib/components/Button/index.d.ts +1 -3
- package/lib/components/Button/index.js +22 -11
- package/lib/components/Input/Input.stories.d.ts +4 -2
- package/lib/components/Input/index.d.ts +3 -3
- package/lib/components/Input/index.js +84 -66
- package/lib/components/Select/Select.stories.d.ts +7 -13
- package/lib/components/Select/index.d.ts +17 -10
- package/lib/components/Select/index.js +146 -65
- package/lib/styles/themes/paa.css +78 -0
- package/package.json +1 -1
|
@@ -4,9 +4,7 @@ import { StoryObj } from '@storybook/react';
|
|
|
4
4
|
declare const meta: {
|
|
5
5
|
title: string;
|
|
6
6
|
component: import('react').ForwardRefExoticComponent<import('react').HTMLAttributes<HTMLButtonElement> & import('./').ButtonProps & import('react').RefAttributes<HTMLButtonElement>> & {
|
|
7
|
-
Icon: import('react').ForwardRefExoticComponent<
|
|
8
|
-
icon: any;
|
|
9
|
-
} & import('react').RefAttributes<SVGSVGElement>>;
|
|
7
|
+
Icon: import('react').ForwardRefExoticComponent<Omit<any, "ref"> & import('react').RefAttributes<SVGSVGElement>>;
|
|
10
8
|
Label: import('react').ForwardRefExoticComponent<import('react').HTMLAttributes<HTMLParagraphElement> & import('react').RefAttributes<HTMLParagraphElement>>;
|
|
11
9
|
};
|
|
12
10
|
args: {
|
|
@@ -10,9 +10,7 @@ export interface ButtonProps {
|
|
|
10
10
|
size?: 'sm' | 'md' | 'lg';
|
|
11
11
|
}
|
|
12
12
|
declare const Button: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLButtonElement> & ButtonProps & import('react').RefAttributes<HTMLButtonElement>> & {
|
|
13
|
-
Icon: import('react').ForwardRefExoticComponent<
|
|
14
|
-
icon: any;
|
|
15
|
-
} & import('react').RefAttributes<SVGSVGElement>>;
|
|
13
|
+
Icon: import('react').ForwardRefExoticComponent<Omit<any, "ref"> & import('react').RefAttributes<SVGSVGElement>>;
|
|
16
14
|
Label: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLParagraphElement> & import('react').RefAttributes<HTMLParagraphElement>>;
|
|
17
15
|
};
|
|
18
16
|
export { Button };
|
|
@@ -8,7 +8,7 @@ const u = s(
|
|
|
8
8
|
children: r,
|
|
9
9
|
loading: t = !1,
|
|
10
10
|
variant: o = "primary",
|
|
11
|
-
type:
|
|
11
|
+
type: i = "button",
|
|
12
12
|
disabled: b,
|
|
13
13
|
size: n = "md",
|
|
14
14
|
...g
|
|
@@ -18,20 +18,20 @@ const u = s(
|
|
|
18
18
|
ref: p,
|
|
19
19
|
"aria-disabled": b,
|
|
20
20
|
disabled: t || b,
|
|
21
|
-
type:
|
|
21
|
+
type: i,
|
|
22
22
|
className: c(
|
|
23
23
|
"flex items-center gap-3 rounded border text-center font-thin tracking-wider",
|
|
24
24
|
{
|
|
25
25
|
"duration-200": !t,
|
|
26
26
|
"border-button-primary-border bg-button-primary-bg text-button-primary-text hover:bg-button-primary-hover active:bg-button-primary-active": o === "primary" && !t && !b,
|
|
27
27
|
"border-button-secondary-border bg-button-secondary-bg text-button-secondary-text hover:bg-button-secondary-hover active:bg-button-secondary-active": o === "secondary" && !t,
|
|
28
|
-
"border-button-ghost-border bg-button-ghost-bg text-button-ghost-text hover:bg-
|
|
28
|
+
"border-button-ghost-border bg-button-ghost-bg text-button-ghost-text hover:bg-transparent": o === "ghost" && !t,
|
|
29
29
|
"border-button-bordered-border text-button-ghost-text hover:bg-button-ghost-hover active:bg-button-ghost-active": o === "bordered" && !t,
|
|
30
30
|
"border-button-basic-border bg-button-basic-bg text-button-basic-text hover:bg-button-basic-hover active:bg-button-basic-active": o === "basic" && !t,
|
|
31
31
|
"w-40 animate-pulse border-loading bg-loading": t,
|
|
32
|
-
"px-
|
|
33
|
-
"px-
|
|
34
|
-
"px-
|
|
32
|
+
"px-2 py-2 text-base font-normal leading-4": n === "sm",
|
|
33
|
+
"px-4 py-3 text-lg font-normal leading-8": n === "md",
|
|
34
|
+
"px-8 py-4 text-xl font-normal leading-8": n === "lg"
|
|
35
35
|
},
|
|
36
36
|
e
|
|
37
37
|
),
|
|
@@ -39,13 +39,24 @@ const u = s(
|
|
|
39
39
|
children: !t && r
|
|
40
40
|
}
|
|
41
41
|
)
|
|
42
|
-
),
|
|
42
|
+
), m = s(({ className: e, children: r, ...t }, o) => /* @__PURE__ */ a("p", { className: c("text-md", e), ref: o, ...t, children: r })), d = s(
|
|
43
|
+
({ icon: e, className: r, ...t }, o) => /* @__PURE__ */ a(
|
|
44
|
+
x,
|
|
45
|
+
{
|
|
46
|
+
className: c("w-4", r),
|
|
47
|
+
size: "sm",
|
|
48
|
+
ref: o,
|
|
49
|
+
icon: e,
|
|
50
|
+
...t
|
|
51
|
+
}
|
|
52
|
+
)
|
|
53
|
+
);
|
|
43
54
|
u.displayName = "Button";
|
|
44
|
-
|
|
45
|
-
|
|
55
|
+
d.displayName = "Button.Icon";
|
|
56
|
+
m.displayName = "Button.Label";
|
|
46
57
|
const f = Object.assign(u, {
|
|
47
|
-
Icon:
|
|
48
|
-
Label:
|
|
58
|
+
Icon: d,
|
|
59
|
+
Label: m
|
|
49
60
|
});
|
|
50
61
|
export {
|
|
51
62
|
f as Button
|
|
@@ -4,12 +4,12 @@ import { Input } from '.';
|
|
|
4
4
|
declare const meta: {
|
|
5
5
|
title: string;
|
|
6
6
|
component: import('react').ForwardRefExoticComponent<import('react').HTMLAttributes<HTMLDivElement> & import('.').InputContextProps & import('react').RefAttributes<HTMLDivElement>> & {
|
|
7
|
-
Item: import('react').ForwardRefExoticComponent<import('react').HTMLAttributes<HTMLDivElement> & import('react').RefAttributes<HTMLDivElement>>;
|
|
8
7
|
Label: import('react').ForwardRefExoticComponent<import('react').HTMLAttributes<HTMLDivElement> & {
|
|
9
8
|
required?: boolean;
|
|
10
9
|
} & import('react').RefAttributes<HTMLDivElement>>;
|
|
11
|
-
Box: import('react').ForwardRefExoticComponent<import('react').HTMLAttributes<HTMLInputElement> & import('react').RefAttributes<HTMLInputElement>>;
|
|
12
10
|
Validation: import('react').ForwardRefExoticComponent<import('react').HTMLAttributes<HTMLDivElement> & import('react').RefAttributes<HTMLDivElement>>;
|
|
11
|
+
Actions: import('react').ForwardRefExoticComponent<import('react').HTMLAttributes<HTMLDivElement> & import('react').RefAttributes<HTMLDivElement>>;
|
|
12
|
+
Wrapper: import('react').ForwardRefExoticComponent<import('react').HTMLAttributes<HTMLInputElement> & import('.').InputContextProps & import('react').RefAttributes<HTMLInputElement>>;
|
|
13
13
|
};
|
|
14
14
|
args: {
|
|
15
15
|
placeholder: string;
|
|
@@ -19,3 +19,5 @@ declare const meta: {
|
|
|
19
19
|
export default meta;
|
|
20
20
|
type Story = StoryObj<typeof Input>;
|
|
21
21
|
export declare const Default: Story;
|
|
22
|
+
export declare const WithAction: Story;
|
|
23
|
+
export declare const WithValidation: Story;
|
|
@@ -15,7 +15,7 @@ export interface InputContextProps {
|
|
|
15
15
|
name?: string;
|
|
16
16
|
placeholder?: string;
|
|
17
17
|
withValidation?: boolean;
|
|
18
|
-
|
|
18
|
+
handleChange?: (e: any) => void;
|
|
19
19
|
onBlur?: () => void;
|
|
20
20
|
onFocus?: () => void;
|
|
21
21
|
onClick?: () => void;
|
|
@@ -23,11 +23,11 @@ export interface InputContextProps {
|
|
|
23
23
|
value?: string;
|
|
24
24
|
}
|
|
25
25
|
declare const Input: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & InputContextProps & import('react').RefAttributes<HTMLDivElement>> & {
|
|
26
|
-
Item: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import('react').RefAttributes<HTMLDivElement>>;
|
|
27
26
|
Label: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
|
|
28
27
|
required?: boolean;
|
|
29
28
|
} & import('react').RefAttributes<HTMLDivElement>>;
|
|
30
|
-
Box: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLInputElement> & import('react').RefAttributes<HTMLInputElement>>;
|
|
31
29
|
Validation: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import('react').RefAttributes<HTMLDivElement>>;
|
|
30
|
+
Actions: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & import('react').RefAttributes<HTMLDivElement>>;
|
|
31
|
+
Wrapper: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLInputElement> & InputContextProps & import('react').RefAttributes<HTMLInputElement>>;
|
|
32
32
|
};
|
|
33
33
|
export { Input };
|
|
@@ -1,84 +1,102 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import
|
|
4
|
-
const s =
|
|
5
|
-
const
|
|
1
|
+
import { jsx as r, jsxs as c } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as o, useMemo as v, createContext as L, useContext as p } from "react";
|
|
3
|
+
import d from "clsx";
|
|
4
|
+
const s = L(null), x = o(({ children: n, className: a, errors: t, placeholder: l, ...e }, i) => {
|
|
5
|
+
const m = v(
|
|
6
6
|
() => ({
|
|
7
|
-
errors:
|
|
8
|
-
placeholder:
|
|
9
|
-
...
|
|
7
|
+
errors: t,
|
|
8
|
+
placeholder: l,
|
|
9
|
+
...e
|
|
10
10
|
}),
|
|
11
|
-
[
|
|
11
|
+
[t, e]
|
|
12
12
|
);
|
|
13
|
-
return /* @__PURE__ */
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
...e,
|
|
27
|
-
children: r
|
|
28
|
-
}
|
|
29
|
-
);
|
|
30
|
-
}
|
|
31
|
-
), i = a(({ className: r, children: e, required: t = !1 }, n) => /* @__PURE__ */ I(
|
|
32
|
-
"div",
|
|
33
|
-
{
|
|
34
|
-
ref: n,
|
|
35
|
-
className: m("flex px-1 text-sm font-normal leading-5", r),
|
|
36
|
-
children: [
|
|
37
|
-
/* @__PURE__ */ o("p", { children: e }),
|
|
38
|
-
t && /* @__PURE__ */ o("p", { className: "text-sm font-normal", children: " *" })
|
|
39
|
-
]
|
|
40
|
-
}
|
|
41
|
-
)), c = a(
|
|
42
|
-
({ ...r }, e) => {
|
|
43
|
-
const { errors: t, placeholder: n } = d(s) || {};
|
|
44
|
-
return /* @__PURE__ */ o(
|
|
13
|
+
return /* @__PURE__ */ r(s.Provider, { value: m, children: /* @__PURE__ */ r(
|
|
14
|
+
"div",
|
|
15
|
+
{
|
|
16
|
+
ref: i,
|
|
17
|
+
className: d("grid grid-cols-1 gap-2 w-full rounded-md", a),
|
|
18
|
+
...e,
|
|
19
|
+
children: n
|
|
20
|
+
}
|
|
21
|
+
) });
|
|
22
|
+
}), f = o(({ children: n, handleChange: a, onClick: t, onBlur: l, ...e }, i) => {
|
|
23
|
+
const { placeholder: m, value: g, errors: u } = p(s) || {};
|
|
24
|
+
return /* @__PURE__ */ c("div", { ref: i, className: "group/input relative isolate flex w-full", children: [
|
|
25
|
+
/* @__PURE__ */ r(
|
|
45
26
|
"input",
|
|
46
27
|
{
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
"text-ink text-md w-full rounded-md border border-gray-300 bg-white py-2 pl-4",
|
|
28
|
+
placeholder: m,
|
|
29
|
+
className: d(
|
|
30
|
+
"rounded-md flex w-full bg-card px-3 py-1.5 text-sm placeholder:text-gray-500",
|
|
51
31
|
{
|
|
52
|
-
"border-
|
|
32
|
+
"border-border border": !u,
|
|
33
|
+
"border-red-600 border-2": u
|
|
53
34
|
}
|
|
54
35
|
),
|
|
55
|
-
|
|
36
|
+
value: g,
|
|
37
|
+
readOnly: e.readOnly,
|
|
38
|
+
disabled: e.disabled,
|
|
39
|
+
autoComplete: e.autoComplete,
|
|
40
|
+
form: e.formId,
|
|
41
|
+
maxLength: e.maxLength,
|
|
42
|
+
minLength: e.minLength,
|
|
43
|
+
pattern: e.pattern,
|
|
44
|
+
required: e.required,
|
|
45
|
+
type: e.type,
|
|
46
|
+
name: e.name,
|
|
47
|
+
onChange: (N) => a == null ? void 0 : a(N.target.value),
|
|
48
|
+
onClick: t,
|
|
49
|
+
onBlur: l,
|
|
50
|
+
onFocus: e.onFocus
|
|
56
51
|
}
|
|
57
|
-
)
|
|
52
|
+
),
|
|
53
|
+
n
|
|
54
|
+
] });
|
|
55
|
+
}), b = o(
|
|
56
|
+
({ className: n, children: a }, t) => /* @__PURE__ */ r(
|
|
57
|
+
"div",
|
|
58
|
+
{
|
|
59
|
+
ref: t,
|
|
60
|
+
className: d(
|
|
61
|
+
"absolute right-1 top-1/2 my-auto -translate-y-1/2",
|
|
62
|
+
n
|
|
63
|
+
),
|
|
64
|
+
children: a
|
|
65
|
+
}
|
|
66
|
+
)
|
|
67
|
+
), y = o(({ className: n, children: a, required: t = !1 }, l) => /* @__PURE__ */ c(
|
|
68
|
+
"div",
|
|
69
|
+
{
|
|
70
|
+
ref: l,
|
|
71
|
+
className: d("flex px-1 text-sm font-normal leading-5", n),
|
|
72
|
+
children: [
|
|
73
|
+
/* @__PURE__ */ r("p", { children: a }),
|
|
74
|
+
t && /* @__PURE__ */ r("p", { className: "text-sm font-normal", children: "*" })
|
|
75
|
+
]
|
|
58
76
|
}
|
|
59
|
-
),
|
|
60
|
-
const { errors: t } =
|
|
61
|
-
return /* @__PURE__ */
|
|
77
|
+
)), I = o(({ ...n }, a) => {
|
|
78
|
+
const { errors: t } = p(s) || {};
|
|
79
|
+
return /* @__PURE__ */ r(
|
|
62
80
|
"div",
|
|
63
81
|
{
|
|
64
|
-
ref:
|
|
65
|
-
className: "text-
|
|
66
|
-
...
|
|
67
|
-
children: t == null ? void 0 : t.map((
|
|
82
|
+
ref: a,
|
|
83
|
+
className: "text-sm pl-1 font-medium text-error-default",
|
|
84
|
+
...n,
|
|
85
|
+
children: t == null ? void 0 : t.map((l, e) => /* @__PURE__ */ r("p", { children: l }, `error-msg-${e + 1}`))
|
|
68
86
|
}
|
|
69
87
|
);
|
|
70
88
|
});
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
89
|
+
x.displayName = "Input";
|
|
90
|
+
b.displayName = "Input.Actions";
|
|
91
|
+
y.displayName = "Input.Label";
|
|
92
|
+
I.displayName = "Input.Validation";
|
|
93
|
+
f.displayName = "Input.Wrapper";
|
|
94
|
+
const A = Object.assign(x, {
|
|
95
|
+
Label: y,
|
|
96
|
+
Validation: I,
|
|
97
|
+
Actions: b,
|
|
98
|
+
Wrapper: f
|
|
81
99
|
});
|
|
82
100
|
export {
|
|
83
|
-
|
|
101
|
+
A as Input
|
|
84
102
|
};
|
|
@@ -1,22 +1,16 @@
|
|
|
1
|
-
import { Select } from './';
|
|
2
1
|
import { StoryObj } from '@storybook/react';
|
|
2
|
+
import { Select } from '.';
|
|
3
3
|
|
|
4
4
|
declare const meta: {
|
|
5
5
|
title: string;
|
|
6
|
-
component: (
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
description: string;
|
|
11
|
-
control: string;
|
|
12
|
-
table: {
|
|
13
|
-
category: string;
|
|
14
|
-
};
|
|
15
|
-
};
|
|
6
|
+
component: import('react').ForwardRefExoticComponent<import('react').HTMLAttributes<HTMLDivElement> & import('.').SelectContextProps & import('react').RefAttributes<HTMLDivElement>> & {
|
|
7
|
+
Item: import('react').ForwardRefExoticComponent<import('react').HTMLAttributes<HTMLLIElement> & {
|
|
8
|
+
value: string;
|
|
9
|
+
} & import('react').RefAttributes<HTMLLIElement>>;
|
|
16
10
|
};
|
|
11
|
+
parameters: {};
|
|
17
12
|
args: {
|
|
18
|
-
|
|
19
|
-
options: string[];
|
|
13
|
+
children: import("react/jsx-runtime").JSX.Element[];
|
|
20
14
|
};
|
|
21
15
|
};
|
|
22
16
|
export default meta;
|
|
@@ -1,11 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
|
|
3
|
+
export interface SelectContextProps {
|
|
4
|
+
loading?: boolean;
|
|
5
|
+
defaultOpen?: boolean;
|
|
6
|
+
onOpenChange?: (open: boolean) => void;
|
|
7
|
+
onChange?: (value: string) => void;
|
|
8
|
+
open?: boolean;
|
|
9
|
+
setOpen?: (open: boolean) => void;
|
|
10
|
+
internalValue: string;
|
|
11
|
+
setInternalValue: (val: string) => void;
|
|
10
12
|
}
|
|
11
|
-
|
|
13
|
+
declare const Select: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & SelectContextProps & import('react').RefAttributes<HTMLDivElement>> & {
|
|
14
|
+
Item: import('react').ForwardRefExoticComponent<HTMLAttributes<HTMLLIElement> & {
|
|
15
|
+
value: string;
|
|
16
|
+
} & import('react').RefAttributes<HTMLLIElement>>;
|
|
17
|
+
};
|
|
18
|
+
export { Select };
|
|
@@ -1,68 +1,149 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useState as
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}), g = s(
|
|
24
|
-
o,
|
|
25
|
-
m,
|
|
26
|
-
"w-full rounded-xl bg-white shadow drop-shadow flex cursor-pointer flex-row justify-between px-4"
|
|
27
|
-
), v = s(
|
|
28
|
-
o,
|
|
29
|
-
"absolute w-full bg-white mt-2 rounded-2xl py-4 shadow-xl border border-lightest-grey h-64 overflow-scroll"
|
|
30
|
-
), C = "bg-white text-ink hover:bg-lightest-grey hover:cursor-pointer px-4 py-2";
|
|
31
|
-
return /* @__PURE__ */ r(y, { children: [
|
|
32
|
-
/* @__PURE__ */ r(
|
|
33
|
-
"div",
|
|
34
|
-
{
|
|
35
|
-
id: h,
|
|
36
|
-
className: g,
|
|
37
|
-
onClick: () => {
|
|
38
|
-
i(!n);
|
|
39
|
-
},
|
|
40
|
-
children: [
|
|
41
|
-
/* @__PURE__ */ r("div", { className: "flex flex-col", children: [
|
|
42
|
-
/* @__PURE__ */ r("div", { className: "absolute mt-2 flex bg-white text-xs font-thin", children: [
|
|
43
|
-
/* @__PURE__ */ e("p", { children: f }),
|
|
44
|
-
x && /* @__PURE__ */ e("p", { className: "font-semiBold text-error", children: " *" })
|
|
45
|
-
] }),
|
|
46
|
-
/* @__PURE__ */ e("p", { className: "border-ink text-ink flex justify-between rounded-xl bg-white pb-1 pt-6", children: u })
|
|
47
|
-
] }),
|
|
48
|
-
/* @__PURE__ */ e(D, { colour: "ink", icon: j })
|
|
49
|
-
]
|
|
50
|
-
}
|
|
51
|
-
),
|
|
52
|
-
n && /* @__PURE__ */ e("div", { className: s("relative z-20", o), children: /* @__PURE__ */ e("ul", { className: v, children: l == null ? void 0 : l.map((t, N) => /* @__PURE__ */ e(
|
|
53
|
-
"li",
|
|
54
|
-
{
|
|
55
|
-
className: C,
|
|
56
|
-
value: t,
|
|
57
|
-
onClick: (k) => {
|
|
58
|
-
p(k);
|
|
59
|
-
},
|
|
60
|
-
children: t
|
|
1
|
+
import { jsx as o, jsxs as I } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as i, useState as N, useCallback as b, useEffect as M, createContext as V, useContext as p } from "react";
|
|
3
|
+
import c from "clsx";
|
|
4
|
+
import { Input as u } from "../Input/index.js";
|
|
5
|
+
import { Card as z } from "../Card/index.js";
|
|
6
|
+
import { Button as y } from "../Button/index.js";
|
|
7
|
+
import { faCaretDown as A } from "@fortawesome/fontawesome-free-solid";
|
|
8
|
+
const m = V(null), v = i(
|
|
9
|
+
({
|
|
10
|
+
id: l,
|
|
11
|
+
open: a,
|
|
12
|
+
defaultOpen: r,
|
|
13
|
+
onOpenChange: t,
|
|
14
|
+
onChange: e,
|
|
15
|
+
className: n,
|
|
16
|
+
children: d,
|
|
17
|
+
loading: k,
|
|
18
|
+
...T
|
|
19
|
+
}) => {
|
|
20
|
+
const [h, B] = N(a ?? r), [f, S] = N(""), x = b(
|
|
21
|
+
(s) => {
|
|
22
|
+
B(s), t == null || t(s);
|
|
61
23
|
},
|
|
62
|
-
|
|
63
|
-
)
|
|
64
|
-
|
|
65
|
-
|
|
24
|
+
[t]
|
|
25
|
+
), D = {
|
|
26
|
+
loading: k,
|
|
27
|
+
open: h,
|
|
28
|
+
setOpen: x,
|
|
29
|
+
internalValue: f,
|
|
30
|
+
setInternalValue: S
|
|
31
|
+
};
|
|
32
|
+
M(
|
|
33
|
+
() => x(a ?? r ?? !1),
|
|
34
|
+
[a, r, x]
|
|
35
|
+
);
|
|
36
|
+
const L = b(
|
|
37
|
+
(s) => {
|
|
38
|
+
f.includes(s) ? (S(""), e == null || e("")) : (S(s), e == null || e(s));
|
|
39
|
+
},
|
|
40
|
+
[f, e]
|
|
41
|
+
);
|
|
42
|
+
return /* @__PURE__ */ o(m.Provider, { value: D, children: /* @__PURE__ */ I("div", { className: "grid gap-1", children: [
|
|
43
|
+
/* @__PURE__ */ o(
|
|
44
|
+
w,
|
|
45
|
+
{
|
|
46
|
+
id: l,
|
|
47
|
+
className: n,
|
|
48
|
+
onChange: () => L,
|
|
49
|
+
...T,
|
|
50
|
+
children: d
|
|
51
|
+
}
|
|
52
|
+
),
|
|
53
|
+
/* @__PURE__ */ o(g, { children: d })
|
|
54
|
+
] }) });
|
|
55
|
+
}
|
|
56
|
+
), E = i(({ className: l, ...a }, r) => {
|
|
57
|
+
const { open: t, setOpen: e } = p(m) || {};
|
|
58
|
+
return /* @__PURE__ */ o(
|
|
59
|
+
y,
|
|
60
|
+
{
|
|
61
|
+
ref: r,
|
|
62
|
+
className: l,
|
|
63
|
+
"aria-label": "toggle open",
|
|
64
|
+
onClick: () => e == null ? void 0 : e(!t),
|
|
65
|
+
variant: "ghost",
|
|
66
|
+
size: "sm",
|
|
67
|
+
...a,
|
|
68
|
+
children: /* @__PURE__ */ o(
|
|
69
|
+
y.Icon,
|
|
70
|
+
{
|
|
71
|
+
className: c("transition-transform duration-300 ease-in-out", {
|
|
72
|
+
"rotate-180 transform": t
|
|
73
|
+
}),
|
|
74
|
+
icon: A
|
|
75
|
+
}
|
|
76
|
+
)
|
|
77
|
+
}
|
|
78
|
+
);
|
|
79
|
+
}), w = i(({ className: l }, a) => {
|
|
80
|
+
const { open: r, setOpen: t, internalValue: e } = p(m) || {};
|
|
81
|
+
return /* @__PURE__ */ I(
|
|
82
|
+
u,
|
|
83
|
+
{
|
|
84
|
+
className: c(
|
|
85
|
+
"w-full rounded-md bg-white caret-transparent ",
|
|
86
|
+
l
|
|
87
|
+
),
|
|
88
|
+
ref: a,
|
|
89
|
+
"data-open": r,
|
|
90
|
+
placeholder: "boo",
|
|
91
|
+
value: e ?? "",
|
|
92
|
+
children: [
|
|
93
|
+
/* @__PURE__ */ o(u.Label, { children: "sdfgh" }),
|
|
94
|
+
/* @__PURE__ */ o(
|
|
95
|
+
u.Wrapper,
|
|
96
|
+
{
|
|
97
|
+
onClick: () => t == null ? void 0 : t(!r),
|
|
98
|
+
onBlur: () => t == null ? void 0 : t(!1),
|
|
99
|
+
className: c(
|
|
100
|
+
"caret-transparent rounded hover:cursor-pointer data-[open=true]:border-primary data-[open=true]:ring-1 data-[open=true]:ring-primary",
|
|
101
|
+
l
|
|
102
|
+
),
|
|
103
|
+
children: /* @__PURE__ */ o(u.Actions, { children: /* @__PURE__ */ o(E, {}) })
|
|
104
|
+
}
|
|
105
|
+
)
|
|
106
|
+
]
|
|
107
|
+
}
|
|
108
|
+
);
|
|
109
|
+
}), g = i(({ children: l, className: a, ...r }, t) => {
|
|
110
|
+
const { open: e } = p(m) || {};
|
|
111
|
+
return e ? /* @__PURE__ */ o(
|
|
112
|
+
z,
|
|
113
|
+
{
|
|
114
|
+
ref: t,
|
|
115
|
+
className: c(
|
|
116
|
+
"!px-0 data-[state=open]:animate-in w-full data-[state=open]:fade-in-0",
|
|
117
|
+
a
|
|
118
|
+
),
|
|
119
|
+
...r,
|
|
120
|
+
children: /* @__PURE__ */ o("ul", { children: l })
|
|
121
|
+
}
|
|
122
|
+
) : null;
|
|
123
|
+
}), j = i(({ children: l, value: a, className: r, ...t }, e) => {
|
|
124
|
+
const { setInternalValue: n } = p(m) || {};
|
|
125
|
+
return /* @__PURE__ */ o(
|
|
126
|
+
"li",
|
|
127
|
+
{
|
|
128
|
+
ref: e,
|
|
129
|
+
className: c(
|
|
130
|
+
"hover:cursor-pointer hover:bg-gray-100 w-full py-2 px-4",
|
|
131
|
+
r
|
|
132
|
+
),
|
|
133
|
+
value: a,
|
|
134
|
+
onMouseDown: (d) => n == null ? void 0 : n(d.target.innerHTML),
|
|
135
|
+
...t,
|
|
136
|
+
children: l
|
|
137
|
+
}
|
|
138
|
+
);
|
|
139
|
+
});
|
|
140
|
+
v.displayName = "Select";
|
|
141
|
+
g.displayName = "Select.Content";
|
|
142
|
+
w.displayName = "Select.Trigger";
|
|
143
|
+
j.displayName = "Select.Item";
|
|
144
|
+
const J = Object.assign(v, {
|
|
145
|
+
Item: j
|
|
146
|
+
});
|
|
66
147
|
export {
|
|
67
|
-
|
|
148
|
+
J as Select
|
|
68
149
|
};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
body.theme-penrithmrt {
|
|
2
|
+
--color-primary: #68a97b;
|
|
3
|
+
--color-secondary: #1d341e;
|
|
4
|
+
--color-tertiary: #ede9d3;
|
|
5
|
+
|
|
6
|
+
--color-loading: #a3a3a3;
|
|
7
|
+
|
|
8
|
+
/* pill */
|
|
9
|
+
--color-error-default: #ffffff;
|
|
10
|
+
--color-warning-default: #a16207;
|
|
11
|
+
--color-success-default: #047857;
|
|
12
|
+
--color-info-default: #0369a1;
|
|
13
|
+
|
|
14
|
+
--color-error-light: #e94439;
|
|
15
|
+
--color-warning-light: #fde047;
|
|
16
|
+
--color-success-light: #6ee7b7;
|
|
17
|
+
--color-info-light: #7dd3fc;
|
|
18
|
+
|
|
19
|
+
/* Button */
|
|
20
|
+
--color-button-primary-active: #68a97b;
|
|
21
|
+
--color-button-primary-border: #68a97b;
|
|
22
|
+
--color-button-primary-bg: #68a97b;
|
|
23
|
+
--color-button-primary-text: #68a97b;
|
|
24
|
+
--color-button-primary-hover: #68a97b;
|
|
25
|
+
|
|
26
|
+
--color-button-secondary-active: #1d341e;
|
|
27
|
+
--color-button-secondary-border: #1d341e;
|
|
28
|
+
--color-button-secondary-bg: #1d341e;
|
|
29
|
+
--color-button-secondary-text: #1d341e;
|
|
30
|
+
--color-button-secondary-hover: #1d341e;
|
|
31
|
+
|
|
32
|
+
--color-button-ghost-active: #242424;
|
|
33
|
+
--color-button-ghost-border: #ffffff00;
|
|
34
|
+
--color-button-ghost-bg: #cbcbcb00;
|
|
35
|
+
--color-button-ghost-text: #3c2f71;
|
|
36
|
+
--color-button-ghost-hover: #c8c7c7;
|
|
37
|
+
|
|
38
|
+
--color-button-bordered-active: #242424;
|
|
39
|
+
--color-button-bordered-border: #9d9d9d;
|
|
40
|
+
--color-button-bordered-bg: #0055ff00;
|
|
41
|
+
--color-button-bordered-text: #000000;
|
|
42
|
+
--color-button-bordered-hover: #5f5f5f;
|
|
43
|
+
|
|
44
|
+
--color-button-basic-active: #acacac;
|
|
45
|
+
--color-button-basic-border: #ffffff;
|
|
46
|
+
--color-button-basic-bg: #ffffff;
|
|
47
|
+
--color-button-basic-text: #3c2f71;
|
|
48
|
+
--color-button-basic-hover: #cecece;
|
|
49
|
+
|
|
50
|
+
/* Carousel */
|
|
51
|
+
--color-carousel-arrow-default: #3c2f71;
|
|
52
|
+
--color-carousel-arrow-hover: #e94439;
|
|
53
|
+
--color-carousel-dots-default: #3c2f71;
|
|
54
|
+
--color-carousel-dots-active: #e94439;
|
|
55
|
+
--color-carousel-dots-hover: #e94439;
|
|
56
|
+
|
|
57
|
+
/* Footer */
|
|
58
|
+
--color-footer-bg: #68a97b;
|
|
59
|
+
--color-footer-text: #ffffff;
|
|
60
|
+
|
|
61
|
+
/* Star */
|
|
62
|
+
--color-star: #f5bf1f;
|
|
63
|
+
|
|
64
|
+
/* Tubestops */
|
|
65
|
+
--color-tubestop-station-active: #57e31b;
|
|
66
|
+
--color-tubestop-station-complete: #c9c8c8;
|
|
67
|
+
--color-tubestop-station-future: #5a4f45;
|
|
68
|
+
--color-tubestop-line-complete: #c9c8c8;
|
|
69
|
+
--color-tubestop-line-future: #707070;
|
|
70
|
+
--color-tubestop-text-active: #000000;
|
|
71
|
+
--color-tubestop-text-complete: #c9c8c8;
|
|
72
|
+
--color-tubestop-text-future: #5b5b5b;
|
|
73
|
+
|
|
74
|
+
/* Nav */
|
|
75
|
+
--color-nav-bg: #68a97b;
|
|
76
|
+
--color-nav-shadow-bg: #d1d5db;
|
|
77
|
+
--color-nav-text: #ede9d3;
|
|
78
|
+
}
|