@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
|
@@ -369,6 +369,31 @@ var PasswordInput = React2.forwardRef(
|
|
|
369
369
|
);
|
|
370
370
|
PasswordInput.displayName = "PasswordInput";
|
|
371
371
|
|
|
372
|
+
// src/tokens/hooks/useClickOutside.ts
|
|
373
|
+
import React3 from "react";
|
|
374
|
+
var useClickOutside = (refs, handler, enabled = true) => {
|
|
375
|
+
React3.useEffect(() => {
|
|
376
|
+
if (!enabled) return;
|
|
377
|
+
const refArray = Array.isArray(refs) ? refs : [refs];
|
|
378
|
+
const listener = (event) => {
|
|
379
|
+
const target = event.target;
|
|
380
|
+
const isInside = refArray.some(
|
|
381
|
+
(ref) => ref.current && ref.current.contains(target)
|
|
382
|
+
);
|
|
383
|
+
if (!isInside) {
|
|
384
|
+
handler();
|
|
385
|
+
}
|
|
386
|
+
};
|
|
387
|
+
document.addEventListener("mousedown", listener);
|
|
388
|
+
document.addEventListener("touchstart", listener);
|
|
389
|
+
return () => {
|
|
390
|
+
document.removeEventListener("mousedown", listener);
|
|
391
|
+
document.removeEventListener("touchstart", listener);
|
|
392
|
+
};
|
|
393
|
+
}, [refs, handler, enabled]);
|
|
394
|
+
};
|
|
395
|
+
var useClickOutside_default = useClickOutside;
|
|
396
|
+
|
|
372
397
|
// src/tokens/svg/action/CopyIcon.tsx
|
|
373
398
|
import { jsx as jsx9, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
374
399
|
|
|
@@ -794,10 +819,10 @@ import { jsx as jsx134, jsxs as jsxs78 } from "react/jsx-runtime";
|
|
|
794
819
|
// src/tokens/svg/file/BookIcon.tsx
|
|
795
820
|
import { jsx as jsx135 } from "react/jsx-runtime";
|
|
796
821
|
|
|
797
|
-
// src/tokens/svg/file/
|
|
822
|
+
// src/tokens/svg/file/BookmarkIcon.tsx
|
|
798
823
|
import { jsx as jsx136 } from "react/jsx-runtime";
|
|
799
824
|
|
|
800
|
-
// src/tokens/svg/file/
|
|
825
|
+
// src/tokens/svg/file/BookOpenIcon.tsx
|
|
801
826
|
import { jsx as jsx137 } from "react/jsx-runtime";
|
|
802
827
|
|
|
803
828
|
// src/tokens/svg/file/ClipboardIcon.tsx
|
|
@@ -1238,10 +1263,10 @@ import { jsx as jsx282, jsxs as jsxs179 } from "react/jsx-runtime";
|
|
|
1238
1263
|
// src/tokens/svg/user/UserPlusIcon.tsx
|
|
1239
1264
|
import { jsx as jsx283, jsxs as jsxs180 } from "react/jsx-runtime";
|
|
1240
1265
|
|
|
1241
|
-
// src/tokens/svg/user/
|
|
1266
|
+
// src/tokens/svg/user/UsersIcon.tsx
|
|
1242
1267
|
import { jsx as jsx284, jsxs as jsxs181 } from "react/jsx-runtime";
|
|
1243
1268
|
|
|
1244
|
-
// src/tokens/svg/user/
|
|
1269
|
+
// src/tokens/svg/user/UserXIcon.tsx
|
|
1245
1270
|
import { jsx as jsx285, jsxs as jsxs182 } from "react/jsx-runtime";
|
|
1246
1271
|
|
|
1247
1272
|
// src/tokens/svg/weather/CloudDrizzleIcon.tsx
|
|
@@ -1280,37 +1305,12 @@ import { jsx as jsx296, jsxs as jsxs189 } from "react/jsx-runtime";
|
|
|
1280
1305
|
// src/tokens/svg/weather/WindIcon.tsx
|
|
1281
1306
|
import { jsx as jsx297, jsxs as jsxs190 } from "react/jsx-runtime";
|
|
1282
1307
|
|
|
1283
|
-
// src/tokens/hooks/useClickOutside.ts
|
|
1284
|
-
import React3 from "react";
|
|
1285
|
-
var useClickOutside = (refs, handler, enabled = true) => {
|
|
1286
|
-
React3.useEffect(() => {
|
|
1287
|
-
if (!enabled) return;
|
|
1288
|
-
const refArray = Array.isArray(refs) ? refs : [refs];
|
|
1289
|
-
const listener = (event) => {
|
|
1290
|
-
const target = event.target;
|
|
1291
|
-
const isInside = refArray.some(
|
|
1292
|
-
(ref) => ref.current && ref.current.contains(target)
|
|
1293
|
-
);
|
|
1294
|
-
if (!isInside) {
|
|
1295
|
-
handler();
|
|
1296
|
-
}
|
|
1297
|
-
};
|
|
1298
|
-
document.addEventListener("mousedown", listener);
|
|
1299
|
-
document.addEventListener("touchstart", listener);
|
|
1300
|
-
return () => {
|
|
1301
|
-
document.removeEventListener("mousedown", listener);
|
|
1302
|
-
document.removeEventListener("touchstart", listener);
|
|
1303
|
-
};
|
|
1304
|
-
}, [refs, handler, enabled]);
|
|
1305
|
-
};
|
|
1306
|
-
var useClickOutside_default = useClickOutside;
|
|
1307
|
-
|
|
1308
1308
|
// src/components/DatePicker/SingleDatePicker/index.tsx
|
|
1309
1309
|
import React5 from "react";
|
|
1310
1310
|
|
|
1311
1311
|
// src/components/Calendar/useCalendar.ts
|
|
1312
1312
|
import React4 from "react";
|
|
1313
|
-
|
|
1313
|
+
var useCalendar = (initialYear, initialMonth) => {
|
|
1314
1314
|
const today = /* @__PURE__ */ new Date();
|
|
1315
1315
|
const [year, setYear] = React4.useState(initialYear ?? today.getFullYear());
|
|
1316
1316
|
const [month, setMonth] = React4.useState(initialMonth ?? today.getMonth());
|
|
@@ -1389,16 +1389,16 @@ function useCalendar(initialYear, initialMonth) {
|
|
|
1389
1389
|
setYear,
|
|
1390
1390
|
setMonth
|
|
1391
1391
|
};
|
|
1392
|
-
}
|
|
1393
|
-
|
|
1392
|
+
};
|
|
1393
|
+
var isSameDay = (a, b) => {
|
|
1394
1394
|
return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
|
|
1395
|
-
}
|
|
1396
|
-
|
|
1395
|
+
};
|
|
1396
|
+
var isInRange = (date, start, end) => {
|
|
1397
1397
|
const d = date.getTime();
|
|
1398
1398
|
const s = new Date(start.getFullYear(), start.getMonth(), start.getDate()).getTime();
|
|
1399
1399
|
const e = new Date(end.getFullYear(), end.getMonth(), end.getDate()).getTime();
|
|
1400
1400
|
return d >= s && d <= e;
|
|
1401
|
-
}
|
|
1401
|
+
};
|
|
1402
1402
|
var WEEKDAY_LABELS = {
|
|
1403
1403
|
ko: ["\uC77C", "\uC6D4", "\uD654", "\uC218", "\uBAA9", "\uAE08", "\uD1A0"],
|
|
1404
1404
|
en: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
|
|
@@ -1445,7 +1445,6 @@ var SingleDatePicker = (props) => {
|
|
|
1445
1445
|
const {
|
|
1446
1446
|
value,
|
|
1447
1447
|
onChange,
|
|
1448
|
-
color = "xplat-blue-500",
|
|
1449
1448
|
minDate,
|
|
1450
1449
|
maxDate,
|
|
1451
1450
|
highlightDates = [],
|
|
@@ -1514,7 +1513,6 @@ var SingleDatePicker = (props) => {
|
|
|
1514
1513
|
"div",
|
|
1515
1514
|
{
|
|
1516
1515
|
className: clsx_default("lib-xplat-datepicker", "single"),
|
|
1517
|
-
style: { "--datepicker-active-color": `var(--${color})` },
|
|
1518
1516
|
children: [
|
|
1519
1517
|
/* @__PURE__ */ jsxs191("div", { className: "datepicker-header", children: [
|
|
1520
1518
|
/* @__PURE__ */ jsx298("button", { className: "datepicker-nav", onClick: handlePrev, type: "button", children: /* @__PURE__ */ jsx298(ChevronLeftIcon_default, {}) }),
|
|
@@ -1638,15 +1636,13 @@ var Button = (props) => {
|
|
|
1638
1636
|
children,
|
|
1639
1637
|
type = "primary",
|
|
1640
1638
|
size = "md",
|
|
1641
|
-
color = "xplat-black",
|
|
1642
1639
|
disabled,
|
|
1643
1640
|
...rest
|
|
1644
1641
|
} = props;
|
|
1645
|
-
const colorClass = color;
|
|
1646
1642
|
return /* @__PURE__ */ jsx300(
|
|
1647
1643
|
"button",
|
|
1648
1644
|
{
|
|
1649
|
-
className: clsx_default("lib-xplat-button", type, size
|
|
1645
|
+
className: clsx_default("lib-xplat-button", type, size),
|
|
1650
1646
|
disabled,
|
|
1651
1647
|
...rest,
|
|
1652
1648
|
children
|
|
@@ -1710,7 +1706,6 @@ var RangePicker = (props) => {
|
|
|
1710
1706
|
startDate,
|
|
1711
1707
|
endDate,
|
|
1712
1708
|
onChange,
|
|
1713
|
-
color = "xplat-blue-500",
|
|
1714
1709
|
minDate,
|
|
1715
1710
|
maxDate,
|
|
1716
1711
|
locale = "ko"
|
|
@@ -1818,9 +1813,6 @@ var RangePicker = (props) => {
|
|
|
1818
1813
|
"div",
|
|
1819
1814
|
{
|
|
1820
1815
|
className: clsx_default("lib-xplat-datepicker", "range"),
|
|
1821
|
-
style: {
|
|
1822
|
-
"--datepicker-active-color": `var(--${color})`
|
|
1823
|
-
},
|
|
1824
1816
|
children: [
|
|
1825
1817
|
/* @__PURE__ */ jsxs193("div", { className: "datepicker-range-tabs", children: [
|
|
1826
1818
|
/* @__PURE__ */ jsx302(
|
|
@@ -1897,12 +1889,11 @@ var PopupPicker = (props) => {
|
|
|
1897
1889
|
Button_default,
|
|
1898
1890
|
{
|
|
1899
1891
|
type: "secondary",
|
|
1900
|
-
color: "xplat-neutral-400",
|
|
1901
1892
|
onClick: handleClose,
|
|
1902
1893
|
children: locale === "ko" ? "\uCDE8\uC18C" : "Cancel"
|
|
1903
1894
|
}
|
|
1904
1895
|
),
|
|
1905
|
-
/* @__PURE__ */ jsx303(Button_default, { type: "primary",
|
|
1896
|
+
/* @__PURE__ */ jsx303(Button_default, { type: "primary", onClick: handleClose, children: locale === "ko" ? "\uC801\uC6A9" : "Apply" })
|
|
1906
1897
|
] })
|
|
1907
1898
|
] }) })
|
|
1908
1899
|
] });
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
.lib-xplat-divider.horizontal {
|
|
7
7
|
width: 100%;
|
|
8
8
|
height: 1px;
|
|
9
|
-
background-color: var(--
|
|
9
|
+
background-color: var(--semantic-border-default);
|
|
10
10
|
}
|
|
11
11
|
.lib-xplat-divider.vertical {
|
|
12
12
|
width: 1px;
|
|
13
13
|
align-self: stretch;
|
|
14
|
-
background-color: var(--
|
|
14
|
+
background-color: var(--semantic-border-default);
|
|
15
15
|
}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
position: fixed;
|
|
17
17
|
top: 0;
|
|
18
18
|
height: 100%;
|
|
19
|
-
background: var(--
|
|
19
|
+
background: var(--semantic-surface-neutral-default);
|
|
20
20
|
box-shadow: -4px 0 16px rgba(0, 0, 0, 0.08);
|
|
21
21
|
display: flex;
|
|
22
22
|
flex-direction: column;
|
|
@@ -42,13 +42,13 @@
|
|
|
42
42
|
display: flex;
|
|
43
43
|
align-items: center;
|
|
44
44
|
justify-content: space-between;
|
|
45
|
-
padding:
|
|
46
|
-
border-bottom: 1px solid var(--
|
|
45
|
+
padding: var(--spacing-space-4) var(--spacing-space-5);
|
|
46
|
+
border-bottom: 1px solid var(--semantic-border-default);
|
|
47
47
|
}
|
|
48
48
|
.lib-xplat-drawer .drawer-title {
|
|
49
49
|
font-size: 16px;
|
|
50
50
|
font-weight: 600;
|
|
51
|
-
color: var(--
|
|
51
|
+
color: var(--semantic-text-strong);
|
|
52
52
|
}
|
|
53
53
|
.lib-xplat-drawer .close-btn {
|
|
54
54
|
background: none;
|
|
@@ -56,15 +56,15 @@
|
|
|
56
56
|
cursor: pointer;
|
|
57
57
|
font-size: 22px;
|
|
58
58
|
line-height: 1;
|
|
59
|
-
color: var(--
|
|
59
|
+
color: var(--semantic-icon-strong);
|
|
60
60
|
padding: 0;
|
|
61
61
|
transition: color 0.2s;
|
|
62
62
|
}
|
|
63
63
|
.lib-xplat-drawer .close-btn:hover {
|
|
64
|
-
color: var(--
|
|
64
|
+
color: var(--semantic-text-strong);
|
|
65
65
|
}
|
|
66
66
|
.lib-xplat-drawer .drawer-body {
|
|
67
67
|
flex: 1;
|
|
68
|
-
padding:
|
|
68
|
+
padding: var(--spacing-space-5);
|
|
69
69
|
overflow-y: auto;
|
|
70
70
|
}
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
position: absolute;
|
|
11
11
|
z-index: 100;
|
|
12
12
|
min-width: 160px;
|
|
13
|
-
background: var(--
|
|
14
|
-
border: 1px solid var(--
|
|
15
|
-
border-radius:
|
|
13
|
+
background: var(--semantic-surface-neutral-default);
|
|
14
|
+
border: 1px solid var(--semantic-border-default);
|
|
15
|
+
border-radius: var(--spacing-radius-md);
|
|
16
16
|
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
|
|
17
|
-
padding:
|
|
17
|
+
padding: var(--spacing-space-1) 0;
|
|
18
18
|
opacity: 0;
|
|
19
19
|
transform: translateY(-4px);
|
|
20
20
|
transition: opacity 0.15s ease, transform 0.15s ease;
|
|
@@ -30,25 +30,25 @@
|
|
|
30
30
|
display: flex;
|
|
31
31
|
align-items: center;
|
|
32
32
|
width: 100%;
|
|
33
|
-
padding:
|
|
33
|
+
padding: var(--spacing-space-2) 14px;
|
|
34
34
|
border: none;
|
|
35
35
|
background: none;
|
|
36
36
|
font-size: 14px;
|
|
37
|
-
color: var(--
|
|
37
|
+
color: var(--semantic-text-strong);
|
|
38
38
|
cursor: pointer;
|
|
39
39
|
text-align: left;
|
|
40
40
|
transition: background-color 0.15s;
|
|
41
41
|
}
|
|
42
42
|
.lib-xplat-dropdown .dropdown-item:hover:not(:disabled) {
|
|
43
|
-
background-color: var(--
|
|
43
|
+
background-color: var(--semantic-surface-neutral-subtle);
|
|
44
44
|
}
|
|
45
45
|
.lib-xplat-dropdown .dropdown-item.danger {
|
|
46
|
-
color: var(--
|
|
46
|
+
color: var(--semantic-text-error);
|
|
47
47
|
}
|
|
48
48
|
.lib-xplat-dropdown .dropdown-item.danger:hover:not(:disabled) {
|
|
49
|
-
background-color: var(--
|
|
49
|
+
background-color: var(--semantic-surface-error-subtle);
|
|
50
50
|
}
|
|
51
51
|
.lib-xplat-dropdown .dropdown-item:disabled {
|
|
52
|
-
color: var(--
|
|
52
|
+
color: var(--semantic-text-disabled);
|
|
53
53
|
cursor: not-allowed;
|
|
54
54
|
}
|
|
@@ -4,29 +4,28 @@
|
|
|
4
4
|
flex-direction: column;
|
|
5
5
|
align-items: center;
|
|
6
6
|
justify-content: center;
|
|
7
|
-
padding:
|
|
7
|
+
padding: var(--spacing-space-11) var(--spacing-space-6);
|
|
8
8
|
text-align: center;
|
|
9
9
|
}
|
|
10
10
|
.lib-xplat-empty-state .empty-icon {
|
|
11
|
-
color: var(--
|
|
12
|
-
margin-bottom:
|
|
11
|
+
color: var(--semantic-icon-disabled);
|
|
12
|
+
margin-bottom: var(--spacing-space-4);
|
|
13
13
|
}
|
|
14
14
|
.lib-xplat-empty-state .empty-icon svg {
|
|
15
|
-
|
|
16
|
-
height: 48px;
|
|
15
|
+
font-size: 48px;
|
|
17
16
|
}
|
|
18
17
|
.lib-xplat-empty-state .empty-title {
|
|
19
18
|
font-size: 15px;
|
|
20
19
|
font-weight: 500;
|
|
21
|
-
color: var(--
|
|
20
|
+
color: var(--semantic-text-subtle);
|
|
22
21
|
margin: 0;
|
|
23
22
|
}
|
|
24
23
|
.lib-xplat-empty-state .empty-description {
|
|
25
24
|
font-size: 13px;
|
|
26
|
-
color: var(--
|
|
27
|
-
margin:
|
|
25
|
+
color: var(--semantic-text-muted);
|
|
26
|
+
margin: var(--spacing-space-2) 0 0;
|
|
28
27
|
max-width: 320px;
|
|
29
28
|
}
|
|
30
29
|
.lib-xplat-empty-state .empty-action {
|
|
31
|
-
margin-top:
|
|
30
|
+
margin-top: var(--spacing-space-5);
|
|
32
31
|
}
|
|
@@ -445,10 +445,10 @@ var import_jsx_runtime126 = require("react/jsx-runtime");
|
|
|
445
445
|
// src/tokens/svg/file/BookIcon.tsx
|
|
446
446
|
var import_jsx_runtime127 = require("react/jsx-runtime");
|
|
447
447
|
|
|
448
|
-
// src/tokens/svg/file/
|
|
448
|
+
// src/tokens/svg/file/BookmarkIcon.tsx
|
|
449
449
|
var import_jsx_runtime128 = require("react/jsx-runtime");
|
|
450
450
|
|
|
451
|
-
// src/tokens/svg/file/
|
|
451
|
+
// src/tokens/svg/file/BookOpenIcon.tsx
|
|
452
452
|
var import_jsx_runtime129 = require("react/jsx-runtime");
|
|
453
453
|
|
|
454
454
|
// src/tokens/svg/file/ClipboardIcon.tsx
|
|
@@ -904,10 +904,10 @@ var import_jsx_runtime279 = require("react/jsx-runtime");
|
|
|
904
904
|
// src/tokens/svg/user/UserPlusIcon.tsx
|
|
905
905
|
var import_jsx_runtime280 = require("react/jsx-runtime");
|
|
906
906
|
|
|
907
|
-
// src/tokens/svg/user/
|
|
907
|
+
// src/tokens/svg/user/UsersIcon.tsx
|
|
908
908
|
var import_jsx_runtime281 = require("react/jsx-runtime");
|
|
909
909
|
|
|
910
|
-
// src/tokens/svg/user/
|
|
910
|
+
// src/tokens/svg/user/UserXIcon.tsx
|
|
911
911
|
var import_jsx_runtime282 = require("react/jsx-runtime");
|
|
912
912
|
|
|
913
913
|
// src/tokens/svg/weather/CloudDrizzleIcon.tsx
|
|
@@ -4,39 +4,38 @@
|
|
|
4
4
|
flex-direction: column;
|
|
5
5
|
align-items: center;
|
|
6
6
|
justify-content: center;
|
|
7
|
-
padding:
|
|
8
|
-
border: 2px dashed var(--
|
|
9
|
-
border-radius:
|
|
7
|
+
padding: var(--spacing-space-8) var(--spacing-space-6);
|
|
8
|
+
border: 2px dashed var(--semantic-border-default);
|
|
9
|
+
border-radius: var(--spacing-radius-md);
|
|
10
10
|
cursor: pointer;
|
|
11
11
|
transition: border-color 0.2s, background-color 0.2s;
|
|
12
12
|
}
|
|
13
13
|
.lib-xplat-file-upload:hover {
|
|
14
|
-
border-color: var(--
|
|
15
|
-
background-color: var(--
|
|
14
|
+
border-color: var(--semantic-surface-brand-strong);
|
|
15
|
+
background-color: var(--semantic-surface-brand-subtle);
|
|
16
16
|
}
|
|
17
17
|
.lib-xplat-file-upload.drag-over {
|
|
18
|
-
border-color: var(--
|
|
19
|
-
background-color: var(--
|
|
18
|
+
border-color: var(--semantic-surface-brand-default);
|
|
19
|
+
background-color: var(--semantic-surface-brand-subtle);
|
|
20
20
|
}
|
|
21
21
|
.lib-xplat-file-upload input[type=file] {
|
|
22
22
|
display: none;
|
|
23
23
|
}
|
|
24
24
|
.lib-xplat-file-upload .upload-icon {
|
|
25
|
-
color: var(--
|
|
26
|
-
margin-bottom:
|
|
25
|
+
color: var(--semantic-icon-subtle);
|
|
26
|
+
margin-bottom: var(--spacing-space-3);
|
|
27
27
|
}
|
|
28
28
|
.lib-xplat-file-upload .upload-icon svg {
|
|
29
|
-
|
|
30
|
-
height: 32px;
|
|
29
|
+
font-size: 32px;
|
|
31
30
|
}
|
|
32
31
|
.lib-xplat-file-upload .upload-label {
|
|
33
32
|
font-size: 14px;
|
|
34
33
|
font-weight: 500;
|
|
35
|
-
color: var(--
|
|
34
|
+
color: var(--semantic-text-subtle);
|
|
36
35
|
margin: 0;
|
|
37
36
|
}
|
|
38
37
|
.lib-xplat-file-upload .upload-description {
|
|
39
38
|
font-size: 12px;
|
|
40
|
-
color: var(--
|
|
41
|
-
margin:
|
|
39
|
+
color: var(--semantic-text-muted);
|
|
40
|
+
margin: var(--spacing-space-1) 0 0;
|
|
42
41
|
}
|
|
@@ -409,10 +409,10 @@ import { jsx as jsx126, jsxs as jsxs72 } from "react/jsx-runtime";
|
|
|
409
409
|
// src/tokens/svg/file/BookIcon.tsx
|
|
410
410
|
import { jsx as jsx127 } from "react/jsx-runtime";
|
|
411
411
|
|
|
412
|
-
// src/tokens/svg/file/
|
|
412
|
+
// src/tokens/svg/file/BookmarkIcon.tsx
|
|
413
413
|
import { jsx as jsx128 } from "react/jsx-runtime";
|
|
414
414
|
|
|
415
|
-
// src/tokens/svg/file/
|
|
415
|
+
// src/tokens/svg/file/BookOpenIcon.tsx
|
|
416
416
|
import { jsx as jsx129 } from "react/jsx-runtime";
|
|
417
417
|
|
|
418
418
|
// src/tokens/svg/file/ClipboardIcon.tsx
|
|
@@ -868,10 +868,10 @@ import { jsx as jsx279, jsxs as jsxs177 } from "react/jsx-runtime";
|
|
|
868
868
|
// src/tokens/svg/user/UserPlusIcon.tsx
|
|
869
869
|
import { jsx as jsx280, jsxs as jsxs178 } from "react/jsx-runtime";
|
|
870
870
|
|
|
871
|
-
// src/tokens/svg/user/
|
|
871
|
+
// src/tokens/svg/user/UsersIcon.tsx
|
|
872
872
|
import { jsx as jsx281, jsxs as jsxs179 } from "react/jsx-runtime";
|
|
873
873
|
|
|
874
|
-
// src/tokens/svg/user/
|
|
874
|
+
// src/tokens/svg/user/UserXIcon.tsx
|
|
875
875
|
import { jsx as jsx282, jsxs as jsxs180 } from "react/jsx-runtime";
|
|
876
876
|
|
|
877
877
|
// src/tokens/svg/weather/CloudDrizzleIcon.tsx
|
|
@@ -55,16 +55,16 @@ var voidTags = /* @__PURE__ */ new Set([
|
|
|
55
55
|
"track",
|
|
56
56
|
"wbr"
|
|
57
57
|
]);
|
|
58
|
-
|
|
58
|
+
var decodeHtmlEntities = (str) => {
|
|
59
59
|
return str.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, '"').replace(/'/g, "'").replace(/'/g, "'").replace(/&#(\d+);/g, (_, code) => String.fromCharCode(Number(code))).replace(
|
|
60
60
|
/&#x([0-9a-fA-F]+);/g,
|
|
61
61
|
(_, code) => String.fromCharCode(parseInt(code, 16))
|
|
62
62
|
);
|
|
63
|
-
}
|
|
64
|
-
|
|
63
|
+
};
|
|
64
|
+
var buildRangeMap = (root) => {
|
|
65
65
|
const rangeMap = /* @__PURE__ */ new WeakMap();
|
|
66
66
|
let index = 0;
|
|
67
|
-
|
|
67
|
+
const assign = (node) => {
|
|
68
68
|
if (node.nodeType === Node.TEXT_NODE) {
|
|
69
69
|
const len = (node.textContent || "").length;
|
|
70
70
|
rangeMap.set(node, { start: index, end: index + len });
|
|
@@ -85,11 +85,11 @@ function buildRangeMap(root) {
|
|
|
85
85
|
return;
|
|
86
86
|
}
|
|
87
87
|
rangeMap.set(node, { start: index, end: index });
|
|
88
|
-
}
|
|
88
|
+
};
|
|
89
89
|
Array.from(root.childNodes).forEach(assign);
|
|
90
90
|
return { rangeMap, totalLength: index };
|
|
91
|
-
}
|
|
92
|
-
|
|
91
|
+
};
|
|
92
|
+
var convertNodeToReactWithRange = (node, typedLen, rangeMap) => {
|
|
93
93
|
const range = rangeMap.get(node);
|
|
94
94
|
if (!range) return null;
|
|
95
95
|
if (range.start >= typedLen) return null;
|
|
@@ -110,14 +110,14 @@ function convertNodeToReactWithRange(node, typedLen, rangeMap) {
|
|
|
110
110
|
}
|
|
111
111
|
const children = Array.from(element.childNodes).map((child) => convertNodeToReactWithRange(child, typedLen, rangeMap)).filter((n) => n != null);
|
|
112
112
|
return import_react.default.createElement(tag, props, ...children);
|
|
113
|
-
}
|
|
114
|
-
|
|
113
|
+
};
|
|
114
|
+
var htmlToReactProgressive = (root, typedLen, rangeMap) => {
|
|
115
115
|
const nodes = Array.from(root.childNodes).map((child, idx) => {
|
|
116
116
|
const node = convertNodeToReactWithRange(child, typedLen, rangeMap);
|
|
117
117
|
return node == null ? null : import_react.default.createElement(import_react.default.Fragment, { key: idx }, node);
|
|
118
118
|
}).filter(Boolean);
|
|
119
119
|
return nodes.length === 0 ? null : nodes;
|
|
120
|
-
}
|
|
120
|
+
};
|
|
121
121
|
|
|
122
122
|
// src/components/HtmlTypeWriter/HtmlTypeWriter.tsx
|
|
123
123
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
font-size: 20px;
|
|
18
18
|
}
|
|
19
19
|
.lib-xplat-htmlTypewriter hr {
|
|
20
|
-
color: var(--
|
|
21
|
-
margin-top:
|
|
22
|
-
margin-bottom:
|
|
20
|
+
color: var(--semantic-border-default);
|
|
21
|
+
margin-top: var(--spacing-space-4);
|
|
22
|
+
margin-bottom: var(--spacing-space-4);
|
|
23
23
|
}
|
|
@@ -19,16 +19,16 @@ var voidTags = /* @__PURE__ */ new Set([
|
|
|
19
19
|
"track",
|
|
20
20
|
"wbr"
|
|
21
21
|
]);
|
|
22
|
-
|
|
22
|
+
var decodeHtmlEntities = (str) => {
|
|
23
23
|
return str.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, '"').replace(/'/g, "'").replace(/'/g, "'").replace(/&#(\d+);/g, (_, code) => String.fromCharCode(Number(code))).replace(
|
|
24
24
|
/&#x([0-9a-fA-F]+);/g,
|
|
25
25
|
(_, code) => String.fromCharCode(parseInt(code, 16))
|
|
26
26
|
);
|
|
27
|
-
}
|
|
28
|
-
|
|
27
|
+
};
|
|
28
|
+
var buildRangeMap = (root) => {
|
|
29
29
|
const rangeMap = /* @__PURE__ */ new WeakMap();
|
|
30
30
|
let index = 0;
|
|
31
|
-
|
|
31
|
+
const assign = (node) => {
|
|
32
32
|
if (node.nodeType === Node.TEXT_NODE) {
|
|
33
33
|
const len = (node.textContent || "").length;
|
|
34
34
|
rangeMap.set(node, { start: index, end: index + len });
|
|
@@ -49,11 +49,11 @@ function buildRangeMap(root) {
|
|
|
49
49
|
return;
|
|
50
50
|
}
|
|
51
51
|
rangeMap.set(node, { start: index, end: index });
|
|
52
|
-
}
|
|
52
|
+
};
|
|
53
53
|
Array.from(root.childNodes).forEach(assign);
|
|
54
54
|
return { rangeMap, totalLength: index };
|
|
55
|
-
}
|
|
56
|
-
|
|
55
|
+
};
|
|
56
|
+
var convertNodeToReactWithRange = (node, typedLen, rangeMap) => {
|
|
57
57
|
const range = rangeMap.get(node);
|
|
58
58
|
if (!range) return null;
|
|
59
59
|
if (range.start >= typedLen) return null;
|
|
@@ -74,14 +74,14 @@ function convertNodeToReactWithRange(node, typedLen, rangeMap) {
|
|
|
74
74
|
}
|
|
75
75
|
const children = Array.from(element.childNodes).map((child) => convertNodeToReactWithRange(child, typedLen, rangeMap)).filter((n) => n != null);
|
|
76
76
|
return React.createElement(tag, props, ...children);
|
|
77
|
-
}
|
|
78
|
-
|
|
77
|
+
};
|
|
78
|
+
var htmlToReactProgressive = (root, typedLen, rangeMap) => {
|
|
79
79
|
const nodes = Array.from(root.childNodes).map((child, idx) => {
|
|
80
80
|
const node = convertNodeToReactWithRange(child, typedLen, rangeMap);
|
|
81
81
|
return node == null ? null : React.createElement(React.Fragment, { key: idx }, node);
|
|
82
82
|
}).filter(Boolean);
|
|
83
83
|
return nodes.length === 0 ? null : nodes;
|
|
84
|
-
}
|
|
84
|
+
};
|
|
85
85
|
|
|
86
86
|
// src/components/HtmlTypeWriter/HtmlTypeWriter.tsx
|
|
87
87
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -481,10 +481,10 @@ var import_jsx_runtime126 = require("react/jsx-runtime");
|
|
|
481
481
|
// src/tokens/svg/file/BookIcon.tsx
|
|
482
482
|
var import_jsx_runtime127 = require("react/jsx-runtime");
|
|
483
483
|
|
|
484
|
-
// src/tokens/svg/file/
|
|
484
|
+
// src/tokens/svg/file/BookmarkIcon.tsx
|
|
485
485
|
var import_jsx_runtime128 = require("react/jsx-runtime");
|
|
486
486
|
|
|
487
|
-
// src/tokens/svg/file/
|
|
487
|
+
// src/tokens/svg/file/BookOpenIcon.tsx
|
|
488
488
|
var import_jsx_runtime129 = require("react/jsx-runtime");
|
|
489
489
|
|
|
490
490
|
// src/tokens/svg/file/ClipboardIcon.tsx
|
|
@@ -971,10 +971,10 @@ var import_jsx_runtime279 = require("react/jsx-runtime");
|
|
|
971
971
|
// src/tokens/svg/user/UserPlusIcon.tsx
|
|
972
972
|
var import_jsx_runtime280 = require("react/jsx-runtime");
|
|
973
973
|
|
|
974
|
-
// src/tokens/svg/user/
|
|
974
|
+
// src/tokens/svg/user/UsersIcon.tsx
|
|
975
975
|
var import_jsx_runtime281 = require("react/jsx-runtime");
|
|
976
976
|
|
|
977
|
-
// src/tokens/svg/user/
|
|
977
|
+
// src/tokens/svg/user/UserXIcon.tsx
|
|
978
978
|
var import_jsx_runtime282 = require("react/jsx-runtime");
|
|
979
979
|
|
|
980
980
|
// src/tokens/svg/weather/CloudDrizzleIcon.tsx
|
|
@@ -6,19 +6,19 @@
|
|
|
6
6
|
height: 100%;
|
|
7
7
|
flex-direction: column;
|
|
8
8
|
position: relative;
|
|
9
|
-
background-color: var(--
|
|
10
|
-
border-radius:
|
|
9
|
+
background-color: var(--semantic-surface-neutral-default);
|
|
10
|
+
border-radius: var(--spacing-radius-sm);
|
|
11
11
|
overflow: hidden;
|
|
12
|
-
padding:
|
|
12
|
+
padding: var(--spacing-space-3);
|
|
13
13
|
}
|
|
14
14
|
.lib-xplat-imageselector > input {
|
|
15
15
|
display: none;
|
|
16
16
|
}
|
|
17
17
|
.lib-xplat-imageselector.none-value {
|
|
18
|
-
border: 1px dashed var(--
|
|
18
|
+
border: 1px dashed var(--semantic-border-strong);
|
|
19
19
|
}
|
|
20
20
|
.lib-xplat-imageselector:hover {
|
|
21
|
-
background-color: var(--
|
|
21
|
+
background-color: var(--semantic-surface-neutral-disabled);
|
|
22
22
|
}
|
|
23
23
|
.lib-xplat-imageselector:hover > .action-bar {
|
|
24
24
|
opacity: 1;
|
|
@@ -47,18 +47,18 @@
|
|
|
47
47
|
cursor: pointer;
|
|
48
48
|
}
|
|
49
49
|
.lib-xplat-imageselector > .content .skeleton > .icon-wrapper {
|
|
50
|
-
color: var(--
|
|
50
|
+
color: var(--semantic-icon-subtle);
|
|
51
51
|
}
|
|
52
52
|
.lib-xplat-imageselector > .content .skeleton > .label {
|
|
53
|
-
margin-top:
|
|
54
|
-
font-size:
|
|
55
|
-
color: var(--
|
|
53
|
+
margin-top: var(--spacing-space-1);
|
|
54
|
+
font-size: 14px;
|
|
55
|
+
color: var(--semantic-text-muted);
|
|
56
56
|
}
|
|
57
57
|
.lib-xplat-imageselector > .content .skeleton:hover > .icon-wrapper {
|
|
58
|
-
color: var(--
|
|
58
|
+
color: var(--semantic-icon-strong);
|
|
59
59
|
}
|
|
60
60
|
.lib-xplat-imageselector > .content .skeleton:hover > .label {
|
|
61
|
-
color: var(--
|
|
61
|
+
color: var(--semantic-text-subtle);
|
|
62
62
|
}
|
|
63
63
|
.lib-xplat-imageselector > .action-bar {
|
|
64
64
|
position: absolute;
|
|
@@ -68,15 +68,15 @@
|
|
|
68
68
|
display: flex;
|
|
69
69
|
gap: 0.5em;
|
|
70
70
|
font-size: 24px;
|
|
71
|
-
background-color: var(--
|
|
72
|
-
padding:
|
|
71
|
+
background-color: var(--semantic-surface-neutral-strong);
|
|
72
|
+
padding: var(--spacing-space-1) var(--spacing-space-3);
|
|
73
73
|
align-items: center;
|
|
74
74
|
opacity: 0;
|
|
75
75
|
pointer-events: none;
|
|
76
|
-
border-radius:
|
|
76
|
+
border-radius: var(--spacing-radius-sm);
|
|
77
77
|
}
|
|
78
78
|
.lib-xplat-imageselector > .action-bar > .icon-wrapper {
|
|
79
|
-
color: var(--
|
|
79
|
+
color: var(--semantic-text-inverse);
|
|
80
80
|
}
|
|
81
81
|
.lib-xplat-imageselector .icon-wrapper {
|
|
82
82
|
display: flex;
|