@x-plat/design-system 0.7.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Badge/index.cjs +10 -7
- package/dist/components/Badge/index.css +13 -13
- package/dist/components/Badge/index.d.cts +3 -19
- package/dist/components/Badge/index.d.ts +3 -19
- package/dist/components/Badge/index.js +8 -6
- package/dist/components/NotificationBadge/index.cjs +68 -0
- package/dist/components/NotificationBadge/index.css +75 -0
- package/dist/components/NotificationBadge/index.d.cts +47 -0
- package/dist/components/NotificationBadge/index.d.ts +47 -0
- package/dist/components/NotificationBadge/index.js +40 -0
- package/dist/components/Table/index.cjs +2 -0
- package/dist/components/Table/index.d.cts +2 -0
- package/dist/components/Table/index.d.ts +2 -0
- package/dist/components/Table/index.js +2 -0
- package/dist/components/index.cjs +268 -264
- package/dist/components/index.css +76 -76
- package/dist/components/index.d.cts +1 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.js +267 -264
- package/dist/index.cjs +268 -264
- package/dist/index.css +76 -76
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +267 -264
- package/guidelines/AGENT_PROMPT.md +1 -1
- package/guidelines/Guidelines.md +1 -1
- package/guidelines/components/feedback.md +39 -11
- package/guidelines/components/table.md +68 -5
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5677,52 +5677,31 @@ var Avatar = (props) => {
|
|
|
5677
5677
|
Avatar.displayName = "Avatar";
|
|
5678
5678
|
var Avatar_default = Avatar;
|
|
5679
5679
|
|
|
5680
|
-
// src/components/Badge/Badge.tsx
|
|
5681
|
-
import { jsx as jsx299, jsxs as jsxs191 } from "react/jsx-runtime";
|
|
5682
|
-
var Badge = (props) => {
|
|
5683
|
-
const {
|
|
5684
|
-
children,
|
|
5685
|
-
type = "error",
|
|
5686
|
-
count,
|
|
5687
|
-
maxCount = 99,
|
|
5688
|
-
dot = false,
|
|
5689
|
-
size = "md"
|
|
5690
|
-
} = props;
|
|
5691
|
-
const showBadge = dot || count !== void 0 && count > 0;
|
|
5692
|
-
const displayCount = count !== void 0 && count > maxCount ? `${maxCount}+` : count;
|
|
5693
|
-
return /* @__PURE__ */ jsxs191("div", { className: clsx_default("lib-xplat-badge", size), children: [
|
|
5694
|
-
children,
|
|
5695
|
-
showBadge && /* @__PURE__ */ jsx299("span", { className: clsx_default("badge-indicator", type, { dot }), children: !dot && displayCount })
|
|
5696
|
-
] });
|
|
5697
|
-
};
|
|
5698
|
-
Badge.displayName = "Badge";
|
|
5699
|
-
var Badge_default = Badge;
|
|
5700
|
-
|
|
5701
5680
|
// src/components/Box/Box.tsx
|
|
5702
|
-
import { jsx as
|
|
5681
|
+
import { jsx as jsx299, jsxs as jsxs191 } from "react/jsx-runtime";
|
|
5703
5682
|
var Box = ({
|
|
5704
5683
|
children,
|
|
5705
5684
|
title,
|
|
5706
5685
|
variant = "outlined",
|
|
5707
5686
|
padding = "md"
|
|
5708
5687
|
}) => {
|
|
5709
|
-
return /* @__PURE__ */
|
|
5710
|
-
title && /* @__PURE__ */
|
|
5711
|
-
/* @__PURE__ */
|
|
5688
|
+
return /* @__PURE__ */ jsxs191("div", { className: clsx_default("lib-xplat-box", variant, `pad-${padding}`), children: [
|
|
5689
|
+
title && /* @__PURE__ */ jsx299("div", { className: "box-title", children: title }),
|
|
5690
|
+
/* @__PURE__ */ jsx299("div", { className: "box-content", children })
|
|
5712
5691
|
] });
|
|
5713
5692
|
};
|
|
5714
5693
|
Box.displayName = "Box";
|
|
5715
5694
|
var Box_default = Box;
|
|
5716
5695
|
|
|
5717
5696
|
// src/components/Breadcrumb/Breadcrumb.tsx
|
|
5718
|
-
import { jsx as
|
|
5697
|
+
import { jsx as jsx300, jsxs as jsxs192 } from "react/jsx-runtime";
|
|
5719
5698
|
var Breadcrumb = (props) => {
|
|
5720
5699
|
const { items, separator = "/" } = props;
|
|
5721
|
-
return /* @__PURE__ */
|
|
5700
|
+
return /* @__PURE__ */ jsx300("nav", { className: "lib-xplat-breadcrumb", "aria-label": "\uACBD\uB85C", children: /* @__PURE__ */ jsx300("ol", { children: items.map((item, index) => {
|
|
5722
5701
|
const isLast = index === items.length - 1;
|
|
5723
|
-
return /* @__PURE__ */
|
|
5724
|
-
isLast ? /* @__PURE__ */
|
|
5725
|
-
!isLast && /* @__PURE__ */
|
|
5702
|
+
return /* @__PURE__ */ jsxs192("li", { children: [
|
|
5703
|
+
isLast ? /* @__PURE__ */ jsx300("span", { className: "current", "aria-current": "page", children: item.label }) : item.href ? /* @__PURE__ */ jsx300("a", { href: item.href, className: "link", children: item.label }) : /* @__PURE__ */ jsx300("button", { className: "link", onClick: item.onClick, children: item.label }),
|
|
5704
|
+
!isLast && /* @__PURE__ */ jsx300("span", { className: "separator", children: separator })
|
|
5726
5705
|
] }, index);
|
|
5727
5706
|
}) }) });
|
|
5728
5707
|
};
|
|
@@ -5730,7 +5709,7 @@ Breadcrumb.displayName = "Breadcrumb";
|
|
|
5730
5709
|
var Breadcrumb_default = Breadcrumb;
|
|
5731
5710
|
|
|
5732
5711
|
// src/components/Button/Button.tsx
|
|
5733
|
-
import { jsx as
|
|
5712
|
+
import { jsx as jsx301 } from "react/jsx-runtime";
|
|
5734
5713
|
var Button = (props) => {
|
|
5735
5714
|
const {
|
|
5736
5715
|
children,
|
|
@@ -5739,7 +5718,7 @@ var Button = (props) => {
|
|
|
5739
5718
|
disabled,
|
|
5740
5719
|
...rest
|
|
5741
5720
|
} = props;
|
|
5742
|
-
return /* @__PURE__ */
|
|
5721
|
+
return /* @__PURE__ */ jsx301(
|
|
5743
5722
|
"button",
|
|
5744
5723
|
{
|
|
5745
5724
|
className: clsx_default("lib-xplat-button", type, size),
|
|
@@ -5856,7 +5835,7 @@ var MONTH_LABELS = {
|
|
|
5856
5835
|
};
|
|
5857
5836
|
|
|
5858
5837
|
// src/components/Calendar/Calendar.tsx
|
|
5859
|
-
import { Fragment, jsx as
|
|
5838
|
+
import { Fragment, jsx as jsx302, jsxs as jsxs193 } from "react/jsx-runtime";
|
|
5860
5839
|
var DayCell = React4.memo(
|
|
5861
5840
|
({
|
|
5862
5841
|
day,
|
|
@@ -5868,7 +5847,7 @@ var DayCell = React4.memo(
|
|
|
5868
5847
|
onEventClick
|
|
5869
5848
|
}) => {
|
|
5870
5849
|
if (renderDay) {
|
|
5871
|
-
return /* @__PURE__ */
|
|
5850
|
+
return /* @__PURE__ */ jsx302(
|
|
5872
5851
|
"div",
|
|
5873
5852
|
{
|
|
5874
5853
|
className: clsx_default(
|
|
@@ -5885,7 +5864,7 @@ var DayCell = React4.memo(
|
|
|
5885
5864
|
}
|
|
5886
5865
|
);
|
|
5887
5866
|
}
|
|
5888
|
-
return /* @__PURE__ */
|
|
5867
|
+
return /* @__PURE__ */ jsxs193(
|
|
5889
5868
|
"div",
|
|
5890
5869
|
{
|
|
5891
5870
|
className: clsx_default(
|
|
@@ -5901,9 +5880,9 @@ var DayCell = React4.memo(
|
|
|
5901
5880
|
if (!disabled && day.isCurrentMonth) onSelect?.(day.date);
|
|
5902
5881
|
},
|
|
5903
5882
|
children: [
|
|
5904
|
-
/* @__PURE__ */
|
|
5905
|
-
dayEvents.length > 0 && /* @__PURE__ */
|
|
5906
|
-
dayEvents.slice(0, 3).map((event, ei) => /* @__PURE__ */
|
|
5883
|
+
/* @__PURE__ */ jsx302("span", { className: "calendar-day-number", children: day.day }),
|
|
5884
|
+
dayEvents.length > 0 && /* @__PURE__ */ jsxs193("div", { className: "calendar-day-events", children: [
|
|
5885
|
+
dayEvents.slice(0, 3).map((event, ei) => /* @__PURE__ */ jsx302(
|
|
5907
5886
|
"span",
|
|
5908
5887
|
{
|
|
5909
5888
|
className: "calendar-event-dot",
|
|
@@ -5916,7 +5895,7 @@ var DayCell = React4.memo(
|
|
|
5916
5895
|
},
|
|
5917
5896
|
ei
|
|
5918
5897
|
)),
|
|
5919
|
-
dayEvents.length > 3 && /* @__PURE__ */
|
|
5898
|
+
dayEvents.length > 3 && /* @__PURE__ */ jsxs193("span", { className: "calendar-event-more", children: [
|
|
5920
5899
|
"+",
|
|
5921
5900
|
dayEvents.length - 3
|
|
5922
5901
|
] })
|
|
@@ -6037,21 +6016,21 @@ var Calendar = (props) => {
|
|
|
6037
6016
|
const weekdays = WEEKDAY_LABELS[locale];
|
|
6038
6017
|
const monthLabels = MONTH_LABELS[locale];
|
|
6039
6018
|
const titleText = pickerMode === "days" ? locale === "ko" ? `${year}\uB144 ${monthLabels[month]}` : `${monthLabels[month]} ${year}` : pickerMode === "months" ? `${year}` : `${yearRangeStart} - ${yearRangeStart + 11}`;
|
|
6040
|
-
return /* @__PURE__ */
|
|
6019
|
+
return /* @__PURE__ */ jsxs193(
|
|
6041
6020
|
"div",
|
|
6042
6021
|
{
|
|
6043
6022
|
className: "lib-xplat-calendar",
|
|
6044
6023
|
style: selectedColor ? { "--calendar-selected-color": `var(--${selectedColor})` } : void 0,
|
|
6045
6024
|
children: [
|
|
6046
|
-
/* @__PURE__ */
|
|
6047
|
-
/* @__PURE__ */
|
|
6048
|
-
/* @__PURE__ */
|
|
6049
|
-
/* @__PURE__ */
|
|
6050
|
-
showToday && /* @__PURE__ */
|
|
6025
|
+
/* @__PURE__ */ jsxs193("div", { className: "calendar-header", children: [
|
|
6026
|
+
/* @__PURE__ */ jsx302("button", { className: "calendar-nav", onClick: handlePrev, "aria-label": "\uC774\uC804", children: /* @__PURE__ */ jsx302(ChevronLeftIcon_default, {}) }),
|
|
6027
|
+
/* @__PURE__ */ jsx302("button", { className: "calendar-title", onClick: handleTitleClick, type: "button", children: titleText }),
|
|
6028
|
+
/* @__PURE__ */ jsx302("button", { className: "calendar-nav", onClick: handleNext, "aria-label": "\uB2E4\uC74C", children: /* @__PURE__ */ jsx302(ChevronRightIcon_default, {}) }),
|
|
6029
|
+
showToday && /* @__PURE__ */ jsx302("button", { className: "calendar-today-btn", onClick: handleToday, children: locale === "ko" ? "\uC624\uB298" : "Today" })
|
|
6051
6030
|
] }),
|
|
6052
|
-
pickerMode === "years" && /* @__PURE__ */
|
|
6031
|
+
pickerMode === "years" && /* @__PURE__ */ jsx302("div", { className: "calendar-picker-grid", children: Array.from({ length: 12 }, (_, i) => {
|
|
6053
6032
|
const y = yearRangeStart + i;
|
|
6054
|
-
return /* @__PURE__ */
|
|
6033
|
+
return /* @__PURE__ */ jsx302(
|
|
6055
6034
|
"button",
|
|
6056
6035
|
{
|
|
6057
6036
|
type: "button",
|
|
@@ -6062,7 +6041,7 @@ var Calendar = (props) => {
|
|
|
6062
6041
|
y
|
|
6063
6042
|
);
|
|
6064
6043
|
}) }),
|
|
6065
|
-
pickerMode === "months" && /* @__PURE__ */
|
|
6044
|
+
pickerMode === "months" && /* @__PURE__ */ jsx302("div", { className: "calendar-picker-grid", children: monthLabels.map((label, i) => /* @__PURE__ */ jsx302(
|
|
6066
6045
|
"button",
|
|
6067
6046
|
{
|
|
6068
6047
|
type: "button",
|
|
@@ -6072,8 +6051,8 @@ var Calendar = (props) => {
|
|
|
6072
6051
|
},
|
|
6073
6052
|
i
|
|
6074
6053
|
)) }),
|
|
6075
|
-
pickerMode === "days" && /* @__PURE__ */
|
|
6076
|
-
/* @__PURE__ */
|
|
6054
|
+
pickerMode === "days" && /* @__PURE__ */ jsxs193(Fragment, { children: [
|
|
6055
|
+
/* @__PURE__ */ jsx302("div", { className: "calendar-weekdays", children: weekdays.map((label, i) => /* @__PURE__ */ jsx302(
|
|
6077
6056
|
"div",
|
|
6078
6057
|
{
|
|
6079
6058
|
className: clsx_default(
|
|
@@ -6085,12 +6064,12 @@ var Calendar = (props) => {
|
|
|
6085
6064
|
},
|
|
6086
6065
|
label
|
|
6087
6066
|
)) }),
|
|
6088
|
-
/* @__PURE__ */
|
|
6067
|
+
/* @__PURE__ */ jsx302("div", { className: "calendar-grid", children: days.map((day, idx) => {
|
|
6089
6068
|
const dayEvents = getEventsForDay(day.date);
|
|
6090
6069
|
const t = day.date.getTime();
|
|
6091
6070
|
const disabled = t < minTime || t > maxTime;
|
|
6092
6071
|
const isSelected = selectedDate ? isSameDay(day.date, selectedDate) : false;
|
|
6093
|
-
return /* @__PURE__ */
|
|
6072
|
+
return /* @__PURE__ */ jsx302(
|
|
6094
6073
|
DayCell,
|
|
6095
6074
|
{
|
|
6096
6075
|
day,
|
|
@@ -6116,10 +6095,10 @@ var Calendar_default = Calendar;
|
|
|
6116
6095
|
import React5 from "react";
|
|
6117
6096
|
|
|
6118
6097
|
// src/components/CardTab/CardTabPanel.tsx
|
|
6119
|
-
import { jsx as
|
|
6098
|
+
import { jsx as jsx303 } from "react/jsx-runtime";
|
|
6120
6099
|
var CardTabPanel = (props) => {
|
|
6121
6100
|
const { children, columns = 3 } = props;
|
|
6122
|
-
return /* @__PURE__ */
|
|
6101
|
+
return /* @__PURE__ */ jsx303(
|
|
6123
6102
|
"div",
|
|
6124
6103
|
{
|
|
6125
6104
|
className: "card-tab-panel",
|
|
@@ -6132,7 +6111,7 @@ CardTabPanel.displayName = "CardTab.Panel";
|
|
|
6132
6111
|
var CardTabPanel_default = CardTabPanel;
|
|
6133
6112
|
|
|
6134
6113
|
// src/components/CardTab/CardTab.tsx
|
|
6135
|
-
import { jsx as
|
|
6114
|
+
import { jsx as jsx304, jsxs as jsxs194 } from "react/jsx-runtime";
|
|
6136
6115
|
var CardTabRoot = (props) => {
|
|
6137
6116
|
const {
|
|
6138
6117
|
tabs,
|
|
@@ -6156,10 +6135,10 @@ var CardTabRoot = (props) => {
|
|
|
6156
6135
|
const activePanel = panels.find(
|
|
6157
6136
|
(panel) => panel.props.value === activeValue
|
|
6158
6137
|
);
|
|
6159
|
-
return /* @__PURE__ */
|
|
6160
|
-
/* @__PURE__ */
|
|
6138
|
+
return /* @__PURE__ */ jsxs194("div", { className: clsx_default("lib-xplat-card-tab", size), children: [
|
|
6139
|
+
/* @__PURE__ */ jsx304("div", { className: "card-tab-bar", children: tabs.map((tab) => {
|
|
6161
6140
|
const isActive2 = tab.value === activeValue;
|
|
6162
|
-
return /* @__PURE__ */
|
|
6141
|
+
return /* @__PURE__ */ jsx304(
|
|
6163
6142
|
"button",
|
|
6164
6143
|
{
|
|
6165
6144
|
className: clsx_default("card-tab-trigger", isActive2 && "active"),
|
|
@@ -6171,7 +6150,7 @@ var CardTabRoot = (props) => {
|
|
|
6171
6150
|
tab.value
|
|
6172
6151
|
);
|
|
6173
6152
|
}) }),
|
|
6174
|
-
/* @__PURE__ */
|
|
6153
|
+
/* @__PURE__ */ jsx304("div", { className: "card-tab-body", children: activePanel })
|
|
6175
6154
|
] });
|
|
6176
6155
|
};
|
|
6177
6156
|
CardTabRoot.displayName = "CardTab";
|
|
@@ -6182,7 +6161,7 @@ var CardTab_default = CardTab;
|
|
|
6182
6161
|
|
|
6183
6162
|
// src/components/Chart/Chart.tsx
|
|
6184
6163
|
import React6 from "react";
|
|
6185
|
-
import { Fragment as Fragment2, jsx as
|
|
6164
|
+
import { Fragment as Fragment2, jsx as jsx305, jsxs as jsxs195 } from "react/jsx-runtime";
|
|
6186
6165
|
var CATEGORICAL_COUNT2 = 8;
|
|
6187
6166
|
var LINE_BAR_PALETTES = Array.from({ length: CATEGORICAL_COUNT2 }, (_, i) => {
|
|
6188
6167
|
const n = i + 1;
|
|
@@ -6318,12 +6297,12 @@ var useChartTooltip = (enabled) => {
|
|
|
6318
6297
|
}, []);
|
|
6319
6298
|
return { tooltip, show, hide, move, containerRef };
|
|
6320
6299
|
};
|
|
6321
|
-
var GridLines = React6.memo(({ width, height, chartH, maxVal }) => /* @__PURE__ */
|
|
6300
|
+
var GridLines = React6.memo(({ width, height, chartH, maxVal }) => /* @__PURE__ */ jsx305(Fragment2, { children: [0, 0.25, 0.5, 0.75, 1].map((ratio) => {
|
|
6322
6301
|
const y = PADDING.top + (1 - ratio) * chartH;
|
|
6323
6302
|
const val = Math.round(maxVal * ratio);
|
|
6324
|
-
return /* @__PURE__ */
|
|
6325
|
-
/* @__PURE__ */
|
|
6326
|
-
/* @__PURE__ */
|
|
6303
|
+
return /* @__PURE__ */ jsxs195("g", { children: [
|
|
6304
|
+
/* @__PURE__ */ jsx305("line", { x1: PADDING.left, y1: y, x2: width - PADDING.right, y2: y, className: "chart-grid" }),
|
|
6305
|
+
/* @__PURE__ */ jsx305("text", { x: PADDING.left - 8, y: y + 4, className: "chart-axis-label", textAnchor: "end", children: val })
|
|
6327
6306
|
] }, ratio);
|
|
6328
6307
|
}) }));
|
|
6329
6308
|
GridLines.displayName = "GridLines";
|
|
@@ -6335,10 +6314,10 @@ var getLabelStep = (count, chartW) => {
|
|
|
6335
6314
|
};
|
|
6336
6315
|
var AxisLabels = React6.memo(({ labels, count, chartW, height }) => {
|
|
6337
6316
|
const step = getLabelStep(count, chartW);
|
|
6338
|
-
return /* @__PURE__ */
|
|
6317
|
+
return /* @__PURE__ */ jsx305(Fragment2, { children: labels.map((label, i) => {
|
|
6339
6318
|
if (i % step !== 0) return null;
|
|
6340
6319
|
const x = PADDING.left + i / (count - 1 || 1) * chartW;
|
|
6341
|
-
return /* @__PURE__ */
|
|
6320
|
+
return /* @__PURE__ */ jsx305("text", { x, y: height - 8, className: "chart-axis-label", textAnchor: "middle", children: label }, i);
|
|
6342
6321
|
}) });
|
|
6343
6322
|
});
|
|
6344
6323
|
AxisLabels.displayName = "AxisLabels";
|
|
@@ -6414,7 +6393,7 @@ var LineChart = React6.memo(({ data, labels, width, height, animate, onHover, on
|
|
|
6414
6393
|
}, [animate, width]);
|
|
6415
6394
|
const activeX = activeIndex !== null ? seriesPoints[0]?.[activeIndex]?.x ?? null : null;
|
|
6416
6395
|
const lineClipId = "line-area-clip";
|
|
6417
|
-
return /* @__PURE__ */
|
|
6396
|
+
return /* @__PURE__ */ jsxs195(
|
|
6418
6397
|
"svg",
|
|
6419
6398
|
{
|
|
6420
6399
|
viewBox: `0 0 ${width} ${height}`,
|
|
@@ -6432,9 +6411,9 @@ var LineChart = React6.memo(({ data, labels, width, height, animate, onHover, on
|
|
|
6432
6411
|
onLeave();
|
|
6433
6412
|
},
|
|
6434
6413
|
children: [
|
|
6435
|
-
animate && /* @__PURE__ */
|
|
6436
|
-
/* @__PURE__ */
|
|
6437
|
-
/* @__PURE__ */
|
|
6414
|
+
animate && /* @__PURE__ */ jsx305("defs", { children: /* @__PURE__ */ jsx305("clipPath", { id: lineClipId, children: /* @__PURE__ */ jsx305("rect", { ref: clipRef, x: "0", y: "0", width: animate ? 0 : width, height }) }) }),
|
|
6415
|
+
/* @__PURE__ */ jsx305(GridLines, { width, height, chartH, maxVal }),
|
|
6416
|
+
/* @__PURE__ */ jsx305(AxisLabels, { labels, count, chartW, height }),
|
|
6438
6417
|
entries.map(([key], di) => {
|
|
6439
6418
|
const palette = getPalette(LINE_BAR_PALETTES, di, key);
|
|
6440
6419
|
const color = palette[2];
|
|
@@ -6443,16 +6422,16 @@ var LineChart = React6.memo(({ data, labels, width, height, animate, onHover, on
|
|
|
6443
6422
|
const gradientId = `line-gradient-${di}`;
|
|
6444
6423
|
const polyPoints = points.map((p) => `${p.x},${p.y}`).join(" ");
|
|
6445
6424
|
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`;
|
|
6446
|
-
return /* @__PURE__ */
|
|
6447
|
-
/* @__PURE__ */
|
|
6448
|
-
/* @__PURE__ */
|
|
6449
|
-
/* @__PURE__ */
|
|
6425
|
+
return /* @__PURE__ */ jsxs195("g", { children: [
|
|
6426
|
+
/* @__PURE__ */ jsx305("defs", { children: /* @__PURE__ */ jsxs195("linearGradient", { id: gradientId, x1: "0", y1: "0", x2: "0", y2: "1", children: [
|
|
6427
|
+
/* @__PURE__ */ jsx305("stop", { offset: "0%", stopColor: areaColor, stopOpacity: "0.2" }),
|
|
6428
|
+
/* @__PURE__ */ jsx305("stop", { offset: "100%", stopColor: areaColor, stopOpacity: "0" })
|
|
6450
6429
|
] }) }),
|
|
6451
|
-
/* @__PURE__ */
|
|
6452
|
-
/* @__PURE__ */
|
|
6453
|
-
/* @__PURE__ */
|
|
6430
|
+
/* @__PURE__ */ jsxs195("g", { clipPath: animate ? `url(#${lineClipId})` : void 0, children: [
|
|
6431
|
+
/* @__PURE__ */ jsx305("path", { d: areaD, fill: `url(#${gradientId})` }),
|
|
6432
|
+
/* @__PURE__ */ jsx305("polyline", { points: polyPoints, fill: "none", stroke: color, strokeWidth: "2" })
|
|
6454
6433
|
] }),
|
|
6455
|
-
activeIndex !== null && points[activeIndex] && /* @__PURE__ */
|
|
6434
|
+
activeIndex !== null && points[activeIndex] && /* @__PURE__ */ jsx305(
|
|
6456
6435
|
"circle",
|
|
6457
6436
|
{
|
|
6458
6437
|
cx: points[activeIndex].x,
|
|
@@ -6464,7 +6443,7 @@ var LineChart = React6.memo(({ data, labels, width, height, animate, onHover, on
|
|
|
6464
6443
|
)
|
|
6465
6444
|
] }, di);
|
|
6466
6445
|
}),
|
|
6467
|
-
activeX !== null && /* @__PURE__ */
|
|
6446
|
+
activeX !== null && /* @__PURE__ */ jsx305(
|
|
6468
6447
|
"line",
|
|
6469
6448
|
{
|
|
6470
6449
|
x1: activeX,
|
|
@@ -6474,7 +6453,7 @@ var LineChart = React6.memo(({ data, labels, width, height, animate, onHover, on
|
|
|
6474
6453
|
className: "chart-crosshair"
|
|
6475
6454
|
}
|
|
6476
6455
|
),
|
|
6477
|
-
/* @__PURE__ */
|
|
6456
|
+
/* @__PURE__ */ jsx305(
|
|
6478
6457
|
"rect",
|
|
6479
6458
|
{
|
|
6480
6459
|
x: PADDING.left,
|
|
@@ -6523,7 +6502,7 @@ var CurveChart = React6.memo(({ data, labels, width, height, animate, onHover, o
|
|
|
6523
6502
|
}, [animate, width]);
|
|
6524
6503
|
const activeX = activeIndex !== null ? seriesPoints[0]?.[activeIndex]?.x ?? null : null;
|
|
6525
6504
|
const curveClipId = "curve-area-clip";
|
|
6526
|
-
return /* @__PURE__ */
|
|
6505
|
+
return /* @__PURE__ */ jsxs195(
|
|
6527
6506
|
"svg",
|
|
6528
6507
|
{
|
|
6529
6508
|
viewBox: `0 0 ${width} ${height}`,
|
|
@@ -6542,9 +6521,9 @@ var CurveChart = React6.memo(({ data, labels, width, height, animate, onHover, o
|
|
|
6542
6521
|
onLeave();
|
|
6543
6522
|
},
|
|
6544
6523
|
children: [
|
|
6545
|
-
animate && /* @__PURE__ */
|
|
6546
|
-
/* @__PURE__ */
|
|
6547
|
-
/* @__PURE__ */
|
|
6524
|
+
animate && /* @__PURE__ */ jsx305("defs", { children: /* @__PURE__ */ jsx305("clipPath", { id: curveClipId, children: /* @__PURE__ */ jsx305("rect", { ref: curveClipRef, x: "0", y: "0", width: animate ? 0 : width, height }) }) }),
|
|
6525
|
+
/* @__PURE__ */ jsx305(GridLines, { width, height, chartH, maxVal }),
|
|
6526
|
+
/* @__PURE__ */ jsx305(AxisLabels, { labels, count, chartW, height }),
|
|
6548
6527
|
entries.map(([key], di) => {
|
|
6549
6528
|
const palette = getPalette(LINE_BAR_PALETTES, di, key);
|
|
6550
6529
|
const color = palette[2];
|
|
@@ -6553,16 +6532,16 @@ var CurveChart = React6.memo(({ data, labels, width, height, animate, onHover, o
|
|
|
6553
6532
|
const gradientId = `curve-gradient-${di}`;
|
|
6554
6533
|
const linePath = toSmoothPath(points);
|
|
6555
6534
|
const areaPath = linePath + ` L ${points[points.length - 1].x} ${PADDING.top + chartH} L ${points[0].x} ${PADDING.top + chartH} Z`;
|
|
6556
|
-
return /* @__PURE__ */
|
|
6557
|
-
/* @__PURE__ */
|
|
6558
|
-
/* @__PURE__ */
|
|
6559
|
-
/* @__PURE__ */
|
|
6535
|
+
return /* @__PURE__ */ jsxs195("g", { children: [
|
|
6536
|
+
/* @__PURE__ */ jsx305("defs", { children: /* @__PURE__ */ jsxs195("linearGradient", { id: gradientId, x1: "0", y1: "0", x2: "0", y2: "1", children: [
|
|
6537
|
+
/* @__PURE__ */ jsx305("stop", { offset: "0%", stopColor: areaColor, stopOpacity: "0.4" }),
|
|
6538
|
+
/* @__PURE__ */ jsx305("stop", { offset: "100%", stopColor: areaColor, stopOpacity: "0.02" })
|
|
6560
6539
|
] }) }),
|
|
6561
|
-
/* @__PURE__ */
|
|
6562
|
-
/* @__PURE__ */
|
|
6563
|
-
/* @__PURE__ */
|
|
6540
|
+
/* @__PURE__ */ jsxs195("g", { clipPath: animate ? `url(#${curveClipId})` : void 0, children: [
|
|
6541
|
+
/* @__PURE__ */ jsx305("path", { d: areaPath, fill: `url(#${gradientId})` }),
|
|
6542
|
+
/* @__PURE__ */ jsx305("path", { d: linePath, fill: "none", stroke: color, strokeWidth: "2" })
|
|
6564
6543
|
] }),
|
|
6565
|
-
activeIndex !== null && points[activeIndex] && /* @__PURE__ */
|
|
6544
|
+
activeIndex !== null && points[activeIndex] && /* @__PURE__ */ jsx305(
|
|
6566
6545
|
"circle",
|
|
6567
6546
|
{
|
|
6568
6547
|
cx: points[activeIndex].x,
|
|
@@ -6574,7 +6553,7 @@ var CurveChart = React6.memo(({ data, labels, width, height, animate, onHover, o
|
|
|
6574
6553
|
)
|
|
6575
6554
|
] }, di);
|
|
6576
6555
|
}),
|
|
6577
|
-
activeX !== null && /* @__PURE__ */
|
|
6556
|
+
activeX !== null && /* @__PURE__ */ jsx305(
|
|
6578
6557
|
"line",
|
|
6579
6558
|
{
|
|
6580
6559
|
x1: activeX,
|
|
@@ -6584,7 +6563,7 @@ var CurveChart = React6.memo(({ data, labels, width, height, animate, onHover, o
|
|
|
6584
6563
|
className: "chart-crosshair"
|
|
6585
6564
|
}
|
|
6586
6565
|
),
|
|
6587
|
-
/* @__PURE__ */
|
|
6566
|
+
/* @__PURE__ */ jsx305(
|
|
6588
6567
|
"rect",
|
|
6589
6568
|
{
|
|
6590
6569
|
x: PADDING.left,
|
|
@@ -6627,11 +6606,11 @@ var BarChart = React6.memo(({ data, labels, width, height, animate, onHover, onM
|
|
|
6627
6606
|
[entries, maxVal, chartH, groupW, barW, barGap, groupCount]
|
|
6628
6607
|
);
|
|
6629
6608
|
const barLabelStep = getLabelStep(count, chartW);
|
|
6630
|
-
return /* @__PURE__ */
|
|
6631
|
-
/* @__PURE__ */
|
|
6609
|
+
return /* @__PURE__ */ jsxs195("svg", { viewBox: `0 0 ${width} ${height}`, className: "chart-svg", children: [
|
|
6610
|
+
/* @__PURE__ */ jsx305(GridLines, { width, height, chartH, maxVal }),
|
|
6632
6611
|
labels.map((label, i) => {
|
|
6633
6612
|
if (i % barLabelStep !== 0) return null;
|
|
6634
|
-
return /* @__PURE__ */
|
|
6613
|
+
return /* @__PURE__ */ jsx305("text", { x: PADDING.left + groupW * i + groupW / 2, y: height - 8, className: "chart-axis-label", textAnchor: "middle", children: label }, i);
|
|
6635
6614
|
}),
|
|
6636
6615
|
entries.map(([key], di) => {
|
|
6637
6616
|
const palette = getPalette(LINE_BAR_PALETTES, di, key);
|
|
@@ -6640,7 +6619,7 @@ var BarChart = React6.memo(({ data, labels, width, height, animate, onHover, onM
|
|
|
6640
6619
|
const r2 = Math.min(4, b.w / 2);
|
|
6641
6620
|
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`;
|
|
6642
6621
|
const delay = 100 + i * 80;
|
|
6643
|
-
return /* @__PURE__ */
|
|
6622
|
+
return /* @__PURE__ */ jsx305(
|
|
6644
6623
|
"path",
|
|
6645
6624
|
{
|
|
6646
6625
|
d,
|
|
@@ -6720,8 +6699,8 @@ var PieDonutChart = React6.memo(
|
|
|
6720
6699
|
});
|
|
6721
6700
|
}, [values, total, cx, cy, r2, innerR, labels]);
|
|
6722
6701
|
const maskId = `pie-mask-${isDoughnut ? "d" : "p"}`;
|
|
6723
|
-
return /* @__PURE__ */
|
|
6724
|
-
animate && /* @__PURE__ */
|
|
6702
|
+
return /* @__PURE__ */ jsxs195("svg", { viewBox: `0 0 ${size} ${size}`, className: "chart-svg chart-pie", children: [
|
|
6703
|
+
animate && /* @__PURE__ */ jsx305("defs", { children: /* @__PURE__ */ jsx305("mask", { id: maskId, children: /* @__PURE__ */ jsx305(
|
|
6725
6704
|
"circle",
|
|
6726
6705
|
{
|
|
6727
6706
|
ref: maskRef,
|
|
@@ -6734,7 +6713,7 @@ var PieDonutChart = React6.memo(
|
|
|
6734
6713
|
transform: `rotate(-90 ${cx} ${cy})`
|
|
6735
6714
|
}
|
|
6736
6715
|
) }) }),
|
|
6737
|
-
/* @__PURE__ */
|
|
6716
|
+
/* @__PURE__ */ jsx305("g", { mask: animate ? `url(#${maskId})` : void 0, children: sliceData.map((s, i) => /* @__PURE__ */ jsx305("g", { children: /* @__PURE__ */ jsx305(
|
|
6738
6717
|
"path",
|
|
6739
6718
|
{
|
|
6740
6719
|
d: s.d,
|
|
@@ -6769,15 +6748,15 @@ var ChartTooltip = ({ x, y, containerWidth, containerHeight, tooltipType, childr
|
|
|
6769
6748
|
const sepIdx = content.indexOf(" \u2014 ");
|
|
6770
6749
|
const title = sepIdx >= 0 ? content.slice(0, sepIdx) : content;
|
|
6771
6750
|
const desc = sepIdx >= 0 ? content.slice(sepIdx + 3) : "";
|
|
6772
|
-
return /* @__PURE__ */
|
|
6751
|
+
return /* @__PURE__ */ jsxs195(
|
|
6773
6752
|
"div",
|
|
6774
6753
|
{
|
|
6775
6754
|
ref,
|
|
6776
6755
|
className: `lib-xplat-tooltip ${tooltipType} chart-tooltip-pos`,
|
|
6777
6756
|
style: { left: pos.left, top: pos.top },
|
|
6778
6757
|
children: [
|
|
6779
|
-
title && /* @__PURE__ */
|
|
6780
|
-
desc && /* @__PURE__ */
|
|
6758
|
+
title && /* @__PURE__ */ jsx305("div", { className: "tooltip-title", children: title }),
|
|
6759
|
+
desc && /* @__PURE__ */ jsx305("div", { className: "tooltip-desc", children: desc })
|
|
6781
6760
|
]
|
|
6782
6761
|
}
|
|
6783
6762
|
);
|
|
@@ -6789,14 +6768,14 @@ var ChartLegend = ({ data, labels, type }) => {
|
|
|
6789
6768
|
const total = values.reduce((a, b) => a + b, 0) || 1;
|
|
6790
6769
|
const firstKey = entries[0]?.[0] ?? "";
|
|
6791
6770
|
const colorOffset = hashString(firstKey);
|
|
6792
|
-
return /* @__PURE__ */
|
|
6771
|
+
return /* @__PURE__ */ jsx305("div", { className: "chart-legend", children: values.map((v, i) => {
|
|
6793
6772
|
const pct = Math.round(v / total * 100);
|
|
6794
6773
|
const color = PIE_COLORS[(i + colorOffset) % PIE_COLORS.length];
|
|
6795
|
-
return /* @__PURE__ */
|
|
6796
|
-
/* @__PURE__ */
|
|
6797
|
-
/* @__PURE__ */
|
|
6798
|
-
/* @__PURE__ */
|
|
6799
|
-
/* @__PURE__ */
|
|
6774
|
+
return /* @__PURE__ */ jsxs195("div", { className: "chart-legend-item", children: [
|
|
6775
|
+
/* @__PURE__ */ jsx305("span", { className: "chart-legend-dot", style: { backgroundColor: color } }),
|
|
6776
|
+
/* @__PURE__ */ jsxs195("div", { className: "chart-legend-text", children: [
|
|
6777
|
+
/* @__PURE__ */ jsx305("span", { className: "chart-legend-label", children: labels[i] || `${i + 1}` }),
|
|
6778
|
+
/* @__PURE__ */ jsxs195("span", { className: "chart-legend-value", children: [
|
|
6800
6779
|
v.toLocaleString(),
|
|
6801
6780
|
"(",
|
|
6802
6781
|
pct,
|
|
@@ -6806,16 +6785,16 @@ var ChartLegend = ({ data, labels, type }) => {
|
|
|
6806
6785
|
] }, i);
|
|
6807
6786
|
}) });
|
|
6808
6787
|
}
|
|
6809
|
-
return /* @__PURE__ */
|
|
6788
|
+
return /* @__PURE__ */ jsx305("div", { className: "chart-legend", children: entries.map(([key], di) => {
|
|
6810
6789
|
const palette = getPalette(LINE_BAR_PALETTES, di, key);
|
|
6811
6790
|
const color = palette[2];
|
|
6812
6791
|
const values = entries[di][1];
|
|
6813
6792
|
const sum = values.reduce((a, b) => a + b, 0);
|
|
6814
|
-
return /* @__PURE__ */
|
|
6815
|
-
/* @__PURE__ */
|
|
6816
|
-
/* @__PURE__ */
|
|
6817
|
-
/* @__PURE__ */
|
|
6818
|
-
/* @__PURE__ */
|
|
6793
|
+
return /* @__PURE__ */ jsxs195("div", { className: "chart-legend-item", children: [
|
|
6794
|
+
/* @__PURE__ */ jsx305("span", { className: "chart-legend-dot", style: { backgroundColor: color } }),
|
|
6795
|
+
/* @__PURE__ */ jsxs195("div", { className: "chart-legend-text", children: [
|
|
6796
|
+
/* @__PURE__ */ jsx305("span", { className: "chart-legend-label", children: key }),
|
|
6797
|
+
/* @__PURE__ */ jsx305("span", { className: "chart-legend-value", children: sum.toLocaleString() })
|
|
6819
6798
|
] })
|
|
6820
6799
|
] }, di);
|
|
6821
6800
|
}) });
|
|
@@ -6829,14 +6808,14 @@ var Chart = React6.memo((props) => {
|
|
|
6829
6808
|
const dataKey = React6.useMemo(() => JSON.stringify(labels), [labels]);
|
|
6830
6809
|
const animate = useChartAnimation(containerRef, dataKey);
|
|
6831
6810
|
const ready = width > 0 && height > 0;
|
|
6832
|
-
return /* @__PURE__ */
|
|
6833
|
-
ready && type === "line" && /* @__PURE__ */
|
|
6834
|
-
ready && type === "curve" && /* @__PURE__ */
|
|
6835
|
-
ready && type === "bar" && /* @__PURE__ */
|
|
6836
|
-
ready && type === "pie" && /* @__PURE__ */
|
|
6837
|
-
ready && type === "doughnut" && /* @__PURE__ */
|
|
6838
|
-
ready && (type === "pie" || type === "doughnut") && /* @__PURE__ */
|
|
6839
|
-
tooltip.visible && tooltip.content && /* @__PURE__ */
|
|
6811
|
+
return /* @__PURE__ */ jsxs195("div", { className: "lib-xplat-chart", ref: containerRef, children: [
|
|
6812
|
+
ready && type === "line" && /* @__PURE__ */ jsx305(LineChart, { data: stableData, labels: stableLabels, width, height, animate, onHover: show, onMove: move, onLeave: hide }),
|
|
6813
|
+
ready && type === "curve" && /* @__PURE__ */ jsx305(CurveChart, { data: stableData, labels: stableLabels, width, height, animate, onHover: show, onMove: move, onLeave: hide }),
|
|
6814
|
+
ready && type === "bar" && /* @__PURE__ */ jsx305(BarChart, { data: stableData, labels: stableLabels, width, height, animate, onHover: show, onMove: move, onLeave: hide }),
|
|
6815
|
+
ready && type === "pie" && /* @__PURE__ */ jsx305(PieDonutChart, { data: stableData, labels: stableLabels, width, height, animate, onHover: show, onMove: move, onLeave: hide }),
|
|
6816
|
+
ready && type === "doughnut" && /* @__PURE__ */ jsx305(PieDonutChart, { data: stableData, labels: stableLabels, width, height, animate, isDoughnut: true, onHover: show, onMove: move, onLeave: hide }),
|
|
6817
|
+
ready && (type === "pie" || type === "doughnut") && /* @__PURE__ */ jsx305(ChartLegend, { data: stableData, labels: stableLabels, type }),
|
|
6818
|
+
tooltip.visible && tooltip.content && /* @__PURE__ */ jsx305(ChartTooltip, { x: tooltip.x, y: tooltip.y, containerWidth: width, containerHeight: height, tooltipType, children: tooltip.content })
|
|
6840
6819
|
] });
|
|
6841
6820
|
});
|
|
6842
6821
|
Chart.displayName = "Chart";
|
|
@@ -6846,7 +6825,7 @@ var Chart_default = Chart;
|
|
|
6846
6825
|
import React7 from "react";
|
|
6847
6826
|
|
|
6848
6827
|
// src/components/IconButton/IconButton.tsx
|
|
6849
|
-
import { jsx as
|
|
6828
|
+
import { jsx as jsx306 } from "react/jsx-runtime";
|
|
6850
6829
|
var IconButton = (props) => {
|
|
6851
6830
|
const {
|
|
6852
6831
|
icon,
|
|
@@ -6855,7 +6834,7 @@ var IconButton = (props) => {
|
|
|
6855
6834
|
disabled,
|
|
6856
6835
|
...rest
|
|
6857
6836
|
} = props;
|
|
6858
|
-
return /* @__PURE__ */
|
|
6837
|
+
return /* @__PURE__ */ jsx306(
|
|
6859
6838
|
"button",
|
|
6860
6839
|
{
|
|
6861
6840
|
className: clsx_default("lib-xplat-icon-button", type, size),
|
|
@@ -6869,7 +6848,7 @@ IconButton.displayName = "IconButton";
|
|
|
6869
6848
|
var IconButton_default = IconButton;
|
|
6870
6849
|
|
|
6871
6850
|
// src/components/ChatInput/ChatInput.tsx
|
|
6872
|
-
import { jsx as
|
|
6851
|
+
import { jsx as jsx307, jsxs as jsxs196 } from "react/jsx-runtime";
|
|
6873
6852
|
var ChatInput = React7.forwardRef(
|
|
6874
6853
|
(props, ref) => {
|
|
6875
6854
|
const {
|
|
@@ -6900,8 +6879,8 @@ var ChatInput = React7.forwardRef(
|
|
|
6900
6879
|
handleSubmit();
|
|
6901
6880
|
}
|
|
6902
6881
|
};
|
|
6903
|
-
return /* @__PURE__ */
|
|
6904
|
-
/* @__PURE__ */
|
|
6882
|
+
return /* @__PURE__ */ jsxs196("div", { className: clsx_default("lib-xplat-chat-input", disabled && "disabled"), children: [
|
|
6883
|
+
/* @__PURE__ */ jsx307(
|
|
6905
6884
|
AutoResizeTextArea_default,
|
|
6906
6885
|
{
|
|
6907
6886
|
ref,
|
|
@@ -6915,10 +6894,10 @@ var ChatInput = React7.forwardRef(
|
|
|
6915
6894
|
onKeyDown: handleKeyDown
|
|
6916
6895
|
}
|
|
6917
6896
|
),
|
|
6918
|
-
/* @__PURE__ */
|
|
6897
|
+
/* @__PURE__ */ jsx307(
|
|
6919
6898
|
IconButton_default,
|
|
6920
6899
|
{
|
|
6921
|
-
icon: /* @__PURE__ */
|
|
6900
|
+
icon: /* @__PURE__ */ jsx307(MessageSquareIcon_default, {}),
|
|
6922
6901
|
type: buttonType,
|
|
6923
6902
|
size: "sm",
|
|
6924
6903
|
disabled: !hasText || disabled,
|
|
@@ -6952,7 +6931,7 @@ import { semantic } from "@x-plat/tokens-core";
|
|
|
6952
6931
|
import { cssVar } from "@x-plat/tokens-core";
|
|
6953
6932
|
|
|
6954
6933
|
// src/components/CheckBox/CheckBox.tsx
|
|
6955
|
-
import { jsx as
|
|
6934
|
+
import { jsx as jsx308, jsxs as jsxs197 } from "react/jsx-runtime";
|
|
6956
6935
|
var CheckBox = (props) => {
|
|
6957
6936
|
const {
|
|
6958
6937
|
checked,
|
|
@@ -6971,8 +6950,8 @@ var CheckBox = (props) => {
|
|
|
6971
6950
|
const checkedClasses = `checked`;
|
|
6972
6951
|
const disabledClasses = "disabled";
|
|
6973
6952
|
const boxClasses = disabled ? disabledClasses : checked ? checkedClasses : uncheckedClasses;
|
|
6974
|
-
return /* @__PURE__ */
|
|
6975
|
-
/* @__PURE__ */
|
|
6953
|
+
return /* @__PURE__ */ jsxs197("label", { className: clsx_default("lib-xplat-checkbox", size, type, className), children: [
|
|
6954
|
+
/* @__PURE__ */ jsx308(
|
|
6976
6955
|
"input",
|
|
6977
6956
|
{
|
|
6978
6957
|
type: "checkbox",
|
|
@@ -6982,22 +6961,22 @@ var CheckBox = (props) => {
|
|
|
6982
6961
|
...rest
|
|
6983
6962
|
}
|
|
6984
6963
|
),
|
|
6985
|
-
/* @__PURE__ */
|
|
6986
|
-
label && /* @__PURE__ */
|
|
6964
|
+
/* @__PURE__ */ jsx308("span", { className: clsx_default("checkbox", boxClasses), children: /* @__PURE__ */ jsx308("span", { className: clsx_default("check-icon", { visible: checked }), children: /* @__PURE__ */ jsx308(CheckIcon_default, {}) }) }),
|
|
6965
|
+
label && /* @__PURE__ */ jsx308("span", { className: "label", children: label })
|
|
6987
6966
|
] });
|
|
6988
6967
|
};
|
|
6989
6968
|
CheckBox.displayName = "CheckBox";
|
|
6990
6969
|
var CheckBox_default = CheckBox;
|
|
6991
6970
|
|
|
6992
6971
|
// src/components/Chip/Chip.tsx
|
|
6993
|
-
import { jsx as
|
|
6972
|
+
import { jsx as jsx309 } from "react/jsx-runtime";
|
|
6994
6973
|
var Chip = (props) => {
|
|
6995
6974
|
const {
|
|
6996
6975
|
children,
|
|
6997
6976
|
type = "primary",
|
|
6998
6977
|
size = "md"
|
|
6999
6978
|
} = props;
|
|
7000
|
-
return /* @__PURE__ */
|
|
6979
|
+
return /* @__PURE__ */ jsx309("div", { className: clsx_default("lib-xplat-chip", type, size), children });
|
|
7001
6980
|
};
|
|
7002
6981
|
Chip.displayName = "Chip";
|
|
7003
6982
|
var Chip_default = Chip;
|
|
@@ -7009,17 +6988,17 @@ import React13 from "react";
|
|
|
7009
6988
|
import React8 from "react";
|
|
7010
6989
|
|
|
7011
6990
|
// src/components/Input/InputValidations.tsx
|
|
7012
|
-
import { jsx as
|
|
6991
|
+
import { jsx as jsx310, jsxs as jsxs198 } from "react/jsx-runtime";
|
|
7013
6992
|
var InputValidations = (props) => {
|
|
7014
6993
|
const { message, status = "default" } = props;
|
|
7015
|
-
return /* @__PURE__ */
|
|
7016
|
-
/* @__PURE__ */
|
|
7017
|
-
status === "default" && /* @__PURE__ */
|
|
7018
|
-
status === "success" && /* @__PURE__ */
|
|
7019
|
-
status === "warning" && /* @__PURE__ */
|
|
7020
|
-
status === "error" && /* @__PURE__ */
|
|
6994
|
+
return /* @__PURE__ */ jsxs198("div", { className: clsx_default("lib-xplat-input-validation", status), children: [
|
|
6995
|
+
/* @__PURE__ */ jsxs198("div", { className: "icon", children: [
|
|
6996
|
+
status === "default" && /* @__PURE__ */ jsx310(InfoIcon_default, {}),
|
|
6997
|
+
status === "success" && /* @__PURE__ */ jsx310(SuccessIcon_default, {}),
|
|
6998
|
+
status === "warning" && /* @__PURE__ */ jsx310(InfoIcon_default, {}),
|
|
6999
|
+
status === "error" && /* @__PURE__ */ jsx310(ErrorIcon_default, {})
|
|
7021
7000
|
] }),
|
|
7022
|
-
/* @__PURE__ */
|
|
7001
|
+
/* @__PURE__ */ jsx310("div", { className: "message", children: message })
|
|
7023
7002
|
] });
|
|
7024
7003
|
};
|
|
7025
7004
|
InputValidations.displayName = "InputValidations";
|
|
@@ -7060,7 +7039,7 @@ var handleTelBackspace = (prevValue, currValue) => {
|
|
|
7060
7039
|
};
|
|
7061
7040
|
|
|
7062
7041
|
// src/components/Input/Input.tsx
|
|
7063
|
-
import { jsx as
|
|
7042
|
+
import { jsx as jsx311, jsxs as jsxs199 } from "react/jsx-runtime";
|
|
7064
7043
|
import { createElement } from "react";
|
|
7065
7044
|
var formatValue = (type, value) => {
|
|
7066
7045
|
if (value === null || value === void 0) return "";
|
|
@@ -7136,13 +7115,13 @@ var Input = React8.forwardRef((props, ref) => {
|
|
|
7136
7115
|
onChange(event);
|
|
7137
7116
|
}
|
|
7138
7117
|
};
|
|
7139
|
-
return /* @__PURE__ */
|
|
7140
|
-
/* @__PURE__ */
|
|
7118
|
+
return /* @__PURE__ */ jsxs199("div", { className: clsx_default("lib-xplat-input-wrap", className), children: [
|
|
7119
|
+
/* @__PURE__ */ jsxs199(
|
|
7141
7120
|
"div",
|
|
7142
7121
|
{
|
|
7143
7122
|
className: clsx_default("lib-xplat-input", size, disabled ? "disabled" : void 0),
|
|
7144
7123
|
children: [
|
|
7145
|
-
/* @__PURE__ */
|
|
7124
|
+
/* @__PURE__ */ jsx311(
|
|
7146
7125
|
"input",
|
|
7147
7126
|
{
|
|
7148
7127
|
...inputProps,
|
|
@@ -7153,11 +7132,11 @@ var Input = React8.forwardRef((props, ref) => {
|
|
|
7153
7132
|
onChange: handleChange
|
|
7154
7133
|
}
|
|
7155
7134
|
),
|
|
7156
|
-
suffix && /* @__PURE__ */
|
|
7135
|
+
suffix && /* @__PURE__ */ jsx311("div", { className: "suffix", children: suffix })
|
|
7157
7136
|
]
|
|
7158
7137
|
}
|
|
7159
7138
|
),
|
|
7160
|
-
validations && /* @__PURE__ */
|
|
7139
|
+
validations && /* @__PURE__ */ jsx311("div", { className: "lib-xplat-input-validation-wrap", children: validations?.map((validation, idx) => /* @__PURE__ */ createElement(
|
|
7161
7140
|
InputValidations_default,
|
|
7162
7141
|
{
|
|
7163
7142
|
...validation,
|
|
@@ -7171,7 +7150,7 @@ var Input_default = Input;
|
|
|
7171
7150
|
|
|
7172
7151
|
// src/components/Input/PasswordInput/PasswordInput.tsx
|
|
7173
7152
|
import React9 from "react";
|
|
7174
|
-
import { jsx as
|
|
7153
|
+
import { jsx as jsx312 } from "react/jsx-runtime";
|
|
7175
7154
|
var PasswordInput = React9.forwardRef(
|
|
7176
7155
|
(props, ref) => {
|
|
7177
7156
|
const { reg: _reg, ...inputProps } = props;
|
|
@@ -7179,11 +7158,11 @@ var PasswordInput = React9.forwardRef(
|
|
|
7179
7158
|
const handleChangeView = () => {
|
|
7180
7159
|
setIsView((prev) => !prev);
|
|
7181
7160
|
};
|
|
7182
|
-
return /* @__PURE__ */
|
|
7161
|
+
return /* @__PURE__ */ jsx312(
|
|
7183
7162
|
Input_default,
|
|
7184
7163
|
{
|
|
7185
7164
|
...inputProps,
|
|
7186
|
-
suffix: /* @__PURE__ */
|
|
7165
|
+
suffix: /* @__PURE__ */ jsx312("div", { className: "wrapper pointer", onClick: handleChangeView, children: isView ? /* @__PURE__ */ jsx312(OpenEyeIcon_default, {}) : /* @__PURE__ */ jsx312(CloseEyeIcon_default, {}) }),
|
|
7187
7166
|
type: isView ? "text" : "password",
|
|
7188
7167
|
ref
|
|
7189
7168
|
}
|
|
@@ -7200,9 +7179,9 @@ import { createPortal } from "react-dom";
|
|
|
7200
7179
|
// src/tokens/hooks/Portal.tsx
|
|
7201
7180
|
import React10 from "react";
|
|
7202
7181
|
import ReactDOM from "react-dom";
|
|
7203
|
-
import { jsx as
|
|
7182
|
+
import { jsx as jsx313 } from "react/jsx-runtime";
|
|
7204
7183
|
var PortalContainerContext = React10.createContext(null);
|
|
7205
|
-
var PortalProvider = ({ container, children }) => /* @__PURE__ */
|
|
7184
|
+
var PortalProvider = ({ container, children }) => /* @__PURE__ */ jsx313(PortalContainerContext.Provider, { value: container, children });
|
|
7206
7185
|
var Portal = ({ children }) => {
|
|
7207
7186
|
const contextContainer = React10.useContext(PortalContainerContext);
|
|
7208
7187
|
if (typeof document === "undefined") return null;
|
|
@@ -7213,7 +7192,7 @@ Portal.displayName = "Portal";
|
|
|
7213
7192
|
var Portal_default = Portal;
|
|
7214
7193
|
|
|
7215
7194
|
// src/components/Modal/Modal.tsx
|
|
7216
|
-
import { jsx as
|
|
7195
|
+
import { jsx as jsx314 } from "react/jsx-runtime";
|
|
7217
7196
|
var ANIMATION_DURATION_MS = 200;
|
|
7218
7197
|
var Modal = (props) => {
|
|
7219
7198
|
const { isOpen, onClose, children } = props;
|
|
@@ -7234,12 +7213,12 @@ var Modal = (props) => {
|
|
|
7234
7213
|
if (!mounted) return null;
|
|
7235
7214
|
const stateClass = visible ? "enter" : "exit";
|
|
7236
7215
|
return createPortal(
|
|
7237
|
-
/* @__PURE__ */
|
|
7216
|
+
/* @__PURE__ */ jsx314(
|
|
7238
7217
|
"div",
|
|
7239
7218
|
{
|
|
7240
7219
|
className: clsx_default("lib-xplat-modal", "dim", stateClass),
|
|
7241
7220
|
onClick: onClose,
|
|
7242
|
-
children: /* @__PURE__ */
|
|
7221
|
+
children: /* @__PURE__ */ jsx314(
|
|
7243
7222
|
"div",
|
|
7244
7223
|
{
|
|
7245
7224
|
ref: boxRef,
|
|
@@ -7247,7 +7226,7 @@ var Modal = (props) => {
|
|
|
7247
7226
|
role: "dialog",
|
|
7248
7227
|
"aria-modal": "true",
|
|
7249
7228
|
onClick: (e) => e.stopPropagation(),
|
|
7250
|
-
children: /* @__PURE__ */
|
|
7229
|
+
children: /* @__PURE__ */ jsx314(PortalProvider, { container: boxRef.current, children })
|
|
7251
7230
|
}
|
|
7252
7231
|
)
|
|
7253
7232
|
}
|
|
@@ -7260,7 +7239,7 @@ var Modal_default = Modal;
|
|
|
7260
7239
|
|
|
7261
7240
|
// src/components/DatePicker/SingleDatePicker/index.tsx
|
|
7262
7241
|
import React12 from "react";
|
|
7263
|
-
import { Fragment as Fragment3, jsx as
|
|
7242
|
+
import { Fragment as Fragment3, jsx as jsx315, jsxs as jsxs200 } from "react/jsx-runtime";
|
|
7264
7243
|
var DayCell2 = React12.memo(
|
|
7265
7244
|
({
|
|
7266
7245
|
day,
|
|
@@ -7271,7 +7250,7 @@ var DayCell2 = React12.memo(
|
|
|
7271
7250
|
isEnd,
|
|
7272
7251
|
inRange,
|
|
7273
7252
|
onSelect
|
|
7274
|
-
}) => /* @__PURE__ */
|
|
7253
|
+
}) => /* @__PURE__ */ jsx315(
|
|
7275
7254
|
"button",
|
|
7276
7255
|
{
|
|
7277
7256
|
type: "button",
|
|
@@ -7369,20 +7348,20 @@ var SingleDatePicker = (props) => {
|
|
|
7369
7348
|
const monthLabels = MONTH_LABELS[locale];
|
|
7370
7349
|
const titleText = pickerMode === "days" ? locale === "ko" ? `${year}\uB144 ${monthLabels[month]}` : `${monthLabels[month]} ${year}` : pickerMode === "months" ? `${year}` : `${yearRangeStart} - ${yearRangeStart + 11}`;
|
|
7371
7350
|
const hasRange = rangeStart != null && rangeEnd != null;
|
|
7372
|
-
return /* @__PURE__ */
|
|
7351
|
+
return /* @__PURE__ */ jsxs200(
|
|
7373
7352
|
"div",
|
|
7374
7353
|
{
|
|
7375
7354
|
className: clsx_default("lib-xplat-datepicker", "single"),
|
|
7376
7355
|
children: [
|
|
7377
|
-
/* @__PURE__ */
|
|
7378
|
-
/* @__PURE__ */
|
|
7379
|
-
/* @__PURE__ */
|
|
7380
|
-
/* @__PURE__ */
|
|
7356
|
+
/* @__PURE__ */ jsxs200("div", { className: "datepicker-header", children: [
|
|
7357
|
+
/* @__PURE__ */ jsx315("button", { className: "datepicker-nav", onClick: handlePrev, type: "button", children: /* @__PURE__ */ jsx315(ChevronLeftIcon_default, {}) }),
|
|
7358
|
+
/* @__PURE__ */ jsx315("button", { className: "datepicker-title", onClick: handleTitleClick, type: "button", children: titleText }),
|
|
7359
|
+
/* @__PURE__ */ jsx315("button", { className: "datepicker-nav", onClick: handleNext, type: "button", children: /* @__PURE__ */ jsx315(ChevronRightIcon_default, {}) })
|
|
7381
7360
|
] }),
|
|
7382
|
-
/* @__PURE__ */
|
|
7383
|
-
pickerMode === "years" && /* @__PURE__ */
|
|
7361
|
+
/* @__PURE__ */ jsxs200("div", { className: "datepicker-body", children: [
|
|
7362
|
+
pickerMode === "years" && /* @__PURE__ */ jsx315("div", { className: "datepicker-picker-grid", children: Array.from({ length: 12 }, (_, i) => {
|
|
7384
7363
|
const y = yearRangeStart + i;
|
|
7385
|
-
return /* @__PURE__ */
|
|
7364
|
+
return /* @__PURE__ */ jsx315(
|
|
7386
7365
|
"button",
|
|
7387
7366
|
{
|
|
7388
7367
|
type: "button",
|
|
@@ -7393,7 +7372,7 @@ var SingleDatePicker = (props) => {
|
|
|
7393
7372
|
y
|
|
7394
7373
|
);
|
|
7395
7374
|
}) }),
|
|
7396
|
-
pickerMode === "months" && /* @__PURE__ */
|
|
7375
|
+
pickerMode === "months" && /* @__PURE__ */ jsx315("div", { className: "datepicker-picker-grid", children: monthLabels.map((label, i) => /* @__PURE__ */ jsx315(
|
|
7397
7376
|
"button",
|
|
7398
7377
|
{
|
|
7399
7378
|
type: "button",
|
|
@@ -7403,8 +7382,8 @@ var SingleDatePicker = (props) => {
|
|
|
7403
7382
|
},
|
|
7404
7383
|
i
|
|
7405
7384
|
)) }),
|
|
7406
|
-
pickerMode === "days" && /* @__PURE__ */
|
|
7407
|
-
/* @__PURE__ */
|
|
7385
|
+
pickerMode === "days" && /* @__PURE__ */ jsxs200(Fragment3, { children: [
|
|
7386
|
+
/* @__PURE__ */ jsx315("div", { className: "datepicker-weekdays", children: weekdays.map((label, i) => /* @__PURE__ */ jsx315(
|
|
7408
7387
|
"div",
|
|
7409
7388
|
{
|
|
7410
7389
|
className: clsx_default(
|
|
@@ -7416,7 +7395,7 @@ var SingleDatePicker = (props) => {
|
|
|
7416
7395
|
},
|
|
7417
7396
|
label
|
|
7418
7397
|
)) }),
|
|
7419
|
-
/* @__PURE__ */
|
|
7398
|
+
/* @__PURE__ */ jsx315("div", { className: "datepicker-grid", children: days.map((day, idx) => {
|
|
7420
7399
|
const t = day.date.getTime();
|
|
7421
7400
|
const disabled = t < minTime || t > maxTime;
|
|
7422
7401
|
const selected = value ? isSameDay(day.date, value) : false;
|
|
@@ -7426,7 +7405,7 @@ var SingleDatePicker = (props) => {
|
|
|
7426
7405
|
const isStart = hasRange ? isSameDay(day.date, rangeStart) : false;
|
|
7427
7406
|
const isEnd = hasRange ? isSameDay(day.date, rangeEnd) : false;
|
|
7428
7407
|
const inRangeVal = hasRange ? isInRange(day.date, rangeStart, rangeEnd) : false;
|
|
7429
|
-
return /* @__PURE__ */
|
|
7408
|
+
return /* @__PURE__ */ jsx315(
|
|
7430
7409
|
DayCell2,
|
|
7431
7410
|
{
|
|
7432
7411
|
day,
|
|
@@ -7451,7 +7430,7 @@ SingleDatePicker.displayName = "SingleDatePicker";
|
|
|
7451
7430
|
var SingleDatePicker_default = SingleDatePicker;
|
|
7452
7431
|
|
|
7453
7432
|
// src/components/DatePicker/InputDatePicker/index.tsx
|
|
7454
|
-
import { jsx as
|
|
7433
|
+
import { jsx as jsx316, jsxs as jsxs201 } from "react/jsx-runtime";
|
|
7455
7434
|
var formatDate = (date) => {
|
|
7456
7435
|
if (!date || !(date instanceof Date) || isNaN(date.getTime())) return "";
|
|
7457
7436
|
const y = date.getFullYear();
|
|
@@ -7478,19 +7457,19 @@ var InputDatePicker = (props) => {
|
|
|
7478
7457
|
const handleClose = () => {
|
|
7479
7458
|
setIsOpen(false);
|
|
7480
7459
|
};
|
|
7481
|
-
return /* @__PURE__ */
|
|
7482
|
-
/* @__PURE__ */
|
|
7460
|
+
return /* @__PURE__ */ jsxs201("div", { className: clsx_default("lib-xplat-datepicker input-datepicker", disabled && "disabled"), children: [
|
|
7461
|
+
/* @__PURE__ */ jsx316("div", { className: "input-datepicker-trigger", onClick: handleOpen, children: /* @__PURE__ */ jsx316(
|
|
7483
7462
|
Input_default,
|
|
7484
7463
|
{
|
|
7485
7464
|
value: formatDate(value),
|
|
7486
7465
|
placeholder,
|
|
7487
|
-
suffix: /* @__PURE__ */
|
|
7466
|
+
suffix: /* @__PURE__ */ jsx316(CalenderIcon_default, {}),
|
|
7488
7467
|
disabled,
|
|
7489
7468
|
readOnly: true
|
|
7490
7469
|
}
|
|
7491
7470
|
) }),
|
|
7492
|
-
/* @__PURE__ */
|
|
7493
|
-
/* @__PURE__ */
|
|
7471
|
+
/* @__PURE__ */ jsx316(Modal_default, { isOpen, onClose: handleClose, children: /* @__PURE__ */ jsxs201("div", { className: "lib-xplat-popup-datepicker-card", children: [
|
|
7472
|
+
/* @__PURE__ */ jsx316("div", { className: "popup-datepicker-content", children: /* @__PURE__ */ jsx316(
|
|
7494
7473
|
SingleDatePicker_default,
|
|
7495
7474
|
{
|
|
7496
7475
|
value: tempDate,
|
|
@@ -7500,9 +7479,9 @@ var InputDatePicker = (props) => {
|
|
|
7500
7479
|
locale
|
|
7501
7480
|
}
|
|
7502
7481
|
) }),
|
|
7503
|
-
/* @__PURE__ */
|
|
7504
|
-
/* @__PURE__ */
|
|
7505
|
-
/* @__PURE__ */
|
|
7482
|
+
/* @__PURE__ */ jsxs201("div", { className: "popup-datepicker-footer", children: [
|
|
7483
|
+
/* @__PURE__ */ jsx316(Button_default, { type: "secondary", onClick: handleClose, children: locale === "ko" ? "\uCDE8\uC18C" : "Cancel" }),
|
|
7484
|
+
/* @__PURE__ */ jsx316(Button_default, { type: "primary", onClick: handleApply, children: locale === "ko" ? "\uC801\uC6A9" : "Apply" })
|
|
7506
7485
|
] })
|
|
7507
7486
|
] }) })
|
|
7508
7487
|
] });
|
|
@@ -7521,10 +7500,10 @@ import React15 from "react";
|
|
|
7521
7500
|
|
|
7522
7501
|
// src/components/Tab/TabItem.tsx
|
|
7523
7502
|
import React14 from "react";
|
|
7524
|
-
import { jsx as
|
|
7503
|
+
import { jsx as jsx317 } from "react/jsx-runtime";
|
|
7525
7504
|
var TabItem = React14.forwardRef((props, ref) => {
|
|
7526
7505
|
const { isActive: isActive2, title, onClick } = props;
|
|
7527
|
-
return /* @__PURE__ */
|
|
7506
|
+
return /* @__PURE__ */ jsx317(
|
|
7528
7507
|
"div",
|
|
7529
7508
|
{
|
|
7530
7509
|
ref,
|
|
@@ -7538,7 +7517,7 @@ TabItem.displayName = "TabItem";
|
|
|
7538
7517
|
var TabItem_default = TabItem;
|
|
7539
7518
|
|
|
7540
7519
|
// src/components/Tab/Tab.tsx
|
|
7541
|
-
import { jsx as
|
|
7520
|
+
import { jsx as jsx318, jsxs as jsxs202 } from "react/jsx-runtime";
|
|
7542
7521
|
var Tab = (props) => {
|
|
7543
7522
|
const { activeIndex, onChange, tabs, type, size = "md" } = props;
|
|
7544
7523
|
const [underlineStyle, setUnderlineStyle] = React15.useState({
|
|
@@ -7555,8 +7534,8 @@ var Tab = (props) => {
|
|
|
7555
7534
|
setUnderlineStyle({ left: el.offsetLeft, width: el.offsetWidth });
|
|
7556
7535
|
}
|
|
7557
7536
|
}, [activeIndex, tabs.length]);
|
|
7558
|
-
return /* @__PURE__ */
|
|
7559
|
-
tabs.map((tab, idx) => /* @__PURE__ */
|
|
7537
|
+
return /* @__PURE__ */ jsxs202("div", { className: clsx_default("lib-xplat-tab", `type-${type}`, size), children: [
|
|
7538
|
+
tabs.map((tab, idx) => /* @__PURE__ */ jsx318(
|
|
7560
7539
|
TabItem_default,
|
|
7561
7540
|
{
|
|
7562
7541
|
onClick: () => handleChangeActiveTab(tab, idx),
|
|
@@ -7568,7 +7547,7 @@ var Tab = (props) => {
|
|
|
7568
7547
|
},
|
|
7569
7548
|
`${tab.value}_${idx}`
|
|
7570
7549
|
)),
|
|
7571
|
-
type === "toggle" && /* @__PURE__ */
|
|
7550
|
+
type === "toggle" && /* @__PURE__ */ jsx318(
|
|
7572
7551
|
"div",
|
|
7573
7552
|
{
|
|
7574
7553
|
className: "tab-toggle-underline",
|
|
@@ -7584,7 +7563,7 @@ Tab.displayName = "Tab";
|
|
|
7584
7563
|
var Tab_default = Tab;
|
|
7585
7564
|
|
|
7586
7565
|
// src/components/DatePicker/RangePicker/index.tsx
|
|
7587
|
-
import { jsx as
|
|
7566
|
+
import { jsx as jsx319, jsxs as jsxs203 } from "react/jsx-runtime";
|
|
7588
7567
|
var RangePicker = (props) => {
|
|
7589
7568
|
const {
|
|
7590
7569
|
startDate,
|
|
@@ -7607,8 +7586,8 @@ var RangePicker = (props) => {
|
|
|
7607
7586
|
};
|
|
7608
7587
|
const startMaxDate = maxDate && endDate < maxDate ? endDate : endDate;
|
|
7609
7588
|
const endMinDate = minDate && startDate > minDate ? startDate : startDate;
|
|
7610
|
-
return /* @__PURE__ */
|
|
7611
|
-
/* @__PURE__ */
|
|
7589
|
+
return /* @__PURE__ */ jsxs203("div", { className: clsx_default("lib-xplat-datepicker", "range"), children: [
|
|
7590
|
+
/* @__PURE__ */ jsx319("div", { className: "datepicker-range-tabs", children: /* @__PURE__ */ jsx319(
|
|
7612
7591
|
Tab_default,
|
|
7613
7592
|
{
|
|
7614
7593
|
activeIndex: activeTab === "start" ? 0 : 1,
|
|
@@ -7621,8 +7600,8 @@ var RangePicker = (props) => {
|
|
|
7621
7600
|
size: "sm"
|
|
7622
7601
|
}
|
|
7623
7602
|
) }),
|
|
7624
|
-
/* @__PURE__ */
|
|
7625
|
-
/* @__PURE__ */
|
|
7603
|
+
/* @__PURE__ */ jsxs203("div", { className: "datepicker-range-panels", children: [
|
|
7604
|
+
/* @__PURE__ */ jsx319(
|
|
7626
7605
|
SingleDatePicker_default,
|
|
7627
7606
|
{
|
|
7628
7607
|
value: startDate,
|
|
@@ -7634,7 +7613,7 @@ var RangePicker = (props) => {
|
|
|
7634
7613
|
locale
|
|
7635
7614
|
}
|
|
7636
7615
|
),
|
|
7637
|
-
/* @__PURE__ */
|
|
7616
|
+
/* @__PURE__ */ jsx319(
|
|
7638
7617
|
SingleDatePicker_default,
|
|
7639
7618
|
{
|
|
7640
7619
|
value: endDate,
|
|
@@ -7647,7 +7626,7 @@ var RangePicker = (props) => {
|
|
|
7647
7626
|
}
|
|
7648
7627
|
)
|
|
7649
7628
|
] }),
|
|
7650
|
-
/* @__PURE__ */
|
|
7629
|
+
/* @__PURE__ */ jsx319("div", { className: "datepicker-range-mobile", children: activeTab === "start" ? /* @__PURE__ */ jsx319(
|
|
7651
7630
|
SingleDatePicker_default,
|
|
7652
7631
|
{
|
|
7653
7632
|
value: startDate,
|
|
@@ -7658,7 +7637,7 @@ var RangePicker = (props) => {
|
|
|
7658
7637
|
rangeEnd: endDate,
|
|
7659
7638
|
locale
|
|
7660
7639
|
}
|
|
7661
|
-
) : /* @__PURE__ */
|
|
7640
|
+
) : /* @__PURE__ */ jsx319(
|
|
7662
7641
|
SingleDatePicker_default,
|
|
7663
7642
|
{
|
|
7664
7643
|
value: endDate,
|
|
@@ -7676,7 +7655,7 @@ RangePicker.displayName = "RangePicker";
|
|
|
7676
7655
|
var RangePicker_default = RangePicker;
|
|
7677
7656
|
|
|
7678
7657
|
// src/components/DatePicker/PopupPicker/index.tsx
|
|
7679
|
-
import { jsx as
|
|
7658
|
+
import { jsx as jsx320, jsxs as jsxs204 } from "react/jsx-runtime";
|
|
7680
7659
|
var PopupPicker = (props) => {
|
|
7681
7660
|
const { component, type, locale } = props;
|
|
7682
7661
|
const [isOpen, setIsOpen] = React17.useState(false);
|
|
@@ -7687,11 +7666,11 @@ var PopupPicker = (props) => {
|
|
|
7687
7666
|
props.onChange?.(date);
|
|
7688
7667
|
handleClose();
|
|
7689
7668
|
};
|
|
7690
|
-
return /* @__PURE__ */
|
|
7669
|
+
return /* @__PURE__ */ jsxs204("div", { className: "lib-xplat-popup-datepicker", children: [
|
|
7691
7670
|
React17.cloneElement(component, { onClick: handleClick }),
|
|
7692
|
-
/* @__PURE__ */
|
|
7693
|
-
/* @__PURE__ */
|
|
7694
|
-
type === "single" && /* @__PURE__ */
|
|
7671
|
+
/* @__PURE__ */ jsx320(Modal_default, { isOpen, onClose: handleClose, children: /* @__PURE__ */ jsxs204("div", { className: clsx_default("lib-xplat-popup-datepicker-card", type === "range" && "range-mode"), children: [
|
|
7672
|
+
/* @__PURE__ */ jsxs204("div", { className: "popup-datepicker-content", children: [
|
|
7673
|
+
type === "single" && /* @__PURE__ */ jsx320(
|
|
7695
7674
|
SingleDatePicker_default,
|
|
7696
7675
|
{
|
|
7697
7676
|
value: props.value,
|
|
@@ -7701,7 +7680,7 @@ var PopupPicker = (props) => {
|
|
|
7701
7680
|
locale
|
|
7702
7681
|
}
|
|
7703
7682
|
),
|
|
7704
|
-
type === "range" && /* @__PURE__ */
|
|
7683
|
+
type === "range" && /* @__PURE__ */ jsx320(
|
|
7705
7684
|
RangePicker_default,
|
|
7706
7685
|
{
|
|
7707
7686
|
startDate: props.startDate,
|
|
@@ -7713,8 +7692,8 @@ var PopupPicker = (props) => {
|
|
|
7713
7692
|
}
|
|
7714
7693
|
)
|
|
7715
7694
|
] }),
|
|
7716
|
-
/* @__PURE__ */
|
|
7717
|
-
/* @__PURE__ */
|
|
7695
|
+
/* @__PURE__ */ jsxs204("div", { className: "popup-datepicker-footer", children: [
|
|
7696
|
+
/* @__PURE__ */ jsx320(
|
|
7718
7697
|
Button_default,
|
|
7719
7698
|
{
|
|
7720
7699
|
type: "secondary",
|
|
@@ -7722,7 +7701,7 @@ var PopupPicker = (props) => {
|
|
|
7722
7701
|
children: locale === "ko" ? "\uCDE8\uC18C" : "Cancel"
|
|
7723
7702
|
}
|
|
7724
7703
|
),
|
|
7725
|
-
/* @__PURE__ */
|
|
7704
|
+
/* @__PURE__ */ jsx320(Button_default, { type: "primary", onClick: handleClose, children: locale === "ko" ? "\uC801\uC6A9" : "Apply" })
|
|
7726
7705
|
] })
|
|
7727
7706
|
] }) })
|
|
7728
7707
|
] });
|
|
@@ -7731,10 +7710,10 @@ PopupPicker.displayName = "PopupPicker";
|
|
|
7731
7710
|
var PopupPicker_default = PopupPicker;
|
|
7732
7711
|
|
|
7733
7712
|
// src/components/Divider/Divider.tsx
|
|
7734
|
-
import { jsx as
|
|
7713
|
+
import { jsx as jsx321 } from "react/jsx-runtime";
|
|
7735
7714
|
var Divider = (props) => {
|
|
7736
7715
|
const { orientation = "horizontal" } = props;
|
|
7737
|
-
return /* @__PURE__ */
|
|
7716
|
+
return /* @__PURE__ */ jsx321(
|
|
7738
7717
|
"div",
|
|
7739
7718
|
{
|
|
7740
7719
|
className: clsx_default("lib-xplat-divider", orientation),
|
|
@@ -7749,7 +7728,7 @@ var Divider_default = Divider;
|
|
|
7749
7728
|
// src/components/Drawer/Drawer.tsx
|
|
7750
7729
|
import React18 from "react";
|
|
7751
7730
|
import { createPortal as createPortal2 } from "react-dom";
|
|
7752
|
-
import { jsx as
|
|
7731
|
+
import { jsx as jsx322, jsxs as jsxs205 } from "react/jsx-runtime";
|
|
7753
7732
|
var ANIMATION_DURATION_MS2 = 250;
|
|
7754
7733
|
var Drawer = (props) => {
|
|
7755
7734
|
const { isOpen, onClose, placement = "right", size = "md", title, children } = props;
|
|
@@ -7769,12 +7748,12 @@ var Drawer = (props) => {
|
|
|
7769
7748
|
if (!mounted) return null;
|
|
7770
7749
|
const stateClass = visible ? "enter" : "exit";
|
|
7771
7750
|
return createPortal2(
|
|
7772
|
-
/* @__PURE__ */
|
|
7751
|
+
/* @__PURE__ */ jsx322(
|
|
7773
7752
|
"div",
|
|
7774
7753
|
{
|
|
7775
7754
|
className: clsx_default("lib-xplat-drawer-overlay", stateClass),
|
|
7776
7755
|
onClick: onClose,
|
|
7777
|
-
children: /* @__PURE__ */
|
|
7756
|
+
children: /* @__PURE__ */ jsxs205(
|
|
7778
7757
|
"div",
|
|
7779
7758
|
{
|
|
7780
7759
|
className: clsx_default("lib-xplat-drawer", placement, size, stateClass),
|
|
@@ -7782,11 +7761,11 @@ var Drawer = (props) => {
|
|
|
7782
7761
|
"aria-modal": "true",
|
|
7783
7762
|
onClick: (e) => e.stopPropagation(),
|
|
7784
7763
|
children: [
|
|
7785
|
-
title && /* @__PURE__ */
|
|
7786
|
-
/* @__PURE__ */
|
|
7787
|
-
/* @__PURE__ */
|
|
7764
|
+
title && /* @__PURE__ */ jsxs205("div", { className: "drawer-header", children: [
|
|
7765
|
+
/* @__PURE__ */ jsx322("span", { className: "drawer-title", children: title }),
|
|
7766
|
+
/* @__PURE__ */ jsx322("button", { className: "close-btn", onClick: onClose, "aria-label": "\uB2EB\uAE30", children: "\xD7" })
|
|
7788
7767
|
] }),
|
|
7789
|
-
/* @__PURE__ */
|
|
7768
|
+
/* @__PURE__ */ jsx322("div", { className: "drawer-body", children })
|
|
7790
7769
|
]
|
|
7791
7770
|
}
|
|
7792
7771
|
)
|
|
@@ -7888,7 +7867,7 @@ var useClickOutside = (refs, handler, enabled = true) => {
|
|
|
7888
7867
|
var useClickOutside_default = useClickOutside;
|
|
7889
7868
|
|
|
7890
7869
|
// src/components/Dropdown/Dropdown.tsx
|
|
7891
|
-
import { jsx as
|
|
7870
|
+
import { jsx as jsx323, jsxs as jsxs206 } from "react/jsx-runtime";
|
|
7892
7871
|
var Dropdown = (props) => {
|
|
7893
7872
|
const { items, children } = props;
|
|
7894
7873
|
const [isOpen, setIsOpen] = React21.useState(false);
|
|
@@ -7913,8 +7892,8 @@ var Dropdown = (props) => {
|
|
|
7913
7892
|
item.onClick?.();
|
|
7914
7893
|
setIsOpen(false);
|
|
7915
7894
|
};
|
|
7916
|
-
return /* @__PURE__ */
|
|
7917
|
-
/* @__PURE__ */
|
|
7895
|
+
return /* @__PURE__ */ jsxs206("div", { className: "lib-xplat-dropdown", children: [
|
|
7896
|
+
/* @__PURE__ */ jsx323(
|
|
7918
7897
|
"div",
|
|
7919
7898
|
{
|
|
7920
7899
|
ref: triggerRef,
|
|
@@ -7923,14 +7902,14 @@ var Dropdown = (props) => {
|
|
|
7923
7902
|
children
|
|
7924
7903
|
}
|
|
7925
7904
|
),
|
|
7926
|
-
mounted && /* @__PURE__ */
|
|
7905
|
+
mounted && /* @__PURE__ */ jsx323(Portal_default, { children: /* @__PURE__ */ jsx323(
|
|
7927
7906
|
"div",
|
|
7928
7907
|
{
|
|
7929
7908
|
ref: menuRef,
|
|
7930
7909
|
className: clsx_default("lib-xplat-dropdown-menu", direction, { visible }),
|
|
7931
7910
|
style: { top: position.top, left: position.left },
|
|
7932
7911
|
role: "menu",
|
|
7933
|
-
children: items.map((item) => /* @__PURE__ */
|
|
7912
|
+
children: items.map((item) => /* @__PURE__ */ jsx323(
|
|
7934
7913
|
"button",
|
|
7935
7914
|
{
|
|
7936
7915
|
className: clsx_default("dropdown-item", {
|
|
@@ -7953,7 +7932,7 @@ var Dropdown_default = Dropdown;
|
|
|
7953
7932
|
|
|
7954
7933
|
// src/components/Editor/Editor.tsx
|
|
7955
7934
|
import React22 from "react";
|
|
7956
|
-
import { jsx as
|
|
7935
|
+
import { jsx as jsx324, jsxs as jsxs207 } from "react/jsx-runtime";
|
|
7957
7936
|
var DEFAULT_TOOLBAR = [
|
|
7958
7937
|
"bold",
|
|
7959
7938
|
"italic",
|
|
@@ -8473,8 +8452,8 @@ var Editor = (props) => {
|
|
|
8473
8452
|
break;
|
|
8474
8453
|
}
|
|
8475
8454
|
};
|
|
8476
|
-
return /* @__PURE__ */
|
|
8477
|
-
!readOnly && /* @__PURE__ */
|
|
8455
|
+
return /* @__PURE__ */ jsxs207("div", { className: clsx_default("lib-xplat-editor", isFocused && "focused", readOnly && "readonly"), children: [
|
|
8456
|
+
!readOnly && /* @__PURE__ */ jsx324(
|
|
8478
8457
|
EditorToolbar,
|
|
8479
8458
|
{
|
|
8480
8459
|
items: toolbar,
|
|
@@ -8482,9 +8461,9 @@ var Editor = (props) => {
|
|
|
8482
8461
|
onAction: onToolbarAction
|
|
8483
8462
|
}
|
|
8484
8463
|
),
|
|
8485
|
-
/* @__PURE__ */
|
|
8486
|
-
isEmpty && !isFocused && /* @__PURE__ */
|
|
8487
|
-
/* @__PURE__ */
|
|
8464
|
+
/* @__PURE__ */ jsxs207("div", { className: "lib-xplat-editor__content", style: { minHeight }, children: [
|
|
8465
|
+
isEmpty && !isFocused && /* @__PURE__ */ jsx324("div", { className: "lib-xplat-editor__placeholder", children: placeholder }),
|
|
8466
|
+
/* @__PURE__ */ jsx324(
|
|
8488
8467
|
"div",
|
|
8489
8468
|
{
|
|
8490
8469
|
ref: editorRef,
|
|
@@ -8503,7 +8482,7 @@ var Editor = (props) => {
|
|
|
8503
8482
|
spellCheck: true
|
|
8504
8483
|
}
|
|
8505
8484
|
),
|
|
8506
|
-
slashOpen && filteredSlashItems.length > 0 && /* @__PURE__ */
|
|
8485
|
+
slashOpen && filteredSlashItems.length > 0 && /* @__PURE__ */ jsx324(
|
|
8507
8486
|
SlashMenu,
|
|
8508
8487
|
{
|
|
8509
8488
|
position: slashPos,
|
|
@@ -8513,7 +8492,7 @@ var Editor = (props) => {
|
|
|
8513
8492
|
onClose: closeSlashMenu
|
|
8514
8493
|
}
|
|
8515
8494
|
),
|
|
8516
|
-
linkOpen && /* @__PURE__ */
|
|
8495
|
+
linkOpen && /* @__PURE__ */ jsx324(
|
|
8517
8496
|
LinkPopover,
|
|
8518
8497
|
{
|
|
8519
8498
|
position: linkPos,
|
|
@@ -8565,7 +8544,7 @@ var isActive = (item, active) => {
|
|
|
8565
8544
|
return active.has(item);
|
|
8566
8545
|
};
|
|
8567
8546
|
var EditorToolbar = ({ items, active, onAction }) => {
|
|
8568
|
-
return /* @__PURE__ */
|
|
8547
|
+
return /* @__PURE__ */ jsx324("div", { className: "lib-xplat-editor__toolbar", children: items.map((item) => /* @__PURE__ */ jsx324(
|
|
8569
8548
|
"button",
|
|
8570
8549
|
{
|
|
8571
8550
|
type: "button",
|
|
@@ -8590,12 +8569,12 @@ var SlashMenu = ({ position, items, activeIndex, onSelect, onClose }) => {
|
|
|
8590
8569
|
window.addEventListener("mousedown", handleClickOutside);
|
|
8591
8570
|
return () => window.removeEventListener("mousedown", handleClickOutside);
|
|
8592
8571
|
}, [onClose]);
|
|
8593
|
-
return /* @__PURE__ */
|
|
8572
|
+
return /* @__PURE__ */ jsx324(
|
|
8594
8573
|
"div",
|
|
8595
8574
|
{
|
|
8596
8575
|
className: "lib-xplat-editor__slash-menu",
|
|
8597
8576
|
style: { top: position.top, left: position.left },
|
|
8598
|
-
children: items.map((item, i) => /* @__PURE__ */
|
|
8577
|
+
children: items.map((item, i) => /* @__PURE__ */ jsxs207(
|
|
8599
8578
|
"button",
|
|
8600
8579
|
{
|
|
8601
8580
|
type: "button",
|
|
@@ -8605,8 +8584,8 @@ var SlashMenu = ({ position, items, activeIndex, onSelect, onClose }) => {
|
|
|
8605
8584
|
onSelect(item);
|
|
8606
8585
|
},
|
|
8607
8586
|
children: [
|
|
8608
|
-
/* @__PURE__ */
|
|
8609
|
-
item.hint && /* @__PURE__ */
|
|
8587
|
+
/* @__PURE__ */ jsx324("span", { className: "label", children: item.label }),
|
|
8588
|
+
item.hint && /* @__PURE__ */ jsx324("span", { className: "hint", children: item.hint })
|
|
8610
8589
|
]
|
|
8611
8590
|
},
|
|
8612
8591
|
item.key
|
|
@@ -8619,13 +8598,13 @@ var LinkPopover = ({ position, value, onChange, onConfirm, onClose }) => {
|
|
|
8619
8598
|
React22.useEffect(() => {
|
|
8620
8599
|
inputRef.current?.focus();
|
|
8621
8600
|
}, []);
|
|
8622
|
-
return /* @__PURE__ */
|
|
8601
|
+
return /* @__PURE__ */ jsxs207(
|
|
8623
8602
|
"div",
|
|
8624
8603
|
{
|
|
8625
8604
|
className: "lib-xplat-editor__link-popover",
|
|
8626
8605
|
style: { top: position.top, left: position.left },
|
|
8627
8606
|
children: [
|
|
8628
|
-
/* @__PURE__ */
|
|
8607
|
+
/* @__PURE__ */ jsx324(
|
|
8629
8608
|
"input",
|
|
8630
8609
|
{
|
|
8631
8610
|
ref: inputRef,
|
|
@@ -8645,11 +8624,11 @@ var LinkPopover = ({ position, value, onChange, onConfirm, onClose }) => {
|
|
|
8645
8624
|
}
|
|
8646
8625
|
}
|
|
8647
8626
|
),
|
|
8648
|
-
/* @__PURE__ */
|
|
8627
|
+
/* @__PURE__ */ jsx324("button", { type: "button", onMouseDown: (e) => {
|
|
8649
8628
|
e.preventDefault();
|
|
8650
8629
|
onConfirm();
|
|
8651
8630
|
}, children: "\uC801\uC6A9" }),
|
|
8652
|
-
/* @__PURE__ */
|
|
8631
|
+
/* @__PURE__ */ jsx324("button", { type: "button", onMouseDown: (e) => {
|
|
8653
8632
|
e.preventDefault();
|
|
8654
8633
|
onClose();
|
|
8655
8634
|
}, children: "\uCDE8\uC18C" })
|
|
@@ -8659,15 +8638,15 @@ var LinkPopover = ({ position, value, onChange, onConfirm, onClose }) => {
|
|
|
8659
8638
|
};
|
|
8660
8639
|
|
|
8661
8640
|
// src/components/EmptyState/EmptyState.tsx
|
|
8662
|
-
import { jsx as
|
|
8641
|
+
import { jsx as jsx325, jsxs as jsxs208 } from "react/jsx-runtime";
|
|
8663
8642
|
var EmptyState = (props) => {
|
|
8664
8643
|
const { icon, title = "\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4", description, action } = props;
|
|
8665
|
-
return /* @__PURE__ */
|
|
8666
|
-
icon && /* @__PURE__ */
|
|
8667
|
-
!icon && /* @__PURE__ */
|
|
8668
|
-
/* @__PURE__ */
|
|
8669
|
-
description && /* @__PURE__ */
|
|
8670
|
-
action && /* @__PURE__ */
|
|
8644
|
+
return /* @__PURE__ */ jsxs208("div", { className: "lib-xplat-empty-state", children: [
|
|
8645
|
+
icon && /* @__PURE__ */ jsx325("div", { className: "empty-icon", children: icon }),
|
|
8646
|
+
!icon && /* @__PURE__ */ jsx325("div", { className: "empty-icon", children: /* @__PURE__ */ jsx325("svg", { viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx325("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" }) }) }),
|
|
8647
|
+
/* @__PURE__ */ jsx325("p", { className: "empty-title", children: title }),
|
|
8648
|
+
description && /* @__PURE__ */ jsx325("p", { className: "empty-description", children: description }),
|
|
8649
|
+
action && /* @__PURE__ */ jsx325("div", { className: "empty-action", children: action })
|
|
8671
8650
|
] });
|
|
8672
8651
|
};
|
|
8673
8652
|
EmptyState.displayName = "EmptyState";
|
|
@@ -8675,7 +8654,7 @@ var EmptyState_default = EmptyState;
|
|
|
8675
8654
|
|
|
8676
8655
|
// src/components/FileUpload/FileUpload.tsx
|
|
8677
8656
|
import React23 from "react";
|
|
8678
|
-
import { jsx as
|
|
8657
|
+
import { jsx as jsx326, jsxs as jsxs209 } from "react/jsx-runtime";
|
|
8679
8658
|
var FileUpload = (props) => {
|
|
8680
8659
|
const {
|
|
8681
8660
|
accept,
|
|
@@ -8716,7 +8695,7 @@ var FileUpload = (props) => {
|
|
|
8716
8695
|
handleFiles(e.target.files);
|
|
8717
8696
|
}
|
|
8718
8697
|
};
|
|
8719
|
-
return /* @__PURE__ */
|
|
8698
|
+
return /* @__PURE__ */ jsxs209(
|
|
8720
8699
|
"div",
|
|
8721
8700
|
{
|
|
8722
8701
|
className: clsx_default("lib-xplat-file-upload", { "drag-over": isDragOver }),
|
|
@@ -8725,7 +8704,7 @@ var FileUpload = (props) => {
|
|
|
8725
8704
|
onDragLeave: handleDragLeave,
|
|
8726
8705
|
onClick: () => inputRef.current?.click(),
|
|
8727
8706
|
children: [
|
|
8728
|
-
/* @__PURE__ */
|
|
8707
|
+
/* @__PURE__ */ jsx326(
|
|
8729
8708
|
"input",
|
|
8730
8709
|
{
|
|
8731
8710
|
ref: inputRef,
|
|
@@ -8735,9 +8714,9 @@ var FileUpload = (props) => {
|
|
|
8735
8714
|
onChange: handleChange
|
|
8736
8715
|
}
|
|
8737
8716
|
),
|
|
8738
|
-
/* @__PURE__ */
|
|
8739
|
-
/* @__PURE__ */
|
|
8740
|
-
description && /* @__PURE__ */
|
|
8717
|
+
/* @__PURE__ */ jsx326("div", { className: "upload-icon", children: /* @__PURE__ */ jsx326(UploadIcon_default, {}) }),
|
|
8718
|
+
/* @__PURE__ */ jsx326("p", { className: "upload-label", children: label }),
|
|
8719
|
+
description && /* @__PURE__ */ jsx326("p", { className: "upload-description", children: description })
|
|
8741
8720
|
]
|
|
8742
8721
|
}
|
|
8743
8722
|
);
|
|
@@ -8831,7 +8810,7 @@ var htmlToReactProgressive = (root, typedLen, rangeMap) => {
|
|
|
8831
8810
|
};
|
|
8832
8811
|
|
|
8833
8812
|
// src/components/HtmlTypeWriter/HtmlTypeWriter.tsx
|
|
8834
|
-
import { jsx as
|
|
8813
|
+
import { jsx as jsx327 } from "react/jsx-runtime";
|
|
8835
8814
|
var HtmlTypeWriter = ({
|
|
8836
8815
|
html,
|
|
8837
8816
|
duration = 20,
|
|
@@ -8874,14 +8853,14 @@ var HtmlTypeWriter = ({
|
|
|
8874
8853
|
() => doc ? htmlToReactProgressive(doc.body, typedLen, rangeMap) : null,
|
|
8875
8854
|
[doc, typedLen, rangeMap]
|
|
8876
8855
|
);
|
|
8877
|
-
return /* @__PURE__ */
|
|
8856
|
+
return /* @__PURE__ */ jsx327("div", { className: "lib-xplat-htmlTypewriter", children: parsed });
|
|
8878
8857
|
};
|
|
8879
8858
|
HtmlTypeWriter.displayName = "HtmlTypeWriter";
|
|
8880
8859
|
var HtmlTypeWriter_default = HtmlTypeWriter;
|
|
8881
8860
|
|
|
8882
8861
|
// src/components/ImageSelector/ImageSelector.tsx
|
|
8883
8862
|
import React26 from "react";
|
|
8884
|
-
import { jsx as
|
|
8863
|
+
import { jsx as jsx328, jsxs as jsxs210 } from "react/jsx-runtime";
|
|
8885
8864
|
var ImageSelector = (props) => {
|
|
8886
8865
|
const { value, label, onChange } = props;
|
|
8887
8866
|
const [previewUrl, setPreviewUrl] = React26.useState();
|
|
@@ -8907,8 +8886,8 @@ var ImageSelector = (props) => {
|
|
|
8907
8886
|
const handleOpenFileDialog = () => {
|
|
8908
8887
|
inputRef.current?.click();
|
|
8909
8888
|
};
|
|
8910
|
-
return /* @__PURE__ */
|
|
8911
|
-
/* @__PURE__ */
|
|
8889
|
+
return /* @__PURE__ */ jsxs210("div", { className: `lib-xplat-imageselector${value ? "" : " none-value"}`, children: [
|
|
8890
|
+
/* @__PURE__ */ jsx328(
|
|
8912
8891
|
"input",
|
|
8913
8892
|
{
|
|
8914
8893
|
type: "file",
|
|
@@ -8918,19 +8897,40 @@ var ImageSelector = (props) => {
|
|
|
8918
8897
|
ref: inputRef
|
|
8919
8898
|
}
|
|
8920
8899
|
),
|
|
8921
|
-
value && /* @__PURE__ */
|
|
8922
|
-
/* @__PURE__ */
|
|
8923
|
-
/* @__PURE__ */
|
|
8900
|
+
value && /* @__PURE__ */ jsxs210("div", { className: "action-bar", children: [
|
|
8901
|
+
/* @__PURE__ */ jsx328("div", { className: "icon-wrapper", onClick: handleOpenFileDialog, children: /* @__PURE__ */ jsx328(UploadIcon_default, {}) }),
|
|
8902
|
+
/* @__PURE__ */ jsx328("div", { className: "icon-wrapper", onClick: handleDeleteFile, children: /* @__PURE__ */ jsx328(DeleteIcon_default, {}) })
|
|
8924
8903
|
] }),
|
|
8925
|
-
/* @__PURE__ */
|
|
8926
|
-
/* @__PURE__ */
|
|
8927
|
-
/* @__PURE__ */
|
|
8904
|
+
/* @__PURE__ */ jsx328("div", { className: "content", children: previewUrl ? /* @__PURE__ */ jsx328("img", { src: previewUrl, alt: "preview" }) : /* @__PURE__ */ jsxs210("div", { className: "skeleton", onClick: handleOpenFileDialog, children: [
|
|
8905
|
+
/* @__PURE__ */ jsx328("div", { className: "icon-wrapper", children: /* @__PURE__ */ jsx328(ImageIcon_default, {}) }),
|
|
8906
|
+
/* @__PURE__ */ jsx328("div", { className: "label", children: label || "\uC774\uBBF8\uC9C0 \uCD94\uAC00\uD558\uAE30" })
|
|
8928
8907
|
] }) })
|
|
8929
8908
|
] });
|
|
8930
8909
|
};
|
|
8931
8910
|
ImageSelector.displayName = "ImageSelector";
|
|
8932
8911
|
var ImageSelector_default = ImageSelector;
|
|
8933
8912
|
|
|
8913
|
+
// src/components/NotificationBadge/NotificationBadge.tsx
|
|
8914
|
+
import { jsx as jsx329, jsxs as jsxs211 } from "react/jsx-runtime";
|
|
8915
|
+
var NotificationBadge = (props) => {
|
|
8916
|
+
const {
|
|
8917
|
+
children,
|
|
8918
|
+
type = "error",
|
|
8919
|
+
count,
|
|
8920
|
+
maxCount = 99,
|
|
8921
|
+
dot = false,
|
|
8922
|
+
size = "md"
|
|
8923
|
+
} = props;
|
|
8924
|
+
const showBadge = dot || count !== void 0 && count > 0;
|
|
8925
|
+
const displayCount = count !== void 0 && count > maxCount ? `${maxCount}+` : count;
|
|
8926
|
+
return /* @__PURE__ */ jsxs211("div", { className: clsx_default("lib-xplat-notification-badge", size), children: [
|
|
8927
|
+
children,
|
|
8928
|
+
showBadge && /* @__PURE__ */ jsx329("span", { className: clsx_default("badge-indicator", type, { dot }), children: !dot && displayCount })
|
|
8929
|
+
] });
|
|
8930
|
+
};
|
|
8931
|
+
NotificationBadge.displayName = "NotificationBadge";
|
|
8932
|
+
var NotificationBadge_default = NotificationBadge;
|
|
8933
|
+
|
|
8934
8934
|
// src/components/Pagination/Pagination.tsx
|
|
8935
8935
|
import { jsx as jsx330, jsxs as jsxs212 } from "react/jsx-runtime";
|
|
8936
8936
|
var getPageRange = (current, totalPages, siblingCount) => {
|
|
@@ -9901,6 +9901,7 @@ var TableCell = React37.memo((props) => {
|
|
|
9901
9901
|
width,
|
|
9902
9902
|
nowrap = false,
|
|
9903
9903
|
scope = "col",
|
|
9904
|
+
colSpan,
|
|
9904
9905
|
onClick
|
|
9905
9906
|
} = props;
|
|
9906
9907
|
const { registerStickyCell, stickyCells } = useTableRowContext();
|
|
@@ -9949,6 +9950,7 @@ var TableCell = React37.memo((props) => {
|
|
|
9949
9950
|
nowrap && "nowrap"
|
|
9950
9951
|
),
|
|
9951
9952
|
scope: isHeaderCell ? scope : void 0,
|
|
9953
|
+
colSpan,
|
|
9952
9954
|
style: {
|
|
9953
9955
|
...isSticky ? { left } : null,
|
|
9954
9956
|
...width != null ? { width: typeof width === "number" ? `${width}px` : width } : null
|
|
@@ -10787,7 +10789,7 @@ export {
|
|
|
10787
10789
|
Avatar_default as Avatar,
|
|
10788
10790
|
AwardIcon_default as AwardIcon,
|
|
10789
10791
|
BREAKPOINT_KEYS_ORDERED,
|
|
10790
|
-
|
|
10792
|
+
NotificationBadge_default as Badge,
|
|
10791
10793
|
BarChart2Icon_default as BarChart2Icon,
|
|
10792
10794
|
BarChartIcon_default as BarChartIcon,
|
|
10793
10795
|
BatteryChargingIcon_default as BatteryChargingIcon,
|
|
@@ -10976,6 +10978,7 @@ export {
|
|
|
10976
10978
|
MusicIcon_default as MusicIcon,
|
|
10977
10979
|
Navigation2Icon_default as Navigation2Icon,
|
|
10978
10980
|
NavigationIcon_default as NavigationIcon,
|
|
10981
|
+
NotificationBadge_default as NotificationBadge,
|
|
10979
10982
|
OctagonIcon_default as OctagonIcon,
|
|
10980
10983
|
OpenEyeIcon_default as OpenEyeIcon,
|
|
10981
10984
|
PackageIcon_default as PackageIcon,
|