@x-plat/design-system 0.4.5 → 0.5.0

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.
Files changed (205) hide show
  1. package/dist/components/Accordion/index.cjs +294 -294
  2. package/dist/components/Accordion/index.css +11 -11
  3. package/dist/components/Accordion/index.d.cts +0 -1
  4. package/dist/components/Accordion/index.d.ts +0 -1
  5. package/dist/components/Accordion/index.js +491 -491
  6. package/dist/components/Alert/index.cjs +2 -2
  7. package/dist/components/Alert/index.css +19 -19
  8. package/dist/components/Alert/index.d.cts +0 -1
  9. package/dist/components/Alert/index.d.ts +0 -1
  10. package/dist/components/Alert/index.js +2 -2
  11. package/dist/components/Avatar/index.cjs +11 -6
  12. package/dist/components/Avatar/index.css +41 -11
  13. package/dist/components/Avatar/index.d.cts +1 -3
  14. package/dist/components/Avatar/index.d.ts +1 -3
  15. package/dist/components/Avatar/index.js +11 -6
  16. package/dist/components/Badge/index.cjs +4 -6
  17. package/dist/components/Badge/index.css +32 -19
  18. package/dist/components/Badge/index.d.cts +3 -3
  19. package/dist/components/Badge/index.d.ts +3 -3
  20. package/dist/components/Badge/index.js +4 -6
  21. package/dist/components/Breadcrumb/index.cjs +2 -18
  22. package/dist/components/Breadcrumb/index.css +6 -6
  23. package/dist/components/Breadcrumb/index.d.cts +0 -1
  24. package/dist/components/Breadcrumb/index.d.ts +0 -1
  25. package/dist/components/Breadcrumb/index.js +2 -18
  26. package/dist/components/Button/index.cjs +1 -4
  27. package/dist/components/Button/index.css +67 -23
  28. package/dist/components/Button/index.d.cts +2 -3
  29. package/dist/components/Button/index.d.ts +2 -3
  30. package/dist/components/Button/index.js +1 -4
  31. package/dist/components/Calendar/index.cjs +306 -307
  32. package/dist/components/Calendar/index.css +51 -52
  33. package/dist/components/Calendar/index.d.cts +3 -4
  34. package/dist/components/Calendar/index.d.ts +3 -4
  35. package/dist/components/Calendar/index.js +503 -504
  36. package/dist/components/Card/index.cjs +2 -18
  37. package/dist/components/Card/index.css +6 -6
  38. package/dist/components/Card/index.d.cts +0 -4
  39. package/dist/components/Card/index.d.ts +0 -4
  40. package/dist/components/Card/index.js +2 -18
  41. package/dist/components/CardTab/index.cjs +4 -5
  42. package/dist/components/CardTab/index.css +28 -28
  43. package/dist/components/CardTab/index.d.cts +0 -2
  44. package/dist/components/CardTab/index.d.ts +0 -2
  45. package/dist/components/CardTab/index.js +4 -5
  46. package/dist/components/Chart/index.cjs +228 -14548
  47. package/dist/components/Chart/index.css +57 -0
  48. package/dist/components/Chart/index.d.cts +3 -2
  49. package/dist/components/Chart/index.d.ts +3 -2
  50. package/dist/components/Chart/index.js +219 -14541
  51. package/dist/components/CheckBox/index.cjs +301 -297
  52. package/dist/components/CheckBox/index.css +50 -27
  53. package/dist/components/CheckBox/index.d.cts +3 -3
  54. package/dist/components/CheckBox/index.d.ts +3 -3
  55. package/dist/components/CheckBox/index.js +486 -482
  56. package/dist/components/Chip/index.cjs +2 -5
  57. package/dist/components/Chip/index.css +35 -23
  58. package/dist/components/Chip/index.d.cts +2 -4
  59. package/dist/components/Chip/index.d.ts +2 -4
  60. package/dist/components/Chip/index.js +2 -5
  61. package/dist/components/DatePicker/index.cjs +348 -359
  62. package/dist/components/DatePicker/index.css +175 -122
  63. package/dist/components/DatePicker/index.d.cts +2 -3
  64. package/dist/components/DatePicker/index.d.ts +2 -3
  65. package/dist/components/DatePicker/index.js +525 -536
  66. package/dist/components/Divider/index.cjs +2 -2
  67. package/dist/components/Divider/index.css +2 -2
  68. package/dist/components/Divider/index.d.cts +0 -1
  69. package/dist/components/Divider/index.d.ts +0 -1
  70. package/dist/components/Divider/index.js +2 -2
  71. package/dist/components/Drawer/index.css +7 -7
  72. package/dist/components/Dropdown/index.cjs +2 -2
  73. package/dist/components/Dropdown/index.css +10 -10
  74. package/dist/components/Dropdown/index.d.cts +0 -1
  75. package/dist/components/Dropdown/index.d.ts +0 -1
  76. package/dist/components/Dropdown/index.js +2 -2
  77. package/dist/components/EmptyState/index.cjs +2 -18
  78. package/dist/components/EmptyState/index.css +8 -9
  79. package/dist/components/EmptyState/index.d.cts +0 -1
  80. package/dist/components/EmptyState/index.d.ts +0 -1
  81. package/dist/components/EmptyState/index.js +2 -18
  82. package/dist/components/FileUpload/index.cjs +280 -281
  83. package/dist/components/FileUpload/index.css +13 -14
  84. package/dist/components/FileUpload/index.d.cts +0 -1
  85. package/dist/components/FileUpload/index.d.ts +0 -1
  86. package/dist/components/FileUpload/index.js +476 -477
  87. package/dist/components/HtmlTypeWriter/index.cjs +10 -10
  88. package/dist/components/HtmlTypeWriter/index.css +3 -3
  89. package/dist/components/HtmlTypeWriter/index.js +10 -10
  90. package/dist/components/ImageSelector/index.cjs +309 -309
  91. package/dist/components/ImageSelector/index.css +15 -15
  92. package/dist/components/ImageSelector/index.js +477 -477
  93. package/dist/components/Input/index.cjs +6 -7
  94. package/dist/components/Input/index.css +37 -26
  95. package/dist/components/Input/index.d.cts +2 -2
  96. package/dist/components/Input/index.d.ts +2 -2
  97. package/dist/components/Input/index.js +6 -7
  98. package/dist/components/Modal/index.css +5 -4
  99. package/dist/components/Pagination/index.cjs +303 -305
  100. package/dist/components/Pagination/index.css +37 -26
  101. package/dist/components/Pagination/index.d.cts +3 -3
  102. package/dist/components/Pagination/index.d.ts +3 -3
  103. package/dist/components/Pagination/index.js +500 -502
  104. package/dist/components/PopOver/index.css +3 -3
  105. package/dist/components/Progress/index.cjs +4 -6
  106. package/dist/components/Progress/index.css +23 -9
  107. package/dist/components/Progress/index.d.cts +3 -3
  108. package/dist/components/Progress/index.d.ts +3 -3
  109. package/dist/components/Progress/index.js +4 -6
  110. package/dist/components/Radio/index.cjs +4 -7
  111. package/dist/components/Radio/index.css +61 -29
  112. package/dist/components/Radio/index.d.cts +3 -3
  113. package/dist/components/Radio/index.d.ts +3 -3
  114. package/dist/components/Radio/index.js +4 -7
  115. package/dist/components/Select/index.cjs +294 -294
  116. package/dist/components/Select/index.css +46 -40
  117. package/dist/components/Select/index.d.cts +0 -1
  118. package/dist/components/Select/index.d.ts +0 -1
  119. package/dist/components/Select/index.js +491 -491
  120. package/dist/components/Skeleton/index.cjs +2 -2
  121. package/dist/components/Skeleton/index.css +3 -3
  122. package/dist/components/Skeleton/index.d.cts +0 -1
  123. package/dist/components/Skeleton/index.d.ts +0 -1
  124. package/dist/components/Skeleton/index.js +2 -2
  125. package/dist/components/Spinner/index.cjs +2 -4
  126. package/dist/components/Spinner/index.css +22 -8
  127. package/dist/components/Spinner/index.d.cts +3 -3
  128. package/dist/components/Spinner/index.d.ts +3 -3
  129. package/dist/components/Spinner/index.js +2 -4
  130. package/dist/components/Steps/index.cjs +296 -298
  131. package/dist/components/Steps/index.css +77 -22
  132. package/dist/components/Steps/index.d.cts +3 -3
  133. package/dist/components/Steps/index.d.ts +3 -3
  134. package/dist/components/Steps/index.js +481 -483
  135. package/dist/components/Swiper/index.cjs +2 -3
  136. package/dist/components/Swiper/index.css +10 -10
  137. package/dist/components/Swiper/index.d.cts +0 -1
  138. package/dist/components/Swiper/index.d.ts +0 -1
  139. package/dist/components/Swiper/index.js +2 -3
  140. package/dist/components/Switch/index.cjs +4 -7
  141. package/dist/components/Switch/index.css +58 -26
  142. package/dist/components/Switch/index.d.cts +3 -3
  143. package/dist/components/Switch/index.d.ts +3 -3
  144. package/dist/components/Switch/index.js +4 -7
  145. package/dist/components/Tab/index.css +15 -15
  146. package/dist/components/Table/index.cjs +22 -31
  147. package/dist/components/Table/index.css +15 -15
  148. package/dist/components/Table/index.d.cts +2 -8
  149. package/dist/components/Table/index.d.ts +2 -8
  150. package/dist/components/Table/index.js +22 -31
  151. package/dist/components/Tag/index.cjs +305 -293
  152. package/dist/components/Tag/index.css +58 -17
  153. package/dist/components/Tag/index.d.cts +5 -3
  154. package/dist/components/Tag/index.d.ts +5 -3
  155. package/dist/components/Tag/index.js +492 -480
  156. package/dist/components/TextArea/index.cjs +2 -2
  157. package/dist/components/TextArea/index.css +20 -9
  158. package/dist/components/TextArea/index.d.cts +2 -1
  159. package/dist/components/TextArea/index.d.ts +2 -1
  160. package/dist/components/TextArea/index.js +2 -2
  161. package/dist/components/Toast/index.css +22 -22
  162. package/dist/components/Tooltip/index.cjs +1 -3
  163. package/dist/components/Tooltip/index.css +6 -6
  164. package/dist/components/Tooltip/index.d.cts +1 -2
  165. package/dist/components/Tooltip/index.d.ts +1 -2
  166. package/dist/components/Tooltip/index.js +1 -3
  167. package/dist/components/Video/index.cjs +1 -3
  168. package/dist/components/Video/index.css +5 -5
  169. package/dist/components/Video/index.d.cts +0 -2
  170. package/dist/components/Video/index.d.ts +0 -2
  171. package/dist/components/Video/index.js +1 -3
  172. package/dist/components/index.cjs +1604 -15950
  173. package/dist/components/index.css +2167 -1061
  174. package/dist/components/index.d.cts +1 -2
  175. package/dist/components/index.d.ts +1 -2
  176. package/dist/components/index.js +1478 -15826
  177. package/dist/index.cjs +2941 -17269
  178. package/dist/index.css +2164 -1058
  179. package/dist/index.d.cts +3 -3
  180. package/dist/index.d.ts +3 -3
  181. package/dist/index.js +2837 -17169
  182. package/dist/layout/Grid/FullGrid/index.cjs +9 -18
  183. package/dist/layout/Grid/FullGrid/index.d.cts +1 -1
  184. package/dist/layout/Grid/FullGrid/index.d.ts +1 -1
  185. package/dist/layout/Grid/FullGrid/index.js +9 -18
  186. package/dist/layout/Grid/FullScreen/index.cjs +9 -18
  187. package/dist/layout/Grid/FullScreen/index.d.cts +3 -3
  188. package/dist/layout/Grid/FullScreen/index.d.ts +3 -3
  189. package/dist/layout/Grid/FullScreen/index.js +9 -18
  190. package/dist/layout/Grid/index.cjs +34 -20
  191. package/dist/layout/Grid/index.js +34 -20
  192. package/dist/layout/index.cjs +34 -20
  193. package/dist/layout/index.css +1000 -295
  194. package/dist/layout/index.js +34 -20
  195. package/dist/tokens/index.cjs +1861 -1970
  196. package/dist/tokens/index.d.cts +209 -192
  197. package/dist/tokens/index.d.ts +209 -192
  198. package/dist/tokens/index.js +2048 -2159
  199. package/package.json +2 -4
  200. package/dist/colors-CY4JXVHj.d.cts +0 -137
  201. package/dist/colors-CY4JXVHj.d.ts +0 -137
  202. package/dist/layout/Grid/GapGrid/index.cjs +0 -32
  203. package/dist/layout/Grid/GapGrid/index.d.cts +0 -12
  204. package/dist/layout/Grid/GapGrid/index.d.ts +0 -12
  205. package/dist/layout/Grid/GapGrid/index.js +0 -11
@@ -43,11 +43,11 @@ var clsx_default = clsx;
43
43
  // src/components/Alert/Alert.tsx
44
44
  var import_jsx_runtime = require("react/jsx-runtime");
45
45
  var Alert = (props) => {
46
- const { type = "info", children, onClose, className } = props;
46
+ const { type = "info", children, onClose } = props;
47
47
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
48
48
  "div",
49
49
  {
50
- className: clsx_default("lib-xplat-alert", type, className),
50
+ className: clsx_default("lib-xplat-alert", type),
51
51
  role: "alert",
52
52
  children: [
53
53
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "content", children }),
@@ -3,8 +3,8 @@
3
3
  display: flex;
4
4
  align-items: flex-start;
5
5
  justify-content: space-between;
6
- padding: 0.75rem 1rem;
7
- border-radius: 0.5rem;
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: 0.5rem;
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(--xplat-lightblue-50);
31
- border-color: var(--xplat-lightblue-200);
32
- color: var(--xplat-lightblue-700);
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(--xplat-lightblue-700);
35
+ color: var(--semantic-text-info);
36
36
  }
37
37
  .lib-xplat-alert.success {
38
- background-color: var(--xplat-green-50);
39
- border-color: var(--xplat-green-200);
40
- color: var(--xplat-green-700);
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(--xplat-green-700);
43
+ color: var(--semantic-text-success);
44
44
  }
45
45
  .lib-xplat-alert.warning {
46
- background-color: var(--xplat-yellow-50);
47
- border-color: var(--xplat-yellow-200);
48
- color: var(--xplat-yellow-700);
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(--xplat-yellow-700);
51
+ color: var(--semantic-text-warning);
52
52
  }
53
53
  .lib-xplat-alert.error {
54
- background-color: var(--xplat-red-50);
55
- border-color: var(--xplat-red-200);
56
- color: var(--xplat-red-700);
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(--xplat-red-700);
59
+ color: var(--semantic-text-error);
60
60
  }
@@ -5,7 +5,6 @@ interface AlertProps {
5
5
  type?: AlertType;
6
6
  children: React.ReactNode;
7
7
  onClose?: () => void;
8
- className?: string;
9
8
  }
10
9
  declare const Alert: React.FC<AlertProps>;
11
10
 
@@ -5,7 +5,6 @@ interface AlertProps {
5
5
  type?: AlertType;
6
6
  children: React.ReactNode;
7
7
  onClose?: () => void;
8
- className?: string;
9
8
  }
10
9
  declare const Alert: React.FC<AlertProps>;
11
10
 
@@ -17,11 +17,11 @@ var clsx_default = clsx;
17
17
  // src/components/Alert/Alert.tsx
18
18
  import { jsx, jsxs } from "react/jsx-runtime";
19
19
  var Alert = (props) => {
20
- const { type = "info", children, onClose, className } = props;
20
+ const { type = "info", children, onClose } = props;
21
21
  return /* @__PURE__ */ jsxs(
22
22
  "div",
23
23
  {
24
- className: clsx_default("lib-xplat-alert", type, className),
24
+ className: clsx_default("lib-xplat-alert", type),
25
25
  role: "alert",
26
26
  children: [
27
27
  /* @__PURE__ */ jsx("div", { className: "content", children }),
@@ -42,18 +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",
52
- className
56
+ size = "md"
53
57
  } = props;
54
- const colorClass = color;
55
- const initials = name ? name.split(" ").map((s) => s[0]).join("").slice(0, 2).toUpperCase() : "";
56
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: clsx_default("lib-xplat-avatar", size, className), 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", colorClass), 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" }) }) }) });
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" }) }) }) });
57
62
  };
58
63
  Avatar.displayName = "Avatar";
59
64
  var Avatar_default = Avatar;
@@ -9,18 +9,18 @@
9
9
  user-select: none;
10
10
  }
11
11
  .lib-xplat-avatar.sm {
12
- width: 32px;
13
- height: 32px;
14
- font-size: 12px;
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: 40px;
18
- height: 40px;
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: 56px;
23
- height: 56px;
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,13 +1,11 @@
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 extends ColorProps {
4
+ interface AvatarProps {
6
5
  src?: string;
7
6
  alt?: string;
8
7
  name?: string;
9
8
  size?: AvatarSize;
10
- className?: string;
11
9
  }
12
10
  declare const Avatar: {
13
11
  (props: AvatarProps): react_jsx_runtime.JSX.Element;
@@ -1,13 +1,11 @@
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 extends ColorProps {
4
+ interface AvatarProps {
6
5
  src?: string;
7
6
  alt?: string;
8
7
  name?: string;
9
8
  size?: AvatarSize;
10
- className?: string;
11
9
  }
12
10
  declare const Avatar: {
13
11
  (props: AvatarProps): react_jsx_runtime.JSX.Element;
@@ -16,18 +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",
26
- className
30
+ size = "md"
27
31
  } = props;
28
- const colorClass = color;
29
- const initials = name ? name.split(" ").map((s) => s[0]).join("").slice(0, 2).toUpperCase() : "";
30
- return /* @__PURE__ */ jsx("div", { className: clsx_default("lib-xplat-avatar", size, className), children: src ? /* @__PURE__ */ jsx("img", { src, alt: alt || name || "avatar" }) : /* @__PURE__ */ jsx("div", { className: clsx_default("fallback", colorClass), 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" }) }) }) });
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" }) }) }) });
31
36
  };
32
37
  Avatar.displayName = "Avatar";
33
38
  var Avatar_default = Avatar;
@@ -45,19 +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",
53
- className
52
+ size = "md"
54
53
  } = props;
55
- const colorClass = color;
56
54
  const showBadge = dot || count !== void 0 && count > 0;
57
55
  const displayCount = count !== void 0 && count > maxCount ? `${maxCount}+` : count;
58
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: clsx_default("lib-xplat-badge", size, className), children: [
56
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: clsx_default("lib-xplat-badge", size), children: [
59
57
  children,
60
- showBadge && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: clsx_default("badge-indicator", colorClass, { dot }), children: !dot && displayCount })
58
+ showBadge && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: clsx_default("badge-indicator", type, { dot }), children: !dot && displayCount })
61
59
  ] });
62
60
  };
63
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: 14px;
8
- height: 14px;
7
+ min-width: var(--spacing-space-4);
8
+ height: var(--spacing-space-4);
9
9
  font-size: 9px;
10
- padding: 0 3px;
10
+ padding: 0 var(--spacing-space-1);
11
11
  }
12
12
  .lib-xplat-badge.sm .badge-indicator.dot {
13
- min-width: 6px;
14
- height: 6px;
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: 22px;
18
- height: 22px;
17
+ min-width: var(--spacing-space-6);
18
+ height: var(--spacing-space-6);
19
19
  font-size: 13px;
20
- padding: 0 6px;
20
+ padding: 0 var(--spacing-space-2);
21
21
  }
22
22
  .lib-xplat-badge.lg .badge-indicator.dot {
23
- min-width: 10px;
24
- height: 10px;
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: 10rem;
35
- color: var(--xplat-white);
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: 18px;
40
- height: 18px;
41
- padding: 0 5px;
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: 8px;
46
- height: 8px;
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(--ds-color);
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,15 +1,15 @@
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 extends ColorProps {
6
+ interface BadgeProps {
7
7
  children: React.ReactNode;
8
+ type?: BadgeType;
8
9
  count?: number;
9
10
  maxCount?: number;
10
11
  dot?: boolean;
11
12
  size?: BadgeSize;
12
- className?: string;
13
13
  }
14
14
  declare const Badge: {
15
15
  (props: BadgeProps): react_jsx_runtime.JSX.Element;
@@ -1,15 +1,15 @@
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 extends ColorProps {
6
+ interface BadgeProps {
7
7
  children: React.ReactNode;
8
+ type?: BadgeType;
8
9
  count?: number;
9
10
  maxCount?: number;
10
11
  dot?: boolean;
11
12
  size?: BadgeSize;
12
- className?: string;
13
13
  }
14
14
  declare const Badge: {
15
15
  (props: BadgeProps): react_jsx_runtime.JSX.Element;
@@ -19,19 +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",
27
- className
26
+ size = "md"
28
27
  } = props;
29
- const colorClass = color;
30
28
  const showBadge = dot || count !== void 0 && count > 0;
31
29
  const displayCount = count !== void 0 && count > maxCount ? `${maxCount}+` : count;
32
- return /* @__PURE__ */ jsxs("div", { className: clsx_default("lib-xplat-badge", size, className), children: [
30
+ return /* @__PURE__ */ jsxs("div", { className: clsx_default("lib-xplat-badge", size), children: [
33
31
  children,
34
- showBadge && /* @__PURE__ */ jsx("span", { className: clsx_default("badge-indicator", colorClass, { dot }), children: !dot && displayCount })
32
+ showBadge && /* @__PURE__ */ jsx("span", { className: clsx_default("badge-indicator", type, { dot }), children: !dot && displayCount })
35
33
  ] });
36
34
  };
37
35
  Badge.displayName = "Badge";
@@ -24,27 +24,11 @@ __export(Breadcrumb_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(Breadcrumb_exports);
26
26
 
27
- // ../../node_modules/clsx/dist/clsx.mjs
28
- function r(e) {
29
- var t, f, n = "";
30
- if ("string" == typeof e || "number" == typeof e) n += e;
31
- else if ("object" == typeof e) if (Array.isArray(e)) {
32
- var o = e.length;
33
- for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
34
- } else for (f in e) e[f] && (n && (n += " "), n += f);
35
- return n;
36
- }
37
- function clsx() {
38
- for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
39
- return n;
40
- }
41
- var clsx_default = clsx;
42
-
43
27
  // src/components/Breadcrumb/Breadcrumb.tsx
44
28
  var import_jsx_runtime = require("react/jsx-runtime");
45
29
  var Breadcrumb = (props) => {
46
- const { items, separator = "/", className } = props;
47
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("nav", { className: clsx_default("lib-xplat-breadcrumb", className), "aria-label": "\uACBD\uB85C", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("ol", { children: items.map((item, index) => {
30
+ const { items, separator = "/" } = props;
31
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("nav", { className: "lib-xplat-breadcrumb", "aria-label": "\uACBD\uB85C", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("ol", { children: items.map((item, index) => {
48
32
  const isLast = index === items.length - 1;
49
33
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("li", { children: [
50
34
  isLast ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "current", "aria-current": "page", children: item.label }) : item.href ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("a", { href: item.href, className: "link", children: item.label }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", { className: "link", onClick: item.onClick, children: item.label }),
@@ -5,17 +5,17 @@
5
5
  list-style: none;
6
6
  margin: 0;
7
7
  padding: 0;
8
- gap: 4px;
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: 4px;
14
+ gap: var(--spacing-space-1);
15
15
  font-size: 14px;
16
16
  }
17
17
  .lib-xplat-breadcrumb .link {
18
- color: var(--xplat-neutral-500);
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(--xplat-neutral-800);
28
+ color: var(--semantic-text-strong);
29
29
  }
30
30
  .lib-xplat-breadcrumb .current {
31
- color: var(--xplat-neutral-900);
31
+ color: var(--semantic-text-strong);
32
32
  font-weight: 500;
33
33
  }
34
34
  .lib-xplat-breadcrumb .separator {
35
- color: var(--xplat-neutral-400);
35
+ color: var(--semantic-icon-subtle);
36
36
  user-select: none;
37
37
  }
@@ -8,7 +8,6 @@ interface BreadcrumbItem {
8
8
  interface BreadcrumbProps {
9
9
  items: BreadcrumbItem[];
10
10
  separator?: React.ReactNode;
11
- className?: string;
12
11
  }
13
12
  declare const Breadcrumb: React.FC<BreadcrumbProps>;
14
13
 
@@ -8,7 +8,6 @@ interface BreadcrumbItem {
8
8
  interface BreadcrumbProps {
9
9
  items: BreadcrumbItem[];
10
10
  separator?: React.ReactNode;
11
- className?: string;
12
11
  }
13
12
  declare const Breadcrumb: React.FC<BreadcrumbProps>;
14
13
 
@@ -1,24 +1,8 @@
1
- // ../../node_modules/clsx/dist/clsx.mjs
2
- function r(e) {
3
- var t, f, n = "";
4
- if ("string" == typeof e || "number" == typeof e) n += e;
5
- else if ("object" == typeof e) if (Array.isArray(e)) {
6
- var o = e.length;
7
- for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
8
- } else for (f in e) e[f] && (n && (n += " "), n += f);
9
- return n;
10
- }
11
- function clsx() {
12
- for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
13
- return n;
14
- }
15
- var clsx_default = clsx;
16
-
17
1
  // src/components/Breadcrumb/Breadcrumb.tsx
18
2
  import { jsx, jsxs } from "react/jsx-runtime";
19
3
  var Breadcrumb = (props) => {
20
- const { items, separator = "/", className } = props;
21
- return /* @__PURE__ */ jsx("nav", { className: clsx_default("lib-xplat-breadcrumb", className), "aria-label": "\uACBD\uB85C", children: /* @__PURE__ */ jsx("ol", { children: items.map((item, index) => {
4
+ const { items, separator = "/" } = props;
5
+ return /* @__PURE__ */ jsx("nav", { className: "lib-xplat-breadcrumb", "aria-label": "\uACBD\uB85C", children: /* @__PURE__ */ jsx("ol", { children: items.map((item, index) => {
22
6
  const isLast = index === items.length - 1;
23
7
  return /* @__PURE__ */ jsxs("li", { children: [
24
8
  isLast ? /* @__PURE__ */ jsx("span", { className: "current", "aria-current": "page", children: item.label }) : item.href ? /* @__PURE__ */ jsx("a", { href: item.href, className: "link", children: item.label }) : /* @__PURE__ */ jsx("button", { className: "link", onClick: item.onClick, children: item.label }),
@@ -47,16 +47,13 @@ var Button = (props) => {
47
47
  children,
48
48
  type = "primary",
49
49
  size = "md",
50
- color = "xplat-black",
51
50
  disabled,
52
- className,
53
51
  ...rest
54
52
  } = props;
55
- const colorClass = color;
56
53
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
57
54
  "button",
58
55
  {
59
- className: clsx_default("lib-xplat-button", type, size, colorClass, className),
56
+ className: clsx_default("lib-xplat-button", type, size),
60
57
  disabled,
61
58
  ...rest,
62
59
  children