@situaction/traq-ui-ste 1.1.30 → 1.1.31
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 +2 -2
- package/dist/components/button/Button.js +41 -38
- package/dist/components/editable-field/EditableField.js +3 -3
- package/dist/components/editable-select/EditableSelect.d.ts +14 -0
- package/dist/components/editable-select/EditableSelect.js +26 -0
- package/dist/components/icon-button/IconButton.d.ts +2 -2
- package/dist/components/icon-button/IconButton.js +39 -33
- package/dist/components/list/list-controls/ListControls.js +2 -2
- package/dist/components/list/nested-list/NestedList.js +2 -2
- package/dist/components/list/nested-list/item/NestedListItem.js +13 -12
- package/dist/components/menu/Menu.js +3 -4
- package/dist/components/modal/Modal.d.ts +5 -2
- package/dist/components/modal/Modal.js +50 -20
- package/dist/components/panel/side-panel-header/SidePanelHeader.js +2 -2
- package/dist/components/select/Select.d.ts +7 -3
- package/dist/components/select/Select.js +151 -59
- package/dist/components/select-filter-input-tags/SelectFilterInputTags.js +9 -8
- package/dist/components/select-multi-items/SelectMultiItems.js +2 -2
- package/dist/components/switch/Switch.js +2 -2
- package/dist/components/tabs/Tabs.js +13 -14
- package/dist/main.d.ts +1 -0
- package/dist/main.js +60 -59
- package/dist/styles/Button.css +1 -1
- package/dist/styles/EditableField.css +1 -1
- package/dist/styles/EditableSelect.css +1 -0
- package/package.json +1 -1
- package/dist/styles/index.css +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ButtonHTMLAttributes,
|
|
1
|
+
import { ButtonHTMLAttributes, ReactNode, MouseEvent } from 'react';
|
|
2
2
|
import { Size } from '../interface';
|
|
3
3
|
|
|
4
4
|
export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
@@ -22,4 +22,4 @@ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
|
22
22
|
/**
|
|
23
23
|
* Primary UI component for user interaction
|
|
24
24
|
*/
|
|
25
|
-
export declare const Button:
|
|
25
|
+
export declare const Button: import('react').ForwardRefExoticComponent<ButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
3
|
-
const
|
|
4
|
-
button:
|
|
1
|
+
import { jsxs as i, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as p } from "react";
|
|
3
|
+
import '../../styles/Button.css';const v = "_button_mzv5s_30", x = "_flexHorizontalCenter_mzv5s_191", t = {
|
|
4
|
+
button: v,
|
|
5
5
|
"button-primary": "_button-primary_mzv5s_54",
|
|
6
6
|
"button-secondary": "_button-secondary_mzv5s_68",
|
|
7
7
|
"button-tertiary": "_button-tertiary_mzv5s_84",
|
|
@@ -19,39 +19,42 @@ const i = "_button_mzv5s_30", p = "_flexHorizontalCenter_mzv5s_191", t = {
|
|
|
19
19
|
"button-gap-l": "_button-gap-l_mzv5s_184",
|
|
20
20
|
"button-gap-m": "_button-gap-m_mzv5s_178",
|
|
21
21
|
"button-gap-s": "_button-gap-s_mzv5s_187",
|
|
22
|
-
flexHorizontalCenter:
|
|
23
|
-
},
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
22
|
+
flexHorizontalCenter: x
|
|
23
|
+
}, f = p(
|
|
24
|
+
({
|
|
25
|
+
mode: n = "primary",
|
|
26
|
+
size: e = "m",
|
|
27
|
+
label: u,
|
|
28
|
+
error: b,
|
|
29
|
+
selected: r,
|
|
30
|
+
childrenLeft: s,
|
|
31
|
+
childrenRight: _,
|
|
32
|
+
...m
|
|
33
|
+
}, a) => {
|
|
34
|
+
const z = () => b ? "error" : n, l = [
|
|
35
|
+
t.button,
|
|
36
|
+
t[`button-${z()}`],
|
|
37
|
+
t[`button-size-${e}`],
|
|
38
|
+
t[`button-gap-${e}`],
|
|
39
|
+
r && n === "text" && t["button-text-selected"],
|
|
40
|
+
t.flexHorizontalCenter
|
|
41
|
+
].filter(Boolean).join(" ");
|
|
42
|
+
return /* @__PURE__ */ i(
|
|
43
|
+
"button",
|
|
44
|
+
{
|
|
45
|
+
ref: a,
|
|
46
|
+
type: "button",
|
|
47
|
+
className: l,
|
|
48
|
+
...m,
|
|
49
|
+
children: [
|
|
50
|
+
s && /* @__PURE__ */ o("span", { className: t.flexHorizontalCenter, children: s }),
|
|
51
|
+
/* @__PURE__ */ o("span", { children: u }),
|
|
52
|
+
_ && /* @__PURE__ */ o("span", { className: t.flexHorizontalCenter, children: _ })
|
|
53
|
+
]
|
|
54
|
+
}
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
);
|
|
55
58
|
export {
|
|
56
|
-
|
|
59
|
+
f as Button
|
|
57
60
|
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as t, jsxs as n } from "react/jsx-runtime";
|
|
2
2
|
import { InputLabel as c } from "../input-label/InputLabel.js";
|
|
3
|
-
import '../../styles/EditableField.css';const m = "
|
|
3
|
+
import '../../styles/EditableField.css';const m = "_editableField_12vkl_30", o = "_statiqueField_12vkl_40", l = {
|
|
4
4
|
editableField: m,
|
|
5
5
|
statiqueField: o
|
|
6
|
-
},
|
|
6
|
+
}, p = ({
|
|
7
7
|
label: i,
|
|
8
8
|
value: e,
|
|
9
9
|
placeholder: d,
|
|
@@ -26,5 +26,5 @@ import '../../styles/EditableField.css';const m = "_editableField_1lhi9_30", o =
|
|
|
26
26
|
/* @__PURE__ */ t("div", { className: `${l.statiqueField} textSmall`, children: (e == null ? void 0 : e.trim()) || " " })
|
|
27
27
|
] });
|
|
28
28
|
export {
|
|
29
|
-
|
|
29
|
+
p as EditableField
|
|
30
30
|
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SelectItem } from '../select/Select';
|
|
2
|
+
|
|
3
|
+
interface EditableSelectProps {
|
|
4
|
+
label: string;
|
|
5
|
+
listItems: SelectItem[];
|
|
6
|
+
value?: string;
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
edit: boolean;
|
|
9
|
+
onSelect?: (selected: SelectItem) => void;
|
|
10
|
+
selected?: SelectItem;
|
|
11
|
+
autoCloseCondition: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare const EditableSelect: ({ label, listItems, value, placeholder, edit, onSelect, selected, autoCloseCondition }: EditableSelectProps) => import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsxs as i, Fragment as o, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { Select as S } from "../select/Select.js";
|
|
3
|
+
import '../../styles/EditableSelect.css';const x = "_editableSelect_6vsm4_30", p = "_statiqueField_6vsm4_40", l = {
|
|
4
|
+
editableSelect: x,
|
|
5
|
+
statiqueField: p
|
|
6
|
+
}, F = ({ label: s, listItems: a, value: t, placeholder: c, edit: d, onSelect: m, selected: r, autoCloseCondition: n }) => d ? /* @__PURE__ */ i(o, { children: [
|
|
7
|
+
/* @__PURE__ */ e("span", { className: "textSmall", children: s }),
|
|
8
|
+
/* @__PURE__ */ e(
|
|
9
|
+
S,
|
|
10
|
+
{
|
|
11
|
+
size: "s",
|
|
12
|
+
listItem: a,
|
|
13
|
+
placeholder: c,
|
|
14
|
+
modeDisplay: "text",
|
|
15
|
+
onSelect: m,
|
|
16
|
+
selected: r,
|
|
17
|
+
autoCloseCondition: n
|
|
18
|
+
}
|
|
19
|
+
)
|
|
20
|
+
] }) : /* @__PURE__ */ i("div", { className: l.editableSelect, children: [
|
|
21
|
+
/* @__PURE__ */ e("span", { className: "textSmall", children: s }),
|
|
22
|
+
/* @__PURE__ */ e("div", { className: `${l.statiqueField} textSmall`, children: (t == null ? void 0 : t.trim()) || "-" })
|
|
23
|
+
] });
|
|
24
|
+
export {
|
|
25
|
+
F as EditableSelect
|
|
26
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ButtonHTMLAttributes,
|
|
1
|
+
import { ButtonHTMLAttributes, MouseEvent, ReactElement } from 'react';
|
|
2
2
|
import { Size } from '../interface';
|
|
3
3
|
|
|
4
4
|
export interface IconButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
@@ -24,4 +24,4 @@ export interface IconButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>
|
|
|
24
24
|
* It supports customization such as size, style mode, and error state.
|
|
25
25
|
* The button can also be disabled or selected based on props.
|
|
26
26
|
*/
|
|
27
|
-
export declare const IconButton:
|
|
27
|
+
export declare const IconButton: import('react').ForwardRefExoticComponent<IconButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import
|
|
3
|
-
|
|
1
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as k } from "react";
|
|
3
|
+
import '../../styles/IconButton.css';const z = "_button_kvvl4_30", m = "_flexHorizontalCenter_kvvl4_184", t = {
|
|
4
|
+
button: z,
|
|
4
5
|
"button-round": "_button-round_kvvl4_58",
|
|
5
6
|
"button-primary": "_button-primary_kvvl4_61",
|
|
6
7
|
"button-secondary": "_button-secondary_kvvl4_75",
|
|
@@ -14,35 +15,40 @@ import '../../styles/IconButton.css';const c = "_button_kvvl4_30", a = "_flexHor
|
|
|
14
15
|
"button-size-m": "_button-size-m_kvvl4_167",
|
|
15
16
|
"button-size-s": "_button-size-s_kvvl4_172",
|
|
16
17
|
"button-size-menu": "_button-size-menu_kvvl4_177",
|
|
17
|
-
flexHorizontalCenter:
|
|
18
|
-
},
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
18
|
+
flexHorizontalCenter: m
|
|
19
|
+
}, d = k(
|
|
20
|
+
({
|
|
21
|
+
mode: o = "primary",
|
|
22
|
+
size: n = "m",
|
|
23
|
+
error: e,
|
|
24
|
+
selected: _,
|
|
25
|
+
round: u,
|
|
26
|
+
disabled: r,
|
|
27
|
+
children: b,
|
|
28
|
+
onClick: l,
|
|
29
|
+
...s
|
|
30
|
+
}, i) => {
|
|
31
|
+
const v = () => e ? "error" : o, c = [
|
|
32
|
+
t.button,
|
|
33
|
+
t[`button-${v()}`],
|
|
34
|
+
u && t["button-round"],
|
|
35
|
+
t[`button-size-${n}`],
|
|
36
|
+
_ && o === "icon" && t["button-icon-selected"],
|
|
37
|
+
t.flexHorizontalCenter
|
|
38
|
+
].filter(Boolean).join(" ");
|
|
39
|
+
return /* @__PURE__ */ a(
|
|
40
|
+
"button",
|
|
41
|
+
{
|
|
42
|
+
ref: i,
|
|
43
|
+
className: c,
|
|
44
|
+
onClick: l,
|
|
45
|
+
disabled: r,
|
|
46
|
+
...s,
|
|
47
|
+
children: b
|
|
48
|
+
}
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
);
|
|
46
52
|
export {
|
|
47
|
-
|
|
53
|
+
d as IconButton
|
|
48
54
|
};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsxs as l, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { Button as p } from "../../button/Button.js";
|
|
3
3
|
import "react";
|
|
4
|
-
import
|
|
4
|
+
import "../../icon-button/IconButton.js";
|
|
5
5
|
import { Checkbox as _ } from "../../checkbox/Checkbox.js";
|
|
6
6
|
import { Icon as a } from "../../icon/Icon.js";
|
|
7
7
|
import "../../modal/Modal.js";
|
|
8
8
|
import "../../theme/ThemeContext.js";
|
|
9
|
-
|
|
9
|
+
import '../../../styles/Size.css';import '../../../styles/ListControls.css';/* empty css */
|
|
10
10
|
const u = "_list_1nihg_6", f = "_children_1nihg_29", g = "_selected_1nihg_43", k = "_reset_1nihg_47", i = {
|
|
11
11
|
list: u,
|
|
12
12
|
children: f,
|
|
@@ -2,11 +2,11 @@ import { jsxs as l, jsx as t } from "react/jsx-runtime";
|
|
|
2
2
|
import { NestedListItem as c } from "./item/NestedListItem.js";
|
|
3
3
|
import { Button as p } from "../../button/Button.js";
|
|
4
4
|
import "react";
|
|
5
|
-
import
|
|
5
|
+
import "../../icon-button/IconButton.js";
|
|
6
6
|
import { Icon as a } from "../../icon/Icon.js";
|
|
7
7
|
import "../../modal/Modal.js";
|
|
8
8
|
import "../../theme/ThemeContext.js";
|
|
9
|
-
|
|
9
|
+
import '../../../styles/Size.css';import '../../../styles/NestedList.css';/* empty css */
|
|
10
10
|
const h = "_nestedlist_7rnd3_6", _ = "_reset_7rnd3_18", r = {
|
|
11
11
|
nestedlist: h,
|
|
12
12
|
reset: _
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as n, Fragment as w, jsx as t } from "react/jsx-runtime";
|
|
2
2
|
import { useState as g, useRef as u, useLayoutEffect as z } from "react";
|
|
3
|
-
import
|
|
3
|
+
import "../../../button/Button.js";
|
|
4
|
+
import "../../../icon-button/IconButton.js";
|
|
4
5
|
import { TagCounter as B } from "../../../tag-counter/TagCounter.js";
|
|
5
6
|
import { Icon as l } from "../../../icon/Icon.js";
|
|
6
7
|
import { Modal as L } from "../../../modal/Modal.js";
|
|
7
8
|
import "../../../theme/ThemeContext.js";
|
|
8
|
-
|
|
9
|
+
import '../../../../styles/Size.css';import '../../../../styles/NestedListItem.css';/* empty css */
|
|
9
10
|
const S = "_nestedlist_2r2ga_6", $ = "_items_2r2ga_21", j = "_textSmall_2r2ga_28", v = "_modal_2r2ga_34", s = {
|
|
10
11
|
nestedlist: S,
|
|
11
12
|
items: $,
|
|
12
13
|
textSmall: j,
|
|
13
14
|
modal: v
|
|
14
|
-
},
|
|
15
|
+
}, W = ({
|
|
15
16
|
icon: a,
|
|
16
17
|
title: h,
|
|
17
18
|
numberSelect: i,
|
|
@@ -19,13 +20,13 @@ const S = "_nestedlist_2r2ga_6", $ = "_items_2r2ga_21", j = "_textSmall_2r2ga_28
|
|
|
19
20
|
onClick: m,
|
|
20
21
|
align: e = "right"
|
|
21
22
|
}) => {
|
|
22
|
-
const [c, d] = g(!1),
|
|
23
|
+
const [c, d] = g(!1), r = u(null), o = u(null), [x, C] = g({
|
|
23
24
|
top: "0px"
|
|
24
25
|
});
|
|
25
26
|
z(() => {
|
|
26
27
|
var p;
|
|
27
|
-
if (
|
|
28
|
-
const N = o.current.getBoundingClientRect(), f =
|
|
28
|
+
if (r.current && o.current) {
|
|
29
|
+
const N = o.current.getBoundingClientRect(), f = r.current.getBoundingClientRect().width, M = ((p = o.current.parentElement) == null ? void 0 : p.getBoundingClientRect().top) || 0;
|
|
29
30
|
C({
|
|
30
31
|
top: `${N.top - M}px`,
|
|
31
32
|
...e === "right" ? { right: `-${f + 6}px` } : { left: `-${f + 6}px` }
|
|
@@ -35,8 +36,8 @@ const S = "_nestedlist_2r2ga_6", $ = "_items_2r2ga_21", j = "_textSmall_2r2ga_28
|
|
|
35
36
|
const R = () => {
|
|
36
37
|
d(!0), m && m();
|
|
37
38
|
};
|
|
38
|
-
return /* @__PURE__ */
|
|
39
|
-
/* @__PURE__ */
|
|
39
|
+
return /* @__PURE__ */ n(w, { children: [
|
|
40
|
+
/* @__PURE__ */ n(
|
|
40
41
|
"div",
|
|
41
42
|
{
|
|
42
43
|
ref: o,
|
|
@@ -44,7 +45,7 @@ const S = "_nestedlist_2r2ga_6", $ = "_items_2r2ga_21", j = "_textSmall_2r2ga_28
|
|
|
44
45
|
onClick: R,
|
|
45
46
|
children: [
|
|
46
47
|
e === "left" && /* @__PURE__ */ t(l, { icon: "CaretLeft", size: 14, weight: "regular" }),
|
|
47
|
-
/* @__PURE__ */
|
|
48
|
+
/* @__PURE__ */ n("div", { className: s.items, children: [
|
|
48
49
|
a && /* @__PURE__ */ t(l, { icon: a }),
|
|
49
50
|
/* @__PURE__ */ t("span", { className: s.textSmall, children: h }),
|
|
50
51
|
i && i > 0 && /* @__PURE__ */ t(B, { size: "s", label: i ?? 0 })
|
|
@@ -56,7 +57,7 @@ const S = "_nestedlist_2r2ga_6", $ = "_items_2r2ga_21", j = "_textSmall_2r2ga_28
|
|
|
56
57
|
/* @__PURE__ */ t(
|
|
57
58
|
L,
|
|
58
59
|
{
|
|
59
|
-
ref:
|
|
60
|
+
ref: r,
|
|
60
61
|
className: s.modal,
|
|
61
62
|
open: c,
|
|
62
63
|
onClose: () => d(!1),
|
|
@@ -67,5 +68,5 @@ const S = "_nestedlist_2r2ga_6", $ = "_items_2r2ga_21", j = "_textSmall_2r2ga_28
|
|
|
67
68
|
] });
|
|
68
69
|
};
|
|
69
70
|
export {
|
|
70
|
-
|
|
71
|
+
W as NestedListItem
|
|
71
72
|
};
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { jsx as l, jsxs as f } from "react/jsx-runtime";
|
|
2
2
|
import { useState as c, useRef as M, useEffect as $ } from "react";
|
|
3
3
|
import { Button as b } from "../button/Button.js";
|
|
4
|
-
import '../../styles/Size.css';import '../../styles/index.css';import '../../styles/Menu.css';/* empty css */
|
|
5
4
|
import { IconButton as u } from "../icon-button/IconButton.js";
|
|
6
5
|
import { Icon as w } from "../icon/Icon.js";
|
|
7
6
|
import { Modal as W } from "../modal/Modal.js";
|
|
8
7
|
import "../theme/ThemeContext.js";
|
|
9
|
-
|
|
8
|
+
import '../../styles/Size.css';import '../../styles/Menu.css';/* empty css */
|
|
10
9
|
const y = "_fullHeight_o2xi7_15", O = "_fullWidth_o2xi7_18", j = "_open_o2xi7_21", D = "_close_o2xi7_25", q = "_menuButton_o2xi7_29", A = "_closeIcon_o2xi7_37", F = "_label_o2xi7_42", G = "_textEllipsis_o2xi7_46", J = "_pointer_o2xi7_51", K = "_fullImg_o2xi7_54", Q = "_menuParams_o2xi7_60", T = "_line_o2xi7_66", U = "_borderRadiusM_o2xi7_73", X = "_menuItem_o2xi7_77", Y = "_flexVerticalBetweenStart_o2xi7_86", Z = "_flexHorizontalBetween_o2xi7_93", ee = "_flexVertical_o2xi7_86", oe = "_flexVerticalBetweenCenter_o2xi7_107", e = {
|
|
11
10
|
fullHeight: y,
|
|
12
11
|
fullWidth: O,
|
|
@@ -26,7 +25,7 @@ const y = "_fullHeight_o2xi7_15", O = "_fullWidth_o2xi7_18", j = "_open_o2xi7_21
|
|
|
26
25
|
flexHorizontalBetween: Z,
|
|
27
26
|
flexVertical: ee,
|
|
28
27
|
flexVerticalBetweenCenter: oe
|
|
29
|
-
},
|
|
28
|
+
}, de = ({ menuItems: s = [], menuParams: r = [], shortLogo: x, logo: m, isOpen: h, defaultOpen: N = !1, selectedId: d }) => {
|
|
30
29
|
const [t, p] = c(N ?? !1), [g, B] = c(d ?? (s.length > 0 ? s[0].id : null)), I = M(null), [V, _] = c(!1), [H, C] = c(!1), [k, E] = c(null), [z, R] = c({}), L = M(null);
|
|
31
30
|
$(() => {
|
|
32
31
|
d != null && B(d);
|
|
@@ -117,5 +116,5 @@ const y = "_fullHeight_o2xi7_15", O = "_fullWidth_o2xi7_18", j = "_open_o2xi7_21
|
|
|
117
116
|
] }) });
|
|
118
117
|
};
|
|
119
118
|
export {
|
|
120
|
-
|
|
119
|
+
de as Menu
|
|
121
120
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ReactNode, RefObject } from 'react';
|
|
2
2
|
|
|
3
3
|
export interface ModalProps {
|
|
4
4
|
/** Determines whether the modal is open or closed.
|
|
@@ -23,10 +23,13 @@ export interface ModalProps {
|
|
|
23
23
|
className?: string;
|
|
24
24
|
/** Option to disable the overlay and the blocking of events outside the modal */
|
|
25
25
|
disableOverlay?: boolean;
|
|
26
|
+
/** Condition to close the modal */
|
|
27
|
+
autoCloseCondition?: boolean;
|
|
28
|
+
anchorRef?: RefObject<HTMLElement>;
|
|
26
29
|
}
|
|
27
30
|
/**
|
|
28
31
|
* Modal component that renders content in a floating layer above the main UI.
|
|
29
32
|
* It supports custom positioning and closes when clicking outside of its content area.
|
|
30
33
|
* The component uses a ref to detect clicks outside the modal.
|
|
31
34
|
*/
|
|
32
|
-
export declare const Modal:
|
|
35
|
+
export declare const Modal: import('react').ForwardRefExoticComponent<ModalProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
@@ -1,24 +1,54 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import '../../styles/Modal.css';const
|
|
4
|
-
overlay:
|
|
5
|
-
modalContent:
|
|
6
|
-
},
|
|
7
|
-
({ open:
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { jsxs as N, Fragment as S, jsx as v } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as W, useRef as k, useState as w, useEffect as g, useLayoutEffect as n } from "react";
|
|
3
|
+
import '../../styles/Modal.css';const q = "_overlay_lv2n7_2", A = "_modalContent_lv2n7_12", y = {
|
|
4
|
+
overlay: q,
|
|
5
|
+
modalContent: A
|
|
6
|
+
}, D = W(
|
|
7
|
+
({ open: l, onClose: a, children: x, position: e, className: _, disableOverlay: b = !1, autoCloseCondition: m, anchorRef: d }, E) => {
|
|
8
|
+
const $ = k(null), c = E || $, [r, h] = w(), [L, j] = w();
|
|
9
|
+
return g(() => {
|
|
10
|
+
!m && m !== void 0 && l && a();
|
|
11
|
+
}, [m, l, a]), n(() => {
|
|
12
|
+
if (d != null && d.current && l && !e) {
|
|
13
|
+
const t = d.current.getBoundingClientRect();
|
|
14
|
+
h({
|
|
15
|
+
top: `${t.bottom + window.scrollY}px`,
|
|
16
|
+
left: `${t.left + window.scrollX}px`
|
|
17
|
+
}), j(`${t.width}px`);
|
|
12
18
|
}
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
}, [d, l, e]), g(() => {
|
|
20
|
+
const t = (u) => {
|
|
21
|
+
const f = c.current;
|
|
22
|
+
f && !f.contains(u.target) && l && ![...document.querySelectorAll(".dialog")].some(
|
|
23
|
+
(M) => M.contains(u.target)
|
|
24
|
+
) && a();
|
|
25
|
+
};
|
|
26
|
+
return document.addEventListener("mousedown", t), () => {
|
|
27
|
+
document.removeEventListener("mousedown", t);
|
|
28
|
+
};
|
|
29
|
+
}, [a, l, c]), l ? /* @__PURE__ */ N(S, { children: [
|
|
30
|
+
!b && /* @__PURE__ */ v("div", { className: y.overlay }),
|
|
31
|
+
/* @__PURE__ */ v(
|
|
32
|
+
"div",
|
|
33
|
+
{
|
|
34
|
+
ref: c,
|
|
35
|
+
className: `${y.modalContent} ${_ || ""}`,
|
|
36
|
+
onMouseDown: (t) => t.stopPropagation(),
|
|
37
|
+
style: {
|
|
38
|
+
position: "absolute",
|
|
39
|
+
top: (e == null ? void 0 : e.top) ?? (r == null ? void 0 : r.top) ?? "50%",
|
|
40
|
+
left: (e == null ? void 0 : e.left) ?? (r == null ? void 0 : r.left) ?? "50%",
|
|
41
|
+
right: e == null ? void 0 : e.right,
|
|
42
|
+
bottom: e == null ? void 0 : e.bottom,
|
|
43
|
+
width: (e == null ? void 0 : e.width) ?? L ?? "auto",
|
|
44
|
+
transform: !(e != null && e.top) && !(e != null && e.left) && !r ? "translate(-50%, -50%)" : void 0
|
|
45
|
+
},
|
|
46
|
+
children: x
|
|
47
|
+
}
|
|
48
|
+
)
|
|
49
|
+
] }) : null;
|
|
50
|
+
}
|
|
21
51
|
);
|
|
22
52
|
export {
|
|
23
|
-
|
|
53
|
+
D as Modal
|
|
24
54
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsxs as C, jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
2
|
+
import "../../button/Button.js";
|
|
3
3
|
import "react";
|
|
4
4
|
import { IconButton as i } from "../../icon-button/IconButton.js";
|
|
5
5
|
import { Icon as t } from "../../icon/Icon.js";
|
|
6
6
|
import "../../modal/Modal.js";
|
|
7
7
|
import "../../theme/ThemeContext.js";
|
|
8
|
-
|
|
8
|
+
import '../../../styles/Size.css';import '../../../styles/SidePanelHeader.css';/* empty css */
|
|
9
9
|
const c = "_sidePanelHeader_72g7b_6", m = "_buttonArrow_72g7b_13", h = "_title_72g7b_20", r = {
|
|
10
10
|
sidePanelHeader: c,
|
|
11
11
|
buttonArrow: m,
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
1
|
import { Size } from '../interface';
|
|
3
2
|
|
|
4
3
|
import * as PhosphorIcons from "@phosphor-icons/react";
|
|
5
4
|
export type SelectItem = {
|
|
6
5
|
label?: string;
|
|
7
|
-
icon?: keyof typeof PhosphorIcons;
|
|
6
|
+
icon?: keyof typeof PhosphorIcons | null;
|
|
8
7
|
value: string;
|
|
9
8
|
};
|
|
10
9
|
export interface SelectProps {
|
|
@@ -29,11 +28,16 @@ export interface SelectProps {
|
|
|
29
28
|
left?: string;
|
|
30
29
|
right?: string;
|
|
31
30
|
bottom?: string;
|
|
31
|
+
width?: string;
|
|
32
32
|
};
|
|
33
|
+
/** Text displayed when no item is selected */
|
|
34
|
+
placeholder?: string;
|
|
35
|
+
/** Condition to close the modal */
|
|
36
|
+
autoCloseCondition: boolean;
|
|
33
37
|
}
|
|
34
38
|
/**
|
|
35
39
|
* Select component that allows users to choose an option from a list.
|
|
36
40
|
* It supports three display modes: 'all' (icon + text), 'icon' (only icon), and 'text' (only text).
|
|
37
41
|
* The selected value is displayed in a button, and a modal opens to show the list of options.
|
|
38
42
|
*/
|
|
39
|
-
export declare const Select:
|
|
43
|
+
export declare const Select: ({ selected, size, listItem, modeDisplay, onSelect, positionOverride, placeholder, autoCloseCondition }: SelectProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,79 +1,171 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useState as
|
|
3
|
-
import { Button as
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { Modal as g } from "../modal/Modal.js";
|
|
1
|
+
import { jsxs as K, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { useState as k, useRef as h, useEffect as w } from "react";
|
|
3
|
+
import { Button as E } from "../button/Button.js";
|
|
4
|
+
import { IconButton as I } from "../icon-button/IconButton.js";
|
|
5
|
+
import { Icon as p } from "../icon/Icon.js";
|
|
6
|
+
import { Modal as M } from "../modal/Modal.js";
|
|
8
7
|
import "../theme/ThemeContext.js";
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
selectContainer:
|
|
8
|
+
import '../../styles/Size.css';import '../../styles/Select.css';/* empty css */
|
|
9
|
+
const O = "_selectContainer_1o5wx_54", q = "_selected_1o5wx_57", A = "_children_1o5wx_61", D = "_active_1o5wx_78", G = "_selectList_1o5wx_82", H = "_modal_1o5wx_91", J = "_dropdownFadeIn_1o5wx_1", Q = "_itemLabel_1o5wx_98", m = {
|
|
10
|
+
selectContainer: O,
|
|
11
|
+
selected: q,
|
|
12
|
+
children: A,
|
|
13
|
+
active: D,
|
|
14
|
+
selectList: G,
|
|
15
|
+
modal: H,
|
|
16
|
+
dropdownFadeIn: J,
|
|
17
|
+
itemLabel: Q
|
|
18
|
+
}, re = ({
|
|
12
19
|
selected: y,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
size: _ = "m",
|
|
21
|
+
listItem: a,
|
|
22
|
+
modeDisplay: x = "all",
|
|
23
|
+
onSelect: S,
|
|
24
|
+
positionOverride: g,
|
|
25
|
+
placeholder: N = "Sélectionner",
|
|
26
|
+
autoCloseCondition: W
|
|
27
|
+
}) => {
|
|
28
|
+
const [t, u] = k(!1), $ = h(null), [j, B] = k({
|
|
29
|
+
top: "calc(100% + 6px)",
|
|
30
|
+
left: "0px",
|
|
31
|
+
width: "100%"
|
|
32
|
+
}), [c, P] = k(y ?? null);
|
|
21
33
|
w(() => {
|
|
22
|
-
|
|
23
|
-
}, [
|
|
24
|
-
|
|
25
|
-
}, [
|
|
26
|
-
const
|
|
27
|
-
|
|
28
|
-
},
|
|
29
|
-
const e =
|
|
30
|
-
return
|
|
31
|
-
|
|
34
|
+
P(y ?? null);
|
|
35
|
+
}, [y]), w(() => {
|
|
36
|
+
g && B(g);
|
|
37
|
+
}, [g]);
|
|
38
|
+
const U = (e) => {
|
|
39
|
+
P(e), u(!1), S && S(e);
|
|
40
|
+
}, V = () => {
|
|
41
|
+
const e = c == null ? void 0 : c.icon, o = (c == null ? void 0 : c.label) || N || "Sélectionner";
|
|
42
|
+
return x === "icon" && e ? /* @__PURE__ */ r(I, { ref: d, mode: "tertiary", size: _, onClick: () => u(!t), children: /* @__PURE__ */ r(p, { icon: c.icon }) }) : x === "text" ? /* @__PURE__ */ r(
|
|
43
|
+
E,
|
|
32
44
|
{
|
|
45
|
+
ref: d,
|
|
33
46
|
mode: "tertiary",
|
|
34
|
-
label:
|
|
35
|
-
childrenRight: /* @__PURE__ */
|
|
36
|
-
size:
|
|
37
|
-
onClick: () =>
|
|
47
|
+
label: o,
|
|
48
|
+
childrenRight: /* @__PURE__ */ r(p, { icon: t ? "CaretUp" : "CaretDown", size: 14, weight: "bold" }),
|
|
49
|
+
size: _,
|
|
50
|
+
onClick: () => u(!t)
|
|
38
51
|
}
|
|
39
|
-
) :
|
|
40
|
-
|
|
52
|
+
) : x === "all" ? /* @__PURE__ */ r(
|
|
53
|
+
E,
|
|
41
54
|
{
|
|
55
|
+
ref: d,
|
|
42
56
|
mode: "tertiary",
|
|
43
|
-
label:
|
|
44
|
-
size:
|
|
45
|
-
childrenLeft: e && /* @__PURE__ */
|
|
46
|
-
childrenRight: /* @__PURE__ */
|
|
47
|
-
onClick: () =>
|
|
57
|
+
label: o,
|
|
58
|
+
size: _,
|
|
59
|
+
childrenLeft: e && /* @__PURE__ */ r(p, { icon: c.icon }),
|
|
60
|
+
childrenRight: /* @__PURE__ */ r(p, { icon: t ? "CaretUp" : "CaretDown", size: 14, weight: "bold" }),
|
|
61
|
+
onClick: () => u(!t)
|
|
48
62
|
}
|
|
49
|
-
) : /* @__PURE__ */
|
|
50
|
-
|
|
63
|
+
) : /* @__PURE__ */ r(
|
|
64
|
+
E,
|
|
51
65
|
{
|
|
66
|
+
ref: d,
|
|
52
67
|
mode: "tertiary",
|
|
53
|
-
label: "Sélectionner",
|
|
54
|
-
size:
|
|
55
|
-
onClick: () =>
|
|
68
|
+
label: N ?? "Sélectionner",
|
|
69
|
+
size: _,
|
|
70
|
+
onClick: () => u(!t)
|
|
56
71
|
}
|
|
57
72
|
);
|
|
73
|
+
}, R = h(null), b = h({}), [L, v] = k(""), f = h(null), F = h({}), T = (e) => {
|
|
74
|
+
if (!t) return;
|
|
75
|
+
const o = e.key.length === 1 ? e.key.toLowerCase() : "";
|
|
76
|
+
if (!o) return;
|
|
77
|
+
const i = L + o;
|
|
78
|
+
v(i);
|
|
79
|
+
const l = a.find((n) => {
|
|
80
|
+
var s;
|
|
81
|
+
return (s = n.label) == null ? void 0 : s.toLowerCase().startsWith(i);
|
|
82
|
+
});
|
|
83
|
+
if (l) {
|
|
84
|
+
const n = b.current[l.value];
|
|
85
|
+
n == null || n.scrollIntoView({ behavior: "smooth", block: "nearest" });
|
|
86
|
+
}
|
|
87
|
+
f.current && clearTimeout(f.current), f.current = setTimeout(() => {
|
|
88
|
+
v("");
|
|
89
|
+
}, 500);
|
|
58
90
|
};
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
91
|
+
w(() => (t ? window.addEventListener("keydown", T) : (window.removeEventListener("keydown", T), v("")), () => {
|
|
92
|
+
window.removeEventListener("keydown", T);
|
|
93
|
+
}), [t, L, a]), w(() => {
|
|
94
|
+
const e = (o) => {
|
|
95
|
+
if (!t) return;
|
|
96
|
+
const i = o.key.length === 1 ? o.key.toLowerCase() : "";
|
|
97
|
+
if (!i) return;
|
|
98
|
+
const l = L + i;
|
|
99
|
+
v(l);
|
|
100
|
+
const n = a.find(
|
|
101
|
+
(s) => {
|
|
102
|
+
var C;
|
|
103
|
+
return (C = s.label) == null ? void 0 : C.toLowerCase().startsWith(l);
|
|
104
|
+
}
|
|
105
|
+
);
|
|
106
|
+
if (n && R.current && n.value in b.current && b.current[n.value]) {
|
|
107
|
+
const s = R.current, C = b.current[n.value];
|
|
108
|
+
s.scrollTo({
|
|
109
|
+
top: C.offsetTop - s.offsetTop,
|
|
110
|
+
behavior: "smooth"
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
f.current && clearTimeout(f.current), f.current = setTimeout(() => {
|
|
114
|
+
v("");
|
|
115
|
+
}, 700);
|
|
116
|
+
};
|
|
117
|
+
return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
|
|
118
|
+
}, [t, a, L]), w(() => {
|
|
119
|
+
if (!t) return;
|
|
120
|
+
const e = (o) => {
|
|
121
|
+
const i = o.key.toLowerCase();
|
|
122
|
+
if (i.length === 1) {
|
|
123
|
+
const l = a.find(
|
|
124
|
+
(n) => {
|
|
125
|
+
var s;
|
|
126
|
+
return (s = n.label) == null ? void 0 : s.toLowerCase().startsWith(i);
|
|
127
|
+
}
|
|
128
|
+
);
|
|
129
|
+
if (l) {
|
|
130
|
+
const n = F.current[l.value];
|
|
131
|
+
n && n.scrollIntoView({ block: "start", behavior: "smooth" });
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
|
|
136
|
+
}, [t, a]);
|
|
137
|
+
const d = h(null);
|
|
138
|
+
return w(() => {
|
|
139
|
+
if (t && d.current) {
|
|
140
|
+
const e = d.current.getBoundingClientRect().height;
|
|
141
|
+
B({
|
|
142
|
+
top: `${e + 6}px`,
|
|
143
|
+
left: "0px",
|
|
144
|
+
width: "100%"
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}, [t]), /* @__PURE__ */ K("div", { className: m.selectContainer, children: [
|
|
148
|
+
V(),
|
|
149
|
+
/* @__PURE__ */ r(
|
|
150
|
+
M,
|
|
63
151
|
{
|
|
64
|
-
ref:
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
position:
|
|
69
|
-
|
|
152
|
+
ref: $,
|
|
153
|
+
anchorRef: d,
|
|
154
|
+
open: t,
|
|
155
|
+
onClose: () => u(!1),
|
|
156
|
+
position: j,
|
|
157
|
+
disableOverlay: !0,
|
|
158
|
+
className: m.modal,
|
|
159
|
+
autoCloseCondition: W,
|
|
160
|
+
children: /* @__PURE__ */ r("div", { className: m.selectList, ref: R, children: a.map((e) => /* @__PURE__ */ K(
|
|
70
161
|
"div",
|
|
71
162
|
{
|
|
72
|
-
|
|
73
|
-
|
|
163
|
+
ref: (o) => F.current[e.value] = o,
|
|
164
|
+
className: `${m.children} ${(c == null ? void 0 : c.value) === e.value ? m.active : ""}`,
|
|
165
|
+
onClick: () => U(e),
|
|
74
166
|
children: [
|
|
75
|
-
e.icon && /* @__PURE__ */
|
|
76
|
-
e.label && /* @__PURE__ */
|
|
167
|
+
e.icon && /* @__PURE__ */ r(p, { icon: e.icon }),
|
|
168
|
+
e.label && /* @__PURE__ */ r("div", { className: m.itemLabel, children: e.label })
|
|
77
169
|
]
|
|
78
170
|
},
|
|
79
171
|
e.value
|
|
@@ -83,5 +175,5 @@ const R = "_selectContainer_1o5wx_54", y = "_selected_1o5wx_57", z = "_children_
|
|
|
83
175
|
] });
|
|
84
176
|
};
|
|
85
177
|
export {
|
|
86
|
-
|
|
178
|
+
re as Select
|
|
87
179
|
};
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import { jsx as e, jsxs as r } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
2
|
+
import "../button/Button.js";
|
|
3
3
|
import "react";
|
|
4
4
|
import { Input as c } from "../input/Input.js";
|
|
5
|
+
import "../icon-button/IconButton.js";
|
|
5
6
|
import "../modal/Modal.js";
|
|
6
7
|
import "../theme/ThemeContext.js";
|
|
7
|
-
|
|
8
|
-
const a = "_listTagSelect_2v3fb_6",
|
|
8
|
+
import '../../styles/Size.css';import '../../styles/SelectFilterInputTags.css';/* empty css */
|
|
9
|
+
const a = "_listTagSelect_2v3fb_6", p = "_flexAutoSize_2v3fb_24", u = {
|
|
9
10
|
listTagSelect: a,
|
|
10
|
-
flexAutoSize:
|
|
11
|
-
},
|
|
12
|
-
|
|
11
|
+
flexAutoSize: p
|
|
12
|
+
}, _ = ({ children: o, inputValue: l, handleInputChange: s, handleKeyDown: i }) => /* @__PURE__ */ e("div", { className: u.listTagSelect, children: /* @__PURE__ */ r("div", { children: [
|
|
13
|
+
o,
|
|
13
14
|
/* @__PURE__ */ e("div", { className: "flexAutoSize", children: /* @__PURE__ */ e(
|
|
14
15
|
c,
|
|
15
16
|
{
|
|
16
17
|
type: "text",
|
|
17
|
-
value:
|
|
18
|
+
value: l,
|
|
18
19
|
onKeyDown: (t) => {
|
|
19
20
|
t.key === "Enter" && i && i(t);
|
|
20
21
|
},
|
|
@@ -27,5 +28,5 @@ const a = "_listTagSelect_2v3fb_6", u = "_flexAutoSize_2v3fb_24", n = {
|
|
|
27
28
|
) })
|
|
28
29
|
] }) });
|
|
29
30
|
export {
|
|
30
|
-
|
|
31
|
+
_ as SelectFilterInputTags
|
|
31
32
|
};
|
|
@@ -2,11 +2,11 @@ import { jsxs as i, jsx as o } from "react/jsx-runtime";
|
|
|
2
2
|
import { useState as _, useRef as h } from "react";
|
|
3
3
|
import { R as v, I as C, D as x } from "../../X-Bd1VjKAF.mjs";
|
|
4
4
|
import { Button as M } from "../button/Button.js";
|
|
5
|
-
import
|
|
5
|
+
import "../icon-button/IconButton.js";
|
|
6
6
|
import { TagCounter as R } from "../tag-counter/TagCounter.js";
|
|
7
7
|
import { Modal as w } from "../modal/Modal.js";
|
|
8
8
|
import "../theme/ThemeContext.js";
|
|
9
|
-
|
|
9
|
+
import '../../styles/Size.css';import '../../styles/SelectMultiItems.css';/* empty css */
|
|
10
10
|
const y = "_relative_w7e9a_6", I = "_tagCounter_w7e9a_10", N = "_modal_w7e9a_18", r = {
|
|
11
11
|
relative: y,
|
|
12
12
|
tagCounter: I,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsxs as m, jsx as c } from "react/jsx-runtime";
|
|
2
2
|
import { useState as $, useEffect as b } from "react";
|
|
3
|
-
import
|
|
3
|
+
import "../button/Button.js";
|
|
4
4
|
import { IconButton as k } from "../icon-button/IconButton.js";
|
|
5
5
|
import { Icon as g } from "../icon/Icon.js";
|
|
6
6
|
import "../modal/Modal.js";
|
|
7
7
|
import "../theme/ThemeContext.js";
|
|
8
|
-
|
|
8
|
+
import '../../styles/Size.css';import '../../styles/Switch.css';/* empty css */
|
|
9
9
|
const y = "_slider_1mxgk_21", I = "_s_1mxgk_6", N = "_m_1mxgk_58", S = "_l_1mxgk_75", j = "_xl_1mxgk_92", B = "_disabled_1mxgk_110", E = "_wrapper_1mxgk_121", R = "_button_1mxgk_136", T = "_active_1mxgk_145", t = {
|
|
10
10
|
switch: "_switch_1mxgk_6",
|
|
11
11
|
slider: y,
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { useState as f, useRef as u, useLayoutEffect as
|
|
3
|
-
import
|
|
4
|
-
import { Button as B } from "../button/Button.js";
|
|
1
|
+
import { jsxs as w, jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import { useState as f, useRef as u, useLayoutEffect as B } from "react";
|
|
3
|
+
import { Button as p } from "../button/Button.js";
|
|
5
4
|
import { IconButton as S } from "../icon-button/IconButton.js";
|
|
6
|
-
const j = "_underline_6o3gh_70", e = {
|
|
5
|
+
import '../../styles/Tabs.css';const j = "_underline_6o3gh_70", e = {
|
|
7
6
|
"tab-container": "_tab-container_6o3gh_30",
|
|
8
7
|
"tab-container-button": "_tab-container-button_6o3gh_34",
|
|
9
8
|
"tab-container-icon": "_tab-container-icon_6o3gh_39",
|
|
@@ -17,17 +16,17 @@ const j = "_underline_6o3gh_70", e = {
|
|
|
17
16
|
"flexHorizontal-center": "_flexHorizontal-center_6o3gh_78",
|
|
18
17
|
"flexHorizontal-left": "_flexHorizontal-left_6o3gh_84",
|
|
19
18
|
"flexHorizontal-right": "_flexHorizontal-right_6o3gh_90"
|
|
20
|
-
},
|
|
19
|
+
}, q = ({
|
|
21
20
|
listItems: c,
|
|
22
21
|
type: o,
|
|
23
22
|
onTabSelect: h,
|
|
24
|
-
defaultActiveTab:
|
|
25
|
-
position:
|
|
23
|
+
defaultActiveTab: g = 0,
|
|
24
|
+
position: m = "left",
|
|
26
25
|
fullWidth: x = !1,
|
|
27
26
|
disabledTabs: b = []
|
|
28
27
|
// ✅ par défaut vide
|
|
29
28
|
}) => {
|
|
30
|
-
const [s, v] = f(
|
|
29
|
+
const [s, v] = f(g), [z, $] = f({}), r = u(null), R = u(null), _ = u([]), d = (t) => {
|
|
31
30
|
b.includes(t) || (v(t), h(c[t]));
|
|
32
31
|
}, H = (t) => {
|
|
33
32
|
if (r.current && t) {
|
|
@@ -38,15 +37,15 @@ const j = "_underline_6o3gh_70", e = {
|
|
|
38
37
|
});
|
|
39
38
|
}
|
|
40
39
|
}, C = [
|
|
41
|
-
e[`flexHorizontal-${
|
|
40
|
+
e[`flexHorizontal-${m}`],
|
|
42
41
|
o === "button" ? e["tab-items-button"] : e["tab-items"]
|
|
43
42
|
].filter(Boolean).join(" ");
|
|
44
|
-
return
|
|
43
|
+
return B(() => {
|
|
45
44
|
const t = _.current[s];
|
|
46
45
|
t && requestAnimationFrame(() => {
|
|
47
46
|
H(t);
|
|
48
47
|
});
|
|
49
|
-
}, [s, c.length]), /* @__PURE__ */
|
|
48
|
+
}, [s, c.length]), /* @__PURE__ */ w(
|
|
50
49
|
"div",
|
|
51
50
|
{
|
|
52
51
|
className: `tab ${e["tab-container"]} ${e[`tab-container-${o}`]} ${x && e["tab-full-width"]}`,
|
|
@@ -73,7 +72,7 @@ const j = "_underline_6o3gh_70", e = {
|
|
|
73
72
|
children: t
|
|
74
73
|
}
|
|
75
74
|
) : /* @__PURE__ */ l("div", { className: a ? e["selected-text"] : void 0, children: /* @__PURE__ */ l(
|
|
76
|
-
|
|
75
|
+
p,
|
|
77
76
|
{
|
|
78
77
|
size: "s",
|
|
79
78
|
label: t,
|
|
@@ -93,5 +92,5 @@ const j = "_underline_6o3gh_70", e = {
|
|
|
93
92
|
);
|
|
94
93
|
};
|
|
95
94
|
export {
|
|
96
|
-
|
|
95
|
+
q as Tabs
|
|
97
96
|
};
|
package/dist/main.d.ts
CHANGED
|
@@ -27,4 +27,5 @@ export { SidePanel } from './components/panel/side-panel/SidePanel';
|
|
|
27
27
|
export { SidePanelHeader } from './components/panel/side-panel-header/SidePanelHeader';
|
|
28
28
|
export { InputLabel } from './components/input-label/InputLabel';
|
|
29
29
|
export { EditableField } from './components/editable-field/EditableField';
|
|
30
|
+
export { EditableSelect } from './components/editable-select/EditableSelect';
|
|
30
31
|
export { ThemeProvider, useTheme } from './components/theme/ThemeContext';
|
package/dist/main.js
CHANGED
|
@@ -1,63 +1,64 @@
|
|
|
1
|
-
import { Button as
|
|
2
|
-
import { ButtonControlledScroll as
|
|
3
|
-
import { Input as
|
|
4
|
-
import { Tabs as
|
|
5
|
-
import { IconButton as
|
|
6
|
-
import { Tag as
|
|
7
|
-
import { Title as
|
|
1
|
+
import { Button as t } from "./components/button/Button.js";
|
|
2
|
+
import { ButtonControlledScroll as p } from "./components/buttonControledScroll/ButtonControlledScroll.js";
|
|
3
|
+
import { Input as f } from "./components/input/Input.js";
|
|
4
|
+
import { Tabs as i } from "./components/tabs/Tabs.js";
|
|
5
|
+
import { IconButton as d } from "./components/icon-button/IconButton.js";
|
|
6
|
+
import { Tag as c } from "./components/tag/Tag.js";
|
|
7
|
+
import { Title as u } from "./components/title/Title.js";
|
|
8
8
|
import { TagCounter as S } from "./components/tag-counter/TagCounter.js";
|
|
9
|
-
import { Checkbox as
|
|
10
|
-
import { Tooltip as
|
|
11
|
-
import { Select as
|
|
12
|
-
import { Calendar as
|
|
13
|
-
import { Accordion as
|
|
14
|
-
import { AccordionItem as
|
|
15
|
-
import { Card as
|
|
16
|
-
import { Icon as
|
|
17
|
-
import { Menu as
|
|
18
|
-
import { Modal as
|
|
19
|
-
import { SelectMultiItems as
|
|
20
|
-
import { SelectFilterInputTags as
|
|
21
|
-
import { ListControls as
|
|
22
|
-
import { NestedList as
|
|
23
|
-
import { NestedListItem as
|
|
24
|
-
import { Switch as
|
|
25
|
-
import { SidePanel as
|
|
26
|
-
import { SidePanelHeader as
|
|
27
|
-
import { InputLabel as
|
|
28
|
-
import { EditableField as
|
|
29
|
-
import {
|
|
30
|
-
import
|
|
31
|
-
|
|
9
|
+
import { Checkbox as C } from "./components/checkbox/Checkbox.js";
|
|
10
|
+
import { Tooltip as h } from "./components/tooltip/Tooltip.js";
|
|
11
|
+
import { Select as g } from "./components/select/Select.js";
|
|
12
|
+
import { Calendar as M } from "./components/calendar/Calendar.js";
|
|
13
|
+
import { Accordion as A } from "./components/accordion/Accordion.js";
|
|
14
|
+
import { AccordionItem as F } from "./components/accordion/item/AccordionItem.js";
|
|
15
|
+
import { Card as k } from "./components/card/Card.js";
|
|
16
|
+
import { Icon as w } from "./components/icon/Icon.js";
|
|
17
|
+
import { Menu as j } from "./components/menu/Menu.js";
|
|
18
|
+
import { Modal as y } from "./components/modal/Modal.js";
|
|
19
|
+
import { SelectMultiItems as D } from "./components/select-multi-items/SelectMultiItems.js";
|
|
20
|
+
import { SelectFilterInputTags as J } from "./components/select-filter-input-tags/SelectFilterInputTags.js";
|
|
21
|
+
import { ListControls as O } from "./components/list/list-controls/ListControls.js";
|
|
22
|
+
import { NestedList as R } from "./components/list/nested-list/NestedList.js";
|
|
23
|
+
import { NestedListItem as V } from "./components/list/nested-list/item/NestedListItem.js";
|
|
24
|
+
import { Switch as X } from "./components/switch/Switch.js";
|
|
25
|
+
import { SidePanel as Z } from "./components/panel/side-panel/SidePanel.js";
|
|
26
|
+
import { SidePanelHeader as $ } from "./components/panel/side-panel-header/SidePanelHeader.js";
|
|
27
|
+
import { InputLabel as ro } from "./components/input-label/InputLabel.js";
|
|
28
|
+
import { EditableField as to } from "./components/editable-field/EditableField.js";
|
|
29
|
+
import { EditableSelect as po } from "./components/editable-select/EditableSelect.js";
|
|
30
|
+
import { ThemeProvider as fo, useTheme as lo } from "./components/theme/ThemeContext.js";
|
|
31
|
+
import './styles/Size.css';/* empty css */
|
|
32
32
|
export {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
33
|
+
A as Accordion,
|
|
34
|
+
F as AccordionItem,
|
|
35
|
+
t as Button,
|
|
36
|
+
p as ButtonControlledScroll,
|
|
37
|
+
M as Calendar,
|
|
38
|
+
k as Card,
|
|
39
|
+
C as Checkbox,
|
|
40
|
+
to as EditableField,
|
|
41
|
+
po as EditableSelect,
|
|
42
|
+
w as Icon,
|
|
43
|
+
d as IconButton,
|
|
44
|
+
f as Input,
|
|
45
|
+
ro as InputLabel,
|
|
46
|
+
O as ListControls,
|
|
47
|
+
j as Menu,
|
|
48
|
+
y as Modal,
|
|
49
|
+
R as NestedList,
|
|
50
|
+
V as NestedListItem,
|
|
51
|
+
g as Select,
|
|
52
|
+
J as SelectFilterInputTags,
|
|
53
|
+
D as SelectMultiItems,
|
|
54
|
+
Z as SidePanel,
|
|
55
|
+
$ as SidePanelHeader,
|
|
56
|
+
X as Switch,
|
|
57
|
+
i as Tabs,
|
|
58
|
+
c as Tag,
|
|
58
59
|
S as TagCounter,
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
fo as ThemeProvider,
|
|
61
|
+
u as Title,
|
|
62
|
+
h as Tooltip,
|
|
63
|
+
lo as useTheme
|
|
63
64
|
};
|
package/dist/styles/Button.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
._button_mzv5s_30{font-family:var(--font-family);font-weight:500;font-style:normal;line-height:1.25rem;border:0;cursor:pointer;width:fit-content}._button_mzv5s_30:focus-visible{outline:2px solid var(--button-focus-mode);outline-offset:2px}._button_mzv5s_30:disabled{background:var(--button-primary-disabled-background);color:var(--button-primary-disabled-text);border:1px solid var(--button-primary-disabled-border);cursor:initial;pointer-events:none}._button_mzv5s_30:disabled *{fill:var(--button-primary-disabled-text)}._button-primary_mzv5s_54{color:var(--button-primary-default-text);background:var(--button-primary-default-background)}._button-primary_mzv5s_54:hover{background:var(--button-primary-hover-background)}._button-primary_mzv5s_54:active{background:var(--button-primary-pressed-background);outline:none}._button-primary_mzv5s_54 *{fill:var(--button-primary-default-text)}._button-secondary_mzv5s_68{color:var(--button-secondary-default-text);border:1px solid var(--button-secondary-default-border);background:var(--button-secondary-default-background)}._button-secondary_mzv5s_68:hover{border:1px solid var(--button-secondary-hover-border);background:var(--button-secondary-hover-background)}._button-secondary_mzv5s_68:active{border:1px solid var(--button-secondary-pressed-border);background:var(--button-secondary-pressed-background)}._button-secondary_mzv5s_68 *{fill:var(--button-secondary-default-text)}._button-tertiary_mzv5s_84{color:var(--button-tertiary-default-text);background-color:transparent;border:1px solid var(--button-tertiary-default-border)}._button-tertiary_mzv5s_84:hover{border:1px solid var(--button-tertiary-hover-border);background:var(--button-tertiary-hover-background)}._button-tertiary_mzv5s_84:active{border:1px solid var(--button-tertiary-pressed-border);background:var(--button-tertiary-pressed-background)}._button-tertiary_mzv5s_84 *{fill:var(--button-tertiary-default-text)}._button-ghost_mzv5s_100{color:var(--button-ghost-default-text);background-color:transparent}._button-ghost_mzv5s_100:hover{background:var(--button-ghost-hover-background)}._button-ghost_mzv5s_100:active{background-color:var(--button-ghost-pressed-background)}._button-ghost_mzv5s_100:disabled{border:none}._button-ghost_mzv5s_100 *{fill:var(--button-ghost-default-text)}._button-text_mzv5s_116{color:var(--text-button-inactive-text);background-color:transparent;padding:0!important}._button-text_mzv5s_116:hover{color:var(--text-button-inactive-hover-text)}._button-text_mzv5s_116:disabled{border:none;background-color:transparent;color:var(--text-button-disabled-text)}._button-text-selected_mzv5s_129,._button-text-selected_mzv5s_129:hover{color:var(--text-button-active-text)}._button-error_mzv5s_135{color:var(--button-destructive-default-text);background:var(--button-destructive-default-background)}._button-error_mzv5s_135:hover{background:var(--button-destructive-hover-background)}._button-error_mzv5s_135:active{background:var(--button-destructive-pressed-background)}._button-error_mzv5s_135 *{fill:var(--button-destructive-default-text)}._button-size-xl_mzv5s_148{padding:1rem 2rem;font-size:1.125em;line-height:28px;border-radius:8px}._button-size-l_mzv5s_154{padding:.75rem 1.5rem;font-size:1em;line-height:24px;border-radius:8px}._button-size-m_mzv5s_160{padding:.5rem 1rem;font-size:.875em;line-height:22px;border-radius:4px}._button-size-s_mzv5s_166{padding:.375rem .75rem;font-size:.875em;line-height:16px;border-radius:4px}._button-size-menu_mzv5s_172{padding:.5rem;font-size:1em;line-height:24px;border-radius:4px}._button-gap-menu_mzv5s_178{gap:.5rem}._button-gap-xl_mzv5s_181{gap:12px}._button-gap-l_mzv5s_184{gap:8px}._button-gap-m_mzv5s_178,._button-gap-s_mzv5s_187{gap:4px}._flexHorizontalCenter_mzv5s_191{display:flex;justify-content:center;align-items:center;flex-direction:row}
|
|
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}h1{font-size:1.875em;font-style:normal;font-weight:700;line-height:2.25rem}h2{font-size:1.5em;font-style:normal;font-weight:700;line-height:2rem;margin:0}h3{font-size:1.25em;font-style:normal;font-weight:700;line-height:1.75rem;margin:0}h4{font-size:1.125em;font-style:normal;font-weight:700;line-height:1.75rem;margin:0}h5{font-size:1em;font-style:normal;font-weight:700;line-height:1.5rem;margin:0}h6{font-size:.875em;font-style:normal;font-weight:700;line-height:1.25rem;margin:0}.textExtraLarge{font-size:1.25em;font-style:normal;line-height:2rem}.textLarge{font-size:1.125em;font-style:normal;line-height:1.75rem}.textMedium{font-size:1em;font-style:normal;line-height:1.5rem}.textSmall{font-size:.875em;font-style:normal;line-height:1.25rem}.textSmaller{font-size:.75em;font-style:normal;line-height:1rem}.labelExtraLarge{font-size:1.25em;font-style:normal;line-height:normal;letter-spacing:1.2px}.labelLarge{font-size:1.125em;font-style:normal;line-height:normal;letter-spacing:1.08px}.labelMedium{font-size:1em;font-style:normal;line-height:normal;letter-spacing:.96px}.labelSmall{font-size:.875em;font-style:normal;line-height:normal;letter-spacing:.84px}.labelSmaller{font-size:.75em;font-style:normal;line-height:normal;letter-spacing:.72px}.labelSmallest{font-size:.625em;font-style:normal;line-height:normal;letter-spacing:.6px}.fontWeight-100{font-weight:100}.fontWeight-200{font-weight:200}.fontWeight-300{font-weight:300}.fontWeight-400{font-weight:400}.fontWeight-500{font-weight:500}.fontWeight-600{font-weight:600}.fontWeight-700{font-weight:700}.fontWeight-800{font-weight:800}.fontWeight-900{font-weight:900}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-background);border-radius:.5rem;transition:all .3s ease;margin:.625rem;background-clip:padding-box}::-webkit-scrollbar:hover{cursor:pointer}::-webkit-scrollbar-corner{background:var(--scrollbar-background)}._button_mzv5s_30{font-family:var(--font-family);font-weight:500;font-style:normal;line-height:1.25rem;border:0;cursor:pointer;width:fit-content}._button_mzv5s_30:focus-visible{outline:2px solid var(--button-focus-mode);outline-offset:2px}._button_mzv5s_30:disabled{background:var(--button-primary-disabled-background);color:var(--button-primary-disabled-text);border:1px solid var(--button-primary-disabled-border);cursor:initial;pointer-events:none}._button_mzv5s_30:disabled *{fill:var(--button-primary-disabled-text)}._button-primary_mzv5s_54{color:var(--button-primary-default-text);background:var(--button-primary-default-background)}._button-primary_mzv5s_54:hover{background:var(--button-primary-hover-background)}._button-primary_mzv5s_54:active{background:var(--button-primary-pressed-background);outline:none}._button-primary_mzv5s_54 *{fill:var(--button-primary-default-text)}._button-secondary_mzv5s_68{color:var(--button-secondary-default-text);border:1px solid var(--button-secondary-default-border);background:var(--button-secondary-default-background)}._button-secondary_mzv5s_68:hover{border:1px solid var(--button-secondary-hover-border);background:var(--button-secondary-hover-background)}._button-secondary_mzv5s_68:active{border:1px solid var(--button-secondary-pressed-border);background:var(--button-secondary-pressed-background)}._button-secondary_mzv5s_68 *{fill:var(--button-secondary-default-text)}._button-tertiary_mzv5s_84{color:var(--button-tertiary-default-text);background-color:transparent;border:1px solid var(--button-tertiary-default-border)}._button-tertiary_mzv5s_84:hover{border:1px solid var(--button-tertiary-hover-border);background:var(--button-tertiary-hover-background)}._button-tertiary_mzv5s_84:active{border:1px solid var(--button-tertiary-pressed-border);background:var(--button-tertiary-pressed-background)}._button-tertiary_mzv5s_84 *{fill:var(--button-tertiary-default-text)}._button-ghost_mzv5s_100{color:var(--button-ghost-default-text);background-color:transparent}._button-ghost_mzv5s_100:hover{background:var(--button-ghost-hover-background)}._button-ghost_mzv5s_100:active{background-color:var(--button-ghost-pressed-background)}._button-ghost_mzv5s_100:disabled{border:none}._button-ghost_mzv5s_100 *{fill:var(--button-ghost-default-text)}._button-text_mzv5s_116{color:var(--text-button-inactive-text);background-color:transparent;padding:0!important}._button-text_mzv5s_116:hover{color:var(--text-button-inactive-hover-text)}._button-text_mzv5s_116:disabled{border:none;background-color:transparent;color:var(--text-button-disabled-text)}._button-text-selected_mzv5s_129,._button-text-selected_mzv5s_129:hover{color:var(--text-button-active-text)}._button-error_mzv5s_135{color:var(--button-destructive-default-text);background:var(--button-destructive-default-background)}._button-error_mzv5s_135:hover{background:var(--button-destructive-hover-background)}._button-error_mzv5s_135:active{background:var(--button-destructive-pressed-background)}._button-error_mzv5s_135 *{fill:var(--button-destructive-default-text)}._button-size-xl_mzv5s_148{padding:1rem 2rem;font-size:1.125em;line-height:28px;border-radius:8px}._button-size-l_mzv5s_154{padding:.75rem 1.5rem;font-size:1em;line-height:24px;border-radius:8px}._button-size-m_mzv5s_160{padding:.5rem 1rem;font-size:.875em;line-height:22px;border-radius:4px}._button-size-s_mzv5s_166{padding:.375rem .75rem;font-size:.875em;line-height:16px;border-radius:4px}._button-size-menu_mzv5s_172{padding:.5rem;font-size:1em;line-height:24px;border-radius:4px}._button-gap-menu_mzv5s_178{gap:.5rem}._button-gap-xl_mzv5s_181{gap:12px}._button-gap-l_mzv5s_184{gap:8px}._button-gap-m_mzv5s_178,._button-gap-s_mzv5s_187{gap:4px}._flexHorizontalCenter_mzv5s_191{display:flex;justify-content:center;align-items:center;flex-direction:row}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._editableField_12vkl_30{width:100%;display:flex;justify-content:flex-start;align-items:start;flex-direction:column;gap:.25rem;cursor:default}._statiqueField_12vkl_40{width:100%;border-radius:4px;border:1px solid var(--input-primary-default-border);padding:.5rem}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._editableSelect_6vsm4_30{width:100%;gap:.25rem;display:flex;justify-content:flex-start;align-items:start;flex-direction:column;cursor:default}._statiqueField_6vsm4_40{width:100%;border-radius:4px;border:1px solid var(--input-primary-default-border);padding:.5rem}
|
package/package.json
CHANGED
package/dist/styles/index.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
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}h1{font-size:1.875em;font-style:normal;font-weight:700;line-height:2.25rem}h2{font-size:1.5em;font-style:normal;font-weight:700;line-height:2rem;margin:0}h3{font-size:1.25em;font-style:normal;font-weight:700;line-height:1.75rem;margin:0}h4{font-size:1.125em;font-style:normal;font-weight:700;line-height:1.75rem;margin:0}h5{font-size:1em;font-style:normal;font-weight:700;line-height:1.5rem;margin:0}h6{font-size:.875em;font-style:normal;font-weight:700;line-height:1.25rem;margin:0}.textExtraLarge{font-size:1.25em;font-style:normal;line-height:2rem}.textLarge{font-size:1.125em;font-style:normal;line-height:1.75rem}.textMedium{font-size:1em;font-style:normal;line-height:1.5rem}.textSmall{font-size:.875em;font-style:normal;line-height:1.25rem}.textSmaller{font-size:.75em;font-style:normal;line-height:1rem}.labelExtraLarge{font-size:1.25em;font-style:normal;line-height:normal;letter-spacing:1.2px}.labelLarge{font-size:1.125em;font-style:normal;line-height:normal;letter-spacing:1.08px}.labelMedium{font-size:1em;font-style:normal;line-height:normal;letter-spacing:.96px}.labelSmall{font-size:.875em;font-style:normal;line-height:normal;letter-spacing:.84px}.labelSmaller{font-size:.75em;font-style:normal;line-height:normal;letter-spacing:.72px}.labelSmallest{font-size:.625em;font-style:normal;line-height:normal;letter-spacing:.6px}.fontWeight-100{font-weight:100}.fontWeight-200{font-weight:200}.fontWeight-300{font-weight:300}.fontWeight-400{font-weight:400}.fontWeight-500{font-weight:500}.fontWeight-600{font-weight:600}.fontWeight-700{font-weight:700}.fontWeight-800{font-weight:800}.fontWeight-900{font-weight:900}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-background);border-radius:.5rem;transition:all .3s ease;margin:.625rem;background-clip:padding-box}::-webkit-scrollbar:hover{cursor:pointer}::-webkit-scrollbar-corner{background:var(--scrollbar-background)}
|