@situaction/traq-ui-ste 1.0.19 → 1.0.20
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/dist/components/button/Button.d.ts +20 -10
- package/dist/components/button/Button.js +42 -42
- package/dist/components/checkbox/Checkbox.d.ts +5 -0
- package/dist/components/icon-button/IconButton.d.ts +20 -10
- package/dist/components/icon-button/IconButton.js +23 -23
- package/dist/components/input/Input.d.ts +19 -14
- package/dist/components/input/Input.js +79 -101
- package/dist/components/interface.d.ts +1 -0
- package/dist/components/tabs/Tabs.d.ts +6 -3
- package/dist/components/tag/Tag.d.ts +13 -7
- package/dist/components/title/Title.d.ts +4 -2
- package/dist/components/tooltip/Tooltip.d.ts +19 -0
- package/dist/components/tooltip/Tooltip.js +46 -0
- package/dist/styles/Button.css +1 -1
- package/dist/styles/IconButton.css +1 -1
- package/dist/styles/Input.css +1 -1
- package/dist/styles/Tooltip.css +1 -0
- package/package.json +1 -1
|
@@ -2,16 +2,26 @@ import { ButtonHTMLAttributes, FC, ReactNode } from 'react';
|
|
|
2
2
|
import { Color, Size } from '../interface';
|
|
3
3
|
|
|
4
4
|
export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
/** Is this the principal call to action on the page? */
|
|
6
|
+
mode?: 'primary' | 'secondary' | 'tertiary' | 'ghost' | 'text';
|
|
7
|
+
/** What background color to use (blue, red, ...)*/
|
|
8
|
+
color?: Color;
|
|
9
|
+
/** what mode do you use for light or dark color **/
|
|
10
|
+
colorMode?: 'light' | 'dark';
|
|
11
|
+
/** How large should the button be? */
|
|
12
|
+
size?: Size;
|
|
13
|
+
/** button contents */
|
|
14
|
+
label: string;
|
|
15
|
+
/** If true, the button will be styled to indicate an error state. */
|
|
16
|
+
error?: boolean;
|
|
17
|
+
/** If true, the button is activated */
|
|
18
|
+
selected?: boolean;
|
|
19
|
+
/** Additional content inside the input */
|
|
20
|
+
childrenLeft?: ReactNode;
|
|
21
|
+
/** Additional content inside the input */
|
|
22
|
+
childrenRight?: ReactNode;
|
|
23
|
+
/** Optional click handler */
|
|
24
|
+
onClick?: () => void;
|
|
15
25
|
}
|
|
16
26
|
/**
|
|
17
27
|
* Primary UI component for user interaction
|
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useEffect as
|
|
3
|
-
import { useTheme as
|
|
4
|
-
import '../../styles/Button.css';const
|
|
5
|
-
button:
|
|
6
|
-
"button-primary": "_button-
|
|
7
|
-
"button-secondary": "_button-
|
|
8
|
-
"button-tertiary": "_button-
|
|
9
|
-
"button-ghost": "_button-
|
|
10
|
-
"button-text": "_button-
|
|
11
|
-
"button-text-selected": "_button-text-
|
|
12
|
-
"button-error": "_button-
|
|
13
|
-
"button-size-xl": "_button-size-
|
|
14
|
-
"button-size-l": "_button-size-
|
|
15
|
-
"button-size-m": "_button-size-
|
|
16
|
-
"button-size-s": "_button-size-
|
|
17
|
-
"button-gap-xl": "_button-gap-
|
|
18
|
-
"button-gap-l": "_button-gap-
|
|
19
|
-
"button-gap-m": "_button-gap-
|
|
20
|
-
"button-gap-s": "_button-gap-
|
|
21
|
-
flexHorizontalCenter:
|
|
22
|
-
},
|
|
1
|
+
import { jsxs as p, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect as y } from "react";
|
|
3
|
+
import { useTheme as x } from "../theme/ThemeContext.js";
|
|
4
|
+
import '../../styles/Button.css';const d = "_button_tf4v4_21", g = "_flexHorizontalCenter_tf4v4_164", o = {
|
|
5
|
+
button: d,
|
|
6
|
+
"button-primary": "_button-primary_tf4v4_44",
|
|
7
|
+
"button-secondary": "_button-secondary_tf4v4_58",
|
|
8
|
+
"button-tertiary": "_button-tertiary_tf4v4_72",
|
|
9
|
+
"button-ghost": "_button-ghost_tf4v4_86",
|
|
10
|
+
"button-text": "_button-text_tf4v4_102",
|
|
11
|
+
"button-text-selected": "_button-text-selected_tf4v4_115",
|
|
12
|
+
"button-error": "_button-error_tf4v4_121",
|
|
13
|
+
"button-size-xl": "_button-size-xl_tf4v4_134",
|
|
14
|
+
"button-size-l": "_button-size-l_tf4v4_139",
|
|
15
|
+
"button-size-m": "_button-size-m_tf4v4_144",
|
|
16
|
+
"button-size-s": "_button-size-s_tf4v4_149",
|
|
17
|
+
"button-gap-xl": "_button-gap-xl_tf4v4_154",
|
|
18
|
+
"button-gap-l": "_button-gap-l_tf4v4_157",
|
|
19
|
+
"button-gap-m": "_button-gap-m_tf4v4_160",
|
|
20
|
+
"button-gap-s": "_button-gap-s_tf4v4_160",
|
|
21
|
+
flexHorizontalCenter: g
|
|
22
|
+
}, C = ({
|
|
23
23
|
mode: n = "primary",
|
|
24
|
-
size:
|
|
24
|
+
size: s = "m",
|
|
25
25
|
color: t,
|
|
26
26
|
colorMode: r,
|
|
27
|
-
label:
|
|
28
|
-
error:
|
|
29
|
-
selected:
|
|
30
|
-
childrenLeft:
|
|
31
|
-
childrenRight:
|
|
27
|
+
label: u,
|
|
28
|
+
error: l,
|
|
29
|
+
selected: b,
|
|
30
|
+
childrenLeft: i,
|
|
31
|
+
childrenRight: _,
|
|
32
32
|
...c
|
|
33
33
|
}) => {
|
|
34
|
-
const { mode: e } =
|
|
35
|
-
|
|
34
|
+
const { mode: e } = x(), m = () => l ? "error" : n;
|
|
35
|
+
y(() => {
|
|
36
36
|
r && !t && console.warn("`colorMode` is defined but `color` is missing. `colorMode` will be ignored.");
|
|
37
37
|
}, [t]);
|
|
38
|
-
const
|
|
38
|
+
const v = [
|
|
39
39
|
o.button,
|
|
40
40
|
o[`button-${m()}`],
|
|
41
|
-
o[`button-size-${
|
|
42
|
-
o[`button-gap-${
|
|
43
|
-
|
|
41
|
+
o[`button-size-${s}`],
|
|
42
|
+
o[`button-gap-${s}`],
|
|
43
|
+
b && n === "text" && o["button-text-selected"],
|
|
44
44
|
o.flexHorizontalCenter
|
|
45
|
-
].join(" "),
|
|
45
|
+
].join(" "), f = {
|
|
46
46
|
"--dynamic-color-text": t ? r === "dark" ? `var(--color-${t}-900)` : "var(--color-light-100)" : e === "light" ? "var(--color-light-100)" : "var(--primary-color-900)",
|
|
47
47
|
"--dynamic-color": t ? `var(--color-${t}-${r === "dark" ? "200" : "900"})` : "var(--primary-color)",
|
|
48
48
|
"--dynamic-color-hover": t ? `var(--color-${t}-${r === "dark" ? "100" : "800"})` : e === "light" ? "var(--primary-color-800)" : "var(--primary-color-100)",
|
|
49
49
|
"--dynamic-color-activated": t ? `var(--color-${t}-${r === "dark" ? "50" : "700"})` : e === "light" ? "var(--primary-color-700)" : "var(--primary-color-50)"
|
|
50
50
|
};
|
|
51
|
-
return /* @__PURE__ */
|
|
51
|
+
return /* @__PURE__ */ p(
|
|
52
52
|
"button",
|
|
53
53
|
{
|
|
54
54
|
type: "button",
|
|
55
|
-
className:
|
|
56
|
-
style: n === "primary" ?
|
|
55
|
+
className: v,
|
|
56
|
+
style: n === "primary" ? f : void 0,
|
|
57
57
|
...c,
|
|
58
58
|
children: [
|
|
59
|
-
|
|
60
|
-
/* @__PURE__ */
|
|
61
|
-
|
|
59
|
+
i && /* @__PURE__ */ a("span", { className: o.flexHorizontalCenter, children: i }),
|
|
60
|
+
/* @__PURE__ */ a("span", { children: u }),
|
|
61
|
+
_ && /* @__PURE__ */ a("span", { className: o.flexHorizontalCenter, children: _ })
|
|
62
62
|
]
|
|
63
63
|
}
|
|
64
64
|
);
|
|
65
65
|
};
|
|
66
66
|
export {
|
|
67
|
-
|
|
67
|
+
C as Button
|
|
68
68
|
};
|
|
@@ -2,10 +2,15 @@ import { FC, ReactNode } from 'react';
|
|
|
2
2
|
import { Size } from '../interface';
|
|
3
3
|
|
|
4
4
|
export interface CheckboxProps {
|
|
5
|
+
/** Indicates whether the checkbox is checked or not */
|
|
5
6
|
checked?: boolean;
|
|
7
|
+
/** Icon to be displayed inside the checkbox */
|
|
6
8
|
icon?: ReactNode;
|
|
9
|
+
/** Defines the size of the checkbox (e.g., small, medium, large) */
|
|
7
10
|
size?: Size;
|
|
11
|
+
/** If true, the checkbox will be disabled and not interactable */
|
|
8
12
|
disabled?: boolean;
|
|
13
|
+
/** Function to call when the checkbox state changes */
|
|
9
14
|
onChange?: (checked: boolean) => void;
|
|
10
15
|
}
|
|
11
16
|
declare const Checkbox: FC<CheckboxProps>;
|
|
@@ -2,15 +2,25 @@ import { FC, ReactElement } from 'react';
|
|
|
2
2
|
import { Color } from '../interface';
|
|
3
3
|
|
|
4
4
|
export interface IconButtonProps {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
/** Specifies the visual style of the button. */
|
|
6
|
+
mode?: 'primary' | 'secondary' | 'tertiary' | 'ghost' | 'icon';
|
|
7
|
+
/** What background color to use (blue, red, ...)*/
|
|
8
|
+
color?: Color;
|
|
9
|
+
/** what mode do you use for light or dark color **/
|
|
10
|
+
colorMode?: 'light' | 'dark';
|
|
11
|
+
/** How large should the button be? */
|
|
12
|
+
size?: 's' | 'm' | 'l' | 'xl';
|
|
13
|
+
/** If true, the button will have rounded corners. */
|
|
14
|
+
round?: boolean;
|
|
15
|
+
/** If true, the button will be styled to indicate an error state. */
|
|
16
|
+
error?: boolean;
|
|
17
|
+
/** If true, the button is activated */
|
|
18
|
+
selected?: boolean;
|
|
19
|
+
/** If true, the button will be disabled and non-interactive. */
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
/** Only icons (React elements) allowed inside the button */
|
|
22
|
+
children: ReactElement;
|
|
23
|
+
/** Optional click handler */
|
|
24
|
+
onClick?: () => void;
|
|
15
25
|
}
|
|
16
26
|
export declare const IconButton: FC<IconButtonProps>;
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { useEffect as
|
|
1
|
+
import { jsx as y } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect as d } from "react";
|
|
3
3
|
import { useTheme as p } from "../theme/ThemeContext.js";
|
|
4
|
-
import '../../styles/IconButton.css';const
|
|
5
|
-
button:
|
|
6
|
-
"button-round": "_button-
|
|
7
|
-
"button-primary": "_button-
|
|
8
|
-
"button-secondary": "_button-
|
|
9
|
-
"button-tertiary": "_button-
|
|
10
|
-
"button-ghost": "_button-
|
|
11
|
-
"button-text": "_button-
|
|
12
|
-
"button-text-selected": "_button-text-
|
|
13
|
-
"button-error": "_button-
|
|
14
|
-
"button-size-xl": "_button-size-
|
|
15
|
-
"button-size-l": "_button-size-
|
|
16
|
-
"button-size-m": "_button-size-
|
|
17
|
-
"button-size-s": "_button-size-
|
|
18
|
-
flexHorizontalCenter:
|
|
19
|
-
},
|
|
4
|
+
import '../../styles/IconButton.css';const x = "_button_1v64m_21", z = "_flexHorizontalCenter_1v64m_158", o = {
|
|
5
|
+
button: x,
|
|
6
|
+
"button-round": "_button-round_1v64m_49",
|
|
7
|
+
"button-primary": "_button-primary_1v64m_52",
|
|
8
|
+
"button-secondary": "_button-secondary_1v64m_65",
|
|
9
|
+
"button-tertiary": "_button-tertiary_1v64m_79",
|
|
10
|
+
"button-ghost": "_button-ghost_1v64m_93",
|
|
11
|
+
"button-text": "_button-text_1v64m_106",
|
|
12
|
+
"button-text-selected": "_button-text-selected_1v64m_118",
|
|
13
|
+
"button-error": "_button-error_1v64m_124",
|
|
14
|
+
"button-size-xl": "_button-size-xl_1v64m_137",
|
|
15
|
+
"button-size-l": "_button-size-l_1v64m_142",
|
|
16
|
+
"button-size-m": "_button-size-m_1v64m_147",
|
|
17
|
+
"button-size-s": "_button-size-s_1v64m_152",
|
|
18
|
+
flexHorizontalCenter: z
|
|
19
|
+
}, $ = ({
|
|
20
20
|
mode: e = "primary",
|
|
21
21
|
color: t,
|
|
22
22
|
colorMode: r,
|
|
@@ -29,7 +29,7 @@ import '../../styles/IconButton.css';const v = "_button_1tm5w_21", x = "_flexHor
|
|
|
29
29
|
onClick: b
|
|
30
30
|
}) => {
|
|
31
31
|
const { mode: n } = p(), l = () => a ? "error" : e;
|
|
32
|
-
|
|
32
|
+
d(() => {
|
|
33
33
|
r && !t && console.warn("`colorMode` is defined but `color` is missing. `colorMode` will be ignored.");
|
|
34
34
|
}, [t]);
|
|
35
35
|
const c = [
|
|
@@ -39,17 +39,17 @@ import '../../styles/IconButton.css';const v = "_button_1tm5w_21", x = "_flexHor
|
|
|
39
39
|
o[`button-size-${i}`],
|
|
40
40
|
u && e === "icon" && o["button-text-selected"],
|
|
41
41
|
o.flexHorizontalCenter
|
|
42
|
-
].join(" "),
|
|
42
|
+
].join(" "), v = {
|
|
43
43
|
"--dynamic-color-text": t ? r === "dark" ? "var(--primary-color-900)" : "var(--color-light-100)" : n === "light" ? "var(--color-light-100)" : "var(--primary-color-900)",
|
|
44
44
|
"--dynamic-color": t ? `var(--color-${t}-${r === "dark" ? "200" : "900"})` : "var(--primary-color)",
|
|
45
45
|
"--dynamic-color-hover": t ? `var(--color-${t}-${r === "dark" ? "100" : "800"})` : n === "light" ? "var(--primary-color-800)" : "var(--primary-color-100)",
|
|
46
46
|
"--dynamic-color-activated": t ? `var(--color-${t}-${r === "dark" ? "50" : "700"})` : n === "light" ? "var(--primary-color-700)" : "var(--primary-color-50)"
|
|
47
47
|
};
|
|
48
|
-
return /* @__PURE__ */
|
|
48
|
+
return /* @__PURE__ */ y(
|
|
49
49
|
"button",
|
|
50
50
|
{
|
|
51
51
|
className: c,
|
|
52
|
-
style:
|
|
52
|
+
style: v,
|
|
53
53
|
onClick: b,
|
|
54
54
|
disabled: m,
|
|
55
55
|
children: _
|
|
@@ -57,5 +57,5 @@ import '../../styles/IconButton.css';const v = "_button_1tm5w_21", x = "_flexHor
|
|
|
57
57
|
);
|
|
58
58
|
};
|
|
59
59
|
export {
|
|
60
|
-
|
|
60
|
+
$ as IconButton
|
|
61
61
|
};
|
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
import { FC, InputHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import { Size } from '../interface';
|
|
2
3
|
|
|
3
4
|
export interface InputProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
round?: boolean;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
5
|
+
/** How large should the input be? **/
|
|
6
|
+
sizeStyle?: Size;
|
|
7
|
+
/** input status style **/
|
|
8
|
+
status?: 'default' | 'error' | 'success' | 'secondary';
|
|
9
|
+
/** The label or placeholder text for the input field **/
|
|
10
|
+
label: string;
|
|
11
|
+
/** Optional unit or additional label to display next to the input **/
|
|
12
|
+
labelUnit?: string;
|
|
13
|
+
/** If true, the input will have rounded corners **/
|
|
14
|
+
round?: boolean;
|
|
15
|
+
/** Icon or element to display on the left side of the input **/
|
|
16
|
+
childrenLeft?: ReactNode;
|
|
17
|
+
/** Icon or element to display on the right side of the input **/
|
|
18
|
+
childrenRight?: ReactNode;
|
|
19
|
+
/** Default value for the input field **/
|
|
20
|
+
defaultValue?: string;
|
|
21
|
+
/** Disable the input field **/
|
|
22
|
+
disabled?: boolean;
|
|
18
23
|
}
|
|
19
24
|
export declare const Input: FC<InputProps>;
|
|
@@ -1,111 +1,89 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useState as y, useRef as
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
"input-style
|
|
6
|
-
"input-style-disabled": "_input-style-
|
|
7
|
-
"input-style-focused": "_input-style-
|
|
8
|
-
"input-style-
|
|
9
|
-
"input-style-error
|
|
10
|
-
"input-style-
|
|
11
|
-
"input-
|
|
12
|
-
"input-style-
|
|
13
|
-
"input-style-
|
|
14
|
-
"input-style-
|
|
15
|
-
"input-style-
|
|
16
|
-
"input-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
sizeStyle: u = "m",
|
|
31
|
-
label: z,
|
|
32
|
-
labelUnit: o,
|
|
33
|
-
color: n,
|
|
34
|
-
dark: r,
|
|
35
|
-
focusBackground: l,
|
|
36
|
-
status: a = "default",
|
|
37
|
-
ghost: f = !1,
|
|
38
|
-
iconLeft: c,
|
|
39
|
-
iconRight: p,
|
|
40
|
-
round: v,
|
|
41
|
-
classNames: g,
|
|
42
|
-
disabled: i,
|
|
43
|
-
defaultValue: m,
|
|
44
|
-
...b
|
|
1
|
+
import { jsxs as u, jsx as l, Fragment as c } from "react/jsx-runtime";
|
|
2
|
+
import { useState as y, useRef as j } from "react";
|
|
3
|
+
import { useTheme as N } from "../theme/ThemeContext.js";
|
|
4
|
+
import '../../styles/Input.css';const k = "_flexHorizontalBetween_17x9g_150", I = "_flexHorizontal_17x9g_150", e = {
|
|
5
|
+
"input-style": "_input-style_17x9g_37",
|
|
6
|
+
"input-style-disabled": "_input-style-disabled_17x9g_49",
|
|
7
|
+
"input-style-focused": "_input-style-focused_17x9g_60",
|
|
8
|
+
"input-style-secondary": "_input-style-secondary_17x9g_68",
|
|
9
|
+
"input-style-error": "_input-style-error_17x9g_82",
|
|
10
|
+
"input-style-success": "_input-style-success_17x9g_92",
|
|
11
|
+
"input-container": "_input-container_17x9g_102",
|
|
12
|
+
"input-style-size-xl": "_input-style-size-xl_17x9g_106",
|
|
13
|
+
"input-style-size-l": "_input-style-size-l_17x9g_116",
|
|
14
|
+
"input-style-size-m": "_input-style-size-m_17x9g_126",
|
|
15
|
+
"input-style-size-s": "_input-style-size-s_17x9g_136",
|
|
16
|
+
"input-style-radius": "_input-style-radius_17x9g_146",
|
|
17
|
+
flexHorizontalBetween: k,
|
|
18
|
+
flexHorizontal: I
|
|
19
|
+
}, M = ({
|
|
20
|
+
sizeStyle: d = "m",
|
|
21
|
+
label: p,
|
|
22
|
+
labelUnit: s,
|
|
23
|
+
status: n = "default",
|
|
24
|
+
childrenLeft: o,
|
|
25
|
+
childrenRight: i,
|
|
26
|
+
round: _,
|
|
27
|
+
disabled: r,
|
|
28
|
+
defaultValue: g,
|
|
29
|
+
...x
|
|
45
30
|
}) => {
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
},
|
|
31
|
+
const { mode: t } = N(), [f, a] = y(!1), [m, h] = y(g || ""), z = j(null), v = () => a(!0), B = () => a(!1), H = (F) => {
|
|
32
|
+
h(F.target.value);
|
|
33
|
+
}, b = [
|
|
49
34
|
e["input-style"],
|
|
50
|
-
e[`input-style-size-${
|
|
51
|
-
e[
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
"
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
].filter(Boolean).join(" "), C = [
|
|
60
|
-
e["input-style-error"],
|
|
61
|
-
i && e["input-style-error-disabled"],
|
|
62
|
-
t && e["input-style-error-focused"],
|
|
63
|
-
t && l && e["input-style-error-focus-background"]
|
|
64
|
-
].filter(Boolean).join(" "), w = [
|
|
65
|
-
e["input-style-success"],
|
|
66
|
-
i && e["input-style-success-disabled"],
|
|
67
|
-
t && e["input-style-success-focused"],
|
|
68
|
-
t && l && e["input-style-success-focus-background"]
|
|
69
|
-
].filter(Boolean).join(" "), F = () => {
|
|
70
|
-
switch (a) {
|
|
35
|
+
e[`input-style-size-${d}`],
|
|
36
|
+
_ && e["input-style-radius"],
|
|
37
|
+
e.flexHorizontalBetween
|
|
38
|
+
].filter(Boolean).join(" "), S = [
|
|
39
|
+
f && e["input-style-focused"],
|
|
40
|
+
r && e["input-style-disabled"],
|
|
41
|
+
n === "secondary" && e["input-style-secondary"]
|
|
42
|
+
].filter(Boolean).join(" "), w = () => {
|
|
43
|
+
switch (n) {
|
|
71
44
|
case "error":
|
|
72
|
-
return
|
|
45
|
+
return e["input-style-error"];
|
|
73
46
|
case "success":
|
|
74
|
-
return
|
|
47
|
+
return e["input-style-success"];
|
|
75
48
|
default:
|
|
76
|
-
return
|
|
49
|
+
return S;
|
|
77
50
|
}
|
|
78
|
-
},
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
"--dynamic-color":
|
|
83
|
-
"--dynamic-color-
|
|
84
|
-
"--dynamic-background-color": `${l ? `var(--color-${n}-50)` : "transparent"}`
|
|
85
|
-
}, V = {
|
|
86
|
-
"--dynamic-color": "var(--color-blue-situaction-800)",
|
|
87
|
-
"--dynamic-color-border": "var(--color-blue-situaction-800)",
|
|
88
|
-
"--dynamic-background-color": `${l ? "var(--color-blue-situaction-50)" : "transparent"}`
|
|
51
|
+
}, C = {
|
|
52
|
+
"--dynamic-color": t === "light" ? "var(--color-blue-grey-400)" : "var(--color-blue-grey-200)",
|
|
53
|
+
"--dynamic-color-activated": t === "light" ? "var(--color-dark-100)" : "var(--color-light-100)",
|
|
54
|
+
"--dynamic-color-disabled": t === "light" ? "var(--color-dark-40)" : "var(--color-light-40)",
|
|
55
|
+
"--dynamic-color-border-disabled": t === "light" ? "var(--color-dark-10)" : "var(--color-light-10)",
|
|
56
|
+
"--dynamic-color-secondary": t === "light" ? "var(--color-blue-situaction-900)" : "var(--color-light-100)"
|
|
89
57
|
};
|
|
90
|
-
return /* @__PURE__ */
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
{
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
58
|
+
return /* @__PURE__ */ u(
|
|
59
|
+
"div",
|
|
60
|
+
{
|
|
61
|
+
ref: z,
|
|
62
|
+
className: `input-style ${b} ${w()}`,
|
|
63
|
+
onFocus: v,
|
|
64
|
+
onBlur: B,
|
|
65
|
+
style: C,
|
|
66
|
+
children: [
|
|
67
|
+
o && /* @__PURE__ */ l(c, { children: o }),
|
|
68
|
+
/* @__PURE__ */ l("div", { className: e["input-container"], children: /* @__PURE__ */ l(
|
|
69
|
+
"input",
|
|
70
|
+
{
|
|
71
|
+
autoCorrect: "false",
|
|
72
|
+
placeholder: p,
|
|
73
|
+
disabled: r,
|
|
74
|
+
value: m,
|
|
75
|
+
onChange: H,
|
|
76
|
+
...x
|
|
77
|
+
}
|
|
78
|
+
) }),
|
|
79
|
+
/* @__PURE__ */ u(c, { children: [
|
|
80
|
+
s && /* @__PURE__ */ l("div", { children: s }),
|
|
81
|
+
i && /* @__PURE__ */ l("span", { className: e.flexHorizontal, children: i })
|
|
82
|
+
] })
|
|
83
|
+
]
|
|
84
|
+
}
|
|
85
|
+
);
|
|
108
86
|
};
|
|
109
87
|
export {
|
|
110
|
-
|
|
88
|
+
M as Input
|
|
111
89
|
};
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
2
|
|
|
3
3
|
export interface TabsProps {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
/** Array of strings representing the labels of the tabs */
|
|
5
|
+
listItems: string[];
|
|
6
|
+
/** Index of the tab that should be active by default */
|
|
7
|
+
defaultActiveTab?: number;
|
|
8
|
+
/** Callback function to handle tab selection, receiving the selected tab's label */
|
|
9
|
+
onTabSelect: (selectedItem: string) => void;
|
|
7
10
|
}
|
|
8
11
|
export declare const Tabs: FC<TabsProps>;
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import { FC, ReactNode } from 'react';
|
|
2
|
-
import { Color } from '../interface';
|
|
2
|
+
import { Color, Size } from '../interface';
|
|
3
3
|
|
|
4
4
|
export interface TagProps {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
/** The text label for the tag. This will be displayed if provided. */
|
|
6
|
+
label?: string;
|
|
7
|
+
/** The color of the tag, must be one of the defined valid colors. */
|
|
8
|
+
color?: Color;
|
|
9
|
+
/** Indicates if the tag can be deleted; when true, a delete icon is shown. */
|
|
10
|
+
deletable?: boolean;
|
|
11
|
+
/** The size of the tag, which affects its styling. */
|
|
12
|
+
size?: Size;
|
|
13
|
+
/** Additional content to be displayed inside the tag, like icons or other elements. */
|
|
14
|
+
children?: ReactNode;
|
|
15
|
+
/** A callback function to be called when the tag is clicked. */
|
|
16
|
+
onClick?: () => void;
|
|
11
17
|
}
|
|
12
18
|
export declare const Tag: FC<TagProps>;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { FC, ReactNode } from 'react';
|
|
2
2
|
|
|
3
3
|
export interface TitleProps {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
/** The main title text to be displayed in the heading. */
|
|
5
|
+
title: string;
|
|
6
|
+
/** Optional additional content to be displayed alongside the title, such as icons or other elements. */
|
|
7
|
+
children?: ReactNode;
|
|
6
8
|
}
|
|
7
9
|
export declare const Title: FC<TitleProps>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { FC, ReactNode } from 'react';
|
|
2
|
+
import { SizeTooltip } from '../interface';
|
|
3
|
+
|
|
4
|
+
export type TooltipProps = {
|
|
5
|
+
/** Elements concerned by hover events in order to show the tooltip. */
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
/** Content to put in tooltip (mandatory). */
|
|
8
|
+
content: ReactNode;
|
|
9
|
+
/** Where to show tooltip in relation to the element. */
|
|
10
|
+
position?: 'top' | 'topLeft' | 'topRight' | 'bottom' | 'bottomLeft' | 'bottomRight' | 'left' | 'right';
|
|
11
|
+
/** How big is the gap between element and tooltip. */
|
|
12
|
+
gap?: SizeTooltip;
|
|
13
|
+
/** How large padding is. */
|
|
14
|
+
padding?: SizeTooltip;
|
|
15
|
+
/** Option to force color mode, dark or light. */
|
|
16
|
+
colorMode?: 'light' | 'dark';
|
|
17
|
+
};
|
|
18
|
+
export declare const Tooltip: FC<TooltipProps>;
|
|
19
|
+
export default Tooltip;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { jsxs as d, jsx as h } from "react/jsx-runtime";
|
|
2
|
+
import { useState as _ } from "react";
|
|
3
|
+
import { useTheme as u } from "../theme/ThemeContext.js";
|
|
4
|
+
import '../../styles/Tooltip.css';const x = "_tooltip_1w7yx_21", o = {
|
|
5
|
+
"tooltip-container": "_tooltip-container_1w7yx_21",
|
|
6
|
+
tooltip: x,
|
|
7
|
+
"tooltip-dark": "_tooltip-dark_1w7yx_42",
|
|
8
|
+
"tooltip-light": "_tooltip-light_1w7yx_47"
|
|
9
|
+
}, k = ({ children: s, content: a, colorMode: e, position: n = "top", gap: r = "xs-5", padding: p = "xs-5" }) => {
|
|
10
|
+
const [c, l] = _(!1), { mode: m } = u(), f = [
|
|
11
|
+
o.tooltip,
|
|
12
|
+
o[e ? `tooltip-${e}` : m === "light" ? "tooltip-light" : "tooltip-dark"]
|
|
13
|
+
].filter(Boolean).join(" "), g = {
|
|
14
|
+
"--dynamic-gap": `var(--spacing-${r})`,
|
|
15
|
+
"--dynamic-padding": `var(--spacing-${p})`
|
|
16
|
+
}, y = () => {
|
|
17
|
+
const t = "calc(100% + var(--dynamic-gap))", i = {
|
|
18
|
+
top: { bottom: t, left: "50%", transform: "translateX(-50%)" },
|
|
19
|
+
topLeft: { bottom: t, right: "100%" },
|
|
20
|
+
topRight: { bottom: t, left: "100%" },
|
|
21
|
+
bottom: { top: t, left: "50%", transform: "translateX(-50%)" },
|
|
22
|
+
bottomLeft: { top: t, right: "100%" },
|
|
23
|
+
bottomRight: { top: t, left: "100%" },
|
|
24
|
+
left: { top: "50%", right: t, transform: "translateY(-50%)" },
|
|
25
|
+
right: { top: "50%", left: t, transform: "translateY(-50%)" }
|
|
26
|
+
};
|
|
27
|
+
return { ...i[n] || i.top };
|
|
28
|
+
};
|
|
29
|
+
return /* @__PURE__ */ d(
|
|
30
|
+
"div",
|
|
31
|
+
{
|
|
32
|
+
className: o["tooltip-container"],
|
|
33
|
+
style: g,
|
|
34
|
+
onMouseEnter: () => l(!0),
|
|
35
|
+
onMouseLeave: () => l(!1),
|
|
36
|
+
children: [
|
|
37
|
+
s,
|
|
38
|
+
c && /* @__PURE__ */ h("div", { className: f, style: y(), children: a })
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
};
|
|
43
|
+
export {
|
|
44
|
+
k as Tooltip,
|
|
45
|
+
k as default
|
|
46
|
+
};
|
package/dist/styles/Button.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@font-face{font-family:Urbanist-Thin;src:url(../fonts/Urbanist-Thin.ttf) format("truetype");font-weight:100;font-style:normal}@font-face{font-family:Urbanist-Extra-Light;src:url(../fonts/Urbanist-ExtraLight.ttf) format("truetype");font-weight:200;font-style:normal}@font-face{font-family:Urbanist-Light;src:url(../fonts/Urbanist-Light.ttf) format("truetype");font-weight:300;font-style:normal}@font-face{font-family:Urbanist-Regular;src:url(../fonts/Urbanist-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Urbanist;src:url(../fonts/Urbanist-Medium.ttf) format("truetype");font-weight:500;font-style:normal}@font-face{font-family:Urbanist-Back;src:url(../fonts/Urbanist-Black.ttf) format("truetype");font-weight:600;font-style:normal}@font-face{font-family:Urbanist-Semi-Bold;src:url(../fonts/Urbanist-SemiBold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:Urbanist-Bold;src:url(../fonts/Urbanist-Bold.ttf) format("truetype");font-weight:800;font-style:normal}@font-face{font-family:Urbanist-Extra-Bold;src:url(../fonts/Urbanist-ExtraBold.ttf) format("truetype");font-weight:900;font-style:normal}:root,body{font-family:Urbanist,sans-serif;line-height:1;width:100vw;height:100vh}.
|
|
1
|
+
@font-face{font-family:Urbanist-Thin;src:url(../fonts/Urbanist-Thin.ttf) format("truetype");font-weight:100;font-style:normal}@font-face{font-family:Urbanist-Extra-Light;src:url(../fonts/Urbanist-ExtraLight.ttf) format("truetype");font-weight:200;font-style:normal}@font-face{font-family:Urbanist-Light;src:url(../fonts/Urbanist-Light.ttf) format("truetype");font-weight:300;font-style:normal}@font-face{font-family:Urbanist-Regular;src:url(../fonts/Urbanist-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Urbanist;src:url(../fonts/Urbanist-Medium.ttf) format("truetype");font-weight:500;font-style:normal}@font-face{font-family:Urbanist-Back;src:url(../fonts/Urbanist-Black.ttf) format("truetype");font-weight:600;font-style:normal}@font-face{font-family:Urbanist-Semi-Bold;src:url(../fonts/Urbanist-SemiBold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:Urbanist-Bold;src:url(../fonts/Urbanist-Bold.ttf) format("truetype");font-weight:800;font-style:normal}@font-face{font-family:Urbanist-Extra-Bold;src:url(../fonts/Urbanist-ExtraBold.ttf) format("truetype");font-weight:900;font-style:normal}:root,body{font-family:Urbanist,sans-serif;line-height:1;width:100vw;height:100vh}._button_tf4v4_21{font-family:var(--font-family);font-weight:500;border:0;border-radius:8px;cursor:pointer;width:fit-content}._button_tf4v4_21:focus-visible{outline:2px solid var(--dynamic-color);outline-offset:2px}._button_tf4v4_21:disabled{background-color:#0f0f0f0d;color:#0f0f0f66;border:1px solid rgba(15,15,15,.1);cursor:initial;pointer-events:none}._button_tf4v4_21:disabled *{fill:#0f0f0f66}._button-primary_tf4v4_44{color:var(--dynamic-color-text);background-color:var(--dynamic-color)}._button-primary_tf4v4_44:hover{background-color:var(--dynamic-color-hover)}._button-primary_tf4v4_44:active{background-color:var(--dynamic-color-activated);outline:none}._button-primary_tf4v4_44 *{fill:var(--dynamic-color-text)}._button-secondary_tf4v4_58{color:var(--color-text);background-color:#96b4ee33;border:1px solid rgba(150,180,238,.5)}._button-secondary_tf4v4_58:hover{background-color:#96b4ee66}._button-secondary_tf4v4_58:active{background-color:#96b4ee99}._button-secondary_tf4v4_58 *{fill:var(--color-text)}._button-tertiary_tf4v4_72{color:var(--color-text);background-color:transparent;border:1px solid rgba(150,180,238,.5)}._button-tertiary_tf4v4_72:hover{background-color:#96b4ee1a}._button-tertiary_tf4v4_72:active{background-color:#96b4ee33}._button-tertiary_tf4v4_72 *{fill:var(--color-text)}._button-ghost_tf4v4_86{color:var(--color-text);background-color:transparent}._button-ghost_tf4v4_86:hover{background-color:#96b4ee1a}._button-ghost_tf4v4_86:active{background-color:#96b4ee33}._button-ghost_tf4v4_86:disabled{border:none}._button-ghost_tf4v4_86 *{fill:var(--color-text)}._button-text_tf4v4_102{color:#96b4eecc;background-color:transparent;padding:0!important}._button-text_tf4v4_102:hover{color:#96b4ee}._button-text_tf4v4_102:disabled{border:none;background-color:transparent;color:#a5b4bb}._button-text-selected_tf4v4_115,._button-text-selected_tf4v4_115:hover{color:var(--color-text)}._button-error_tf4v4_121{color:#fff;background-color:#ff4747}._button-error_tf4v4_121:hover{background-color:#ed1515}._button-error_tf4v4_121:active{background-color:#c80d0d}._button-error_tf4v4_121 *{fill:var(--color-text)}._button-size-xl_tf4v4_134{padding:1rem 2rem;font-size:1.125em;line-height:28px}._button-size-l_tf4v4_139{padding:.75rem 1.5rem;font-size:1em;line-height:24px}._button-size-m_tf4v4_144{padding:.5rem 1rem;font-size:.875em;line-height:22px}._button-size-s_tf4v4_149{padding:.375rem .75rem;font-size:.75em;line-height:16px}._button-gap-xl_tf4v4_154{gap:12px}._button-gap-l_tf4v4_157{gap:8px}._button-gap-m_tf4v4_160,._button-gap-s_tf4v4_160{gap:4px}._flexHorizontalCenter_tf4v4_164{display:flex;justify-content:center;align-items:center;flex-direction:row}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._button_1v64m_21{font-family:var(--font-family);font-weight:500;border:0;cursor:pointer;line-height:1;box-shadow:0 4px 10px #00000008;display:inline-flex;justify-content:center;align-items:center;min-width:12px;min-height:12px;aspect-ratio:1/1}._button_1v64m_21:focus-visible{outline:none}._button_1v64m_21:disabled{background-color:#0f0f0f0d;color:#0f0f0f66;border:1px solid rgba(15,15,15,.1);cursor:initial;pointer-events:none}._button_1v64m_21:disabled *{fill:#0f0f0f66}._button-round_1v64m_49._button_1v64m_21{border-radius:50%}._button-primary_1v64m_52{color:var(--dynamic-color-text);background-color:var(--dynamic-color)}._button-primary_1v64m_52:hover{background-color:var(--dynamic-color-hover)}._button-primary_1v64m_52:active{background-color:var(--dynamic-color-activated)}._button-primary_1v64m_52 *{fill:var(--dynamic-color-text)}._button-secondary_1v64m_65{color:var(--color-text);background-color:#96b4ee33;border:1px solid rgba(150,180,238,.5)}._button-secondary_1v64m_65:hover{background-color:#96b4ee66}._button-secondary_1v64m_65:active{background-color:#96b4ee99}._button-secondary_1v64m_65 *{fill:var(--color-text)}._button-tertiary_1v64m_79{color:var(--color-text);background-color:transparent;border:1px solid rgba(150,180,238,.5)}._button-tertiary_1v64m_79:hover{background-color:#96b4ee1a}._button-tertiary_1v64m_79:active{background-color:#96b4ee33}._button-tertiary_1v64m_79 *{fill:var(--color-text)}._button-ghost_1v64m_93{color:var(--color-text);background-color:transparent}._button-ghost_1v64m_93:hover{background-color:#96b4ee1a}._button-ghost_1v64m_93:active{background-color:#96b4ee33}._button-ghost_1v64m_93 *{fill:var(--color-text)}._button-text_1v64m_106{color:#96b4eecc;background-color:transparent}._button-text_1v64m_106:hover{color:#96b4ee}._button-text_1v64m_106:disabled{border:none;background-color:transparent;color:#a5b4bb}._button-text-selected_1v64m_118,._button-text-selected_1v64m_118:hover{color:var(--color-text)}._button-error_1v64m_124{color:#fff;background-color:#ff4747}._button-error_1v64m_124:hover{background-color:#ed1515}._button-error_1v64m_124:active{background-color:#c80d0d}._button-error_1v64m_124 *{fill:var(--color-text)}._button-size-xl_1v64m_137{border-radius:.5rem;padding:1rem;font-size:1.125em}._button-size-l_1v64m_142{border-radius:.5rem;padding:.75rem;font-size:1em}._button-size-m_1v64m_147{border-radius:.25rem;padding:.5rem;font-size:.875em}._button-size-s_1v64m_152{border-radius:.25rem;padding:.375rem;font-size:.75em}._flexHorizontalCenter_1v64m_158{display:flex;justify-content:center;align-items:center;flex-direction:row}
|
package/dist/styles/Input.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
input{font-family:Urbanist,sans-serif;border:none;background-color:transparent}input:focus{outline:none;box-shadow:none;border-color:transparent}
|
|
1
|
+
input{font-family:Urbanist,sans-serif;border:none;background-color:transparent}input:focus{outline:none;box-shadow:none;border-color:transparent}input::placeholder{font-family:Urbanist,sans-serif;color:var(--dynamic-color)}._input-style_17x9g_37{font-family:Urbanist,sans-serif;border:1px solid rgba(150,180,238,.5);color:var(--dynamic-color)}._input-style_17x9g_37 input{color:var(--dynamic-color-activated)}._input-style_17x9g_37 *{fill:var(--dynamic-color)}._input-style-disabled_17x9g_49{background-color:#0f0f0f0d;border-color:var(--dynamic-color-border-disabled);pointer-events:none}._input-style-disabled_17x9g_49 input{color:var(--dynamic-color-disabled)}._input-style-disabled_17x9g_49 *{fill:var(--dynamic-color-disabled)}._input-style-focused_17x9g_60{color:var(--dynamic-color);border-color:var(--dynamic-color-border);background-color:var(--dynamic-background-color)}._input-style-focused_17x9g_60 *{fill:var(--dynamic-color-activated)}._input-style-secondary_17x9g_68{background-color:#96b4ee33;color:var(--dynamic-color-secondary);border:1px solid rgba(150,180,238,.5)}._input-style-secondary_17x9g_68 input{color:var(--dynamic-color-secondary)}._input-style-secondary_17x9g_68 input::placeholder{color:var(--dynamic-color-secondary)}._input-style-secondary_17x9g_68 *{fill:var(--dynamic-color-secondary)}._input-style-error_17x9g_82{border-color:#ff4747;color:#ff4747}._input-style-error_17x9g_82 input::placeholder{color:#ff4747}._input-style-error_17x9g_82 *{fill:#ff4747}._input-style-success_17x9g_92{border-color:#33b449;color:#33b449}._input-style-success_17x9g_92 input::placeholder{color:#33b449}._input-style-success_17x9g_92 *{fill:#33b449}._input-style_17x9g_37 ._input-container_17x9g_102{position:relative;width:100%}._input-style-size-xl_17x9g_106{padding:1rem;font-size:1.125em;line-height:28px;border-radius:8px;gap:.625rem}._input-style-size-xl_17x9g_106 input{line-height:28px}._input-style-size-l_17x9g_116{padding:.75rem;font-size:1em;line-height:24px;border-radius:8px;gap:.5rem}._input-style-size-l_17x9g_116 input{line-height:24px}._input-style-size-m_17x9g_126{padding:.5rem;font-size:.875em;line-height:20px;border-radius:4px;gap:.375rem}._input-style-size-m_17x9g_126 input{line-height:20px}._input-style-size-s_17x9g_136{padding:.375rem;font-size:.75em;line-height:16px;border-radius:4px;gap:.25rem}._input-style-size-s_17x9g_136 input{line-height:16px}._input-style-radius_17x9g_146{border-radius:50px}._flexHorizontalBetween_17x9g_150{display:flex;justify-content:space-between;align-items:center;flex-direction:row}._flexHorizontal_17x9g_150{display:flex;justify-content:flex-start;align-items:center;flex-direction:row}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._tooltip-container_1w7yx_21{position:relative;display:inline-block;width:auto;height:auto;display:flex;justify-content:center;align-items:center;cursor:pointer}._tooltip-container_1w7yx_21 ._tooltip_1w7yx_21{position:absolute;padding:var(--dynamic-padding);border-radius:4px;font-size:12px;white-space:nowrap;z-index:10;opacity:0;visibility:hidden;transition:opacity .3s ease-in-out,visibility .3s}._tooltip-container_1w7yx_21 ._tooltip-dark_1w7yx_42{background-color:#3a4047;box-shadow:0 0 10.9px #0000001a;color:#fff}._tooltip-container_1w7yx_21 ._tooltip-light_1w7yx_47{background-color:#fff;box-shadow:0 0 10.9px #0000001a;color:#1d3557}._tooltip-container_1w7yx_21:hover ._tooltip_1w7yx_21{opacity:1;visibility:visible}
|