@x-plat/design-system 0.5.24 → 0.5.27
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/ChatInput/index.cjs +59 -39
- package/dist/components/ChatInput/index.css +81 -45
- package/dist/components/ChatInput/index.d.cts +1 -1
- package/dist/components/ChatInput/index.d.ts +1 -1
- package/dist/components/ChatInput/index.js +59 -39
- package/dist/components/IconButton/index.cjs +68 -0
- package/dist/components/IconButton/index.css +77 -0
- package/dist/components/IconButton/index.d.cts +18 -0
- package/dist/components/IconButton/index.d.ts +18 -0
- package/dist/components/IconButton/index.js +41 -0
- package/dist/components/index.cjs +329 -305
- package/dist/components/index.css +81 -45
- package/dist/components/index.d.cts +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +272 -249
- package/dist/index.cjs +339 -312
- package/dist/index.css +81 -45
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +280 -254
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -199,6 +199,7 @@ __export(index_exports, {
|
|
|
199
199
|
HexagonIcon: () => HexagonIcon_default,
|
|
200
200
|
HomeIcon: () => HomeIcon_default,
|
|
201
201
|
HtmlTypewriter: () => HtmlTypeWriter_default,
|
|
202
|
+
IconButton: () => IconButton_default,
|
|
202
203
|
ImageIcon: () => ImageIcon_default,
|
|
203
204
|
ImageSelector: () => ImageSelector_default,
|
|
204
205
|
InboxIcon: () => InboxIcon_default,
|
|
@@ -6435,7 +6436,32 @@ var Calendar_default = Calendar;
|
|
|
6435
6436
|
|
|
6436
6437
|
// src/components/ChatInput/ChatInput.tsx
|
|
6437
6438
|
var import_react4 = __toESM(require("react"), 1);
|
|
6439
|
+
|
|
6440
|
+
// src/components/IconButton/IconButton.tsx
|
|
6438
6441
|
var import_jsx_runtime302 = require("react/jsx-runtime");
|
|
6442
|
+
var IconButton = (props) => {
|
|
6443
|
+
const {
|
|
6444
|
+
icon,
|
|
6445
|
+
type = "primary",
|
|
6446
|
+
size = "md",
|
|
6447
|
+
disabled,
|
|
6448
|
+
...rest
|
|
6449
|
+
} = props;
|
|
6450
|
+
return /* @__PURE__ */ (0, import_jsx_runtime302.jsx)(
|
|
6451
|
+
"button",
|
|
6452
|
+
{
|
|
6453
|
+
className: clsx_default("lib-xplat-icon-button", type, size),
|
|
6454
|
+
disabled,
|
|
6455
|
+
...rest,
|
|
6456
|
+
children: icon
|
|
6457
|
+
}
|
|
6458
|
+
);
|
|
6459
|
+
};
|
|
6460
|
+
IconButton.displayName = "IconButton";
|
|
6461
|
+
var IconButton_default = IconButton;
|
|
6462
|
+
|
|
6463
|
+
// src/components/ChatInput/ChatInput.tsx
|
|
6464
|
+
var import_jsx_runtime303 = require("react/jsx-runtime");
|
|
6439
6465
|
var MAX_HEIGHT = 200;
|
|
6440
6466
|
var ChatInput = import_react4.default.forwardRef(
|
|
6441
6467
|
(props, ref) => {
|
|
@@ -6486,8 +6512,8 @@ var ChatInput = import_react4.default.forwardRef(
|
|
|
6486
6512
|
import_react4.default.useEffect(() => {
|
|
6487
6513
|
updateHeight();
|
|
6488
6514
|
}, [value, updateHeight]);
|
|
6489
|
-
return /* @__PURE__ */ (0,
|
|
6490
|
-
/* @__PURE__ */ (0,
|
|
6515
|
+
return /* @__PURE__ */ (0, import_jsx_runtime303.jsxs)("div", { className: clsx_default("lib-xplat-chat-input", disabled && "disabled"), children: [
|
|
6516
|
+
/* @__PURE__ */ (0, import_jsx_runtime303.jsx)(
|
|
6491
6517
|
"textarea",
|
|
6492
6518
|
{
|
|
6493
6519
|
ref: setRefs,
|
|
@@ -6500,15 +6526,15 @@ var ChatInput = import_react4.default.forwardRef(
|
|
|
6500
6526
|
onKeyDown: handleKeyDown
|
|
6501
6527
|
}
|
|
6502
6528
|
),
|
|
6503
|
-
/* @__PURE__ */ (0,
|
|
6504
|
-
|
|
6529
|
+
/* @__PURE__ */ (0, import_jsx_runtime303.jsx)(
|
|
6530
|
+
IconButton_default,
|
|
6505
6531
|
{
|
|
6506
|
-
|
|
6507
|
-
|
|
6532
|
+
icon: /* @__PURE__ */ (0, import_jsx_runtime303.jsx)(MessageSquareIcon_default, {}),
|
|
6533
|
+
type: buttonType,
|
|
6534
|
+
size: "sm",
|
|
6508
6535
|
disabled: !hasText || disabled,
|
|
6509
6536
|
onClick: handleSubmit,
|
|
6510
|
-
"aria-label": "\uC804\uC1A1"
|
|
6511
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime302.jsx)(SendIcon_default, {})
|
|
6537
|
+
"aria-label": "\uC804\uC1A1"
|
|
6512
6538
|
}
|
|
6513
6539
|
)
|
|
6514
6540
|
] });
|
|
@@ -6518,16 +6544,16 @@ ChatInput.displayName = "ChatInput";
|
|
|
6518
6544
|
var ChatInput_default = ChatInput;
|
|
6519
6545
|
|
|
6520
6546
|
// src/components/Box/Box.tsx
|
|
6521
|
-
var
|
|
6547
|
+
var import_jsx_runtime304 = require("react/jsx-runtime");
|
|
6522
6548
|
var Box = ({
|
|
6523
6549
|
children,
|
|
6524
6550
|
title,
|
|
6525
6551
|
variant = "outlined",
|
|
6526
6552
|
padding = "md"
|
|
6527
6553
|
}) => {
|
|
6528
|
-
return /* @__PURE__ */ (0,
|
|
6529
|
-
title && /* @__PURE__ */ (0,
|
|
6530
|
-
/* @__PURE__ */ (0,
|
|
6554
|
+
return /* @__PURE__ */ (0, import_jsx_runtime304.jsxs)("div", { className: clsx_default("lib-xplat-box", variant, `pad-${padding}`), children: [
|
|
6555
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime304.jsx)("div", { className: "box-title", children: title }),
|
|
6556
|
+
/* @__PURE__ */ (0, import_jsx_runtime304.jsx)("div", { className: "box-content", children })
|
|
6531
6557
|
] });
|
|
6532
6558
|
};
|
|
6533
6559
|
Box.displayName = "Box";
|
|
@@ -6537,10 +6563,10 @@ var Box_default = Box;
|
|
|
6537
6563
|
var import_react5 = __toESM(require("react"), 1);
|
|
6538
6564
|
|
|
6539
6565
|
// src/components/CardTab/CardTabPanel.tsx
|
|
6540
|
-
var
|
|
6566
|
+
var import_jsx_runtime305 = require("react/jsx-runtime");
|
|
6541
6567
|
var CardTabPanel = (props) => {
|
|
6542
6568
|
const { children, columns = 3 } = props;
|
|
6543
|
-
return /* @__PURE__ */ (0,
|
|
6569
|
+
return /* @__PURE__ */ (0, import_jsx_runtime305.jsx)(
|
|
6544
6570
|
"div",
|
|
6545
6571
|
{
|
|
6546
6572
|
className: "card-tab-panel",
|
|
@@ -6553,7 +6579,7 @@ CardTabPanel.displayName = "CardTab.Panel";
|
|
|
6553
6579
|
var CardTabPanel_default = CardTabPanel;
|
|
6554
6580
|
|
|
6555
6581
|
// src/components/CardTab/CardTab.tsx
|
|
6556
|
-
var
|
|
6582
|
+
var import_jsx_runtime306 = require("react/jsx-runtime");
|
|
6557
6583
|
var CardTabRoot = (props) => {
|
|
6558
6584
|
const {
|
|
6559
6585
|
tabs,
|
|
@@ -6577,10 +6603,10 @@ var CardTabRoot = (props) => {
|
|
|
6577
6603
|
const activePanel = panels.find(
|
|
6578
6604
|
(panel) => panel.props.value === activeValue
|
|
6579
6605
|
);
|
|
6580
|
-
return /* @__PURE__ */ (0,
|
|
6581
|
-
/* @__PURE__ */ (0,
|
|
6606
|
+
return /* @__PURE__ */ (0, import_jsx_runtime306.jsxs)("div", { className: clsx_default("lib-xplat-card-tab", size), children: [
|
|
6607
|
+
/* @__PURE__ */ (0, import_jsx_runtime306.jsx)("div", { className: "card-tab-bar", children: tabs.map((tab) => {
|
|
6582
6608
|
const isActive = tab.value === activeValue;
|
|
6583
|
-
return /* @__PURE__ */ (0,
|
|
6609
|
+
return /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(
|
|
6584
6610
|
"button",
|
|
6585
6611
|
{
|
|
6586
6612
|
className: clsx_default("card-tab-trigger", isActive && "active"),
|
|
@@ -6592,7 +6618,7 @@ var CardTabRoot = (props) => {
|
|
|
6592
6618
|
tab.value
|
|
6593
6619
|
);
|
|
6594
6620
|
}) }),
|
|
6595
|
-
/* @__PURE__ */ (0,
|
|
6621
|
+
/* @__PURE__ */ (0, import_jsx_runtime306.jsx)("div", { className: "card-tab-body", children: activePanel })
|
|
6596
6622
|
] });
|
|
6597
6623
|
};
|
|
6598
6624
|
CardTabRoot.displayName = "CardTab";
|
|
@@ -6603,7 +6629,7 @@ var CardTab_default = CardTab;
|
|
|
6603
6629
|
|
|
6604
6630
|
// src/components/Chart/Chart.tsx
|
|
6605
6631
|
var import_react6 = __toESM(require("react"), 1);
|
|
6606
|
-
var
|
|
6632
|
+
var import_jsx_runtime307 = require("react/jsx-runtime");
|
|
6607
6633
|
var CATEGORICAL_COUNT2 = 8;
|
|
6608
6634
|
var LINE_BAR_PALETTES = Array.from({ length: CATEGORICAL_COUNT2 }, (_, i) => {
|
|
6609
6635
|
const n = i + 1;
|
|
@@ -6765,12 +6791,12 @@ var useChartTooltip = (enabled) => {
|
|
|
6765
6791
|
}, []);
|
|
6766
6792
|
return { tooltip, show, hide, move, containerRef };
|
|
6767
6793
|
};
|
|
6768
|
-
var GridLines = import_react6.default.memo(({ width, height, chartH, maxVal }) => /* @__PURE__ */ (0,
|
|
6794
|
+
var GridLines = import_react6.default.memo(({ width, height, chartH, maxVal }) => /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(import_jsx_runtime307.Fragment, { children: [0, 0.25, 0.5, 0.75, 1].map((ratio) => {
|
|
6769
6795
|
const y = PADDING.top + (1 - ratio) * chartH;
|
|
6770
6796
|
const val = Math.round(maxVal * ratio);
|
|
6771
|
-
return /* @__PURE__ */ (0,
|
|
6772
|
-
/* @__PURE__ */ (0,
|
|
6773
|
-
/* @__PURE__ */ (0,
|
|
6797
|
+
return /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)("g", { children: [
|
|
6798
|
+
/* @__PURE__ */ (0, import_jsx_runtime307.jsx)("line", { x1: PADDING.left, y1: y, x2: width - PADDING.right, y2: y, className: "chart-grid" }),
|
|
6799
|
+
/* @__PURE__ */ (0, import_jsx_runtime307.jsx)("text", { x: PADDING.left - 8, y: y + 4, className: "chart-axis-label", textAnchor: "end", children: val })
|
|
6774
6800
|
] }, ratio);
|
|
6775
6801
|
}) }));
|
|
6776
6802
|
GridLines.displayName = "GridLines";
|
|
@@ -6782,10 +6808,10 @@ var getLabelStep = (count, chartW) => {
|
|
|
6782
6808
|
};
|
|
6783
6809
|
var AxisLabels = import_react6.default.memo(({ labels, count, chartW, height }) => {
|
|
6784
6810
|
const step = getLabelStep(count, chartW);
|
|
6785
|
-
return /* @__PURE__ */ (0,
|
|
6811
|
+
return /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(import_jsx_runtime307.Fragment, { children: labels.map((label, i) => {
|
|
6786
6812
|
if (i % step !== 0) return null;
|
|
6787
6813
|
const x = PADDING.left + i / (count - 1 || 1) * chartW;
|
|
6788
|
-
return /* @__PURE__ */ (0,
|
|
6814
|
+
return /* @__PURE__ */ (0, import_jsx_runtime307.jsx)("text", { x, y: height - 8, className: "chart-axis-label", textAnchor: "middle", children: label }, i);
|
|
6789
6815
|
}) });
|
|
6790
6816
|
});
|
|
6791
6817
|
AxisLabels.displayName = "AxisLabels";
|
|
@@ -6823,9 +6849,9 @@ var LineChart = import_react6.default.memo(({ data, labels, width, height, anima
|
|
|
6823
6849
|
});
|
|
6824
6850
|
});
|
|
6825
6851
|
}, [animate, seriesPoints]);
|
|
6826
|
-
return /* @__PURE__ */ (0,
|
|
6827
|
-
/* @__PURE__ */ (0,
|
|
6828
|
-
/* @__PURE__ */ (0,
|
|
6852
|
+
return /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)("svg", { viewBox: `0 0 ${width} ${height}`, className: "chart-svg", children: [
|
|
6853
|
+
/* @__PURE__ */ (0, import_jsx_runtime307.jsx)(GridLines, { width, height, chartH, maxVal }),
|
|
6854
|
+
/* @__PURE__ */ (0, import_jsx_runtime307.jsx)(AxisLabels, { labels, count, chartW, height }),
|
|
6829
6855
|
entries.map(([key], di) => {
|
|
6830
6856
|
const palette = getPalette(LINE_BAR_PALETTES, di, key);
|
|
6831
6857
|
const color = palette[2];
|
|
@@ -6834,12 +6860,12 @@ var LineChart = import_react6.default.memo(({ data, labels, width, height, anima
|
|
|
6834
6860
|
const gradientId = `line-gradient-${di}`;
|
|
6835
6861
|
const polyPoints = points.map((p) => `${p.x},${p.y}`).join(" ");
|
|
6836
6862
|
const areaD = `M ${points[0].x},${points[0].y} ${points.map((p) => `L ${p.x},${p.y}`).join(" ")} L ${points[points.length - 1].x},${PADDING.top + chartH} L ${points[0].x},${PADDING.top + chartH} Z`;
|
|
6837
|
-
return /* @__PURE__ */ (0,
|
|
6838
|
-
/* @__PURE__ */ (0,
|
|
6839
|
-
/* @__PURE__ */ (0,
|
|
6840
|
-
/* @__PURE__ */ (0,
|
|
6863
|
+
return /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)("g", { children: [
|
|
6864
|
+
/* @__PURE__ */ (0, import_jsx_runtime307.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)("linearGradient", { id: gradientId, x1: "0", y1: "0", x2: "0", y2: "1", children: [
|
|
6865
|
+
/* @__PURE__ */ (0, import_jsx_runtime307.jsx)("stop", { offset: "0%", stopColor: areaColor, stopOpacity: "0.2" }),
|
|
6866
|
+
/* @__PURE__ */ (0, import_jsx_runtime307.jsx)("stop", { offset: "100%", stopColor: areaColor, stopOpacity: "0" })
|
|
6841
6867
|
] }) }),
|
|
6842
|
-
/* @__PURE__ */ (0,
|
|
6868
|
+
/* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
|
|
6843
6869
|
"path",
|
|
6844
6870
|
{
|
|
6845
6871
|
d: areaD,
|
|
@@ -6848,7 +6874,7 @@ var LineChart = import_react6.default.memo(({ data, labels, width, height, anima
|
|
|
6848
6874
|
style: animate ? { animationDelay: "600ms" } : { opacity: 1 }
|
|
6849
6875
|
}
|
|
6850
6876
|
),
|
|
6851
|
-
/* @__PURE__ */ (0,
|
|
6877
|
+
/* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
|
|
6852
6878
|
"polyline",
|
|
6853
6879
|
{
|
|
6854
6880
|
ref: (el) => {
|
|
@@ -6860,7 +6886,7 @@ var LineChart = import_react6.default.memo(({ data, labels, width, height, anima
|
|
|
6860
6886
|
strokeWidth: "2"
|
|
6861
6887
|
}
|
|
6862
6888
|
),
|
|
6863
|
-
showPoints && points.map((p, i) => /* @__PURE__ */ (0,
|
|
6889
|
+
showPoints && points.map((p, i) => /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
|
|
6864
6890
|
"circle",
|
|
6865
6891
|
{
|
|
6866
6892
|
cx: p.x,
|
|
@@ -6913,9 +6939,9 @@ var CurveChart = import_react6.default.memo(({ data, labels, width, height, anim
|
|
|
6913
6939
|
});
|
|
6914
6940
|
});
|
|
6915
6941
|
}, [animate, seriesPoints]);
|
|
6916
|
-
return /* @__PURE__ */ (0,
|
|
6917
|
-
/* @__PURE__ */ (0,
|
|
6918
|
-
/* @__PURE__ */ (0,
|
|
6942
|
+
return /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)("svg", { viewBox: `0 0 ${width} ${height}`, className: "chart-svg", children: [
|
|
6943
|
+
/* @__PURE__ */ (0, import_jsx_runtime307.jsx)(GridLines, { width, height, chartH, maxVal }),
|
|
6944
|
+
/* @__PURE__ */ (0, import_jsx_runtime307.jsx)(AxisLabels, { labels, count, chartW, height }),
|
|
6919
6945
|
entries.map(([key], di) => {
|
|
6920
6946
|
const palette = getPalette(LINE_BAR_PALETTES, di, key);
|
|
6921
6947
|
const color = palette[2];
|
|
@@ -6924,12 +6950,12 @@ var CurveChart = import_react6.default.memo(({ data, labels, width, height, anim
|
|
|
6924
6950
|
const gradientId = `curve-gradient-${di}`;
|
|
6925
6951
|
const linePath = toSmoothPath(points);
|
|
6926
6952
|
const areaPath = linePath + ` L ${points[points.length - 1].x} ${PADDING.top + chartH} L ${points[0].x} ${PADDING.top + chartH} Z`;
|
|
6927
|
-
return /* @__PURE__ */ (0,
|
|
6928
|
-
/* @__PURE__ */ (0,
|
|
6929
|
-
/* @__PURE__ */ (0,
|
|
6930
|
-
/* @__PURE__ */ (0,
|
|
6953
|
+
return /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)("g", { children: [
|
|
6954
|
+
/* @__PURE__ */ (0, import_jsx_runtime307.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)("linearGradient", { id: gradientId, x1: "0", y1: "0", x2: "0", y2: "1", children: [
|
|
6955
|
+
/* @__PURE__ */ (0, import_jsx_runtime307.jsx)("stop", { offset: "0%", stopColor: areaColor, stopOpacity: "0.4" }),
|
|
6956
|
+
/* @__PURE__ */ (0, import_jsx_runtime307.jsx)("stop", { offset: "100%", stopColor: areaColor, stopOpacity: "0.02" })
|
|
6931
6957
|
] }) }),
|
|
6932
|
-
/* @__PURE__ */ (0,
|
|
6958
|
+
/* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
|
|
6933
6959
|
"path",
|
|
6934
6960
|
{
|
|
6935
6961
|
d: areaPath,
|
|
@@ -6938,7 +6964,7 @@ var CurveChart = import_react6.default.memo(({ data, labels, width, height, anim
|
|
|
6938
6964
|
style: animate ? { animationDelay: "600ms" } : { opacity: 1 }
|
|
6939
6965
|
}
|
|
6940
6966
|
),
|
|
6941
|
-
/* @__PURE__ */ (0,
|
|
6967
|
+
/* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
|
|
6942
6968
|
"path",
|
|
6943
6969
|
{
|
|
6944
6970
|
ref: (el) => {
|
|
@@ -6950,7 +6976,7 @@ var CurveChart = import_react6.default.memo(({ data, labels, width, height, anim
|
|
|
6950
6976
|
strokeWidth: "2"
|
|
6951
6977
|
}
|
|
6952
6978
|
),
|
|
6953
|
-
showPoints && points.map((p, i) => /* @__PURE__ */ (0,
|
|
6979
|
+
showPoints && points.map((p, i) => /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
|
|
6954
6980
|
"circle",
|
|
6955
6981
|
{
|
|
6956
6982
|
cx: p.x,
|
|
@@ -6996,11 +7022,11 @@ var BarChart = import_react6.default.memo(({ data, labels, width, height, animat
|
|
|
6996
7022
|
[entries, maxVal, chartH, groupW, barW, barGap, groupCount]
|
|
6997
7023
|
);
|
|
6998
7024
|
const barLabelStep = getLabelStep(count, chartW);
|
|
6999
|
-
return /* @__PURE__ */ (0,
|
|
7000
|
-
/* @__PURE__ */ (0,
|
|
7025
|
+
return /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)("svg", { viewBox: `0 0 ${width} ${height}`, className: "chart-svg", children: [
|
|
7026
|
+
/* @__PURE__ */ (0, import_jsx_runtime307.jsx)(GridLines, { width, height, chartH, maxVal }),
|
|
7001
7027
|
labels.map((label, i) => {
|
|
7002
7028
|
if (i % barLabelStep !== 0) return null;
|
|
7003
|
-
return /* @__PURE__ */ (0,
|
|
7029
|
+
return /* @__PURE__ */ (0, import_jsx_runtime307.jsx)("text", { x: PADDING.left + groupW * i + groupW / 2, y: height - 8, className: "chart-axis-label", textAnchor: "middle", children: label }, i);
|
|
7004
7030
|
}),
|
|
7005
7031
|
entries.map(([key], di) => {
|
|
7006
7032
|
const palette = getPalette(LINE_BAR_PALETTES, di, key);
|
|
@@ -7009,7 +7035,7 @@ var BarChart = import_react6.default.memo(({ data, labels, width, height, animat
|
|
|
7009
7035
|
const r2 = Math.min(4, b.w / 2);
|
|
7010
7036
|
const d = b.h <= r2 ? `M ${b.x} ${b.y + b.h} V ${b.y} H ${b.x + b.w} V ${b.y + b.h} Z` : `M ${b.x} ${b.y + b.h} V ${b.y + r2} Q ${b.x} ${b.y} ${b.x + r2} ${b.y} H ${b.x + b.w - r2} Q ${b.x + b.w} ${b.y} ${b.x + b.w} ${b.y + r2} V ${b.y + b.h} Z`;
|
|
7011
7037
|
const delay = 100 + i * 80;
|
|
7012
|
-
return /* @__PURE__ */ (0,
|
|
7038
|
+
return /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
|
|
7013
7039
|
"path",
|
|
7014
7040
|
{
|
|
7015
7041
|
d,
|
|
@@ -7089,8 +7115,8 @@ var PieDonutChart = import_react6.default.memo(
|
|
|
7089
7115
|
});
|
|
7090
7116
|
}, [values, total, cx, cy, r2, innerR, labels]);
|
|
7091
7117
|
const maskId = `pie-mask-${isDoughnut ? "d" : "p"}`;
|
|
7092
|
-
return /* @__PURE__ */ (0,
|
|
7093
|
-
animate && /* @__PURE__ */ (0,
|
|
7118
|
+
return /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)("svg", { viewBox: `0 0 ${size} ${size}`, className: "chart-svg chart-pie", children: [
|
|
7119
|
+
animate && /* @__PURE__ */ (0, import_jsx_runtime307.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime307.jsx)("mask", { id: maskId, children: /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
|
|
7094
7120
|
"circle",
|
|
7095
7121
|
{
|
|
7096
7122
|
ref: maskRef,
|
|
@@ -7103,7 +7129,7 @@ var PieDonutChart = import_react6.default.memo(
|
|
|
7103
7129
|
transform: `rotate(-90 ${cx} ${cy})`
|
|
7104
7130
|
}
|
|
7105
7131
|
) }) }),
|
|
7106
|
-
/* @__PURE__ */ (0,
|
|
7132
|
+
/* @__PURE__ */ (0, import_jsx_runtime307.jsx)("g", { mask: animate ? `url(#${maskId})` : void 0, children: sliceData.map((s, i) => /* @__PURE__ */ (0, import_jsx_runtime307.jsx)("g", { children: /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
|
|
7107
7133
|
"path",
|
|
7108
7134
|
{
|
|
7109
7135
|
d: s.d,
|
|
@@ -7114,7 +7140,7 @@ var PieDonutChart = import_react6.default.memo(
|
|
|
7114
7140
|
onMouseLeave: onLeave
|
|
7115
7141
|
}
|
|
7116
7142
|
) }, i)) }),
|
|
7117
|
-
sliceData.map((s, i) => s.angle > 0.2 && /* @__PURE__ */ (0,
|
|
7143
|
+
sliceData.map((s, i) => s.angle > 0.2 && /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
|
|
7118
7144
|
"text",
|
|
7119
7145
|
{
|
|
7120
7146
|
x: s.lx,
|
|
@@ -7145,7 +7171,7 @@ var TooltipBubble = ({ x, y, containerWidth, children }) => {
|
|
|
7145
7171
|
else if (x + half > containerWidth - margin) nx = containerWidth - half - margin;
|
|
7146
7172
|
setAdjustedX(nx);
|
|
7147
7173
|
}, [x, containerWidth]);
|
|
7148
|
-
return /* @__PURE__ */ (0,
|
|
7174
|
+
return /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
|
|
7149
7175
|
"div",
|
|
7150
7176
|
{
|
|
7151
7177
|
ref,
|
|
@@ -7164,13 +7190,13 @@ var Chart = import_react6.default.memo((props) => {
|
|
|
7164
7190
|
const dataKey = import_react6.default.useMemo(() => JSON.stringify(labels), [labels]);
|
|
7165
7191
|
const animate = useChartAnimation(containerRef, dataKey);
|
|
7166
7192
|
const ready = width > 0 && height > 0;
|
|
7167
|
-
return /* @__PURE__ */ (0,
|
|
7168
|
-
ready && type === "line" && /* @__PURE__ */ (0,
|
|
7169
|
-
ready && type === "curve" && /* @__PURE__ */ (0,
|
|
7170
|
-
ready && type === "bar" && /* @__PURE__ */ (0,
|
|
7171
|
-
ready && type === "pie" && /* @__PURE__ */ (0,
|
|
7172
|
-
ready && type === "doughnut" && /* @__PURE__ */ (0,
|
|
7173
|
-
tooltip.visible && /* @__PURE__ */ (0,
|
|
7193
|
+
return /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)("div", { className: "lib-xplat-chart", ref: containerRef, children: [
|
|
7194
|
+
ready && type === "line" && /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(LineChart, { data: stableData, labels: stableLabels, width, height, animate, onHover: show, onMove: move, onLeave: hide }),
|
|
7195
|
+
ready && type === "curve" && /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(CurveChart, { data: stableData, labels: stableLabels, width, height, animate, onHover: show, onMove: move, onLeave: hide }),
|
|
7196
|
+
ready && type === "bar" && /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(BarChart, { data: stableData, labels: stableLabels, width, height, animate, onHover: show, onMove: move, onLeave: hide }),
|
|
7197
|
+
ready && type === "pie" && /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(PieDonutChart, { data: stableData, labels: stableLabels, width, height, animate, onHover: show, onMove: move, onLeave: hide }),
|
|
7198
|
+
ready && type === "doughnut" && /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(PieDonutChart, { data: stableData, labels: stableLabels, width, height, animate, isDoughnut: true, onHover: show, onMove: move, onLeave: hide }),
|
|
7199
|
+
tooltip.visible && /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(TooltipBubble, { x: tooltip.x, y: tooltip.y, containerWidth: width, children: tooltip.content })
|
|
7174
7200
|
] });
|
|
7175
7201
|
});
|
|
7176
7202
|
Chart.displayName = "Chart";
|
|
@@ -7196,7 +7222,7 @@ var import_tokens_core = require("@x-plat/tokens-core");
|
|
|
7196
7222
|
var import_tokens_core2 = require("@x-plat/tokens-core");
|
|
7197
7223
|
|
|
7198
7224
|
// src/components/CheckBox/CheckBox.tsx
|
|
7199
|
-
var
|
|
7225
|
+
var import_jsx_runtime308 = require("react/jsx-runtime");
|
|
7200
7226
|
var CheckBox = (props) => {
|
|
7201
7227
|
const {
|
|
7202
7228
|
checked,
|
|
@@ -7214,8 +7240,8 @@ var CheckBox = (props) => {
|
|
|
7214
7240
|
const checkedClasses = `checked`;
|
|
7215
7241
|
const disabledClasses = "disabled";
|
|
7216
7242
|
const boxClasses = disabled ? disabledClasses : checked ? checkedClasses : uncheckedClasses;
|
|
7217
|
-
return /* @__PURE__ */ (0,
|
|
7218
|
-
/* @__PURE__ */ (0,
|
|
7243
|
+
return /* @__PURE__ */ (0, import_jsx_runtime308.jsxs)("label", { className: clsx_default("lib-xplat-checkbox", size, type), children: [
|
|
7244
|
+
/* @__PURE__ */ (0, import_jsx_runtime308.jsx)(
|
|
7219
7245
|
"input",
|
|
7220
7246
|
{
|
|
7221
7247
|
type: "checkbox",
|
|
@@ -7225,22 +7251,22 @@ var CheckBox = (props) => {
|
|
|
7225
7251
|
...rest
|
|
7226
7252
|
}
|
|
7227
7253
|
),
|
|
7228
|
-
/* @__PURE__ */ (0,
|
|
7229
|
-
label && /* @__PURE__ */ (0,
|
|
7254
|
+
/* @__PURE__ */ (0, import_jsx_runtime308.jsx)("span", { className: clsx_default("checkbox", boxClasses), children: /* @__PURE__ */ (0, import_jsx_runtime308.jsx)("span", { className: clsx_default("check-icon", { visible: checked }), children: /* @__PURE__ */ (0, import_jsx_runtime308.jsx)(CheckIcon_default, {}) }) }),
|
|
7255
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime308.jsx)("span", { className: "label", children: label })
|
|
7230
7256
|
] });
|
|
7231
7257
|
};
|
|
7232
7258
|
CheckBox.displayName = "CheckBox";
|
|
7233
7259
|
var CheckBox_default = CheckBox;
|
|
7234
7260
|
|
|
7235
7261
|
// src/components/Chip/Chip.tsx
|
|
7236
|
-
var
|
|
7262
|
+
var import_jsx_runtime309 = require("react/jsx-runtime");
|
|
7237
7263
|
var Chip = (props) => {
|
|
7238
7264
|
const {
|
|
7239
7265
|
children,
|
|
7240
7266
|
type = "primary",
|
|
7241
7267
|
size = "md"
|
|
7242
7268
|
} = props;
|
|
7243
|
-
return /* @__PURE__ */ (0,
|
|
7269
|
+
return /* @__PURE__ */ (0, import_jsx_runtime309.jsx)("div", { className: clsx_default("lib-xplat-chip", type, size), children });
|
|
7244
7270
|
};
|
|
7245
7271
|
Chip.displayName = "Chip";
|
|
7246
7272
|
var Chip_default = Chip;
|
|
@@ -7252,17 +7278,17 @@ var import_react13 = __toESM(require("react"), 1);
|
|
|
7252
7278
|
var import_react7 = __toESM(require("react"), 1);
|
|
7253
7279
|
|
|
7254
7280
|
// src/components/Input/InputValidations.tsx
|
|
7255
|
-
var
|
|
7281
|
+
var import_jsx_runtime310 = require("react/jsx-runtime");
|
|
7256
7282
|
var InputValidations = (props) => {
|
|
7257
7283
|
const { message, status = "default" } = props;
|
|
7258
|
-
return /* @__PURE__ */ (0,
|
|
7259
|
-
/* @__PURE__ */ (0,
|
|
7260
|
-
status === "default" && /* @__PURE__ */ (0,
|
|
7261
|
-
status === "success" && /* @__PURE__ */ (0,
|
|
7262
|
-
status === "warning" && /* @__PURE__ */ (0,
|
|
7263
|
-
status === "error" && /* @__PURE__ */ (0,
|
|
7284
|
+
return /* @__PURE__ */ (0, import_jsx_runtime310.jsxs)("div", { className: clsx_default("lib-xplat-input-validation", status), children: [
|
|
7285
|
+
/* @__PURE__ */ (0, import_jsx_runtime310.jsxs)("div", { className: "icon", children: [
|
|
7286
|
+
status === "default" && /* @__PURE__ */ (0, import_jsx_runtime310.jsx)(InfoIcon_default, {}),
|
|
7287
|
+
status === "success" && /* @__PURE__ */ (0, import_jsx_runtime310.jsx)(SuccessIcon_default, {}),
|
|
7288
|
+
status === "warning" && /* @__PURE__ */ (0, import_jsx_runtime310.jsx)(InfoIcon_default, {}),
|
|
7289
|
+
status === "error" && /* @__PURE__ */ (0, import_jsx_runtime310.jsx)(ErrorIcon_default, {})
|
|
7264
7290
|
] }),
|
|
7265
|
-
/* @__PURE__ */ (0,
|
|
7291
|
+
/* @__PURE__ */ (0, import_jsx_runtime310.jsx)("div", { className: "message", children: message })
|
|
7266
7292
|
] });
|
|
7267
7293
|
};
|
|
7268
7294
|
InputValidations.displayName = "InputValidations";
|
|
@@ -7303,7 +7329,7 @@ var handleTelBackspace = (prevValue, currValue) => {
|
|
|
7303
7329
|
};
|
|
7304
7330
|
|
|
7305
7331
|
// src/components/Input/Input.tsx
|
|
7306
|
-
var
|
|
7332
|
+
var import_jsx_runtime311 = require("react/jsx-runtime");
|
|
7307
7333
|
var import_react8 = require("react");
|
|
7308
7334
|
var formatValue = (type, value) => {
|
|
7309
7335
|
if (value === null || value === void 0) return "";
|
|
@@ -7378,13 +7404,13 @@ var Input = import_react7.default.forwardRef((props, ref) => {
|
|
|
7378
7404
|
onChange(event);
|
|
7379
7405
|
}
|
|
7380
7406
|
};
|
|
7381
|
-
return /* @__PURE__ */ (0,
|
|
7382
|
-
/* @__PURE__ */ (0,
|
|
7407
|
+
return /* @__PURE__ */ (0, import_jsx_runtime311.jsxs)("div", { className: "lib-xplat-input-wrap", children: [
|
|
7408
|
+
/* @__PURE__ */ (0, import_jsx_runtime311.jsxs)(
|
|
7383
7409
|
"div",
|
|
7384
7410
|
{
|
|
7385
7411
|
className: clsx_default("lib-xplat-input", size, disabled ? "disabled" : void 0),
|
|
7386
7412
|
children: [
|
|
7387
|
-
/* @__PURE__ */ (0,
|
|
7413
|
+
/* @__PURE__ */ (0, import_jsx_runtime311.jsx)(
|
|
7388
7414
|
"input",
|
|
7389
7415
|
{
|
|
7390
7416
|
...inputProps,
|
|
@@ -7395,11 +7421,11 @@ var Input = import_react7.default.forwardRef((props, ref) => {
|
|
|
7395
7421
|
onChange: handleChange
|
|
7396
7422
|
}
|
|
7397
7423
|
),
|
|
7398
|
-
suffix && /* @__PURE__ */ (0,
|
|
7424
|
+
suffix && /* @__PURE__ */ (0, import_jsx_runtime311.jsx)("div", { className: "suffix", children: suffix })
|
|
7399
7425
|
]
|
|
7400
7426
|
}
|
|
7401
7427
|
),
|
|
7402
|
-
validations && /* @__PURE__ */ (0,
|
|
7428
|
+
validations && /* @__PURE__ */ (0, import_jsx_runtime311.jsx)("div", { className: "lib-xplat-input-validation-wrap", children: validations?.map((validation, idx) => /* @__PURE__ */ (0, import_react8.createElement)(
|
|
7403
7429
|
InputValidations_default,
|
|
7404
7430
|
{
|
|
7405
7431
|
...validation,
|
|
@@ -7413,7 +7439,7 @@ var Input_default = Input;
|
|
|
7413
7439
|
|
|
7414
7440
|
// src/components/Input/PasswordInput/PasswordInput.tsx
|
|
7415
7441
|
var import_react9 = __toESM(require("react"), 1);
|
|
7416
|
-
var
|
|
7442
|
+
var import_jsx_runtime312 = require("react/jsx-runtime");
|
|
7417
7443
|
var PasswordInput = import_react9.default.forwardRef(
|
|
7418
7444
|
(props, ref) => {
|
|
7419
7445
|
const { reg: _reg, ...inputProps } = props;
|
|
@@ -7421,11 +7447,11 @@ var PasswordInput = import_react9.default.forwardRef(
|
|
|
7421
7447
|
const handleChangeView = () => {
|
|
7422
7448
|
setIsView((prev) => !prev);
|
|
7423
7449
|
};
|
|
7424
|
-
return /* @__PURE__ */ (0,
|
|
7450
|
+
return /* @__PURE__ */ (0, import_jsx_runtime312.jsx)(
|
|
7425
7451
|
Input_default,
|
|
7426
7452
|
{
|
|
7427
7453
|
...inputProps,
|
|
7428
|
-
suffix: /* @__PURE__ */ (0,
|
|
7454
|
+
suffix: /* @__PURE__ */ (0, import_jsx_runtime312.jsx)("div", { className: "wrapper pointer", onClick: handleChangeView, children: isView ? /* @__PURE__ */ (0, import_jsx_runtime312.jsx)(OpenEyeIcon_default, {}) : /* @__PURE__ */ (0, import_jsx_runtime312.jsx)(CloseEyeIcon_default, {}) }),
|
|
7429
7455
|
type: isView ? "text" : "password",
|
|
7430
7456
|
ref
|
|
7431
7457
|
}
|
|
@@ -7442,9 +7468,9 @@ var import_react_dom2 = require("react-dom");
|
|
|
7442
7468
|
// src/tokens/hooks/Portal.tsx
|
|
7443
7469
|
var import_react10 = __toESM(require("react"), 1);
|
|
7444
7470
|
var import_react_dom = __toESM(require("react-dom"), 1);
|
|
7445
|
-
var
|
|
7471
|
+
var import_jsx_runtime313 = require("react/jsx-runtime");
|
|
7446
7472
|
var PortalContainerContext = import_react10.default.createContext(null);
|
|
7447
|
-
var PortalProvider = ({ container, children }) => /* @__PURE__ */ (0,
|
|
7473
|
+
var PortalProvider = ({ container, children }) => /* @__PURE__ */ (0, import_jsx_runtime313.jsx)(PortalContainerContext.Provider, { value: container, children });
|
|
7448
7474
|
var Portal = ({ children }) => {
|
|
7449
7475
|
const contextContainer = import_react10.default.useContext(PortalContainerContext);
|
|
7450
7476
|
if (typeof document === "undefined") return null;
|
|
@@ -7455,7 +7481,7 @@ Portal.displayName = "Portal";
|
|
|
7455
7481
|
var Portal_default = Portal;
|
|
7456
7482
|
|
|
7457
7483
|
// src/components/Modal/Modal.tsx
|
|
7458
|
-
var
|
|
7484
|
+
var import_jsx_runtime314 = require("react/jsx-runtime");
|
|
7459
7485
|
var ANIMATION_DURATION_MS = 200;
|
|
7460
7486
|
var Modal = (props) => {
|
|
7461
7487
|
const { isOpen, onClose, children } = props;
|
|
@@ -7476,12 +7502,12 @@ var Modal = (props) => {
|
|
|
7476
7502
|
if (!mounted) return null;
|
|
7477
7503
|
const stateClass = visible ? "enter" : "exit";
|
|
7478
7504
|
return (0, import_react_dom2.createPortal)(
|
|
7479
|
-
/* @__PURE__ */ (0,
|
|
7505
|
+
/* @__PURE__ */ (0, import_jsx_runtime314.jsx)(
|
|
7480
7506
|
"div",
|
|
7481
7507
|
{
|
|
7482
7508
|
className: clsx_default("lib-xplat-modal", "dim", stateClass),
|
|
7483
7509
|
onClick: onClose,
|
|
7484
|
-
children: /* @__PURE__ */ (0,
|
|
7510
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(
|
|
7485
7511
|
"div",
|
|
7486
7512
|
{
|
|
7487
7513
|
ref: boxRef,
|
|
@@ -7489,7 +7515,7 @@ var Modal = (props) => {
|
|
|
7489
7515
|
role: "dialog",
|
|
7490
7516
|
"aria-modal": "true",
|
|
7491
7517
|
onClick: (e) => e.stopPropagation(),
|
|
7492
|
-
children: /* @__PURE__ */ (0,
|
|
7518
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(PortalProvider, { container: boxRef.current, children })
|
|
7493
7519
|
}
|
|
7494
7520
|
)
|
|
7495
7521
|
}
|
|
@@ -7502,7 +7528,7 @@ var Modal_default = Modal;
|
|
|
7502
7528
|
|
|
7503
7529
|
// src/components/DatePicker/SingleDatePicker/index.tsx
|
|
7504
7530
|
var import_react12 = __toESM(require("react"), 1);
|
|
7505
|
-
var
|
|
7531
|
+
var import_jsx_runtime315 = require("react/jsx-runtime");
|
|
7506
7532
|
var DayCell2 = import_react12.default.memo(
|
|
7507
7533
|
({
|
|
7508
7534
|
day,
|
|
@@ -7513,7 +7539,7 @@ var DayCell2 = import_react12.default.memo(
|
|
|
7513
7539
|
isEnd,
|
|
7514
7540
|
inRange,
|
|
7515
7541
|
onSelect
|
|
7516
|
-
}) => /* @__PURE__ */ (0,
|
|
7542
|
+
}) => /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(
|
|
7517
7543
|
"button",
|
|
7518
7544
|
{
|
|
7519
7545
|
type: "button",
|
|
@@ -7611,20 +7637,20 @@ var SingleDatePicker = (props) => {
|
|
|
7611
7637
|
const monthLabels = MONTH_LABELS[locale];
|
|
7612
7638
|
const titleText = pickerMode === "days" ? locale === "ko" ? `${year}\uB144 ${monthLabels[month]}` : `${monthLabels[month]} ${year}` : pickerMode === "months" ? `${year}` : `${yearRangeStart} - ${yearRangeStart + 11}`;
|
|
7613
7639
|
const hasRange = rangeStart != null && rangeEnd != null;
|
|
7614
|
-
return /* @__PURE__ */ (0,
|
|
7640
|
+
return /* @__PURE__ */ (0, import_jsx_runtime315.jsxs)(
|
|
7615
7641
|
"div",
|
|
7616
7642
|
{
|
|
7617
7643
|
className: clsx_default("lib-xplat-datepicker", "single"),
|
|
7618
7644
|
children: [
|
|
7619
|
-
/* @__PURE__ */ (0,
|
|
7620
|
-
/* @__PURE__ */ (0,
|
|
7621
|
-
/* @__PURE__ */ (0,
|
|
7622
|
-
/* @__PURE__ */ (0,
|
|
7645
|
+
/* @__PURE__ */ (0, import_jsx_runtime315.jsxs)("div", { className: "datepicker-header", children: [
|
|
7646
|
+
/* @__PURE__ */ (0, import_jsx_runtime315.jsx)("button", { className: "datepicker-nav", onClick: handlePrev, type: "button", children: /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(ChevronLeftIcon_default, {}) }),
|
|
7647
|
+
/* @__PURE__ */ (0, import_jsx_runtime315.jsx)("button", { className: "datepicker-title", onClick: handleTitleClick, type: "button", children: titleText }),
|
|
7648
|
+
/* @__PURE__ */ (0, import_jsx_runtime315.jsx)("button", { className: "datepicker-nav", onClick: handleNext, type: "button", children: /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(ChevronRightIcon_default, {}) })
|
|
7623
7649
|
] }),
|
|
7624
|
-
/* @__PURE__ */ (0,
|
|
7625
|
-
pickerMode === "years" && /* @__PURE__ */ (0,
|
|
7650
|
+
/* @__PURE__ */ (0, import_jsx_runtime315.jsxs)("div", { className: "datepicker-body", children: [
|
|
7651
|
+
pickerMode === "years" && /* @__PURE__ */ (0, import_jsx_runtime315.jsx)("div", { className: "datepicker-picker-grid", children: Array.from({ length: 12 }, (_, i) => {
|
|
7626
7652
|
const y = yearRangeStart + i;
|
|
7627
|
-
return /* @__PURE__ */ (0,
|
|
7653
|
+
return /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(
|
|
7628
7654
|
"button",
|
|
7629
7655
|
{
|
|
7630
7656
|
type: "button",
|
|
@@ -7635,7 +7661,7 @@ var SingleDatePicker = (props) => {
|
|
|
7635
7661
|
y
|
|
7636
7662
|
);
|
|
7637
7663
|
}) }),
|
|
7638
|
-
pickerMode === "months" && /* @__PURE__ */ (0,
|
|
7664
|
+
pickerMode === "months" && /* @__PURE__ */ (0, import_jsx_runtime315.jsx)("div", { className: "datepicker-picker-grid", children: monthLabels.map((label, i) => /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(
|
|
7639
7665
|
"button",
|
|
7640
7666
|
{
|
|
7641
7667
|
type: "button",
|
|
@@ -7645,8 +7671,8 @@ var SingleDatePicker = (props) => {
|
|
|
7645
7671
|
},
|
|
7646
7672
|
i
|
|
7647
7673
|
)) }),
|
|
7648
|
-
pickerMode === "days" && /* @__PURE__ */ (0,
|
|
7649
|
-
/* @__PURE__ */ (0,
|
|
7674
|
+
pickerMode === "days" && /* @__PURE__ */ (0, import_jsx_runtime315.jsxs)(import_jsx_runtime315.Fragment, { children: [
|
|
7675
|
+
/* @__PURE__ */ (0, import_jsx_runtime315.jsx)("div", { className: "datepicker-weekdays", children: weekdays.map((label, i) => /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(
|
|
7650
7676
|
"div",
|
|
7651
7677
|
{
|
|
7652
7678
|
className: clsx_default(
|
|
@@ -7658,7 +7684,7 @@ var SingleDatePicker = (props) => {
|
|
|
7658
7684
|
},
|
|
7659
7685
|
label
|
|
7660
7686
|
)) }),
|
|
7661
|
-
/* @__PURE__ */ (0,
|
|
7687
|
+
/* @__PURE__ */ (0, import_jsx_runtime315.jsx)("div", { className: "datepicker-grid", children: days.map((day, idx) => {
|
|
7662
7688
|
const t = day.date.getTime();
|
|
7663
7689
|
const disabled = t < minTime || t > maxTime;
|
|
7664
7690
|
const selected = value ? isSameDay(day.date, value) : false;
|
|
@@ -7668,7 +7694,7 @@ var SingleDatePicker = (props) => {
|
|
|
7668
7694
|
const isStart = hasRange ? isSameDay(day.date, rangeStart) : false;
|
|
7669
7695
|
const isEnd = hasRange ? isSameDay(day.date, rangeEnd) : false;
|
|
7670
7696
|
const inRangeVal = hasRange ? isInRange(day.date, rangeStart, rangeEnd) : false;
|
|
7671
|
-
return /* @__PURE__ */ (0,
|
|
7697
|
+
return /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(
|
|
7672
7698
|
DayCell2,
|
|
7673
7699
|
{
|
|
7674
7700
|
day,
|
|
@@ -7693,7 +7719,7 @@ SingleDatePicker.displayName = "SingleDatePicker";
|
|
|
7693
7719
|
var SingleDatePicker_default = SingleDatePicker;
|
|
7694
7720
|
|
|
7695
7721
|
// src/components/DatePicker/InputDatePicker/index.tsx
|
|
7696
|
-
var
|
|
7722
|
+
var import_jsx_runtime316 = require("react/jsx-runtime");
|
|
7697
7723
|
var formatDate = (date) => {
|
|
7698
7724
|
if (!date || !(date instanceof Date) || isNaN(date.getTime())) return "";
|
|
7699
7725
|
const y = date.getFullYear();
|
|
@@ -7720,19 +7746,19 @@ var InputDatePicker = (props) => {
|
|
|
7720
7746
|
const handleClose = () => {
|
|
7721
7747
|
setIsOpen(false);
|
|
7722
7748
|
};
|
|
7723
|
-
return /* @__PURE__ */ (0,
|
|
7724
|
-
/* @__PURE__ */ (0,
|
|
7749
|
+
return /* @__PURE__ */ (0, import_jsx_runtime316.jsxs)("div", { className: clsx_default("lib-xplat-datepicker input-datepicker", disabled && "disabled"), children: [
|
|
7750
|
+
/* @__PURE__ */ (0, import_jsx_runtime316.jsx)("div", { className: "input-datepicker-trigger", onClick: handleOpen, children: /* @__PURE__ */ (0, import_jsx_runtime316.jsx)(
|
|
7725
7751
|
Input_default,
|
|
7726
7752
|
{
|
|
7727
7753
|
value: formatDate(value),
|
|
7728
7754
|
placeholder,
|
|
7729
|
-
suffix: /* @__PURE__ */ (0,
|
|
7755
|
+
suffix: /* @__PURE__ */ (0, import_jsx_runtime316.jsx)(CalenderIcon_default, {}),
|
|
7730
7756
|
disabled,
|
|
7731
7757
|
readOnly: true
|
|
7732
7758
|
}
|
|
7733
7759
|
) }),
|
|
7734
|
-
/* @__PURE__ */ (0,
|
|
7735
|
-
/* @__PURE__ */ (0,
|
|
7760
|
+
/* @__PURE__ */ (0, import_jsx_runtime316.jsx)(Modal_default, { isOpen, onClose: handleClose, children: /* @__PURE__ */ (0, import_jsx_runtime316.jsxs)("div", { className: "lib-xplat-popup-datepicker-card", children: [
|
|
7761
|
+
/* @__PURE__ */ (0, import_jsx_runtime316.jsx)("div", { className: "popup-datepicker-content", children: /* @__PURE__ */ (0, import_jsx_runtime316.jsx)(
|
|
7736
7762
|
SingleDatePicker_default,
|
|
7737
7763
|
{
|
|
7738
7764
|
value: tempDate,
|
|
@@ -7742,9 +7768,9 @@ var InputDatePicker = (props) => {
|
|
|
7742
7768
|
locale
|
|
7743
7769
|
}
|
|
7744
7770
|
) }),
|
|
7745
|
-
/* @__PURE__ */ (0,
|
|
7746
|
-
/* @__PURE__ */ (0,
|
|
7747
|
-
/* @__PURE__ */ (0,
|
|
7771
|
+
/* @__PURE__ */ (0, import_jsx_runtime316.jsxs)("div", { className: "popup-datepicker-footer", children: [
|
|
7772
|
+
/* @__PURE__ */ (0, import_jsx_runtime316.jsx)(Button_default, { type: "secondary", onClick: handleClose, children: locale === "ko" ? "\uCDE8\uC18C" : "Cancel" }),
|
|
7773
|
+
/* @__PURE__ */ (0, import_jsx_runtime316.jsx)(Button_default, { type: "primary", onClick: handleApply, children: locale === "ko" ? "\uC801\uC6A9" : "Apply" })
|
|
7748
7774
|
] })
|
|
7749
7775
|
] }) })
|
|
7750
7776
|
] });
|
|
@@ -7763,10 +7789,10 @@ var import_react15 = __toESM(require("react"), 1);
|
|
|
7763
7789
|
|
|
7764
7790
|
// src/components/Tab/TabItem.tsx
|
|
7765
7791
|
var import_react14 = __toESM(require("react"), 1);
|
|
7766
|
-
var
|
|
7792
|
+
var import_jsx_runtime317 = require("react/jsx-runtime");
|
|
7767
7793
|
var TabItem = import_react14.default.forwardRef((props, ref) => {
|
|
7768
7794
|
const { isActive, title, onClick } = props;
|
|
7769
|
-
return /* @__PURE__ */ (0,
|
|
7795
|
+
return /* @__PURE__ */ (0, import_jsx_runtime317.jsx)(
|
|
7770
7796
|
"div",
|
|
7771
7797
|
{
|
|
7772
7798
|
ref,
|
|
@@ -7780,7 +7806,7 @@ TabItem.displayName = "TabItem";
|
|
|
7780
7806
|
var TabItem_default = TabItem;
|
|
7781
7807
|
|
|
7782
7808
|
// src/components/Tab/Tab.tsx
|
|
7783
|
-
var
|
|
7809
|
+
var import_jsx_runtime318 = require("react/jsx-runtime");
|
|
7784
7810
|
var Tab = (props) => {
|
|
7785
7811
|
const { activeIndex, onChange, tabs, type, size = "md" } = props;
|
|
7786
7812
|
const [underlineStyle, setUnderlineStyle] = import_react15.default.useState({
|
|
@@ -7797,8 +7823,8 @@ var Tab = (props) => {
|
|
|
7797
7823
|
setUnderlineStyle({ left: el.offsetLeft, width: el.offsetWidth });
|
|
7798
7824
|
}
|
|
7799
7825
|
}, [activeIndex, tabs.length]);
|
|
7800
|
-
return /* @__PURE__ */ (0,
|
|
7801
|
-
tabs.map((tab, idx) => /* @__PURE__ */ (0,
|
|
7826
|
+
return /* @__PURE__ */ (0, import_jsx_runtime318.jsxs)("div", { className: clsx_default("lib-xplat-tab", `type-${type}`, size), children: [
|
|
7827
|
+
tabs.map((tab, idx) => /* @__PURE__ */ (0, import_jsx_runtime318.jsx)(
|
|
7802
7828
|
TabItem_default,
|
|
7803
7829
|
{
|
|
7804
7830
|
onClick: () => handleChangeActiveTab(tab, idx),
|
|
@@ -7810,7 +7836,7 @@ var Tab = (props) => {
|
|
|
7810
7836
|
},
|
|
7811
7837
|
`${tab.value}_${idx}`
|
|
7812
7838
|
)),
|
|
7813
|
-
type === "toggle" && /* @__PURE__ */ (0,
|
|
7839
|
+
type === "toggle" && /* @__PURE__ */ (0, import_jsx_runtime318.jsx)(
|
|
7814
7840
|
"div",
|
|
7815
7841
|
{
|
|
7816
7842
|
className: "tab-toggle-underline",
|
|
@@ -7826,7 +7852,7 @@ Tab.displayName = "Tab";
|
|
|
7826
7852
|
var Tab_default = Tab;
|
|
7827
7853
|
|
|
7828
7854
|
// src/components/DatePicker/RangePicker/index.tsx
|
|
7829
|
-
var
|
|
7855
|
+
var import_jsx_runtime319 = require("react/jsx-runtime");
|
|
7830
7856
|
var RangePicker = (props) => {
|
|
7831
7857
|
const {
|
|
7832
7858
|
startDate,
|
|
@@ -7849,8 +7875,8 @@ var RangePicker = (props) => {
|
|
|
7849
7875
|
};
|
|
7850
7876
|
const startMaxDate = maxDate && endDate < maxDate ? endDate : endDate;
|
|
7851
7877
|
const endMinDate = minDate && startDate > minDate ? startDate : startDate;
|
|
7852
|
-
return /* @__PURE__ */ (0,
|
|
7853
|
-
/* @__PURE__ */ (0,
|
|
7878
|
+
return /* @__PURE__ */ (0, import_jsx_runtime319.jsxs)("div", { className: clsx_default("lib-xplat-datepicker", "range"), children: [
|
|
7879
|
+
/* @__PURE__ */ (0, import_jsx_runtime319.jsx)("div", { className: "datepicker-range-tabs", children: /* @__PURE__ */ (0, import_jsx_runtime319.jsx)(
|
|
7854
7880
|
Tab_default,
|
|
7855
7881
|
{
|
|
7856
7882
|
activeIndex: activeTab === "start" ? 0 : 1,
|
|
@@ -7863,8 +7889,8 @@ var RangePicker = (props) => {
|
|
|
7863
7889
|
size: "sm"
|
|
7864
7890
|
}
|
|
7865
7891
|
) }),
|
|
7866
|
-
/* @__PURE__ */ (0,
|
|
7867
|
-
/* @__PURE__ */ (0,
|
|
7892
|
+
/* @__PURE__ */ (0, import_jsx_runtime319.jsxs)("div", { className: "datepicker-range-panels", children: [
|
|
7893
|
+
/* @__PURE__ */ (0, import_jsx_runtime319.jsx)(
|
|
7868
7894
|
SingleDatePicker_default,
|
|
7869
7895
|
{
|
|
7870
7896
|
value: startDate,
|
|
@@ -7876,7 +7902,7 @@ var RangePicker = (props) => {
|
|
|
7876
7902
|
locale
|
|
7877
7903
|
}
|
|
7878
7904
|
),
|
|
7879
|
-
/* @__PURE__ */ (0,
|
|
7905
|
+
/* @__PURE__ */ (0, import_jsx_runtime319.jsx)(
|
|
7880
7906
|
SingleDatePicker_default,
|
|
7881
7907
|
{
|
|
7882
7908
|
value: endDate,
|
|
@@ -7889,7 +7915,7 @@ var RangePicker = (props) => {
|
|
|
7889
7915
|
}
|
|
7890
7916
|
)
|
|
7891
7917
|
] }),
|
|
7892
|
-
/* @__PURE__ */ (0,
|
|
7918
|
+
/* @__PURE__ */ (0, import_jsx_runtime319.jsx)("div", { className: "datepicker-range-mobile", children: activeTab === "start" ? /* @__PURE__ */ (0, import_jsx_runtime319.jsx)(
|
|
7893
7919
|
SingleDatePicker_default,
|
|
7894
7920
|
{
|
|
7895
7921
|
value: startDate,
|
|
@@ -7900,7 +7926,7 @@ var RangePicker = (props) => {
|
|
|
7900
7926
|
rangeEnd: endDate,
|
|
7901
7927
|
locale
|
|
7902
7928
|
}
|
|
7903
|
-
) : /* @__PURE__ */ (0,
|
|
7929
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime319.jsx)(
|
|
7904
7930
|
SingleDatePicker_default,
|
|
7905
7931
|
{
|
|
7906
7932
|
value: endDate,
|
|
@@ -7918,7 +7944,7 @@ RangePicker.displayName = "RangePicker";
|
|
|
7918
7944
|
var RangePicker_default = RangePicker;
|
|
7919
7945
|
|
|
7920
7946
|
// src/components/DatePicker/PopupPicker/index.tsx
|
|
7921
|
-
var
|
|
7947
|
+
var import_jsx_runtime320 = require("react/jsx-runtime");
|
|
7922
7948
|
var PopupPicker = (props) => {
|
|
7923
7949
|
const { component, type, locale } = props;
|
|
7924
7950
|
const [isOpen, setIsOpen] = import_react17.default.useState(false);
|
|
@@ -7929,11 +7955,11 @@ var PopupPicker = (props) => {
|
|
|
7929
7955
|
props.onChange?.(date);
|
|
7930
7956
|
handleClose();
|
|
7931
7957
|
};
|
|
7932
|
-
return /* @__PURE__ */ (0,
|
|
7958
|
+
return /* @__PURE__ */ (0, import_jsx_runtime320.jsxs)("div", { className: "lib-xplat-popup-datepicker", children: [
|
|
7933
7959
|
import_react17.default.cloneElement(component, { onClick: handleClick }),
|
|
7934
|
-
/* @__PURE__ */ (0,
|
|
7935
|
-
/* @__PURE__ */ (0,
|
|
7936
|
-
type === "single" && /* @__PURE__ */ (0,
|
|
7960
|
+
/* @__PURE__ */ (0, import_jsx_runtime320.jsx)(Modal_default, { isOpen, onClose: handleClose, children: /* @__PURE__ */ (0, import_jsx_runtime320.jsxs)("div", { className: clsx_default("lib-xplat-popup-datepicker-card", type === "range" && "range-mode"), children: [
|
|
7961
|
+
/* @__PURE__ */ (0, import_jsx_runtime320.jsxs)("div", { className: "popup-datepicker-content", children: [
|
|
7962
|
+
type === "single" && /* @__PURE__ */ (0, import_jsx_runtime320.jsx)(
|
|
7937
7963
|
SingleDatePicker_default,
|
|
7938
7964
|
{
|
|
7939
7965
|
value: props.value,
|
|
@@ -7943,7 +7969,7 @@ var PopupPicker = (props) => {
|
|
|
7943
7969
|
locale
|
|
7944
7970
|
}
|
|
7945
7971
|
),
|
|
7946
|
-
type === "range" && /* @__PURE__ */ (0,
|
|
7972
|
+
type === "range" && /* @__PURE__ */ (0, import_jsx_runtime320.jsx)(
|
|
7947
7973
|
RangePicker_default,
|
|
7948
7974
|
{
|
|
7949
7975
|
startDate: props.startDate,
|
|
@@ -7955,8 +7981,8 @@ var PopupPicker = (props) => {
|
|
|
7955
7981
|
}
|
|
7956
7982
|
)
|
|
7957
7983
|
] }),
|
|
7958
|
-
/* @__PURE__ */ (0,
|
|
7959
|
-
/* @__PURE__ */ (0,
|
|
7984
|
+
/* @__PURE__ */ (0, import_jsx_runtime320.jsxs)("div", { className: "popup-datepicker-footer", children: [
|
|
7985
|
+
/* @__PURE__ */ (0, import_jsx_runtime320.jsx)(
|
|
7960
7986
|
Button_default,
|
|
7961
7987
|
{
|
|
7962
7988
|
type: "secondary",
|
|
@@ -7964,7 +7990,7 @@ var PopupPicker = (props) => {
|
|
|
7964
7990
|
children: locale === "ko" ? "\uCDE8\uC18C" : "Cancel"
|
|
7965
7991
|
}
|
|
7966
7992
|
),
|
|
7967
|
-
/* @__PURE__ */ (0,
|
|
7993
|
+
/* @__PURE__ */ (0, import_jsx_runtime320.jsx)(Button_default, { type: "primary", onClick: handleClose, children: locale === "ko" ? "\uC801\uC6A9" : "Apply" })
|
|
7968
7994
|
] })
|
|
7969
7995
|
] }) })
|
|
7970
7996
|
] });
|
|
@@ -7973,10 +7999,10 @@ PopupPicker.displayName = "PopupPicker";
|
|
|
7973
7999
|
var PopupPicker_default = PopupPicker;
|
|
7974
8000
|
|
|
7975
8001
|
// src/components/Divider/Divider.tsx
|
|
7976
|
-
var
|
|
8002
|
+
var import_jsx_runtime321 = require("react/jsx-runtime");
|
|
7977
8003
|
var Divider = (props) => {
|
|
7978
8004
|
const { orientation = "horizontal" } = props;
|
|
7979
|
-
return /* @__PURE__ */ (0,
|
|
8005
|
+
return /* @__PURE__ */ (0, import_jsx_runtime321.jsx)(
|
|
7980
8006
|
"div",
|
|
7981
8007
|
{
|
|
7982
8008
|
className: clsx_default("lib-xplat-divider", orientation),
|
|
@@ -7991,7 +8017,7 @@ var Divider_default = Divider;
|
|
|
7991
8017
|
// src/components/Drawer/Drawer.tsx
|
|
7992
8018
|
var import_react18 = __toESM(require("react"), 1);
|
|
7993
8019
|
var import_react_dom3 = require("react-dom");
|
|
7994
|
-
var
|
|
8020
|
+
var import_jsx_runtime322 = require("react/jsx-runtime");
|
|
7995
8021
|
var ANIMATION_DURATION_MS2 = 250;
|
|
7996
8022
|
var Drawer = (props) => {
|
|
7997
8023
|
const { isOpen, onClose, placement = "right", size = "md", title, children } = props;
|
|
@@ -8011,12 +8037,12 @@ var Drawer = (props) => {
|
|
|
8011
8037
|
if (!mounted) return null;
|
|
8012
8038
|
const stateClass = visible ? "enter" : "exit";
|
|
8013
8039
|
return (0, import_react_dom3.createPortal)(
|
|
8014
|
-
/* @__PURE__ */ (0,
|
|
8040
|
+
/* @__PURE__ */ (0, import_jsx_runtime322.jsx)(
|
|
8015
8041
|
"div",
|
|
8016
8042
|
{
|
|
8017
8043
|
className: clsx_default("lib-xplat-drawer-overlay", stateClass),
|
|
8018
8044
|
onClick: onClose,
|
|
8019
|
-
children: /* @__PURE__ */ (0,
|
|
8045
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime322.jsxs)(
|
|
8020
8046
|
"div",
|
|
8021
8047
|
{
|
|
8022
8048
|
className: clsx_default("lib-xplat-drawer", placement, size, stateClass),
|
|
@@ -8024,11 +8050,11 @@ var Drawer = (props) => {
|
|
|
8024
8050
|
"aria-modal": "true",
|
|
8025
8051
|
onClick: (e) => e.stopPropagation(),
|
|
8026
8052
|
children: [
|
|
8027
|
-
title && /* @__PURE__ */ (0,
|
|
8028
|
-
/* @__PURE__ */ (0,
|
|
8029
|
-
/* @__PURE__ */ (0,
|
|
8053
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime322.jsxs)("div", { className: "drawer-header", children: [
|
|
8054
|
+
/* @__PURE__ */ (0, import_jsx_runtime322.jsx)("span", { className: "drawer-title", children: title }),
|
|
8055
|
+
/* @__PURE__ */ (0, import_jsx_runtime322.jsx)("button", { className: "close-btn", onClick: onClose, "aria-label": "\uB2EB\uAE30", children: "\xD7" })
|
|
8030
8056
|
] }),
|
|
8031
|
-
/* @__PURE__ */ (0,
|
|
8057
|
+
/* @__PURE__ */ (0, import_jsx_runtime322.jsx)("div", { className: "drawer-body", children })
|
|
8032
8058
|
]
|
|
8033
8059
|
}
|
|
8034
8060
|
)
|
|
@@ -8130,7 +8156,7 @@ var useClickOutside = (refs, handler, enabled = true) => {
|
|
|
8130
8156
|
var useClickOutside_default = useClickOutside;
|
|
8131
8157
|
|
|
8132
8158
|
// src/components/Dropdown/Dropdown.tsx
|
|
8133
|
-
var
|
|
8159
|
+
var import_jsx_runtime323 = require("react/jsx-runtime");
|
|
8134
8160
|
var Dropdown = (props) => {
|
|
8135
8161
|
const { items, children } = props;
|
|
8136
8162
|
const [isOpen, setIsOpen] = import_react21.default.useState(false);
|
|
@@ -8155,8 +8181,8 @@ var Dropdown = (props) => {
|
|
|
8155
8181
|
item.onClick?.();
|
|
8156
8182
|
setIsOpen(false);
|
|
8157
8183
|
};
|
|
8158
|
-
return /* @__PURE__ */ (0,
|
|
8159
|
-
/* @__PURE__ */ (0,
|
|
8184
|
+
return /* @__PURE__ */ (0, import_jsx_runtime323.jsxs)("div", { className: "lib-xplat-dropdown", children: [
|
|
8185
|
+
/* @__PURE__ */ (0, import_jsx_runtime323.jsx)(
|
|
8160
8186
|
"div",
|
|
8161
8187
|
{
|
|
8162
8188
|
ref: triggerRef,
|
|
@@ -8165,14 +8191,14 @@ var Dropdown = (props) => {
|
|
|
8165
8191
|
children
|
|
8166
8192
|
}
|
|
8167
8193
|
),
|
|
8168
|
-
mounted && /* @__PURE__ */ (0,
|
|
8194
|
+
mounted && /* @__PURE__ */ (0, import_jsx_runtime323.jsx)(Portal_default, { children: /* @__PURE__ */ (0, import_jsx_runtime323.jsx)(
|
|
8169
8195
|
"div",
|
|
8170
8196
|
{
|
|
8171
8197
|
ref: menuRef,
|
|
8172
8198
|
className: clsx_default("lib-xplat-dropdown-menu", direction, { visible }),
|
|
8173
8199
|
style: { top: position.top, left: position.left },
|
|
8174
8200
|
role: "menu",
|
|
8175
|
-
children: items.map((item) => /* @__PURE__ */ (0,
|
|
8201
|
+
children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime323.jsx)(
|
|
8176
8202
|
"button",
|
|
8177
8203
|
{
|
|
8178
8204
|
className: clsx_default("dropdown-item", {
|
|
@@ -8194,15 +8220,15 @@ Dropdown.displayName = "Dropdown";
|
|
|
8194
8220
|
var Dropdown_default = Dropdown;
|
|
8195
8221
|
|
|
8196
8222
|
// src/components/EmptyState/EmptyState.tsx
|
|
8197
|
-
var
|
|
8223
|
+
var import_jsx_runtime324 = require("react/jsx-runtime");
|
|
8198
8224
|
var EmptyState = (props) => {
|
|
8199
8225
|
const { icon, title = "\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4", description, action } = props;
|
|
8200
|
-
return /* @__PURE__ */ (0,
|
|
8201
|
-
icon && /* @__PURE__ */ (0,
|
|
8202
|
-
!icon && /* @__PURE__ */ (0,
|
|
8203
|
-
/* @__PURE__ */ (0,
|
|
8204
|
-
description && /* @__PURE__ */ (0,
|
|
8205
|
-
action && /* @__PURE__ */ (0,
|
|
8226
|
+
return /* @__PURE__ */ (0, import_jsx_runtime324.jsxs)("div", { className: "lib-xplat-empty-state", children: [
|
|
8227
|
+
icon && /* @__PURE__ */ (0, import_jsx_runtime324.jsx)("div", { className: "empty-icon", children: icon }),
|
|
8228
|
+
!icon && /* @__PURE__ */ (0, import_jsx_runtime324.jsx)("div", { className: "empty-icon", children: /* @__PURE__ */ (0, import_jsx_runtime324.jsx)("svg", { viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime324.jsx)("path", { d: "M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V8h16v10z" }) }) }),
|
|
8229
|
+
/* @__PURE__ */ (0, import_jsx_runtime324.jsx)("p", { className: "empty-title", children: title }),
|
|
8230
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime324.jsx)("p", { className: "empty-description", children: description }),
|
|
8231
|
+
action && /* @__PURE__ */ (0, import_jsx_runtime324.jsx)("div", { className: "empty-action", children: action })
|
|
8206
8232
|
] });
|
|
8207
8233
|
};
|
|
8208
8234
|
EmptyState.displayName = "EmptyState";
|
|
@@ -8210,7 +8236,7 @@ var EmptyState_default = EmptyState;
|
|
|
8210
8236
|
|
|
8211
8237
|
// src/components/FileUpload/FileUpload.tsx
|
|
8212
8238
|
var import_react22 = __toESM(require("react"), 1);
|
|
8213
|
-
var
|
|
8239
|
+
var import_jsx_runtime325 = require("react/jsx-runtime");
|
|
8214
8240
|
var FileUpload = (props) => {
|
|
8215
8241
|
const {
|
|
8216
8242
|
accept,
|
|
@@ -8251,7 +8277,7 @@ var FileUpload = (props) => {
|
|
|
8251
8277
|
handleFiles(e.target.files);
|
|
8252
8278
|
}
|
|
8253
8279
|
};
|
|
8254
|
-
return /* @__PURE__ */ (0,
|
|
8280
|
+
return /* @__PURE__ */ (0, import_jsx_runtime325.jsxs)(
|
|
8255
8281
|
"div",
|
|
8256
8282
|
{
|
|
8257
8283
|
className: clsx_default("lib-xplat-file-upload", { "drag-over": isDragOver }),
|
|
@@ -8260,7 +8286,7 @@ var FileUpload = (props) => {
|
|
|
8260
8286
|
onDragLeave: handleDragLeave,
|
|
8261
8287
|
onClick: () => inputRef.current?.click(),
|
|
8262
8288
|
children: [
|
|
8263
|
-
/* @__PURE__ */ (0,
|
|
8289
|
+
/* @__PURE__ */ (0, import_jsx_runtime325.jsx)(
|
|
8264
8290
|
"input",
|
|
8265
8291
|
{
|
|
8266
8292
|
ref: inputRef,
|
|
@@ -8270,9 +8296,9 @@ var FileUpload = (props) => {
|
|
|
8270
8296
|
onChange: handleChange
|
|
8271
8297
|
}
|
|
8272
8298
|
),
|
|
8273
|
-
/* @__PURE__ */ (0,
|
|
8274
|
-
/* @__PURE__ */ (0,
|
|
8275
|
-
description && /* @__PURE__ */ (0,
|
|
8299
|
+
/* @__PURE__ */ (0, import_jsx_runtime325.jsx)("div", { className: "upload-icon", children: /* @__PURE__ */ (0, import_jsx_runtime325.jsx)(UploadIcon_default, {}) }),
|
|
8300
|
+
/* @__PURE__ */ (0, import_jsx_runtime325.jsx)("p", { className: "upload-label", children: label }),
|
|
8301
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime325.jsx)("p", { className: "upload-description", children: description })
|
|
8276
8302
|
]
|
|
8277
8303
|
}
|
|
8278
8304
|
);
|
|
@@ -8366,7 +8392,7 @@ var htmlToReactProgressive = (root, typedLen, rangeMap) => {
|
|
|
8366
8392
|
};
|
|
8367
8393
|
|
|
8368
8394
|
// src/components/HtmlTypeWriter/HtmlTypeWriter.tsx
|
|
8369
|
-
var
|
|
8395
|
+
var import_jsx_runtime326 = require("react/jsx-runtime");
|
|
8370
8396
|
var HtmlTypeWriter = ({
|
|
8371
8397
|
html,
|
|
8372
8398
|
duration = 20,
|
|
@@ -8409,14 +8435,14 @@ var HtmlTypeWriter = ({
|
|
|
8409
8435
|
() => doc ? htmlToReactProgressive(doc.body, typedLen, rangeMap) : null,
|
|
8410
8436
|
[doc, typedLen, rangeMap]
|
|
8411
8437
|
);
|
|
8412
|
-
return /* @__PURE__ */ (0,
|
|
8438
|
+
return /* @__PURE__ */ (0, import_jsx_runtime326.jsx)("div", { className: "lib-xplat-htmlTypewriter", children: parsed });
|
|
8413
8439
|
};
|
|
8414
8440
|
HtmlTypeWriter.displayName = "HtmlTypeWriter";
|
|
8415
8441
|
var HtmlTypeWriter_default = HtmlTypeWriter;
|
|
8416
8442
|
|
|
8417
8443
|
// src/components/ImageSelector/ImageSelector.tsx
|
|
8418
8444
|
var import_react25 = __toESM(require("react"), 1);
|
|
8419
|
-
var
|
|
8445
|
+
var import_jsx_runtime327 = require("react/jsx-runtime");
|
|
8420
8446
|
var ImageSelector = (props) => {
|
|
8421
8447
|
const { value, label, onChange } = props;
|
|
8422
8448
|
const [previewUrl, setPreviewUrl] = import_react25.default.useState();
|
|
@@ -8442,8 +8468,8 @@ var ImageSelector = (props) => {
|
|
|
8442
8468
|
const handleOpenFileDialog = () => {
|
|
8443
8469
|
inputRef.current?.click();
|
|
8444
8470
|
};
|
|
8445
|
-
return /* @__PURE__ */ (0,
|
|
8446
|
-
/* @__PURE__ */ (0,
|
|
8471
|
+
return /* @__PURE__ */ (0, import_jsx_runtime327.jsxs)("div", { className: `lib-xplat-imageselector${value ? "" : " none-value"}`, children: [
|
|
8472
|
+
/* @__PURE__ */ (0, import_jsx_runtime327.jsx)(
|
|
8447
8473
|
"input",
|
|
8448
8474
|
{
|
|
8449
8475
|
type: "file",
|
|
@@ -8453,13 +8479,13 @@ var ImageSelector = (props) => {
|
|
|
8453
8479
|
ref: inputRef
|
|
8454
8480
|
}
|
|
8455
8481
|
),
|
|
8456
|
-
value && /* @__PURE__ */ (0,
|
|
8457
|
-
/* @__PURE__ */ (0,
|
|
8458
|
-
/* @__PURE__ */ (0,
|
|
8482
|
+
value && /* @__PURE__ */ (0, import_jsx_runtime327.jsxs)("div", { className: "action-bar", children: [
|
|
8483
|
+
/* @__PURE__ */ (0, import_jsx_runtime327.jsx)("div", { className: "icon-wrapper", onClick: handleOpenFileDialog, children: /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(UploadIcon_default, {}) }),
|
|
8484
|
+
/* @__PURE__ */ (0, import_jsx_runtime327.jsx)("div", { className: "icon-wrapper", onClick: handleDeleteFile, children: /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(DeleteIcon_default, {}) })
|
|
8459
8485
|
] }),
|
|
8460
|
-
/* @__PURE__ */ (0,
|
|
8461
|
-
/* @__PURE__ */ (0,
|
|
8462
|
-
/* @__PURE__ */ (0,
|
|
8486
|
+
/* @__PURE__ */ (0, import_jsx_runtime327.jsx)("div", { className: "content", children: previewUrl ? /* @__PURE__ */ (0, import_jsx_runtime327.jsx)("img", { src: previewUrl, alt: "preview" }) : /* @__PURE__ */ (0, import_jsx_runtime327.jsxs)("div", { className: "skeleton", onClick: handleOpenFileDialog, children: [
|
|
8487
|
+
/* @__PURE__ */ (0, import_jsx_runtime327.jsx)("div", { className: "icon-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(ImageIcon_default, {}) }),
|
|
8488
|
+
/* @__PURE__ */ (0, import_jsx_runtime327.jsx)("div", { className: "label", children: label || "\uC774\uBBF8\uC9C0 \uCD94\uAC00\uD558\uAE30" })
|
|
8463
8489
|
] }) })
|
|
8464
8490
|
] });
|
|
8465
8491
|
};
|
|
@@ -8467,7 +8493,7 @@ ImageSelector.displayName = "ImageSelector";
|
|
|
8467
8493
|
var ImageSelector_default = ImageSelector;
|
|
8468
8494
|
|
|
8469
8495
|
// src/components/Pagination/Pagination.tsx
|
|
8470
|
-
var
|
|
8496
|
+
var import_jsx_runtime328 = require("react/jsx-runtime");
|
|
8471
8497
|
var getPageRange = (current, totalPages, siblingCount) => {
|
|
8472
8498
|
const totalNumbers = siblingCount * 2 + 5;
|
|
8473
8499
|
if (totalPages <= totalNumbers) {
|
|
@@ -8510,19 +8536,19 @@ var Pagination = (props) => {
|
|
|
8510
8536
|
onChange?.(page);
|
|
8511
8537
|
}
|
|
8512
8538
|
};
|
|
8513
|
-
return /* @__PURE__ */ (0,
|
|
8514
|
-
/* @__PURE__ */ (0,
|
|
8539
|
+
return /* @__PURE__ */ (0, import_jsx_runtime328.jsxs)("nav", { className: clsx_default("lib-xplat-pagination", size, type), "aria-label": "\uD398\uC774\uC9C0 \uB124\uBE44\uAC8C\uC774\uC158", children: [
|
|
8540
|
+
/* @__PURE__ */ (0, import_jsx_runtime328.jsx)(
|
|
8515
8541
|
"button",
|
|
8516
8542
|
{
|
|
8517
8543
|
className: "page-btn prev",
|
|
8518
8544
|
disabled: current <= 1,
|
|
8519
8545
|
onClick: () => handleClick(current - 1),
|
|
8520
8546
|
"aria-label": "\uC774\uC804 \uD398\uC774\uC9C0",
|
|
8521
|
-
children: /* @__PURE__ */ (0,
|
|
8547
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime328.jsx)(ChevronLeftIcon_default, {})
|
|
8522
8548
|
}
|
|
8523
8549
|
),
|
|
8524
8550
|
pages.map(
|
|
8525
|
-
(page, i) => page === "..." ? /* @__PURE__ */ (0,
|
|
8551
|
+
(page, i) => page === "..." ? /* @__PURE__ */ (0, import_jsx_runtime328.jsx)("span", { className: "dots", children: "..." }, `dots-${i}`) : /* @__PURE__ */ (0, import_jsx_runtime328.jsx)(
|
|
8526
8552
|
"button",
|
|
8527
8553
|
{
|
|
8528
8554
|
className: clsx_default("page-btn", { active: page === current }),
|
|
@@ -8533,14 +8559,14 @@ var Pagination = (props) => {
|
|
|
8533
8559
|
page
|
|
8534
8560
|
)
|
|
8535
8561
|
),
|
|
8536
|
-
/* @__PURE__ */ (0,
|
|
8562
|
+
/* @__PURE__ */ (0, import_jsx_runtime328.jsx)(
|
|
8537
8563
|
"button",
|
|
8538
8564
|
{
|
|
8539
8565
|
className: "page-btn next",
|
|
8540
8566
|
disabled: current >= totalPages,
|
|
8541
8567
|
onClick: () => handleClick(current + 1),
|
|
8542
8568
|
"aria-label": "\uB2E4\uC74C \uD398\uC774\uC9C0",
|
|
8543
|
-
children: /* @__PURE__ */ (0,
|
|
8569
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime328.jsx)(ChevronRightIcon_default, {})
|
|
8544
8570
|
}
|
|
8545
8571
|
)
|
|
8546
8572
|
] });
|
|
@@ -8550,7 +8576,7 @@ var Pagination_default = Pagination;
|
|
|
8550
8576
|
|
|
8551
8577
|
// src/components/PopOver/PopOver.tsx
|
|
8552
8578
|
var import_react26 = __toESM(require("react"), 1);
|
|
8553
|
-
var
|
|
8579
|
+
var import_jsx_runtime329 = require("react/jsx-runtime");
|
|
8554
8580
|
var PopOver = (props) => {
|
|
8555
8581
|
const { children, isOpen, onClose, PopOverEl } = props;
|
|
8556
8582
|
const popRef = import_react26.default.useRef(null);
|
|
@@ -8572,7 +8598,7 @@ var PopOver = (props) => {
|
|
|
8572
8598
|
}, 200);
|
|
8573
8599
|
}
|
|
8574
8600
|
}, [isOpen]);
|
|
8575
|
-
return /* @__PURE__ */ (0,
|
|
8601
|
+
return /* @__PURE__ */ (0, import_jsx_runtime329.jsxs)(
|
|
8576
8602
|
"div",
|
|
8577
8603
|
{
|
|
8578
8604
|
className: "lib-xplat-pop-over",
|
|
@@ -8582,7 +8608,7 @@ var PopOver = (props) => {
|
|
|
8582
8608
|
},
|
|
8583
8609
|
children: [
|
|
8584
8610
|
children,
|
|
8585
|
-
localOpen && /* @__PURE__ */ (0,
|
|
8611
|
+
localOpen && /* @__PURE__ */ (0, import_jsx_runtime329.jsx)(Portal_default, { children: /* @__PURE__ */ (0, import_jsx_runtime329.jsx)(
|
|
8586
8612
|
"div",
|
|
8587
8613
|
{
|
|
8588
8614
|
className: clsx_default(
|
|
@@ -8605,7 +8631,7 @@ PopOver.displayName = "PopOver";
|
|
|
8605
8631
|
var PopOver_default = PopOver;
|
|
8606
8632
|
|
|
8607
8633
|
// src/components/Progress/Progress.tsx
|
|
8608
|
-
var
|
|
8634
|
+
var import_jsx_runtime330 = require("react/jsx-runtime");
|
|
8609
8635
|
var Progress = (props) => {
|
|
8610
8636
|
const {
|
|
8611
8637
|
value,
|
|
@@ -8615,8 +8641,8 @@ var Progress = (props) => {
|
|
|
8615
8641
|
showLabel = false
|
|
8616
8642
|
} = props;
|
|
8617
8643
|
const percentage = Math.min(100, Math.max(0, value / max * 100));
|
|
8618
|
-
return /* @__PURE__ */ (0,
|
|
8619
|
-
/* @__PURE__ */ (0,
|
|
8644
|
+
return /* @__PURE__ */ (0, import_jsx_runtime330.jsxs)("div", { className: clsx_default("lib-xplat-progress", size, type), children: [
|
|
8645
|
+
/* @__PURE__ */ (0, import_jsx_runtime330.jsx)(
|
|
8620
8646
|
"div",
|
|
8621
8647
|
{
|
|
8622
8648
|
className: "track",
|
|
@@ -8624,7 +8650,7 @@ var Progress = (props) => {
|
|
|
8624
8650
|
"aria-valuenow": value,
|
|
8625
8651
|
"aria-valuemin": 0,
|
|
8626
8652
|
"aria-valuemax": max,
|
|
8627
|
-
children: /* @__PURE__ */ (0,
|
|
8653
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime330.jsx)(
|
|
8628
8654
|
"div",
|
|
8629
8655
|
{
|
|
8630
8656
|
className: "bar",
|
|
@@ -8633,7 +8659,7 @@ var Progress = (props) => {
|
|
|
8633
8659
|
)
|
|
8634
8660
|
}
|
|
8635
8661
|
),
|
|
8636
|
-
showLabel && /* @__PURE__ */ (0,
|
|
8662
|
+
showLabel && /* @__PURE__ */ (0, import_jsx_runtime330.jsxs)("span", { className: "label", children: [
|
|
8637
8663
|
Math.round(percentage),
|
|
8638
8664
|
"%"
|
|
8639
8665
|
] })
|
|
@@ -8653,7 +8679,7 @@ var useRadioGroupContext = () => {
|
|
|
8653
8679
|
var RadioGroupContext_default = RadioGroupContext;
|
|
8654
8680
|
|
|
8655
8681
|
// src/components/Radio/Radio.tsx
|
|
8656
|
-
var
|
|
8682
|
+
var import_jsx_runtime331 = require("react/jsx-runtime");
|
|
8657
8683
|
var Radio = (props) => {
|
|
8658
8684
|
const {
|
|
8659
8685
|
label,
|
|
@@ -8671,7 +8697,7 @@ var Radio = (props) => {
|
|
|
8671
8697
|
value,
|
|
8672
8698
|
onChange: rest.onChange
|
|
8673
8699
|
};
|
|
8674
|
-
return /* @__PURE__ */ (0,
|
|
8700
|
+
return /* @__PURE__ */ (0, import_jsx_runtime331.jsxs)(
|
|
8675
8701
|
"label",
|
|
8676
8702
|
{
|
|
8677
8703
|
className: clsx_default(
|
|
@@ -8681,18 +8707,18 @@ var Radio = (props) => {
|
|
|
8681
8707
|
localChecked ? "checked" : void 0
|
|
8682
8708
|
),
|
|
8683
8709
|
children: [
|
|
8684
|
-
/* @__PURE__ */ (0,
|
|
8685
|
-
/* @__PURE__ */ (0,
|
|
8710
|
+
/* @__PURE__ */ (0, import_jsx_runtime331.jsx)("input", { ...rest, ...inputProps, checked: localChecked, type: "radio" }),
|
|
8711
|
+
/* @__PURE__ */ (0, import_jsx_runtime331.jsx)(
|
|
8686
8712
|
"div",
|
|
8687
8713
|
{
|
|
8688
8714
|
className: clsx_default(
|
|
8689
8715
|
"circle",
|
|
8690
8716
|
localChecked ? "checked" : void 0
|
|
8691
8717
|
),
|
|
8692
|
-
children: localChecked && /* @__PURE__ */ (0,
|
|
8718
|
+
children: localChecked && /* @__PURE__ */ (0, import_jsx_runtime331.jsx)("div", { className: "inner-circle" })
|
|
8693
8719
|
}
|
|
8694
8720
|
),
|
|
8695
|
-
label && /* @__PURE__ */ (0,
|
|
8721
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime331.jsx)("span", { children: label })
|
|
8696
8722
|
]
|
|
8697
8723
|
}
|
|
8698
8724
|
);
|
|
@@ -8701,10 +8727,10 @@ Radio.displayName = "Radio";
|
|
|
8701
8727
|
var Radio_default = Radio;
|
|
8702
8728
|
|
|
8703
8729
|
// src/components/Radio/RadioGroup.tsx
|
|
8704
|
-
var
|
|
8730
|
+
var import_jsx_runtime332 = require("react/jsx-runtime");
|
|
8705
8731
|
var RadioGroup = (props) => {
|
|
8706
8732
|
const { children, ...rest } = props;
|
|
8707
|
-
return /* @__PURE__ */ (0,
|
|
8733
|
+
return /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(import_jsx_runtime332.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(RadioGroupContext_default.Provider, { value: rest, children }) });
|
|
8708
8734
|
};
|
|
8709
8735
|
RadioGroup.displayName = "RadioGroup";
|
|
8710
8736
|
var RadioGroup_default = RadioGroup;
|
|
@@ -8719,7 +8745,7 @@ var context_default = SelectContext;
|
|
|
8719
8745
|
|
|
8720
8746
|
// src/components/Select/SelectItem.tsx
|
|
8721
8747
|
var import_react29 = __toESM(require("react"), 1);
|
|
8722
|
-
var
|
|
8748
|
+
var import_jsx_runtime333 = require("react/jsx-runtime");
|
|
8723
8749
|
var SelectItem = (props) => {
|
|
8724
8750
|
const { children, value, onClick, disabled = false } = props;
|
|
8725
8751
|
const ctx = import_react29.default.useContext(context_default);
|
|
@@ -8731,7 +8757,7 @@ var SelectItem = (props) => {
|
|
|
8731
8757
|
ctx?.close();
|
|
8732
8758
|
onClick?.();
|
|
8733
8759
|
};
|
|
8734
|
-
return /* @__PURE__ */ (0,
|
|
8760
|
+
return /* @__PURE__ */ (0, import_jsx_runtime333.jsx)(
|
|
8735
8761
|
"div",
|
|
8736
8762
|
{
|
|
8737
8763
|
className: clsx_default("select-item", disabled && "disabled"),
|
|
@@ -8752,7 +8778,7 @@ SelectItem.displayName = "Select.Item";
|
|
|
8752
8778
|
var SelectItem_default = SelectItem;
|
|
8753
8779
|
|
|
8754
8780
|
// src/components/Select/Select.tsx
|
|
8755
|
-
var
|
|
8781
|
+
var import_jsx_runtime334 = require("react/jsx-runtime");
|
|
8756
8782
|
var ANIMATION_DURATION_MS3 = 200;
|
|
8757
8783
|
var SelectRoot = (props) => {
|
|
8758
8784
|
const {
|
|
@@ -8828,7 +8854,7 @@ var SelectRoot = (props) => {
|
|
|
8828
8854
|
if (disabled) return;
|
|
8829
8855
|
toggle();
|
|
8830
8856
|
};
|
|
8831
|
-
return /* @__PURE__ */ (0,
|
|
8857
|
+
return /* @__PURE__ */ (0, import_jsx_runtime334.jsx)(context_default.Provider, { value: ctxValue, children: /* @__PURE__ */ (0, import_jsx_runtime334.jsxs)(
|
|
8832
8858
|
"div",
|
|
8833
8859
|
{
|
|
8834
8860
|
className: clsx_default(
|
|
@@ -8839,7 +8865,7 @@ var SelectRoot = (props) => {
|
|
|
8839
8865
|
mounted && "is-open"
|
|
8840
8866
|
),
|
|
8841
8867
|
children: [
|
|
8842
|
-
/* @__PURE__ */ (0,
|
|
8868
|
+
/* @__PURE__ */ (0, import_jsx_runtime334.jsxs)(
|
|
8843
8869
|
"div",
|
|
8844
8870
|
{
|
|
8845
8871
|
ref: triggerRef,
|
|
@@ -8863,7 +8889,7 @@ var SelectRoot = (props) => {
|
|
|
8863
8889
|
}
|
|
8864
8890
|
},
|
|
8865
8891
|
children: [
|
|
8866
|
-
/* @__PURE__ */ (0,
|
|
8892
|
+
/* @__PURE__ */ (0, import_jsx_runtime334.jsx)(
|
|
8867
8893
|
"span",
|
|
8868
8894
|
{
|
|
8869
8895
|
className: clsx_default(
|
|
@@ -8873,25 +8899,25 @@ var SelectRoot = (props) => {
|
|
|
8873
8899
|
children: selectedLabel ?? placeholder
|
|
8874
8900
|
}
|
|
8875
8901
|
),
|
|
8876
|
-
/* @__PURE__ */ (0,
|
|
8902
|
+
/* @__PURE__ */ (0, import_jsx_runtime334.jsx)(
|
|
8877
8903
|
"span",
|
|
8878
8904
|
{
|
|
8879
8905
|
className: clsx_default("select-trigger-icon", isOpen && "open"),
|
|
8880
8906
|
"aria-hidden": true,
|
|
8881
|
-
children: /* @__PURE__ */ (0,
|
|
8907
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime334.jsx)(ChevronDownIcon_default, {})
|
|
8882
8908
|
}
|
|
8883
8909
|
)
|
|
8884
8910
|
]
|
|
8885
8911
|
}
|
|
8886
8912
|
),
|
|
8887
|
-
mounted && /* @__PURE__ */ (0,
|
|
8913
|
+
mounted && /* @__PURE__ */ (0, import_jsx_runtime334.jsx)(Portal_default, { children: /* @__PURE__ */ (0, import_jsx_runtime334.jsx)(
|
|
8888
8914
|
"div",
|
|
8889
8915
|
{
|
|
8890
8916
|
className: clsx_default("lib-xplat-select-content", position.direction, stateClass),
|
|
8891
8917
|
ref: contentRef,
|
|
8892
8918
|
style: { ...position.position, width: triggerRef.current?.offsetWidth },
|
|
8893
8919
|
role: "listbox",
|
|
8894
|
-
children: /* @__PURE__ */ (0,
|
|
8920
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime334.jsx)(context_default.Provider, { value: ctxValue, children: itemChildren })
|
|
8895
8921
|
}
|
|
8896
8922
|
) })
|
|
8897
8923
|
]
|
|
@@ -8905,7 +8931,7 @@ var Select = Object.assign(SelectRoot, {
|
|
|
8905
8931
|
var Select_default = Select;
|
|
8906
8932
|
|
|
8907
8933
|
// src/components/Skeleton/Skeleton.tsx
|
|
8908
|
-
var
|
|
8934
|
+
var import_jsx_runtime335 = require("react/jsx-runtime");
|
|
8909
8935
|
var SIZE_MAP = {
|
|
8910
8936
|
xs: "var(--spacing-size-1)",
|
|
8911
8937
|
sm: "var(--spacing-size-2)",
|
|
@@ -8921,7 +8947,7 @@ var Skeleton = (props) => {
|
|
|
8921
8947
|
...width != null && { width: SIZE_MAP[width] },
|
|
8922
8948
|
...height != null && { height: SIZE_MAP[height] }
|
|
8923
8949
|
};
|
|
8924
|
-
return /* @__PURE__ */ (0,
|
|
8950
|
+
return /* @__PURE__ */ (0, import_jsx_runtime335.jsx)(
|
|
8925
8951
|
"div",
|
|
8926
8952
|
{
|
|
8927
8953
|
className: clsx_default("lib-xplat-skeleton", variant),
|
|
@@ -8934,20 +8960,20 @@ Skeleton.displayName = "Skeleton";
|
|
|
8934
8960
|
var Skeleton_default = Skeleton;
|
|
8935
8961
|
|
|
8936
8962
|
// src/components/Spinner/Spinner.tsx
|
|
8937
|
-
var
|
|
8963
|
+
var import_jsx_runtime336 = require("react/jsx-runtime");
|
|
8938
8964
|
var Spinner = (props) => {
|
|
8939
8965
|
const {
|
|
8940
8966
|
size = "md",
|
|
8941
8967
|
type = "brand"
|
|
8942
8968
|
} = props;
|
|
8943
|
-
return /* @__PURE__ */ (0,
|
|
8969
|
+
return /* @__PURE__ */ (0, import_jsx_runtime336.jsx)(
|
|
8944
8970
|
"div",
|
|
8945
8971
|
{
|
|
8946
8972
|
className: clsx_default("lib-xplat-spinner", size, type),
|
|
8947
8973
|
role: "status",
|
|
8948
8974
|
"aria-label": "\uB85C\uB529 \uC911",
|
|
8949
|
-
children: /* @__PURE__ */ (0,
|
|
8950
|
-
/* @__PURE__ */ (0,
|
|
8975
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime336.jsxs)("svg", { viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
|
|
8976
|
+
/* @__PURE__ */ (0, import_jsx_runtime336.jsx)(
|
|
8951
8977
|
"circle",
|
|
8952
8978
|
{
|
|
8953
8979
|
className: "track",
|
|
@@ -8957,7 +8983,7 @@ var Spinner = (props) => {
|
|
|
8957
8983
|
strokeWidth: "3"
|
|
8958
8984
|
}
|
|
8959
8985
|
),
|
|
8960
|
-
/* @__PURE__ */ (0,
|
|
8986
|
+
/* @__PURE__ */ (0, import_jsx_runtime336.jsx)(
|
|
8961
8987
|
"circle",
|
|
8962
8988
|
{
|
|
8963
8989
|
className: "indicator",
|
|
@@ -8976,20 +9002,20 @@ Spinner.displayName = "Spinner";
|
|
|
8976
9002
|
var Spinner_default = Spinner;
|
|
8977
9003
|
|
|
8978
9004
|
// src/components/Steps/Steps.tsx
|
|
8979
|
-
var
|
|
9005
|
+
var import_jsx_runtime337 = require("react/jsx-runtime");
|
|
8980
9006
|
var Steps = (props) => {
|
|
8981
9007
|
const {
|
|
8982
9008
|
items,
|
|
8983
9009
|
current,
|
|
8984
9010
|
type = "brand"
|
|
8985
9011
|
} = props;
|
|
8986
|
-
return /* @__PURE__ */ (0,
|
|
9012
|
+
return /* @__PURE__ */ (0, import_jsx_runtime337.jsx)("div", { className: clsx_default("lib-xplat-steps", type), children: items.map((item, index) => {
|
|
8987
9013
|
const status = index < current ? "completed" : index === current ? "active" : "pending";
|
|
8988
|
-
return /* @__PURE__ */ (0,
|
|
8989
|
-
/* @__PURE__ */ (0,
|
|
8990
|
-
/* @__PURE__ */ (0,
|
|
8991
|
-
/* @__PURE__ */ (0,
|
|
8992
|
-
item.description && /* @__PURE__ */ (0,
|
|
9014
|
+
return /* @__PURE__ */ (0, import_jsx_runtime337.jsxs)("div", { className: clsx_default("step-item", status), children: [
|
|
9015
|
+
/* @__PURE__ */ (0, import_jsx_runtime337.jsx)("div", { className: "step-circle", children: status === "completed" ? /* @__PURE__ */ (0, import_jsx_runtime337.jsx)(CheckIcon_default, {}) : /* @__PURE__ */ (0, import_jsx_runtime337.jsx)("span", { children: index + 1 }) }),
|
|
9016
|
+
/* @__PURE__ */ (0, import_jsx_runtime337.jsxs)("div", { className: "step-content", children: [
|
|
9017
|
+
/* @__PURE__ */ (0, import_jsx_runtime337.jsx)("span", { className: "step-title", children: item.title }),
|
|
9018
|
+
item.description && /* @__PURE__ */ (0, import_jsx_runtime337.jsx)("span", { className: "step-description", children: item.description })
|
|
8993
9019
|
] })
|
|
8994
9020
|
] }, index);
|
|
8995
9021
|
}) });
|
|
@@ -8999,7 +9025,7 @@ var Steps_default = Steps;
|
|
|
8999
9025
|
|
|
9000
9026
|
// src/components/Swiper/Swiper.tsx
|
|
9001
9027
|
var import_react31 = __toESM(require("react"), 1);
|
|
9002
|
-
var
|
|
9028
|
+
var import_jsx_runtime338 = require("react/jsx-runtime");
|
|
9003
9029
|
var Swiper = (props) => {
|
|
9004
9030
|
const {
|
|
9005
9031
|
auto = false,
|
|
@@ -9198,7 +9224,7 @@ var Swiper = (props) => {
|
|
|
9198
9224
|
const slideWidthPercent = 100 / viewItemCount;
|
|
9199
9225
|
const gapAdjust = spaceBetween * (viewItemCount - 1) / viewItemCount;
|
|
9200
9226
|
const slideElements = import_react31.default.useMemo(
|
|
9201
|
-
() => extendedItems.map((item, idx) => /* @__PURE__ */ (0,
|
|
9227
|
+
() => extendedItems.map((item, idx) => /* @__PURE__ */ (0, import_jsx_runtime338.jsx)(
|
|
9202
9228
|
"div",
|
|
9203
9229
|
{
|
|
9204
9230
|
className: "lib-xplat-swiper__slide",
|
|
@@ -9217,14 +9243,14 @@ var Swiper = (props) => {
|
|
|
9217
9243
|
Math.floor(realIndex / slideBy),
|
|
9218
9244
|
totalSteps - 1
|
|
9219
9245
|
);
|
|
9220
|
-
return /* @__PURE__ */ (0,
|
|
9221
|
-
/* @__PURE__ */ (0,
|
|
9246
|
+
return /* @__PURE__ */ (0, import_jsx_runtime338.jsxs)("div", { className: "lib-xplat-swiper", ref: containerRef, children: [
|
|
9247
|
+
/* @__PURE__ */ (0, import_jsx_runtime338.jsx)(
|
|
9222
9248
|
"div",
|
|
9223
9249
|
{
|
|
9224
9250
|
className: "lib-xplat-swiper__viewport",
|
|
9225
9251
|
onMouseDown: handleDragStart,
|
|
9226
9252
|
onTouchStart: handleDragStart,
|
|
9227
|
-
children: /* @__PURE__ */ (0,
|
|
9253
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime338.jsx)(
|
|
9228
9254
|
"div",
|
|
9229
9255
|
{
|
|
9230
9256
|
className: clsx_default(
|
|
@@ -9242,7 +9268,7 @@ var Swiper = (props) => {
|
|
|
9242
9268
|
)
|
|
9243
9269
|
}
|
|
9244
9270
|
),
|
|
9245
|
-
showProgress && canSlide && /* @__PURE__ */ (0,
|
|
9271
|
+
showProgress && canSlide && /* @__PURE__ */ (0, import_jsx_runtime338.jsx)("div", { className: "lib-xplat-swiper__progress", children: /* @__PURE__ */ (0, import_jsx_runtime338.jsx)("div", { className: "lib-xplat-swiper__progress-track", children: /* @__PURE__ */ (0, import_jsx_runtime338.jsx)(
|
|
9246
9272
|
"span",
|
|
9247
9273
|
{
|
|
9248
9274
|
className: "lib-xplat-swiper__progress-fill",
|
|
@@ -9252,7 +9278,7 @@ var Swiper = (props) => {
|
|
|
9252
9278
|
}
|
|
9253
9279
|
}
|
|
9254
9280
|
) }) }),
|
|
9255
|
-
canSlide && /* @__PURE__ */ (0,
|
|
9281
|
+
canSlide && /* @__PURE__ */ (0, import_jsx_runtime338.jsx)("div", { className: "lib-xplat-swiper__dots", children: Array.from({ length: totalSteps }, (_, i) => /* @__PURE__ */ (0, import_jsx_runtime338.jsx)(
|
|
9256
9282
|
"button",
|
|
9257
9283
|
{
|
|
9258
9284
|
className: clsx_default(
|
|
@@ -9271,7 +9297,7 @@ var Swiper_default = Swiper;
|
|
|
9271
9297
|
|
|
9272
9298
|
// src/components/Switch/Switch.tsx
|
|
9273
9299
|
var import_react32 = __toESM(require("react"), 1);
|
|
9274
|
-
var
|
|
9300
|
+
var import_jsx_runtime339 = require("react/jsx-runtime");
|
|
9275
9301
|
var KNOB_TRANSITION_MS = 250;
|
|
9276
9302
|
var Switch = (props) => {
|
|
9277
9303
|
const {
|
|
@@ -9298,7 +9324,7 @@ var Switch = (props) => {
|
|
|
9298
9324
|
timeoutRef.current = null;
|
|
9299
9325
|
}, KNOB_TRANSITION_MS);
|
|
9300
9326
|
};
|
|
9301
|
-
return /* @__PURE__ */ (0,
|
|
9327
|
+
return /* @__PURE__ */ (0, import_jsx_runtime339.jsx)(
|
|
9302
9328
|
"div",
|
|
9303
9329
|
{
|
|
9304
9330
|
className: clsx_default(
|
|
@@ -9311,7 +9337,7 @@ var Switch = (props) => {
|
|
|
9311
9337
|
),
|
|
9312
9338
|
onClick: handleClick,
|
|
9313
9339
|
"aria-disabled": disabled || isAnimating,
|
|
9314
|
-
children: /* @__PURE__ */ (0,
|
|
9340
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime339.jsx)("div", { className: clsx_default("knob", value ? "checked" : void 0) })
|
|
9315
9341
|
}
|
|
9316
9342
|
);
|
|
9317
9343
|
};
|
|
@@ -9329,7 +9355,7 @@ var useTableContext = () => {
|
|
|
9329
9355
|
var TableContext_default = TableContext;
|
|
9330
9356
|
|
|
9331
9357
|
// src/components/Table/Table.tsx
|
|
9332
|
-
var
|
|
9358
|
+
var import_jsx_runtime340 = require("react/jsx-runtime");
|
|
9333
9359
|
var Table = (props) => {
|
|
9334
9360
|
const {
|
|
9335
9361
|
children,
|
|
@@ -9339,7 +9365,7 @@ var Table = (props) => {
|
|
|
9339
9365
|
headerSticky = false,
|
|
9340
9366
|
stickyShadow = true
|
|
9341
9367
|
} = props;
|
|
9342
|
-
return /* @__PURE__ */ (0,
|
|
9368
|
+
return /* @__PURE__ */ (0, import_jsx_runtime340.jsx)("div", { className: `lib-xplat-table-wrapper ${size}`, children: /* @__PURE__ */ (0, import_jsx_runtime340.jsx)(
|
|
9343
9369
|
TableContext_default.Provider,
|
|
9344
9370
|
{
|
|
9345
9371
|
value: {
|
|
@@ -9348,7 +9374,7 @@ var Table = (props) => {
|
|
|
9348
9374
|
headerSticky,
|
|
9349
9375
|
stickyShadow
|
|
9350
9376
|
},
|
|
9351
|
-
children: /* @__PURE__ */ (0,
|
|
9377
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime340.jsx)("table", { className: "lib-xplat-table", children })
|
|
9352
9378
|
}
|
|
9353
9379
|
) });
|
|
9354
9380
|
};
|
|
@@ -9356,10 +9382,10 @@ Table.displayName = "Table";
|
|
|
9356
9382
|
var Table_default = Table;
|
|
9357
9383
|
|
|
9358
9384
|
// src/components/Table/TableBody.tsx
|
|
9359
|
-
var
|
|
9385
|
+
var import_jsx_runtime341 = require("react/jsx-runtime");
|
|
9360
9386
|
var TableBody = (props) => {
|
|
9361
9387
|
const { children } = props;
|
|
9362
|
-
return /* @__PURE__ */ (0,
|
|
9388
|
+
return /* @__PURE__ */ (0, import_jsx_runtime341.jsx)("tbody", { children });
|
|
9363
9389
|
};
|
|
9364
9390
|
TableBody.displayName = "TableBody";
|
|
9365
9391
|
var TableBody_default = TableBody;
|
|
@@ -9389,7 +9415,7 @@ var useTableRowContext = () => {
|
|
|
9389
9415
|
var TableRowContext_default = TableRowContext;
|
|
9390
9416
|
|
|
9391
9417
|
// src/components/Table/TableCell.tsx
|
|
9392
|
-
var
|
|
9418
|
+
var import_jsx_runtime342 = require("react/jsx-runtime");
|
|
9393
9419
|
var TableCell = import_react36.default.memo((props) => {
|
|
9394
9420
|
const {
|
|
9395
9421
|
children,
|
|
@@ -9431,7 +9457,7 @@ var TableCell = import_react36.default.memo((props) => {
|
|
|
9431
9457
|
const CellTag = cellRef.current?.tagName === "TH" ? "th" : "td";
|
|
9432
9458
|
const isLastSticky = isSticky && stickyCells[stickyCells.length - 1] === cellRef;
|
|
9433
9459
|
const enableHover = headContext && headContext.cellHover;
|
|
9434
|
-
return /* @__PURE__ */ (0,
|
|
9460
|
+
return /* @__PURE__ */ (0, import_jsx_runtime342.jsx)(
|
|
9435
9461
|
CellTag,
|
|
9436
9462
|
{
|
|
9437
9463
|
ref: cellRef,
|
|
@@ -9456,20 +9482,20 @@ TableCell.displayName = "TableCell";
|
|
|
9456
9482
|
var TableCell_default = TableCell;
|
|
9457
9483
|
|
|
9458
9484
|
// src/components/Table/TableHead.tsx
|
|
9459
|
-
var
|
|
9485
|
+
var import_jsx_runtime343 = require("react/jsx-runtime");
|
|
9460
9486
|
var TableHead = ({
|
|
9461
9487
|
children,
|
|
9462
9488
|
cellHover = false
|
|
9463
9489
|
}) => {
|
|
9464
9490
|
const { headerSticky } = useTableContext();
|
|
9465
|
-
return /* @__PURE__ */ (0,
|
|
9491
|
+
return /* @__PURE__ */ (0, import_jsx_runtime343.jsx)(TableHeadContext_default.Provider, { value: { cellHover }, children: /* @__PURE__ */ (0, import_jsx_runtime343.jsx)("thead", { className: clsx_default(headerSticky ? "table-sticky" : null), children }) });
|
|
9466
9492
|
};
|
|
9467
9493
|
TableHead.displayName = "TableHead";
|
|
9468
9494
|
var TableHead_default = TableHead;
|
|
9469
9495
|
|
|
9470
9496
|
// src/components/Table/TableRow.tsx
|
|
9471
9497
|
var import_react37 = __toESM(require("react"), 1);
|
|
9472
|
-
var
|
|
9498
|
+
var import_jsx_runtime344 = require("react/jsx-runtime");
|
|
9473
9499
|
var TableRow = import_react37.default.memo((props) => {
|
|
9474
9500
|
const {
|
|
9475
9501
|
children,
|
|
@@ -9485,7 +9511,7 @@ var TableRow = import_react37.default.memo((props) => {
|
|
|
9485
9511
|
return [...prev, ref];
|
|
9486
9512
|
});
|
|
9487
9513
|
};
|
|
9488
|
-
return /* @__PURE__ */ (0,
|
|
9514
|
+
return /* @__PURE__ */ (0, import_jsx_runtime344.jsx)(TableRowContext_default.Provider, { value: { stickyCells, registerStickyCell }, children: /* @__PURE__ */ (0, import_jsx_runtime344.jsx)(
|
|
9489
9515
|
"tr",
|
|
9490
9516
|
{
|
|
9491
9517
|
className: clsx_default(
|
|
@@ -9503,7 +9529,7 @@ TableRow.displayName = "TableRow";
|
|
|
9503
9529
|
var TableRow_default = TableRow;
|
|
9504
9530
|
|
|
9505
9531
|
// src/components/Tag/Tag.tsx
|
|
9506
|
-
var
|
|
9532
|
+
var import_jsx_runtime345 = require("react/jsx-runtime");
|
|
9507
9533
|
var Tag = (props) => {
|
|
9508
9534
|
const {
|
|
9509
9535
|
children,
|
|
@@ -9513,7 +9539,7 @@ var Tag = (props) => {
|
|
|
9513
9539
|
disabled = false,
|
|
9514
9540
|
colorIndex
|
|
9515
9541
|
} = props;
|
|
9516
|
-
return /* @__PURE__ */ (0,
|
|
9542
|
+
return /* @__PURE__ */ (0, import_jsx_runtime345.jsxs)(
|
|
9517
9543
|
"span",
|
|
9518
9544
|
{
|
|
9519
9545
|
className: clsx_default(
|
|
@@ -9524,8 +9550,8 @@ var Tag = (props) => {
|
|
|
9524
9550
|
disabled && "disabled"
|
|
9525
9551
|
),
|
|
9526
9552
|
children: [
|
|
9527
|
-
/* @__PURE__ */ (0,
|
|
9528
|
-
onClose && /* @__PURE__ */ (0,
|
|
9553
|
+
/* @__PURE__ */ (0, import_jsx_runtime345.jsx)("span", { className: "tag-label", children }),
|
|
9554
|
+
onClose && /* @__PURE__ */ (0, import_jsx_runtime345.jsx)("button", { className: "tag-close", onClick: onClose, "aria-label": "\uC0AD\uC81C", disabled, children: /* @__PURE__ */ (0, import_jsx_runtime345.jsx)(XIcon_default, {}) })
|
|
9529
9555
|
]
|
|
9530
9556
|
}
|
|
9531
9557
|
);
|
|
@@ -9535,7 +9561,7 @@ var Tag_default = Tag;
|
|
|
9535
9561
|
|
|
9536
9562
|
// src/components/TextArea/TextArea.tsx
|
|
9537
9563
|
var import_react38 = __toESM(require("react"), 1);
|
|
9538
|
-
var
|
|
9564
|
+
var import_jsx_runtime346 = require("react/jsx-runtime");
|
|
9539
9565
|
var TextArea = import_react38.default.forwardRef(
|
|
9540
9566
|
(props, ref) => {
|
|
9541
9567
|
const { value, onChange, disabled, ...textareaProps } = props;
|
|
@@ -9566,14 +9592,14 @@ var TextArea = import_react38.default.forwardRef(
|
|
|
9566
9592
|
const nextHeight = Math.min(el.scrollHeight, 400);
|
|
9567
9593
|
el.style.height = `${nextHeight}px`;
|
|
9568
9594
|
}, [value]);
|
|
9569
|
-
return /* @__PURE__ */ (0,
|
|
9595
|
+
return /* @__PURE__ */ (0, import_jsx_runtime346.jsx)("div", { className: "lib-xplat-textarea-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime346.jsx)(
|
|
9570
9596
|
"div",
|
|
9571
9597
|
{
|
|
9572
9598
|
className: clsx_default(
|
|
9573
9599
|
"lib-xplat-textarea",
|
|
9574
9600
|
disabled ? "disabled" : void 0
|
|
9575
9601
|
),
|
|
9576
|
-
children: /* @__PURE__ */ (0,
|
|
9602
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime346.jsx)(
|
|
9577
9603
|
"textarea",
|
|
9578
9604
|
{
|
|
9579
9605
|
...textareaProps,
|
|
@@ -9593,7 +9619,7 @@ var TextArea_default = TextArea;
|
|
|
9593
9619
|
// src/components/Toast/Toast.tsx
|
|
9594
9620
|
var import_react39 = __toESM(require("react"), 1);
|
|
9595
9621
|
var import_react_dom4 = require("react-dom");
|
|
9596
|
-
var
|
|
9622
|
+
var import_jsx_runtime347 = require("react/jsx-runtime");
|
|
9597
9623
|
var ToastContext = import_react39.default.createContext(null);
|
|
9598
9624
|
var useToast = () => {
|
|
9599
9625
|
const ctx = import_react39.default.useContext(ToastContext);
|
|
@@ -9609,7 +9635,7 @@ var ToastItemComponent = ({ item, isExiting, onClose }) => {
|
|
|
9609
9635
|
setHeight(ref.current.offsetHeight);
|
|
9610
9636
|
}
|
|
9611
9637
|
}, [isExiting]);
|
|
9612
|
-
return /* @__PURE__ */ (0,
|
|
9638
|
+
return /* @__PURE__ */ (0, import_jsx_runtime347.jsx)(
|
|
9613
9639
|
"div",
|
|
9614
9640
|
{
|
|
9615
9641
|
className: clsx_default("lib-xplat-toast-wrapper", { exit: isExiting }),
|
|
@@ -9617,15 +9643,15 @@ var ToastItemComponent = ({ item, isExiting, onClose }) => {
|
|
|
9617
9643
|
maxHeight: isExiting ? 0 : height ?? "none",
|
|
9618
9644
|
marginBottom: isExiting ? 0 : void 0
|
|
9619
9645
|
},
|
|
9620
|
-
children: /* @__PURE__ */ (0,
|
|
9646
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime347.jsxs)(
|
|
9621
9647
|
"div",
|
|
9622
9648
|
{
|
|
9623
9649
|
ref,
|
|
9624
9650
|
className: clsx_default("lib-xplat-toast", item.type, { exit: isExiting }),
|
|
9625
9651
|
role: "alert",
|
|
9626
9652
|
children: [
|
|
9627
|
-
/* @__PURE__ */ (0,
|
|
9628
|
-
/* @__PURE__ */ (0,
|
|
9653
|
+
/* @__PURE__ */ (0, import_jsx_runtime347.jsx)("span", { className: "message", children: item.message }),
|
|
9654
|
+
/* @__PURE__ */ (0, import_jsx_runtime347.jsx)("button", { className: "close-btn", onClick: onClose, "aria-label": "\uB2EB\uAE30", children: "\xD7" })
|
|
9629
9655
|
]
|
|
9630
9656
|
}
|
|
9631
9657
|
)
|
|
@@ -9663,10 +9689,10 @@ var ToastProvider = ({
|
|
|
9663
9689
|
},
|
|
9664
9690
|
[remove]
|
|
9665
9691
|
);
|
|
9666
|
-
return /* @__PURE__ */ (0,
|
|
9692
|
+
return /* @__PURE__ */ (0, import_jsx_runtime347.jsxs)(ToastContext.Provider, { value: { toast }, children: [
|
|
9667
9693
|
children,
|
|
9668
9694
|
mounted && (0, import_react_dom4.createPortal)(
|
|
9669
|
-
/* @__PURE__ */ (0,
|
|
9695
|
+
/* @__PURE__ */ (0, import_jsx_runtime347.jsx)("div", { className: clsx_default("lib-xplat-toast-container", position), children: toasts.map((t) => /* @__PURE__ */ (0, import_jsx_runtime347.jsx)(
|
|
9670
9696
|
ToastItemComponent,
|
|
9671
9697
|
{
|
|
9672
9698
|
item: t,
|
|
@@ -9683,7 +9709,7 @@ ToastProvider.displayName = "ToastProvider";
|
|
|
9683
9709
|
|
|
9684
9710
|
// src/components/Tooltip/Tooltip.tsx
|
|
9685
9711
|
var import_react40 = __toESM(require("react"), 1);
|
|
9686
|
-
var
|
|
9712
|
+
var import_jsx_runtime348 = require("react/jsx-runtime");
|
|
9687
9713
|
var Tooltip = (props) => {
|
|
9688
9714
|
const {
|
|
9689
9715
|
type = "primary",
|
|
@@ -9691,9 +9717,9 @@ var Tooltip = (props) => {
|
|
|
9691
9717
|
children
|
|
9692
9718
|
} = props;
|
|
9693
9719
|
const iconRef = import_react40.default.useRef(null);
|
|
9694
|
-
return /* @__PURE__ */ (0,
|
|
9695
|
-
/* @__PURE__ */ (0,
|
|
9696
|
-
/* @__PURE__ */ (0,
|
|
9720
|
+
return /* @__PURE__ */ (0, import_jsx_runtime348.jsxs)("div", { className: "lib-xplat-tooltip", children: [
|
|
9721
|
+
/* @__PURE__ */ (0, import_jsx_runtime348.jsx)("div", { className: "tooltip-content", ref: iconRef, children: children || "Tooltip" }),
|
|
9722
|
+
/* @__PURE__ */ (0, import_jsx_runtime348.jsx)("div", { className: clsx_default("tooltip-wrapper", type), children: description })
|
|
9697
9723
|
] });
|
|
9698
9724
|
};
|
|
9699
9725
|
Tooltip.displayName = "Tooltip";
|
|
@@ -9701,10 +9727,10 @@ var Tooltip_default = Tooltip;
|
|
|
9701
9727
|
|
|
9702
9728
|
// src/components/Video/Video.tsx
|
|
9703
9729
|
var import_react41 = __toESM(require("react"), 1);
|
|
9704
|
-
var
|
|
9705
|
-
var PipIcon = () => /* @__PURE__ */ (0,
|
|
9706
|
-
/* @__PURE__ */ (0,
|
|
9707
|
-
/* @__PURE__ */ (0,
|
|
9730
|
+
var import_jsx_runtime349 = require("react/jsx-runtime");
|
|
9731
|
+
var PipIcon = () => /* @__PURE__ */ (0, import_jsx_runtime349.jsxs)("svg", { viewBox: "0 0 24 24", width: "1em", height: "1em", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
|
|
9732
|
+
/* @__PURE__ */ (0, import_jsx_runtime349.jsx)("rect", { x: "3", y: "5", width: "18", height: "14", rx: "2" }),
|
|
9733
|
+
/* @__PURE__ */ (0, import_jsx_runtime349.jsx)("rect", { x: "12", y: "11", width: "7", height: "6", rx: "1", fill: "currentColor" })
|
|
9708
9734
|
] });
|
|
9709
9735
|
var formatTime = (sec) => {
|
|
9710
9736
|
if (!Number.isFinite(sec) || sec < 0) return "0:00";
|
|
@@ -9879,13 +9905,13 @@ var Video = import_react41.default.forwardRef((props, ref) => {
|
|
|
9879
9905
|
const volumePct = (isMuted ? 0 : volume) * 100;
|
|
9880
9906
|
const VolumeGlyph = isMuted || volume === 0 ? VolumeXIcon_default : volume < 0.5 ? VolumeIcon_default : Volume2Icon_default;
|
|
9881
9907
|
const pipSupported = typeof document !== "undefined" && "pictureInPictureEnabled" in document && document.pictureInPictureEnabled;
|
|
9882
|
-
return /* @__PURE__ */ (0,
|
|
9908
|
+
return /* @__PURE__ */ (0, import_jsx_runtime349.jsxs)(
|
|
9883
9909
|
"div",
|
|
9884
9910
|
{
|
|
9885
9911
|
ref: containerRef,
|
|
9886
9912
|
className: clsx_default("lib-xplat-video", showControls && "has-controls"),
|
|
9887
9913
|
children: [
|
|
9888
|
-
/* @__PURE__ */ (0,
|
|
9914
|
+
/* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
|
|
9889
9915
|
"video",
|
|
9890
9916
|
{
|
|
9891
9917
|
ref: setRefs,
|
|
@@ -9906,7 +9932,7 @@ var Video = import_react41.default.forwardRef((props, ref) => {
|
|
|
9906
9932
|
children
|
|
9907
9933
|
}
|
|
9908
9934
|
),
|
|
9909
|
-
showCenterPlay && /* @__PURE__ */ (0,
|
|
9935
|
+
showCenterPlay && /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
|
|
9910
9936
|
"button",
|
|
9911
9937
|
{
|
|
9912
9938
|
type: "button",
|
|
@@ -9918,11 +9944,11 @@ var Video = import_react41.default.forwardRef((props, ref) => {
|
|
|
9918
9944
|
onClick: togglePlay,
|
|
9919
9945
|
"aria-label": isPlaying ? "\uC77C\uC2DC\uC815\uC9C0" : "\uC7AC\uC0DD",
|
|
9920
9946
|
tabIndex: -1,
|
|
9921
|
-
children: /* @__PURE__ */ (0,
|
|
9947
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime349.jsx)("span", { className: "center-play-icon", children: /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(PlayCircleIcon_default, {}) })
|
|
9922
9948
|
}
|
|
9923
9949
|
),
|
|
9924
|
-
showControls && /* @__PURE__ */ (0,
|
|
9925
|
-
/* @__PURE__ */ (0,
|
|
9950
|
+
showControls && /* @__PURE__ */ (0, import_jsx_runtime349.jsxs)("div", { className: "controls", onClick: (e) => e.stopPropagation(), children: [
|
|
9951
|
+
/* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
|
|
9926
9952
|
"input",
|
|
9927
9953
|
{
|
|
9928
9954
|
type: "range",
|
|
@@ -9939,29 +9965,29 @@ var Video = import_react41.default.forwardRef((props, ref) => {
|
|
|
9939
9965
|
}
|
|
9940
9966
|
}
|
|
9941
9967
|
),
|
|
9942
|
-
/* @__PURE__ */ (0,
|
|
9943
|
-
/* @__PURE__ */ (0,
|
|
9968
|
+
/* @__PURE__ */ (0, import_jsx_runtime349.jsxs)("div", { className: "controls-row", children: [
|
|
9969
|
+
/* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
|
|
9944
9970
|
"button",
|
|
9945
9971
|
{
|
|
9946
9972
|
type: "button",
|
|
9947
9973
|
className: "control-btn",
|
|
9948
9974
|
onClick: togglePlay,
|
|
9949
9975
|
"aria-label": isPlaying ? "\uC77C\uC2DC\uC815\uC9C0" : "\uC7AC\uC0DD",
|
|
9950
|
-
children: isPlaying ? /* @__PURE__ */ (0,
|
|
9976
|
+
children: isPlaying ? /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(PauseIcon_default, {}) : /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(PlayIcon_default, {})
|
|
9951
9977
|
}
|
|
9952
9978
|
),
|
|
9953
|
-
/* @__PURE__ */ (0,
|
|
9954
|
-
/* @__PURE__ */ (0,
|
|
9979
|
+
/* @__PURE__ */ (0, import_jsx_runtime349.jsxs)("div", { className: "volume-group", children: [
|
|
9980
|
+
/* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
|
|
9955
9981
|
"button",
|
|
9956
9982
|
{
|
|
9957
9983
|
type: "button",
|
|
9958
9984
|
className: "control-btn",
|
|
9959
9985
|
onClick: toggleMute,
|
|
9960
9986
|
"aria-label": isMuted ? "\uC74C\uC18C\uAC70 \uD574\uC81C" : "\uC74C\uC18C\uAC70",
|
|
9961
|
-
children: /* @__PURE__ */ (0,
|
|
9987
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(VolumeGlyph, {})
|
|
9962
9988
|
}
|
|
9963
9989
|
),
|
|
9964
|
-
/* @__PURE__ */ (0,
|
|
9990
|
+
/* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
|
|
9965
9991
|
"input",
|
|
9966
9992
|
{
|
|
9967
9993
|
type: "range",
|
|
@@ -9976,14 +10002,14 @@ var Video = import_react41.default.forwardRef((props, ref) => {
|
|
|
9976
10002
|
}
|
|
9977
10003
|
)
|
|
9978
10004
|
] }),
|
|
9979
|
-
/* @__PURE__ */ (0,
|
|
10005
|
+
/* @__PURE__ */ (0, import_jsx_runtime349.jsxs)("span", { className: "time", children: [
|
|
9980
10006
|
formatTime(currentTime),
|
|
9981
10007
|
" / ",
|
|
9982
10008
|
formatTime(duration)
|
|
9983
10009
|
] }),
|
|
9984
|
-
/* @__PURE__ */ (0,
|
|
9985
|
-
playbackRates && playbackRates.length > 0 && /* @__PURE__ */ (0,
|
|
9986
|
-
/* @__PURE__ */ (0,
|
|
10010
|
+
/* @__PURE__ */ (0, import_jsx_runtime349.jsx)("div", { className: "controls-spacer" }),
|
|
10011
|
+
playbackRates && playbackRates.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime349.jsxs)("div", { className: clsx_default("rate-group", rateMenuOpen && "is-open"), children: [
|
|
10012
|
+
/* @__PURE__ */ (0, import_jsx_runtime349.jsxs)(
|
|
9987
10013
|
"button",
|
|
9988
10014
|
{
|
|
9989
10015
|
type: "button",
|
|
@@ -9997,7 +10023,7 @@ var Video = import_react41.default.forwardRef((props, ref) => {
|
|
|
9997
10023
|
]
|
|
9998
10024
|
}
|
|
9999
10025
|
),
|
|
10000
|
-
rateMenuOpen && /* @__PURE__ */ (0,
|
|
10026
|
+
rateMenuOpen && /* @__PURE__ */ (0, import_jsx_runtime349.jsx)("ul", { className: "rate-menu", role: "menu", children: playbackRates.map((r2) => /* @__PURE__ */ (0, import_jsx_runtime349.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime349.jsxs)(
|
|
10001
10027
|
"button",
|
|
10002
10028
|
{
|
|
10003
10029
|
type: "button",
|
|
@@ -10011,7 +10037,7 @@ var Video = import_react41.default.forwardRef((props, ref) => {
|
|
|
10011
10037
|
}
|
|
10012
10038
|
) }, r2)) })
|
|
10013
10039
|
] }),
|
|
10014
|
-
showCaptions && /* @__PURE__ */ (0,
|
|
10040
|
+
showCaptions && /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
|
|
10015
10041
|
"button",
|
|
10016
10042
|
{
|
|
10017
10043
|
type: "button",
|
|
@@ -10019,37 +10045,37 @@ var Video = import_react41.default.forwardRef((props, ref) => {
|
|
|
10019
10045
|
onClick: toggleCaptions,
|
|
10020
10046
|
"aria-label": captionsOn ? "\uC790\uB9C9 \uB044\uAE30" : "\uC790\uB9C9 \uCF1C\uAE30",
|
|
10021
10047
|
"aria-pressed": captionsOn,
|
|
10022
|
-
children: /* @__PURE__ */ (0,
|
|
10048
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(TypeIcon_default, {})
|
|
10023
10049
|
}
|
|
10024
10050
|
),
|
|
10025
|
-
showPip && pipSupported && /* @__PURE__ */ (0,
|
|
10051
|
+
showPip && pipSupported && /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
|
|
10026
10052
|
"button",
|
|
10027
10053
|
{
|
|
10028
10054
|
type: "button",
|
|
10029
10055
|
className: clsx_default("control-btn", isPip && "is-active"),
|
|
10030
10056
|
onClick: togglePip,
|
|
10031
10057
|
"aria-label": isPip ? "PIP \uC885\uB8CC" : "PIP",
|
|
10032
|
-
children: /* @__PURE__ */ (0,
|
|
10058
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(PipIcon, {})
|
|
10033
10059
|
}
|
|
10034
10060
|
),
|
|
10035
|
-
showDownload && /* @__PURE__ */ (0,
|
|
10061
|
+
showDownload && /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
|
|
10036
10062
|
"a",
|
|
10037
10063
|
{
|
|
10038
10064
|
className: "control-btn",
|
|
10039
10065
|
href: src,
|
|
10040
10066
|
download: downloadFileName ?? true,
|
|
10041
10067
|
"aria-label": "\uB2E4\uC6B4\uB85C\uB4DC",
|
|
10042
|
-
children: /* @__PURE__ */ (0,
|
|
10068
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(DownloadIcon_default, {})
|
|
10043
10069
|
}
|
|
10044
10070
|
),
|
|
10045
|
-
/* @__PURE__ */ (0,
|
|
10071
|
+
/* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
|
|
10046
10072
|
"button",
|
|
10047
10073
|
{
|
|
10048
10074
|
type: "button",
|
|
10049
10075
|
className: "control-btn",
|
|
10050
10076
|
onClick: toggleFullscreen,
|
|
10051
10077
|
"aria-label": isFullscreen ? "\uC804\uCCB4\uD654\uBA74 \uC885\uB8CC" : "\uC804\uCCB4\uD654\uBA74",
|
|
10052
|
-
children: isFullscreen ? /* @__PURE__ */ (0,
|
|
10078
|
+
children: isFullscreen ? /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(MinimizeIcon_default, {}) : /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(MaximizeIcon_default, {})
|
|
10053
10079
|
}
|
|
10054
10080
|
)
|
|
10055
10081
|
] })
|
|
@@ -10062,7 +10088,7 @@ Video.displayName = "Video";
|
|
|
10062
10088
|
var Video_default = Video;
|
|
10063
10089
|
|
|
10064
10090
|
// src/layout/Grid/FullGrid/FullGrid.tsx
|
|
10065
|
-
var
|
|
10091
|
+
var import_jsx_runtime350 = require("react/jsx-runtime");
|
|
10066
10092
|
var GAP_MAP = {
|
|
10067
10093
|
none: "var(--spacing-space-none)",
|
|
10068
10094
|
xs: "var(--spacing-space-1)",
|
|
@@ -10075,13 +10101,13 @@ var GAP_MAP = {
|
|
|
10075
10101
|
var FullGrid = (props) => {
|
|
10076
10102
|
const { children, gap } = props;
|
|
10077
10103
|
const style = gap != null ? { gap: GAP_MAP[gap] } : void 0;
|
|
10078
|
-
return /* @__PURE__ */ (0,
|
|
10104
|
+
return /* @__PURE__ */ (0, import_jsx_runtime350.jsx)("div", { className: "lib-xplat-full-grid", style, children });
|
|
10079
10105
|
};
|
|
10080
10106
|
FullGrid.displayName = "FullGrid";
|
|
10081
10107
|
var FullGrid_default = FullGrid;
|
|
10082
10108
|
|
|
10083
10109
|
// src/layout/Grid/FullScreen/FullScreen.tsx
|
|
10084
|
-
var
|
|
10110
|
+
var import_jsx_runtime351 = require("react/jsx-runtime");
|
|
10085
10111
|
var GAP_MAP2 = {
|
|
10086
10112
|
none: "var(--spacing-space-none)",
|
|
10087
10113
|
xs: "var(--spacing-space-1)",
|
|
@@ -10094,13 +10120,13 @@ var GAP_MAP2 = {
|
|
|
10094
10120
|
var FullScreen = (props) => {
|
|
10095
10121
|
const { children, gap } = props;
|
|
10096
10122
|
const style = gap != null ? { gap: GAP_MAP2[gap] } : void 0;
|
|
10097
|
-
return /* @__PURE__ */ (0,
|
|
10123
|
+
return /* @__PURE__ */ (0, import_jsx_runtime351.jsx)("div", { className: "lib-xplat-full-screen", style, children });
|
|
10098
10124
|
};
|
|
10099
10125
|
FullScreen.displayName = "FullScreen";
|
|
10100
10126
|
var FullScreen_default = FullScreen;
|
|
10101
10127
|
|
|
10102
10128
|
// src/layout/Grid/Item/Item.tsx
|
|
10103
|
-
var
|
|
10129
|
+
var import_jsx_runtime352 = require("react/jsx-runtime");
|
|
10104
10130
|
var calculateSpans = (column) => {
|
|
10105
10131
|
const spans = {};
|
|
10106
10132
|
let inherited = column.default;
|
|
@@ -10117,35 +10143,35 @@ var GridItem = ({ column, children, className }) => {
|
|
|
10117
10143
|
Object.entries(spans).forEach(([key, value]) => {
|
|
10118
10144
|
style[`--column-${key}`] = value;
|
|
10119
10145
|
});
|
|
10120
|
-
return /* @__PURE__ */ (0,
|
|
10146
|
+
return /* @__PURE__ */ (0, import_jsx_runtime352.jsx)("div", { className: clsx_default("lib-xplat-grid-item", className), style, children });
|
|
10121
10147
|
};
|
|
10122
10148
|
GridItem.displayName = "GridItem";
|
|
10123
10149
|
var Item_default = GridItem;
|
|
10124
10150
|
|
|
10125
10151
|
// src/layout/Header/Header.tsx
|
|
10126
|
-
var
|
|
10152
|
+
var import_jsx_runtime353 = require("react/jsx-runtime");
|
|
10127
10153
|
var Header = ({
|
|
10128
10154
|
logo,
|
|
10129
10155
|
centerContent,
|
|
10130
10156
|
rightContent
|
|
10131
10157
|
}) => {
|
|
10132
|
-
return /* @__PURE__ */ (0,
|
|
10133
|
-
/* @__PURE__ */ (0,
|
|
10134
|
-
/* @__PURE__ */ (0,
|
|
10135
|
-
/* @__PURE__ */ (0,
|
|
10158
|
+
return /* @__PURE__ */ (0, import_jsx_runtime353.jsxs)("div", { className: "lib-xplat-layout-header", children: [
|
|
10159
|
+
/* @__PURE__ */ (0, import_jsx_runtime353.jsx)("div", { children: logo }),
|
|
10160
|
+
/* @__PURE__ */ (0, import_jsx_runtime353.jsx)("div", { children: centerContent }),
|
|
10161
|
+
/* @__PURE__ */ (0, import_jsx_runtime353.jsx)("div", { children: rightContent })
|
|
10136
10162
|
] });
|
|
10137
10163
|
};
|
|
10138
10164
|
Header.displayName = "Header";
|
|
10139
10165
|
var Header_default = Header;
|
|
10140
10166
|
|
|
10141
10167
|
// src/layout/Layout/Layout.tsx
|
|
10142
|
-
var
|
|
10168
|
+
var import_jsx_runtime354 = require("react/jsx-runtime");
|
|
10143
10169
|
var Layout = (props) => {
|
|
10144
10170
|
const { header, sideBar, children } = props;
|
|
10145
|
-
return /* @__PURE__ */ (0,
|
|
10146
|
-
sideBar && /* @__PURE__ */ (0,
|
|
10147
|
-
/* @__PURE__ */ (0,
|
|
10148
|
-
header && /* @__PURE__ */ (0,
|
|
10171
|
+
return /* @__PURE__ */ (0, import_jsx_runtime354.jsx)("div", { className: "lib-xplat-layout", children: /* @__PURE__ */ (0, import_jsx_runtime354.jsxs)("div", { className: "lib-xplat-layout-content-wrapper", children: [
|
|
10172
|
+
sideBar && /* @__PURE__ */ (0, import_jsx_runtime354.jsx)(import_jsx_runtime354.Fragment, { children: sideBar }),
|
|
10173
|
+
/* @__PURE__ */ (0, import_jsx_runtime354.jsxs)("div", { className: "lib-xplat-layout-content", children: [
|
|
10174
|
+
header && /* @__PURE__ */ (0, import_jsx_runtime354.jsx)("div", { className: "lib-xplat-layout-conent-header", children: header }),
|
|
10149
10175
|
children
|
|
10150
10176
|
] })
|
|
10151
10177
|
] }) });
|
|
@@ -10167,18 +10193,18 @@ var useSideBarContext = () => {
|
|
|
10167
10193
|
var SideBarContext_default = SideBarContext;
|
|
10168
10194
|
|
|
10169
10195
|
// src/layout/SideBar/SideBar.tsx
|
|
10170
|
-
var
|
|
10196
|
+
var import_jsx_runtime355 = require("react/jsx-runtime");
|
|
10171
10197
|
var SideBar = (props) => {
|
|
10172
10198
|
const { children, className } = props;
|
|
10173
10199
|
const [isOpen, setIsOpen] = import_react43.default.useState(true);
|
|
10174
10200
|
const handleSwitchSideBar = () => {
|
|
10175
10201
|
setIsOpen((prev) => !prev);
|
|
10176
10202
|
};
|
|
10177
|
-
return /* @__PURE__ */ (0,
|
|
10203
|
+
return /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
|
|
10178
10204
|
SideBarContext_default.Provider,
|
|
10179
10205
|
{
|
|
10180
10206
|
value: { isSidebarOpen: isOpen, handleSwitchSideBar },
|
|
10181
|
-
children: /* @__PURE__ */ (0,
|
|
10207
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime355.jsx)(
|
|
10182
10208
|
"div",
|
|
10183
10209
|
{
|
|
10184
10210
|
className: clsx_default(
|
|
@@ -10365,6 +10391,7 @@ var SideBar_default = SideBar;
|
|
|
10365
10391
|
HexagonIcon,
|
|
10366
10392
|
HomeIcon,
|
|
10367
10393
|
HtmlTypewriter,
|
|
10394
|
+
IconButton,
|
|
10368
10395
|
ImageIcon,
|
|
10369
10396
|
ImageSelector,
|
|
10370
10397
|
InboxIcon,
|