@x-plat/design-system 0.4.6 → 0.5.1
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/Accordion/index.cjs +4 -4
- package/dist/components/Accordion/index.css +11 -11
- package/dist/components/Accordion/index.js +4 -4
- package/dist/components/Alert/index.css +19 -19
- package/dist/components/Avatar/index.cjs +11 -5
- package/dist/components/Avatar/index.css +41 -11
- package/dist/components/Avatar/index.d.cts +1 -2
- package/dist/components/Avatar/index.d.ts +1 -2
- package/dist/components/Avatar/index.js +11 -5
- package/dist/components/Badge/index.cjs +3 -4
- package/dist/components/Badge/index.css +32 -19
- package/dist/components/Badge/index.d.cts +3 -2
- package/dist/components/Badge/index.d.ts +3 -2
- package/dist/components/Badge/index.js +3 -4
- package/dist/components/Breadcrumb/index.css +6 -6
- package/dist/components/Button/index.cjs +1 -3
- package/dist/components/Button/index.css +67 -23
- package/dist/components/Button/index.d.cts +2 -3
- package/dist/components/Button/index.d.ts +2 -3
- package/dist/components/Button/index.js +1 -3
- package/dist/components/Calendar/index.cjs +10 -10
- package/dist/components/Calendar/index.css +51 -52
- package/dist/components/Calendar/index.d.cts +3 -3
- package/dist/components/Calendar/index.d.ts +3 -3
- package/dist/components/Calendar/index.js +10 -10
- package/dist/components/Card/index.css +6 -6
- package/dist/components/CardTab/index.css +28 -28
- package/dist/components/Chart/index.cjs +228 -14548
- package/dist/components/Chart/index.css +57 -0
- package/dist/components/Chart/index.d.cts +3 -2
- package/dist/components/Chart/index.d.ts +3 -2
- package/dist/components/Chart/index.js +219 -14541
- package/dist/components/CheckBox/index.cjs +13 -8
- package/dist/components/CheckBox/index.css +50 -27
- package/dist/components/CheckBox/index.d.cts +3 -2
- package/dist/components/CheckBox/index.d.ts +3 -2
- package/dist/components/CheckBox/index.js +13 -8
- package/dist/components/Chip/index.cjs +1 -3
- package/dist/components/Chip/index.css +35 -23
- package/dist/components/Chip/index.d.cts +2 -3
- package/dist/components/Chip/index.d.ts +2 -3
- package/dist/components/Chip/index.js +1 -3
- package/dist/components/DatePicker/index.cjs +37 -46
- package/dist/components/DatePicker/index.css +175 -122
- package/dist/components/DatePicker/index.d.cts +2 -3
- package/dist/components/DatePicker/index.d.ts +2 -3
- package/dist/components/DatePicker/index.js +37 -46
- package/dist/components/Divider/index.css +2 -2
- package/dist/components/Drawer/index.css +7 -7
- package/dist/components/Dropdown/index.css +10 -10
- package/dist/components/EmptyState/index.css +8 -9
- package/dist/components/FileUpload/index.cjs +4 -4
- package/dist/components/FileUpload/index.css +13 -14
- package/dist/components/FileUpload/index.js +4 -4
- package/dist/components/HtmlTypeWriter/index.cjs +10 -10
- package/dist/components/HtmlTypeWriter/index.css +3 -3
- package/dist/components/HtmlTypeWriter/index.js +10 -10
- package/dist/components/ImageSelector/index.cjs +4 -4
- package/dist/components/ImageSelector/index.css +15 -15
- package/dist/components/ImageSelector/index.js +4 -4
- package/dist/components/Input/index.css +37 -26
- package/dist/components/Modal/index.css +5 -4
- package/dist/components/Pagination/index.cjs +9 -10
- package/dist/components/Pagination/index.css +37 -26
- package/dist/components/Pagination/index.d.cts +3 -2
- package/dist/components/Pagination/index.d.ts +3 -2
- package/dist/components/Pagination/index.js +9 -10
- package/dist/components/PopOver/index.css +3 -3
- package/dist/components/Progress/index.cjs +4 -5
- package/dist/components/Progress/index.css +23 -9
- package/dist/components/Progress/index.d.cts +3 -2
- package/dist/components/Progress/index.d.ts +3 -2
- package/dist/components/Progress/index.js +4 -5
- package/dist/components/Radio/index.cjs +3 -4
- package/dist/components/Radio/index.css +61 -29
- package/dist/components/Radio/index.d.cts +3 -2
- package/dist/components/Radio/index.d.ts +3 -2
- package/dist/components/Radio/index.js +3 -4
- package/dist/components/Select/index.cjs +4 -4
- package/dist/components/Select/index.css +46 -40
- package/dist/components/Select/index.js +4 -4
- package/dist/components/Skeleton/index.css +3 -3
- package/dist/components/Spinner/index.cjs +2 -3
- package/dist/components/Spinner/index.css +22 -8
- package/dist/components/Spinner/index.d.cts +3 -2
- package/dist/components/Spinner/index.d.ts +3 -2
- package/dist/components/Spinner/index.js +2 -3
- package/dist/components/Steps/index.cjs +8 -9
- package/dist/components/Steps/index.css +77 -22
- package/dist/components/Steps/index.d.cts +3 -2
- package/dist/components/Steps/index.d.ts +3 -2
- package/dist/components/Steps/index.js +8 -9
- package/dist/components/Swiper/index.css +10 -10
- package/dist/components/Switch/index.cjs +4 -5
- package/dist/components/Switch/index.css +58 -26
- package/dist/components/Switch/index.d.cts +3 -2
- package/dist/components/Switch/index.d.ts +3 -2
- package/dist/components/Switch/index.js +4 -5
- package/dist/components/Tab/index.css +15 -15
- package/dist/components/Table/index.cjs +0 -3
- package/dist/components/Table/index.css +15 -15
- package/dist/components/Table/index.d.cts +1 -2
- package/dist/components/Table/index.d.ts +1 -2
- package/dist/components/Table/index.js +0 -3
- package/dist/components/Tag/index.cjs +23 -10
- package/dist/components/Tag/index.css +58 -17
- package/dist/components/Tag/index.d.cts +5 -2
- package/dist/components/Tag/index.d.ts +5 -2
- package/dist/components/Tag/index.js +23 -10
- package/dist/components/TextArea/index.css +20 -9
- package/dist/components/Toast/index.css +22 -22
- package/dist/components/Tooltip/index.cjs +1 -3
- package/dist/components/Tooltip/index.css +6 -6
- package/dist/components/Tooltip/index.d.cts +1 -2
- package/dist/components/Tooltip/index.d.ts +1 -2
- package/dist/components/Tooltip/index.js +1 -3
- package/dist/components/Video/index.css +5 -5
- package/dist/components/index.cjs +970 -15289
- package/dist/components/index.css +2167 -1061
- package/dist/components/index.d.cts +1 -2
- package/dist/components/index.d.ts +1 -2
- package/dist/components/index.js +871 -15192
- package/dist/index.cjs +1077 -15378
- package/dist/index.css +2164 -1058
- package/dist/index.d.cts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +877 -15182
- package/dist/layout/Grid/FullGrid/index.cjs +9 -18
- package/dist/layout/Grid/FullGrid/index.d.cts +1 -1
- package/dist/layout/Grid/FullGrid/index.d.ts +1 -1
- package/dist/layout/Grid/FullGrid/index.js +9 -18
- package/dist/layout/Grid/FullScreen/index.cjs +9 -18
- package/dist/layout/Grid/FullScreen/index.d.cts +3 -3
- package/dist/layout/Grid/FullScreen/index.d.ts +3 -3
- package/dist/layout/Grid/FullScreen/index.js +9 -18
- package/dist/layout/Grid/index.cjs +34 -20
- package/dist/layout/Grid/index.js +34 -20
- package/dist/layout/index.cjs +34 -20
- package/dist/layout/index.css +1000 -295
- package/dist/layout/index.js +34 -20
- package/dist/tokens/index.cjs +33 -142
- package/dist/tokens/index.d.cts +23 -6
- package/dist/tokens/index.d.ts +23 -6
- package/dist/tokens/index.js +29 -140
- package/guidelines/Guidelines.md +57 -0
- package/guidelines/components/accordion.md +72 -0
- package/guidelines/components/avatar.md +35 -0
- package/guidelines/components/button.md +58 -0
- package/guidelines/components/card.md +28 -0
- package/guidelines/components/chart.md +58 -0
- package/guidelines/components/chip-tag.md +49 -0
- package/guidelines/components/data-display.md +96 -0
- package/guidelines/components/datepicker.md +60 -0
- package/guidelines/components/dropdown.md +49 -0
- package/guidelines/components/feedback.md +64 -0
- package/guidelines/components/file-media.md +95 -0
- package/guidelines/components/form.md +60 -0
- package/guidelines/components/html-typewriter.md +38 -0
- package/guidelines/components/input.md +55 -0
- package/guidelines/components/navigation.md +80 -0
- package/guidelines/components/overlay.md +72 -0
- package/guidelines/components/select.md +44 -0
- package/guidelines/components/swiper.md +84 -0
- package/guidelines/components/table.md +62 -0
- package/guidelines/composition/grid.md +95 -0
- package/guidelines/composition/layout.md +30 -0
- package/guidelines/foundations/color.md +81 -0
- package/guidelines/foundations/icons.md +55 -0
- package/guidelines/foundations/spacing.md +51 -0
- package/guidelines/foundations/typography.md +63 -0
- package/guidelines/setup.md +42 -0
- package/package.json +5 -5
- package/dist/colors-CY4JXVHj.d.cts +0 -137
- package/dist/colors-CY4JXVHj.d.ts +0 -137
- package/dist/layout/Grid/GapGrid/index.cjs +0 -32
- package/dist/layout/Grid/GapGrid/index.d.cts +0 -12
- package/dist/layout/Grid/GapGrid/index.d.ts +0 -12
- package/dist/layout/Grid/GapGrid/index.js +0 -11
|
@@ -436,10 +436,10 @@ var import_jsx_runtime126 = require("react/jsx-runtime");
|
|
|
436
436
|
// src/tokens/svg/file/BookIcon.tsx
|
|
437
437
|
var import_jsx_runtime127 = require("react/jsx-runtime");
|
|
438
438
|
|
|
439
|
-
// src/tokens/svg/file/
|
|
439
|
+
// src/tokens/svg/file/BookmarkIcon.tsx
|
|
440
440
|
var import_jsx_runtime128 = require("react/jsx-runtime");
|
|
441
441
|
|
|
442
|
-
// src/tokens/svg/file/
|
|
442
|
+
// src/tokens/svg/file/BookOpenIcon.tsx
|
|
443
443
|
var import_jsx_runtime129 = require("react/jsx-runtime");
|
|
444
444
|
|
|
445
445
|
// src/tokens/svg/file/ClipboardIcon.tsx
|
|
@@ -895,10 +895,10 @@ var import_jsx_runtime279 = require("react/jsx-runtime");
|
|
|
895
895
|
// src/tokens/svg/user/UserPlusIcon.tsx
|
|
896
896
|
var import_jsx_runtime280 = require("react/jsx-runtime");
|
|
897
897
|
|
|
898
|
-
// src/tokens/svg/user/
|
|
898
|
+
// src/tokens/svg/user/UsersIcon.tsx
|
|
899
899
|
var import_jsx_runtime281 = require("react/jsx-runtime");
|
|
900
900
|
|
|
901
|
-
// src/tokens/svg/user/
|
|
901
|
+
// src/tokens/svg/user/UserXIcon.tsx
|
|
902
902
|
var import_jsx_runtime282 = require("react/jsx-runtime");
|
|
903
903
|
|
|
904
904
|
// src/tokens/svg/weather/CloudDrizzleIcon.tsx
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/* src/components/Accordion/accordion.scss */
|
|
2
2
|
.lib-xplat-accordion {
|
|
3
|
-
border: 1px solid var(--
|
|
4
|
-
border-radius:
|
|
3
|
+
border: 1px solid var(--semantic-border-default);
|
|
4
|
+
border-radius: var(--spacing-radius-md);
|
|
5
5
|
overflow: hidden;
|
|
6
6
|
}
|
|
7
7
|
.lib-xplat-accordion .accordion-item {
|
|
8
|
-
border-bottom: 1px solid var(--
|
|
8
|
+
border-bottom: 1px solid var(--semantic-border-default);
|
|
9
9
|
}
|
|
10
10
|
.lib-xplat-accordion .accordion-item:last-child {
|
|
11
11
|
border-bottom: none;
|
|
@@ -15,28 +15,28 @@
|
|
|
15
15
|
align-items: center;
|
|
16
16
|
justify-content: space-between;
|
|
17
17
|
width: 100%;
|
|
18
|
-
padding:
|
|
18
|
+
padding: 14px var(--spacing-space-4);
|
|
19
19
|
background: none;
|
|
20
20
|
border: none;
|
|
21
21
|
cursor: pointer;
|
|
22
22
|
font-size: 14px;
|
|
23
23
|
font-weight: 500;
|
|
24
|
-
color: var(--
|
|
24
|
+
color: var(--semantic-text-strong);
|
|
25
25
|
text-align: left;
|
|
26
26
|
transition: background-color 0.2s;
|
|
27
27
|
}
|
|
28
28
|
.lib-xplat-accordion .accordion-header:hover {
|
|
29
|
-
background-color: var(--
|
|
29
|
+
background-color: var(--semantic-surface-neutral-subtle);
|
|
30
30
|
}
|
|
31
31
|
.lib-xplat-accordion .accordion-header .chevron {
|
|
32
|
-
width:
|
|
33
|
-
height:
|
|
32
|
+
width: var(--spacing-space-5);
|
|
33
|
+
height: var(--spacing-space-5);
|
|
34
34
|
flex-shrink: 0;
|
|
35
35
|
display: flex;
|
|
36
36
|
align-items: center;
|
|
37
37
|
justify-content: center;
|
|
38
38
|
transition: transform 0.25s ease;
|
|
39
|
-
color: var(--
|
|
39
|
+
color: var(--semantic-text-muted);
|
|
40
40
|
}
|
|
41
41
|
.lib-xplat-accordion .accordion-body {
|
|
42
42
|
overflow: hidden;
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
transition: max-height 0.25s ease;
|
|
45
45
|
}
|
|
46
46
|
.lib-xplat-accordion .accordion-content {
|
|
47
|
-
padding: 0
|
|
47
|
+
padding: 0 var(--spacing-space-4) 14px;
|
|
48
48
|
font-size: 14px;
|
|
49
|
-
color: var(--
|
|
49
|
+
color: var(--semantic-text-subtle);
|
|
50
50
|
line-height: 1.6;
|
|
51
51
|
}
|
|
52
52
|
.lib-xplat-accordion .accordion-item.open .chevron {
|
|
@@ -400,10 +400,10 @@ import { jsx as jsx126, jsxs as jsxs72 } from "react/jsx-runtime";
|
|
|
400
400
|
// src/tokens/svg/file/BookIcon.tsx
|
|
401
401
|
import { jsx as jsx127 } from "react/jsx-runtime";
|
|
402
402
|
|
|
403
|
-
// src/tokens/svg/file/
|
|
403
|
+
// src/tokens/svg/file/BookmarkIcon.tsx
|
|
404
404
|
import { jsx as jsx128 } from "react/jsx-runtime";
|
|
405
405
|
|
|
406
|
-
// src/tokens/svg/file/
|
|
406
|
+
// src/tokens/svg/file/BookOpenIcon.tsx
|
|
407
407
|
import { jsx as jsx129 } from "react/jsx-runtime";
|
|
408
408
|
|
|
409
409
|
// src/tokens/svg/file/ClipboardIcon.tsx
|
|
@@ -859,10 +859,10 @@ import { jsx as jsx279, jsxs as jsxs177 } from "react/jsx-runtime";
|
|
|
859
859
|
// src/tokens/svg/user/UserPlusIcon.tsx
|
|
860
860
|
import { jsx as jsx280, jsxs as jsxs178 } from "react/jsx-runtime";
|
|
861
861
|
|
|
862
|
-
// src/tokens/svg/user/
|
|
862
|
+
// src/tokens/svg/user/UsersIcon.tsx
|
|
863
863
|
import { jsx as jsx281, jsxs as jsxs179 } from "react/jsx-runtime";
|
|
864
864
|
|
|
865
|
-
// src/tokens/svg/user/
|
|
865
|
+
// src/tokens/svg/user/UserXIcon.tsx
|
|
866
866
|
import { jsx as jsx282, jsxs as jsxs180 } from "react/jsx-runtime";
|
|
867
867
|
|
|
868
868
|
// src/tokens/svg/weather/CloudDrizzleIcon.tsx
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
display: flex;
|
|
4
4
|
align-items: flex-start;
|
|
5
5
|
justify-content: space-between;
|
|
6
|
-
padding:
|
|
7
|
-
border-radius:
|
|
6
|
+
padding: var(--spacing-space-3) var(--spacing-space-4);
|
|
7
|
+
border-radius: var(--spacing-radius-md);
|
|
8
8
|
font-size: 14px;
|
|
9
9
|
line-height: 1.5;
|
|
10
10
|
border: 1px solid;
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
cursor: pointer;
|
|
19
19
|
font-size: 18px;
|
|
20
20
|
line-height: 1;
|
|
21
|
-
margin-left:
|
|
21
|
+
margin-left: var(--spacing-space-2);
|
|
22
22
|
padding: 0;
|
|
23
23
|
opacity: 0.6;
|
|
24
24
|
transition: opacity 0.2s;
|
|
@@ -27,34 +27,34 @@
|
|
|
27
27
|
opacity: 1;
|
|
28
28
|
}
|
|
29
29
|
.lib-xplat-alert.info {
|
|
30
|
-
background-color: var(--
|
|
31
|
-
border-color: var(--
|
|
32
|
-
color: var(--
|
|
30
|
+
background-color: var(--semantic-surface-info-subtle);
|
|
31
|
+
border-color: var(--semantic-border-info);
|
|
32
|
+
color: var(--semantic-text-info);
|
|
33
33
|
}
|
|
34
34
|
.lib-xplat-alert.info .close-btn {
|
|
35
|
-
color: var(--
|
|
35
|
+
color: var(--semantic-text-info);
|
|
36
36
|
}
|
|
37
37
|
.lib-xplat-alert.success {
|
|
38
|
-
background-color: var(--
|
|
39
|
-
border-color: var(--
|
|
40
|
-
color: var(--
|
|
38
|
+
background-color: var(--semantic-surface-success-subtle);
|
|
39
|
+
border-color: var(--semantic-border-success);
|
|
40
|
+
color: var(--semantic-text-success);
|
|
41
41
|
}
|
|
42
42
|
.lib-xplat-alert.success .close-btn {
|
|
43
|
-
color: var(--
|
|
43
|
+
color: var(--semantic-text-success);
|
|
44
44
|
}
|
|
45
45
|
.lib-xplat-alert.warning {
|
|
46
|
-
background-color: var(--
|
|
47
|
-
border-color: var(--
|
|
48
|
-
color: var(--
|
|
46
|
+
background-color: var(--semantic-surface-warning-subtle);
|
|
47
|
+
border-color: var(--semantic-border-warning);
|
|
48
|
+
color: var(--semantic-text-warning);
|
|
49
49
|
}
|
|
50
50
|
.lib-xplat-alert.warning .close-btn {
|
|
51
|
-
color: var(--
|
|
51
|
+
color: var(--semantic-text-warning);
|
|
52
52
|
}
|
|
53
53
|
.lib-xplat-alert.error {
|
|
54
|
-
background-color: var(--
|
|
55
|
-
border-color: var(--
|
|
56
|
-
color: var(--
|
|
54
|
+
background-color: var(--semantic-surface-error-subtle);
|
|
55
|
+
border-color: var(--semantic-border-error);
|
|
56
|
+
color: var(--semantic-text-error);
|
|
57
57
|
}
|
|
58
58
|
.lib-xplat-alert.error .close-btn {
|
|
59
|
-
color: var(--
|
|
59
|
+
color: var(--semantic-text-error);
|
|
60
60
|
}
|
|
@@ -42,17 +42,23 @@ var clsx_default = clsx;
|
|
|
42
42
|
|
|
43
43
|
// src/components/Avatar/Avatar.tsx
|
|
44
44
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
45
|
+
var CATEGORICAL_COUNT = 8;
|
|
46
|
+
var getColorIndex = (name) => {
|
|
47
|
+
if (!name) return 1;
|
|
48
|
+
const code = name.charCodeAt(0) || 0;
|
|
49
|
+
return code % CATEGORICAL_COUNT + 1;
|
|
50
|
+
};
|
|
45
51
|
var Avatar = (props) => {
|
|
46
52
|
const {
|
|
47
53
|
src,
|
|
48
54
|
alt,
|
|
49
55
|
name,
|
|
50
|
-
size = "md"
|
|
51
|
-
color = "xplat-blue-500"
|
|
56
|
+
size = "md"
|
|
52
57
|
} = props;
|
|
53
|
-
const
|
|
54
|
-
const initials =
|
|
55
|
-
|
|
58
|
+
const fullInitials = name ? name.split(" ").map((s) => s[0]).join("").slice(0, 2).toUpperCase() : "";
|
|
59
|
+
const initials = size === "sm" ? fullInitials.slice(0, 1) : fullInitials;
|
|
60
|
+
const catIndex = getColorIndex(name || "");
|
|
61
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: clsx_default("lib-xplat-avatar", size), children: src ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("img", { src, alt: alt || name || "avatar" }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: clsx_default("fallback", `cat-${catIndex}`), children: initials || /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" }) }) }) });
|
|
56
62
|
};
|
|
57
63
|
Avatar.displayName = "Avatar";
|
|
58
64
|
var Avatar_default = Avatar;
|
|
@@ -9,18 +9,18 @@
|
|
|
9
9
|
user-select: none;
|
|
10
10
|
}
|
|
11
11
|
.lib-xplat-avatar.sm {
|
|
12
|
-
width:
|
|
13
|
-
height:
|
|
14
|
-
font-size:
|
|
12
|
+
width: var(--spacing-control-height-sm);
|
|
13
|
+
height: var(--spacing-control-height-sm);
|
|
14
|
+
font-size: 11px;
|
|
15
15
|
}
|
|
16
16
|
.lib-xplat-avatar.md {
|
|
17
|
-
width:
|
|
18
|
-
height:
|
|
17
|
+
width: var(--spacing-control-height-md);
|
|
18
|
+
height: var(--spacing-control-height-md);
|
|
19
19
|
font-size: 14px;
|
|
20
20
|
}
|
|
21
21
|
.lib-xplat-avatar.lg {
|
|
22
|
-
width:
|
|
23
|
-
height:
|
|
22
|
+
width: var(--spacing-control-height-lg);
|
|
23
|
+
height: var(--spacing-control-height-lg);
|
|
24
24
|
font-size: 18px;
|
|
25
25
|
}
|
|
26
26
|
.lib-xplat-avatar img {
|
|
@@ -34,13 +34,43 @@
|
|
|
34
34
|
display: flex;
|
|
35
35
|
align-items: center;
|
|
36
36
|
justify-content: center;
|
|
37
|
-
color: var(--xplat-white);
|
|
38
37
|
font-weight: 600;
|
|
38
|
+
background-color: var(--semantic-surface-neutral-subtle);
|
|
39
|
+
color: var(--semantic-text-muted);
|
|
40
|
+
}
|
|
41
|
+
.lib-xplat-avatar .fallback.cat-1 {
|
|
42
|
+
background-color: var(--semantic-categorical-1-bg);
|
|
43
|
+
color: var(--semantic-categorical-1-text);
|
|
44
|
+
}
|
|
45
|
+
.lib-xplat-avatar .fallback.cat-2 {
|
|
46
|
+
background-color: var(--semantic-categorical-2-bg);
|
|
47
|
+
color: var(--semantic-categorical-2-text);
|
|
48
|
+
}
|
|
49
|
+
.lib-xplat-avatar .fallback.cat-3 {
|
|
50
|
+
background-color: var(--semantic-categorical-3-bg);
|
|
51
|
+
color: var(--semantic-categorical-3-text);
|
|
52
|
+
}
|
|
53
|
+
.lib-xplat-avatar .fallback.cat-4 {
|
|
54
|
+
background-color: var(--semantic-categorical-4-bg);
|
|
55
|
+
color: var(--semantic-categorical-4-text);
|
|
56
|
+
}
|
|
57
|
+
.lib-xplat-avatar .fallback.cat-5 {
|
|
58
|
+
background-color: var(--semantic-categorical-5-bg);
|
|
59
|
+
color: var(--semantic-categorical-5-text);
|
|
60
|
+
}
|
|
61
|
+
.lib-xplat-avatar .fallback.cat-6 {
|
|
62
|
+
background-color: var(--semantic-categorical-6-bg);
|
|
63
|
+
color: var(--semantic-categorical-6-text);
|
|
64
|
+
}
|
|
65
|
+
.lib-xplat-avatar .fallback.cat-7 {
|
|
66
|
+
background-color: var(--semantic-categorical-7-bg);
|
|
67
|
+
color: var(--semantic-categorical-7-text);
|
|
68
|
+
}
|
|
69
|
+
.lib-xplat-avatar .fallback.cat-8 {
|
|
70
|
+
background-color: var(--semantic-categorical-8-bg);
|
|
71
|
+
color: var(--semantic-categorical-8-text);
|
|
39
72
|
}
|
|
40
73
|
.lib-xplat-avatar .fallback svg {
|
|
41
74
|
width: 60%;
|
|
42
75
|
height: 60%;
|
|
43
76
|
}
|
|
44
|
-
.lib-xplat-avatar .fallback {
|
|
45
|
-
background-color: var(--ds-color);
|
|
46
|
-
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { a as ColorProps } from '../../colors-CY4JXVHj.cjs';
|
|
3
2
|
|
|
4
3
|
type AvatarSize = "sm" | "md" | "lg";
|
|
5
|
-
interface AvatarProps
|
|
4
|
+
interface AvatarProps {
|
|
6
5
|
src?: string;
|
|
7
6
|
alt?: string;
|
|
8
7
|
name?: string;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { a as ColorProps } from '../../colors-CY4JXVHj.js';
|
|
3
2
|
|
|
4
3
|
type AvatarSize = "sm" | "md" | "lg";
|
|
5
|
-
interface AvatarProps
|
|
4
|
+
interface AvatarProps {
|
|
6
5
|
src?: string;
|
|
7
6
|
alt?: string;
|
|
8
7
|
name?: string;
|
|
@@ -16,17 +16,23 @@ var clsx_default = clsx;
|
|
|
16
16
|
|
|
17
17
|
// src/components/Avatar/Avatar.tsx
|
|
18
18
|
import { jsx } from "react/jsx-runtime";
|
|
19
|
+
var CATEGORICAL_COUNT = 8;
|
|
20
|
+
var getColorIndex = (name) => {
|
|
21
|
+
if (!name) return 1;
|
|
22
|
+
const code = name.charCodeAt(0) || 0;
|
|
23
|
+
return code % CATEGORICAL_COUNT + 1;
|
|
24
|
+
};
|
|
19
25
|
var Avatar = (props) => {
|
|
20
26
|
const {
|
|
21
27
|
src,
|
|
22
28
|
alt,
|
|
23
29
|
name,
|
|
24
|
-
size = "md"
|
|
25
|
-
color = "xplat-blue-500"
|
|
30
|
+
size = "md"
|
|
26
31
|
} = props;
|
|
27
|
-
const
|
|
28
|
-
const initials =
|
|
29
|
-
|
|
32
|
+
const fullInitials = name ? name.split(" ").map((s) => s[0]).join("").slice(0, 2).toUpperCase() : "";
|
|
33
|
+
const initials = size === "sm" ? fullInitials.slice(0, 1) : fullInitials;
|
|
34
|
+
const catIndex = getColorIndex(name || "");
|
|
35
|
+
return /* @__PURE__ */ jsx("div", { className: clsx_default("lib-xplat-avatar", size), children: src ? /* @__PURE__ */ jsx("img", { src, alt: alt || name || "avatar" }) : /* @__PURE__ */ jsx("div", { className: clsx_default("fallback", `cat-${catIndex}`), children: initials || /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" }) }) }) });
|
|
30
36
|
};
|
|
31
37
|
Avatar.displayName = "Avatar";
|
|
32
38
|
var Avatar_default = Avatar;
|
|
@@ -45,18 +45,17 @@ var import_jsx_runtime = require("react/jsx-runtime");
|
|
|
45
45
|
var Badge = (props) => {
|
|
46
46
|
const {
|
|
47
47
|
children,
|
|
48
|
+
type = "error",
|
|
48
49
|
count,
|
|
49
50
|
maxCount = 99,
|
|
50
51
|
dot = false,
|
|
51
|
-
size = "md"
|
|
52
|
-
color = "xplat-red-500"
|
|
52
|
+
size = "md"
|
|
53
53
|
} = props;
|
|
54
|
-
const colorClass = color;
|
|
55
54
|
const showBadge = dot || count !== void 0 && count > 0;
|
|
56
55
|
const displayCount = count !== void 0 && count > maxCount ? `${maxCount}+` : count;
|
|
57
56
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: clsx_default("lib-xplat-badge", size), children: [
|
|
58
57
|
children,
|
|
59
|
-
showBadge && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: clsx_default("badge-indicator",
|
|
58
|
+
showBadge && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: clsx_default("badge-indicator", type, { dot }), children: !dot && displayCount })
|
|
60
59
|
] });
|
|
61
60
|
};
|
|
62
61
|
Badge.displayName = "Badge";
|
|
@@ -4,24 +4,24 @@
|
|
|
4
4
|
display: inline-flex;
|
|
5
5
|
}
|
|
6
6
|
.lib-xplat-badge.sm .badge-indicator {
|
|
7
|
-
min-width:
|
|
8
|
-
height:
|
|
7
|
+
min-width: var(--spacing-space-4);
|
|
8
|
+
height: var(--spacing-space-4);
|
|
9
9
|
font-size: 9px;
|
|
10
|
-
padding: 0
|
|
10
|
+
padding: 0 var(--spacing-space-1);
|
|
11
11
|
}
|
|
12
12
|
.lib-xplat-badge.sm .badge-indicator.dot {
|
|
13
|
-
min-width:
|
|
14
|
-
height:
|
|
13
|
+
min-width: var(--spacing-space-2);
|
|
14
|
+
height: var(--spacing-space-2);
|
|
15
15
|
}
|
|
16
16
|
.lib-xplat-badge.lg .badge-indicator {
|
|
17
|
-
min-width:
|
|
18
|
-
height:
|
|
17
|
+
min-width: var(--spacing-space-6);
|
|
18
|
+
height: var(--spacing-space-6);
|
|
19
19
|
font-size: 13px;
|
|
20
|
-
padding: 0
|
|
20
|
+
padding: 0 var(--spacing-space-2);
|
|
21
21
|
}
|
|
22
22
|
.lib-xplat-badge.lg .badge-indicator.dot {
|
|
23
|
-
min-width:
|
|
24
|
-
height:
|
|
23
|
+
min-width: var(--spacing-space-2);
|
|
24
|
+
height: var(--spacing-space-2);
|
|
25
25
|
}
|
|
26
26
|
.lib-xplat-badge .badge-indicator {
|
|
27
27
|
position: absolute;
|
|
@@ -31,21 +31,34 @@
|
|
|
31
31
|
display: flex;
|
|
32
32
|
align-items: center;
|
|
33
33
|
justify-content: center;
|
|
34
|
-
border-radius:
|
|
35
|
-
color: var(--
|
|
34
|
+
border-radius: var(--spacing-radius-full);
|
|
35
|
+
color: var(--semantic-text-inverse);
|
|
36
36
|
font-size: 11px;
|
|
37
37
|
font-weight: 600;
|
|
38
38
|
line-height: 1;
|
|
39
|
-
min-width:
|
|
40
|
-
height:
|
|
41
|
-
padding: 0
|
|
39
|
+
min-width: var(--spacing-space-4);
|
|
40
|
+
height: var(--spacing-space-4);
|
|
41
|
+
padding: 0 var(--spacing-space-1);
|
|
42
42
|
box-sizing: border-box;
|
|
43
43
|
}
|
|
44
44
|
.lib-xplat-badge .badge-indicator.dot {
|
|
45
|
-
min-width:
|
|
46
|
-
height:
|
|
45
|
+
min-width: var(--spacing-space-2);
|
|
46
|
+
height: var(--spacing-space-2);
|
|
47
47
|
padding: 0;
|
|
48
48
|
}
|
|
49
|
-
.lib-xplat-badge .badge-indicator {
|
|
50
|
-
background-color: var(--
|
|
49
|
+
.lib-xplat-badge .badge-indicator.error {
|
|
50
|
+
background-color: var(--semantic-surface-error-default);
|
|
51
|
+
}
|
|
52
|
+
.lib-xplat-badge .badge-indicator.success {
|
|
53
|
+
background-color: var(--semantic-surface-success-default);
|
|
54
|
+
}
|
|
55
|
+
.lib-xplat-badge .badge-indicator.warning {
|
|
56
|
+
background-color: var(--semantic-surface-warning-default);
|
|
57
|
+
color: var(--semantic-text-strong);
|
|
58
|
+
}
|
|
59
|
+
.lib-xplat-badge .badge-indicator.info {
|
|
60
|
+
background-color: var(--semantic-surface-info-default);
|
|
61
|
+
}
|
|
62
|
+
.lib-xplat-badge .badge-indicator.brand {
|
|
63
|
+
background-color: var(--semantic-surface-brand-default);
|
|
51
64
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { a as ColorProps } from '../../colors-CY4JXVHj.cjs';
|
|
4
3
|
|
|
4
|
+
type BadgeType = "error" | "success" | "warning" | "info" | "brand";
|
|
5
5
|
type BadgeSize = "sm" | "md" | "lg";
|
|
6
|
-
interface BadgeProps
|
|
6
|
+
interface BadgeProps {
|
|
7
7
|
children: React.ReactNode;
|
|
8
|
+
type?: BadgeType;
|
|
8
9
|
count?: number;
|
|
9
10
|
maxCount?: number;
|
|
10
11
|
dot?: boolean;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { a as ColorProps } from '../../colors-CY4JXVHj.js';
|
|
4
3
|
|
|
4
|
+
type BadgeType = "error" | "success" | "warning" | "info" | "brand";
|
|
5
5
|
type BadgeSize = "sm" | "md" | "lg";
|
|
6
|
-
interface BadgeProps
|
|
6
|
+
interface BadgeProps {
|
|
7
7
|
children: React.ReactNode;
|
|
8
|
+
type?: BadgeType;
|
|
8
9
|
count?: number;
|
|
9
10
|
maxCount?: number;
|
|
10
11
|
dot?: boolean;
|
|
@@ -19,18 +19,17 @@ import { jsx, jsxs } from "react/jsx-runtime";
|
|
|
19
19
|
var Badge = (props) => {
|
|
20
20
|
const {
|
|
21
21
|
children,
|
|
22
|
+
type = "error",
|
|
22
23
|
count,
|
|
23
24
|
maxCount = 99,
|
|
24
25
|
dot = false,
|
|
25
|
-
size = "md"
|
|
26
|
-
color = "xplat-red-500"
|
|
26
|
+
size = "md"
|
|
27
27
|
} = props;
|
|
28
|
-
const colorClass = color;
|
|
29
28
|
const showBadge = dot || count !== void 0 && count > 0;
|
|
30
29
|
const displayCount = count !== void 0 && count > maxCount ? `${maxCount}+` : count;
|
|
31
30
|
return /* @__PURE__ */ jsxs("div", { className: clsx_default("lib-xplat-badge", size), children: [
|
|
32
31
|
children,
|
|
33
|
-
showBadge && /* @__PURE__ */ jsx("span", { className: clsx_default("badge-indicator",
|
|
32
|
+
showBadge && /* @__PURE__ */ jsx("span", { className: clsx_default("badge-indicator", type, { dot }), children: !dot && displayCount })
|
|
34
33
|
] });
|
|
35
34
|
};
|
|
36
35
|
Badge.displayName = "Badge";
|
|
@@ -5,17 +5,17 @@
|
|
|
5
5
|
list-style: none;
|
|
6
6
|
margin: 0;
|
|
7
7
|
padding: 0;
|
|
8
|
-
gap:
|
|
8
|
+
gap: var(--spacing-space-1);
|
|
9
9
|
flex-wrap: wrap;
|
|
10
10
|
}
|
|
11
11
|
.lib-xplat-breadcrumb li {
|
|
12
12
|
display: flex;
|
|
13
13
|
align-items: center;
|
|
14
|
-
gap:
|
|
14
|
+
gap: var(--spacing-space-1);
|
|
15
15
|
font-size: 14px;
|
|
16
16
|
}
|
|
17
17
|
.lib-xplat-breadcrumb .link {
|
|
18
|
-
color: var(--
|
|
18
|
+
color: var(--semantic-text-muted);
|
|
19
19
|
text-decoration: none;
|
|
20
20
|
background: none;
|
|
21
21
|
border: none;
|
|
@@ -25,13 +25,13 @@
|
|
|
25
25
|
transition: color 0.2s;
|
|
26
26
|
}
|
|
27
27
|
.lib-xplat-breadcrumb .link:hover {
|
|
28
|
-
color: var(--
|
|
28
|
+
color: var(--semantic-text-strong);
|
|
29
29
|
}
|
|
30
30
|
.lib-xplat-breadcrumb .current {
|
|
31
|
-
color: var(--
|
|
31
|
+
color: var(--semantic-text-strong);
|
|
32
32
|
font-weight: 500;
|
|
33
33
|
}
|
|
34
34
|
.lib-xplat-breadcrumb .separator {
|
|
35
|
-
color: var(--
|
|
35
|
+
color: var(--semantic-icon-subtle);
|
|
36
36
|
user-select: none;
|
|
37
37
|
}
|
|
@@ -47,15 +47,13 @@ var Button = (props) => {
|
|
|
47
47
|
children,
|
|
48
48
|
type = "primary",
|
|
49
49
|
size = "md",
|
|
50
|
-
color = "xplat-black",
|
|
51
50
|
disabled,
|
|
52
51
|
...rest
|
|
53
52
|
} = props;
|
|
54
|
-
const colorClass = color;
|
|
55
53
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
56
54
|
"button",
|
|
57
55
|
{
|
|
58
|
-
className: clsx_default("lib-xplat-button", type, size
|
|
56
|
+
className: clsx_default("lib-xplat-button", type, size),
|
|
59
57
|
disabled,
|
|
60
58
|
...rest,
|
|
61
59
|
children
|