@x-plat/design-system 0.5.25 → 0.5.28

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.
@@ -49,6 +49,7 @@ __export(components_exports, {
49
49
  EmptyState: () => EmptyState_default,
50
50
  FileUpload: () => FileUpload_default,
51
51
  HtmlTypewriter: () => HtmlTypeWriter_default,
52
+ IconButton: () => IconButton_default,
52
53
  ImageSelector: () => ImageSelector_default,
53
54
  Input: () => Input_default,
54
55
  InputDatePicker: () => InputDatePicker_default,
@@ -470,13 +471,7 @@ var import_jsx_runtime86 = require("react/jsx-runtime");
470
471
 
471
472
  // src/tokens/svg/communication/MessageSquareIcon.tsx
472
473
  var import_jsx_runtime87 = require("react/jsx-runtime");
473
-
474
- // src/tokens/svg/communication/PaperclipIcon.tsx
475
- var import_jsx_runtime88 = require("react/jsx-runtime");
476
-
477
- // src/tokens/svg/communication/SendIcon.tsx
478
- var import_jsx_runtime89 = require("react/jsx-runtime");
479
- var SendIcon = () => /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(
474
+ var MessageSquareIcon = () => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
480
475
  "svg",
481
476
  {
482
477
  xmlns: "http://www.w3.org/2000/svg",
@@ -484,13 +479,16 @@ var SendIcon = () => /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(
484
479
  height: "1em",
485
480
  viewBox: "0 0 20 20",
486
481
  fill: "none",
487
- children: [
488
- /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("g", { clipPath: "url(#send-clip)", children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M18.3558 0.918873C18.3887 0.919879 18.4212 0.9224 18.4535 0.927663C18.4642 0.929393 18.4751 0.930348 18.4857 0.932545C18.527 0.941123 18.5675 0.953269 18.6068 0.968678C18.6178 0.972968 18.6282 0.978499 18.639 0.983327C18.6672 0.995914 18.6945 1.01021 18.7211 1.0263C18.7403 1.03794 18.7594 1.04988 18.7777 1.0634C18.7803 1.06534 18.7829 1.0673 18.7855 1.06926C18.8126 1.08979 18.839 1.11195 18.8637 1.13665C18.8872 1.16018 18.9084 1.18517 18.9281 1.21087C18.9322 1.21625 18.9359 1.22198 18.9398 1.22747C18.9501 1.24168 18.959 1.25667 18.9681 1.27141C18.9866 1.30108 19.0029 1.33154 19.017 1.36321C19.0214 1.37309 19.0267 1.38248 19.0306 1.39251C19.0461 1.43186 19.0581 1.47231 19.0668 1.5136C19.069 1.52426 19.0699 1.5351 19.0717 1.54583C19.077 1.57815 19.0794 1.61062 19.0805 1.64348C19.0808 1.65621 19.0817 1.66884 19.0814 1.68157C19.0799 1.75981 19.0681 1.83872 19.0414 1.91497L13.2074 18.581C13.1058 18.871 12.8377 19.0703 12.5306 19.0829C12.2237 19.0954 11.9398 18.9192 11.8148 18.6386L8.59706 11.4003L1.3617 8.18547C1.08085 8.06057 0.90492 7.77678 0.917368 7.46965C0.929915 7.16252 1.12827 6.89358 1.41834 6.79192L18.0853 0.958913C18.1613 0.932334 18.2398 0.919479 18.3178 0.917897C18.3305 0.91763 18.3431 0.918498 18.3558 0.918873ZM10.0609 10.999L12.4164 16.2997L16.5375 4.52239L10.0609 10.999ZM3.69862 7.58294L9.00038 9.93841L15.4808 3.45794L3.69862 7.58294Z", fill: "currentColor" }) }),
489
- /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("clipPath", { id: "send-clip", children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("rect", { width: "20", height: "20", fill: "currentColor" }) }) })
490
- ]
482
+ children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M15.833 1.75C16.4739 1.75 17.0888 2.00479 17.542 2.45801C17.9952 2.91122 18.25 3.52605 18.25 4.16699V12.5C18.25 13.1409 17.9952 13.7558 17.542 14.209C17.0888 14.6621 16.4739 14.917 15.833 14.917H6.14355L3.03027 18.0303C2.81579 18.2448 2.49313 18.3094 2.21289 18.1934C1.93263 18.0773 1.75 17.8033 1.75 17.5V4.16699C1.75 3.52605 2.00479 2.91122 2.45801 2.45801C2.91122 2.00479 3.52605 1.75 4.16699 1.75H15.833ZM4.16699 3.25C3.92388 3.25 3.69046 3.34665 3.51855 3.51855C3.34665 3.69046 3.25 3.92388 3.25 4.16699V15.6895L5.30273 13.6367L5.41699 13.543C5.53928 13.4613 5.68382 13.4171 5.83301 13.417H15.833C16.076 13.417 16.3096 13.3202 16.4814 13.1484C16.6534 12.9765 16.75 12.7431 16.75 12.5V4.16699C16.75 3.92388 16.6534 3.69046 16.4814 3.51855C16.3095 3.34665 16.0761 3.25 15.833 3.25H4.16699Z", fill: "currentColor" })
491
483
  }
492
484
  );
493
- var SendIcon_default = SendIcon;
485
+ var MessageSquareIcon_default = MessageSquareIcon;
486
+
487
+ // src/tokens/svg/communication/PaperclipIcon.tsx
488
+ var import_jsx_runtime88 = require("react/jsx-runtime");
489
+
490
+ // src/tokens/svg/communication/SendIcon.tsx
491
+ var import_jsx_runtime89 = require("react/jsx-runtime");
494
492
 
495
493
  // src/tokens/svg/date/CalendarIcon.tsx
496
494
  var import_jsx_runtime90 = require("react/jsx-runtime");
@@ -2039,7 +2037,32 @@ var Calendar_default = Calendar;
2039
2037
 
2040
2038
  // src/components/ChatInput/ChatInput.tsx
2041
2039
  var import_react4 = __toESM(require("react"), 1);
2040
+
2041
+ // src/components/IconButton/IconButton.tsx
2042
2042
  var import_jsx_runtime302 = require("react/jsx-runtime");
2043
+ var IconButton = (props) => {
2044
+ const {
2045
+ icon,
2046
+ type = "primary",
2047
+ size = "md",
2048
+ disabled,
2049
+ ...rest
2050
+ } = props;
2051
+ return /* @__PURE__ */ (0, import_jsx_runtime302.jsx)(
2052
+ "button",
2053
+ {
2054
+ className: clsx_default("lib-xplat-icon-button", type, size),
2055
+ disabled,
2056
+ ...rest,
2057
+ children: icon
2058
+ }
2059
+ );
2060
+ };
2061
+ IconButton.displayName = "IconButton";
2062
+ var IconButton_default = IconButton;
2063
+
2064
+ // src/components/ChatInput/ChatInput.tsx
2065
+ var import_jsx_runtime303 = require("react/jsx-runtime");
2043
2066
  var MAX_HEIGHT = 200;
2044
2067
  var ChatInput = import_react4.default.forwardRef(
2045
2068
  (props, ref) => {
@@ -2090,8 +2113,8 @@ var ChatInput = import_react4.default.forwardRef(
2090
2113
  import_react4.default.useEffect(() => {
2091
2114
  updateHeight();
2092
2115
  }, [value, updateHeight]);
2093
- return /* @__PURE__ */ (0, import_jsx_runtime302.jsxs)("div", { className: clsx_default("lib-xplat-chat-input", disabled && "disabled"), children: [
2094
- /* @__PURE__ */ (0, import_jsx_runtime302.jsx)(
2116
+ return /* @__PURE__ */ (0, import_jsx_runtime303.jsxs)("div", { className: clsx_default("lib-xplat-chat-input", disabled && "disabled"), children: [
2117
+ /* @__PURE__ */ (0, import_jsx_runtime303.jsx)(
2095
2118
  "textarea",
2096
2119
  {
2097
2120
  ref: setRefs,
@@ -2104,15 +2127,15 @@ var ChatInput = import_react4.default.forwardRef(
2104
2127
  onKeyDown: handleKeyDown
2105
2128
  }
2106
2129
  ),
2107
- /* @__PURE__ */ (0, import_jsx_runtime302.jsx)(
2108
- "button",
2130
+ /* @__PURE__ */ (0, import_jsx_runtime303.jsx)(
2131
+ IconButton_default,
2109
2132
  {
2110
- type: "button",
2111
- className: clsx_default("chat-input-send", `btn-${buttonType}`),
2133
+ icon: /* @__PURE__ */ (0, import_jsx_runtime303.jsx)(MessageSquareIcon_default, {}),
2134
+ type: buttonType,
2135
+ size: "sm",
2112
2136
  disabled: !hasText || disabled,
2113
2137
  onClick: handleSubmit,
2114
- "aria-label": "\uC804\uC1A1",
2115
- children: /* @__PURE__ */ (0, import_jsx_runtime302.jsx)(SendIcon_default, {})
2138
+ "aria-label": "\uC804\uC1A1"
2116
2139
  }
2117
2140
  )
2118
2141
  ] });
@@ -2122,16 +2145,16 @@ ChatInput.displayName = "ChatInput";
2122
2145
  var ChatInput_default = ChatInput;
2123
2146
 
2124
2147
  // src/components/Box/Box.tsx
2125
- var import_jsx_runtime303 = require("react/jsx-runtime");
2148
+ var import_jsx_runtime304 = require("react/jsx-runtime");
2126
2149
  var Box = ({
2127
2150
  children,
2128
2151
  title,
2129
2152
  variant = "outlined",
2130
2153
  padding = "md"
2131
2154
  }) => {
2132
- return /* @__PURE__ */ (0, import_jsx_runtime303.jsxs)("div", { className: clsx_default("lib-xplat-box", variant, `pad-${padding}`), children: [
2133
- title && /* @__PURE__ */ (0, import_jsx_runtime303.jsx)("div", { className: "box-title", children: title }),
2134
- /* @__PURE__ */ (0, import_jsx_runtime303.jsx)("div", { className: "box-content", children })
2155
+ return /* @__PURE__ */ (0, import_jsx_runtime304.jsxs)("div", { className: clsx_default("lib-xplat-box", variant, `pad-${padding}`), children: [
2156
+ title && /* @__PURE__ */ (0, import_jsx_runtime304.jsx)("div", { className: "box-title", children: title }),
2157
+ /* @__PURE__ */ (0, import_jsx_runtime304.jsx)("div", { className: "box-content", children })
2135
2158
  ] });
2136
2159
  };
2137
2160
  Box.displayName = "Box";
@@ -2141,10 +2164,10 @@ var Box_default = Box;
2141
2164
  var import_react5 = __toESM(require("react"), 1);
2142
2165
 
2143
2166
  // src/components/CardTab/CardTabPanel.tsx
2144
- var import_jsx_runtime304 = require("react/jsx-runtime");
2167
+ var import_jsx_runtime305 = require("react/jsx-runtime");
2145
2168
  var CardTabPanel = (props) => {
2146
2169
  const { children, columns = 3 } = props;
2147
- return /* @__PURE__ */ (0, import_jsx_runtime304.jsx)(
2170
+ return /* @__PURE__ */ (0, import_jsx_runtime305.jsx)(
2148
2171
  "div",
2149
2172
  {
2150
2173
  className: "card-tab-panel",
@@ -2157,7 +2180,7 @@ CardTabPanel.displayName = "CardTab.Panel";
2157
2180
  var CardTabPanel_default = CardTabPanel;
2158
2181
 
2159
2182
  // src/components/CardTab/CardTab.tsx
2160
- var import_jsx_runtime305 = require("react/jsx-runtime");
2183
+ var import_jsx_runtime306 = require("react/jsx-runtime");
2161
2184
  var CardTabRoot = (props) => {
2162
2185
  const {
2163
2186
  tabs,
@@ -2181,10 +2204,10 @@ var CardTabRoot = (props) => {
2181
2204
  const activePanel = panels.find(
2182
2205
  (panel) => panel.props.value === activeValue
2183
2206
  );
2184
- return /* @__PURE__ */ (0, import_jsx_runtime305.jsxs)("div", { className: clsx_default("lib-xplat-card-tab", size), children: [
2185
- /* @__PURE__ */ (0, import_jsx_runtime305.jsx)("div", { className: "card-tab-bar", children: tabs.map((tab) => {
2207
+ return /* @__PURE__ */ (0, import_jsx_runtime306.jsxs)("div", { className: clsx_default("lib-xplat-card-tab", size), children: [
2208
+ /* @__PURE__ */ (0, import_jsx_runtime306.jsx)("div", { className: "card-tab-bar", children: tabs.map((tab) => {
2186
2209
  const isActive = tab.value === activeValue;
2187
- return /* @__PURE__ */ (0, import_jsx_runtime305.jsx)(
2210
+ return /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(
2188
2211
  "button",
2189
2212
  {
2190
2213
  className: clsx_default("card-tab-trigger", isActive && "active"),
@@ -2196,7 +2219,7 @@ var CardTabRoot = (props) => {
2196
2219
  tab.value
2197
2220
  );
2198
2221
  }) }),
2199
- /* @__PURE__ */ (0, import_jsx_runtime305.jsx)("div", { className: "card-tab-body", children: activePanel })
2222
+ /* @__PURE__ */ (0, import_jsx_runtime306.jsx)("div", { className: "card-tab-body", children: activePanel })
2200
2223
  ] });
2201
2224
  };
2202
2225
  CardTabRoot.displayName = "CardTab";
@@ -2207,7 +2230,7 @@ var CardTab_default = CardTab;
2207
2230
 
2208
2231
  // src/components/Chart/Chart.tsx
2209
2232
  var import_react6 = __toESM(require("react"), 1);
2210
- var import_jsx_runtime306 = require("react/jsx-runtime");
2233
+ var import_jsx_runtime307 = require("react/jsx-runtime");
2211
2234
  var CATEGORICAL_COUNT2 = 8;
2212
2235
  var LINE_BAR_PALETTES = Array.from({ length: CATEGORICAL_COUNT2 }, (_, i) => {
2213
2236
  const n = i + 1;
@@ -2369,12 +2392,12 @@ var useChartTooltip = (enabled) => {
2369
2392
  }, []);
2370
2393
  return { tooltip, show, hide, move, containerRef };
2371
2394
  };
2372
- var GridLines = import_react6.default.memo(({ width, height, chartH, maxVal }) => /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(import_jsx_runtime306.Fragment, { children: [0, 0.25, 0.5, 0.75, 1].map((ratio) => {
2395
+ 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) => {
2373
2396
  const y = PADDING.top + (1 - ratio) * chartH;
2374
2397
  const val = Math.round(maxVal * ratio);
2375
- return /* @__PURE__ */ (0, import_jsx_runtime306.jsxs)("g", { children: [
2376
- /* @__PURE__ */ (0, import_jsx_runtime306.jsx)("line", { x1: PADDING.left, y1: y, x2: width - PADDING.right, y2: y, className: "chart-grid" }),
2377
- /* @__PURE__ */ (0, import_jsx_runtime306.jsx)("text", { x: PADDING.left - 8, y: y + 4, className: "chart-axis-label", textAnchor: "end", children: val })
2398
+ return /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)("g", { children: [
2399
+ /* @__PURE__ */ (0, import_jsx_runtime307.jsx)("line", { x1: PADDING.left, y1: y, x2: width - PADDING.right, y2: y, className: "chart-grid" }),
2400
+ /* @__PURE__ */ (0, import_jsx_runtime307.jsx)("text", { x: PADDING.left - 8, y: y + 4, className: "chart-axis-label", textAnchor: "end", children: val })
2378
2401
  ] }, ratio);
2379
2402
  }) }));
2380
2403
  GridLines.displayName = "GridLines";
@@ -2386,10 +2409,10 @@ var getLabelStep = (count, chartW) => {
2386
2409
  };
2387
2410
  var AxisLabels = import_react6.default.memo(({ labels, count, chartW, height }) => {
2388
2411
  const step = getLabelStep(count, chartW);
2389
- return /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(import_jsx_runtime306.Fragment, { children: labels.map((label, i) => {
2412
+ return /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(import_jsx_runtime307.Fragment, { children: labels.map((label, i) => {
2390
2413
  if (i % step !== 0) return null;
2391
2414
  const x = PADDING.left + i / (count - 1 || 1) * chartW;
2392
- return /* @__PURE__ */ (0, import_jsx_runtime306.jsx)("text", { x, y: height - 8, className: "chart-axis-label", textAnchor: "middle", children: label }, i);
2415
+ return /* @__PURE__ */ (0, import_jsx_runtime307.jsx)("text", { x, y: height - 8, className: "chart-axis-label", textAnchor: "middle", children: label }, i);
2393
2416
  }) });
2394
2417
  });
2395
2418
  AxisLabels.displayName = "AxisLabels";
@@ -2427,9 +2450,9 @@ var LineChart = import_react6.default.memo(({ data, labels, width, height, anima
2427
2450
  });
2428
2451
  });
2429
2452
  }, [animate, seriesPoints]);
2430
- return /* @__PURE__ */ (0, import_jsx_runtime306.jsxs)("svg", { viewBox: `0 0 ${width} ${height}`, className: "chart-svg", children: [
2431
- /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(GridLines, { width, height, chartH, maxVal }),
2432
- /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(AxisLabels, { labels, count, chartW, height }),
2453
+ return /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)("svg", { viewBox: `0 0 ${width} ${height}`, className: "chart-svg", children: [
2454
+ /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(GridLines, { width, height, chartH, maxVal }),
2455
+ /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(AxisLabels, { labels, count, chartW, height }),
2433
2456
  entries.map(([key], di) => {
2434
2457
  const palette = getPalette(LINE_BAR_PALETTES, di, key);
2435
2458
  const color = palette[2];
@@ -2438,12 +2461,12 @@ var LineChart = import_react6.default.memo(({ data, labels, width, height, anima
2438
2461
  const gradientId = `line-gradient-${di}`;
2439
2462
  const polyPoints = points.map((p) => `${p.x},${p.y}`).join(" ");
2440
2463
  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`;
2441
- return /* @__PURE__ */ (0, import_jsx_runtime306.jsxs)("g", { children: [
2442
- /* @__PURE__ */ (0, import_jsx_runtime306.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime306.jsxs)("linearGradient", { id: gradientId, x1: "0", y1: "0", x2: "0", y2: "1", children: [
2443
- /* @__PURE__ */ (0, import_jsx_runtime306.jsx)("stop", { offset: "0%", stopColor: areaColor, stopOpacity: "0.2" }),
2444
- /* @__PURE__ */ (0, import_jsx_runtime306.jsx)("stop", { offset: "100%", stopColor: areaColor, stopOpacity: "0" })
2464
+ return /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)("g", { children: [
2465
+ /* @__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: [
2466
+ /* @__PURE__ */ (0, import_jsx_runtime307.jsx)("stop", { offset: "0%", stopColor: areaColor, stopOpacity: "0.2" }),
2467
+ /* @__PURE__ */ (0, import_jsx_runtime307.jsx)("stop", { offset: "100%", stopColor: areaColor, stopOpacity: "0" })
2445
2468
  ] }) }),
2446
- /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(
2469
+ /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
2447
2470
  "path",
2448
2471
  {
2449
2472
  d: areaD,
@@ -2452,7 +2475,7 @@ var LineChart = import_react6.default.memo(({ data, labels, width, height, anima
2452
2475
  style: animate ? { animationDelay: "600ms" } : { opacity: 1 }
2453
2476
  }
2454
2477
  ),
2455
- /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(
2478
+ /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
2456
2479
  "polyline",
2457
2480
  {
2458
2481
  ref: (el) => {
@@ -2464,7 +2487,7 @@ var LineChart = import_react6.default.memo(({ data, labels, width, height, anima
2464
2487
  strokeWidth: "2"
2465
2488
  }
2466
2489
  ),
2467
- showPoints && points.map((p, i) => /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(
2490
+ showPoints && points.map((p, i) => /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
2468
2491
  "circle",
2469
2492
  {
2470
2493
  cx: p.x,
@@ -2517,9 +2540,9 @@ var CurveChart = import_react6.default.memo(({ data, labels, width, height, anim
2517
2540
  });
2518
2541
  });
2519
2542
  }, [animate, seriesPoints]);
2520
- return /* @__PURE__ */ (0, import_jsx_runtime306.jsxs)("svg", { viewBox: `0 0 ${width} ${height}`, className: "chart-svg", children: [
2521
- /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(GridLines, { width, height, chartH, maxVal }),
2522
- /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(AxisLabels, { labels, count, chartW, height }),
2543
+ return /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)("svg", { viewBox: `0 0 ${width} ${height}`, className: "chart-svg", children: [
2544
+ /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(GridLines, { width, height, chartH, maxVal }),
2545
+ /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(AxisLabels, { labels, count, chartW, height }),
2523
2546
  entries.map(([key], di) => {
2524
2547
  const palette = getPalette(LINE_BAR_PALETTES, di, key);
2525
2548
  const color = palette[2];
@@ -2528,12 +2551,12 @@ var CurveChart = import_react6.default.memo(({ data, labels, width, height, anim
2528
2551
  const gradientId = `curve-gradient-${di}`;
2529
2552
  const linePath = toSmoothPath(points);
2530
2553
  const areaPath = linePath + ` L ${points[points.length - 1].x} ${PADDING.top + chartH} L ${points[0].x} ${PADDING.top + chartH} Z`;
2531
- return /* @__PURE__ */ (0, import_jsx_runtime306.jsxs)("g", { children: [
2532
- /* @__PURE__ */ (0, import_jsx_runtime306.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime306.jsxs)("linearGradient", { id: gradientId, x1: "0", y1: "0", x2: "0", y2: "1", children: [
2533
- /* @__PURE__ */ (0, import_jsx_runtime306.jsx)("stop", { offset: "0%", stopColor: areaColor, stopOpacity: "0.4" }),
2534
- /* @__PURE__ */ (0, import_jsx_runtime306.jsx)("stop", { offset: "100%", stopColor: areaColor, stopOpacity: "0.02" })
2554
+ return /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)("g", { children: [
2555
+ /* @__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: [
2556
+ /* @__PURE__ */ (0, import_jsx_runtime307.jsx)("stop", { offset: "0%", stopColor: areaColor, stopOpacity: "0.4" }),
2557
+ /* @__PURE__ */ (0, import_jsx_runtime307.jsx)("stop", { offset: "100%", stopColor: areaColor, stopOpacity: "0.02" })
2535
2558
  ] }) }),
2536
- /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(
2559
+ /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
2537
2560
  "path",
2538
2561
  {
2539
2562
  d: areaPath,
@@ -2542,7 +2565,7 @@ var CurveChart = import_react6.default.memo(({ data, labels, width, height, anim
2542
2565
  style: animate ? { animationDelay: "600ms" } : { opacity: 1 }
2543
2566
  }
2544
2567
  ),
2545
- /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(
2568
+ /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
2546
2569
  "path",
2547
2570
  {
2548
2571
  ref: (el) => {
@@ -2554,7 +2577,7 @@ var CurveChart = import_react6.default.memo(({ data, labels, width, height, anim
2554
2577
  strokeWidth: "2"
2555
2578
  }
2556
2579
  ),
2557
- showPoints && points.map((p, i) => /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(
2580
+ showPoints && points.map((p, i) => /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
2558
2581
  "circle",
2559
2582
  {
2560
2583
  cx: p.x,
@@ -2600,11 +2623,11 @@ var BarChart = import_react6.default.memo(({ data, labels, width, height, animat
2600
2623
  [entries, maxVal, chartH, groupW, barW, barGap, groupCount]
2601
2624
  );
2602
2625
  const barLabelStep = getLabelStep(count, chartW);
2603
- return /* @__PURE__ */ (0, import_jsx_runtime306.jsxs)("svg", { viewBox: `0 0 ${width} ${height}`, className: "chart-svg", children: [
2604
- /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(GridLines, { width, height, chartH, maxVal }),
2626
+ return /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)("svg", { viewBox: `0 0 ${width} ${height}`, className: "chart-svg", children: [
2627
+ /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(GridLines, { width, height, chartH, maxVal }),
2605
2628
  labels.map((label, i) => {
2606
2629
  if (i % barLabelStep !== 0) return null;
2607
- return /* @__PURE__ */ (0, import_jsx_runtime306.jsx)("text", { x: PADDING.left + groupW * i + groupW / 2, y: height - 8, className: "chart-axis-label", textAnchor: "middle", children: label }, i);
2630
+ 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);
2608
2631
  }),
2609
2632
  entries.map(([key], di) => {
2610
2633
  const palette = getPalette(LINE_BAR_PALETTES, di, key);
@@ -2613,7 +2636,7 @@ var BarChart = import_react6.default.memo(({ data, labels, width, height, animat
2613
2636
  const r2 = Math.min(4, b.w / 2);
2614
2637
  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`;
2615
2638
  const delay = 100 + i * 80;
2616
- return /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(
2639
+ return /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
2617
2640
  "path",
2618
2641
  {
2619
2642
  d,
@@ -2693,8 +2716,8 @@ var PieDonutChart = import_react6.default.memo(
2693
2716
  });
2694
2717
  }, [values, total, cx, cy, r2, innerR, labels]);
2695
2718
  const maskId = `pie-mask-${isDoughnut ? "d" : "p"}`;
2696
- return /* @__PURE__ */ (0, import_jsx_runtime306.jsxs)("svg", { viewBox: `0 0 ${size} ${size}`, className: "chart-svg chart-pie", children: [
2697
- animate && /* @__PURE__ */ (0, import_jsx_runtime306.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime306.jsx)("mask", { id: maskId, children: /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(
2719
+ return /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)("svg", { viewBox: `0 0 ${size} ${size}`, className: "chart-svg chart-pie", children: [
2720
+ 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)(
2698
2721
  "circle",
2699
2722
  {
2700
2723
  ref: maskRef,
@@ -2707,7 +2730,7 @@ var PieDonutChart = import_react6.default.memo(
2707
2730
  transform: `rotate(-90 ${cx} ${cy})`
2708
2731
  }
2709
2732
  ) }) }),
2710
- /* @__PURE__ */ (0, import_jsx_runtime306.jsx)("g", { mask: animate ? `url(#${maskId})` : void 0, children: sliceData.map((s, i) => /* @__PURE__ */ (0, import_jsx_runtime306.jsx)("g", { children: /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(
2733
+ /* @__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)(
2711
2734
  "path",
2712
2735
  {
2713
2736
  d: s.d,
@@ -2718,7 +2741,7 @@ var PieDonutChart = import_react6.default.memo(
2718
2741
  onMouseLeave: onLeave
2719
2742
  }
2720
2743
  ) }, i)) }),
2721
- sliceData.map((s, i) => s.angle > 0.2 && /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(
2744
+ sliceData.map((s, i) => s.angle > 0.2 && /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
2722
2745
  "text",
2723
2746
  {
2724
2747
  x: s.lx,
@@ -2749,7 +2772,7 @@ var TooltipBubble = ({ x, y, containerWidth, children }) => {
2749
2772
  else if (x + half > containerWidth - margin) nx = containerWidth - half - margin;
2750
2773
  setAdjustedX(nx);
2751
2774
  }, [x, containerWidth]);
2752
- return /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(
2775
+ return /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
2753
2776
  "div",
2754
2777
  {
2755
2778
  ref,
@@ -2768,13 +2791,13 @@ var Chart = import_react6.default.memo((props) => {
2768
2791
  const dataKey = import_react6.default.useMemo(() => JSON.stringify(labels), [labels]);
2769
2792
  const animate = useChartAnimation(containerRef, dataKey);
2770
2793
  const ready = width > 0 && height > 0;
2771
- return /* @__PURE__ */ (0, import_jsx_runtime306.jsxs)("div", { className: "lib-xplat-chart", ref: containerRef, children: [
2772
- ready && type === "line" && /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(LineChart, { data: stableData, labels: stableLabels, width, height, animate, onHover: show, onMove: move, onLeave: hide }),
2773
- ready && type === "curve" && /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(CurveChart, { data: stableData, labels: stableLabels, width, height, animate, onHover: show, onMove: move, onLeave: hide }),
2774
- ready && type === "bar" && /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(BarChart, { data: stableData, labels: stableLabels, width, height, animate, onHover: show, onMove: move, onLeave: hide }),
2775
- ready && type === "pie" && /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(PieDonutChart, { data: stableData, labels: stableLabels, width, height, animate, onHover: show, onMove: move, onLeave: hide }),
2776
- ready && type === "doughnut" && /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(PieDonutChart, { data: stableData, labels: stableLabels, width, height, animate, isDoughnut: true, onHover: show, onMove: move, onLeave: hide }),
2777
- tooltip.visible && /* @__PURE__ */ (0, import_jsx_runtime306.jsx)(TooltipBubble, { x: tooltip.x, y: tooltip.y, containerWidth: width, children: tooltip.content })
2794
+ return /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)("div", { className: "lib-xplat-chart", ref: containerRef, children: [
2795
+ ready && type === "line" && /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(LineChart, { data: stableData, labels: stableLabels, width, height, animate, onHover: show, onMove: move, onLeave: hide }),
2796
+ ready && type === "curve" && /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(CurveChart, { data: stableData, labels: stableLabels, width, height, animate, onHover: show, onMove: move, onLeave: hide }),
2797
+ ready && type === "bar" && /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(BarChart, { data: stableData, labels: stableLabels, width, height, animate, onHover: show, onMove: move, onLeave: hide }),
2798
+ ready && type === "pie" && /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(PieDonutChart, { data: stableData, labels: stableLabels, width, height, animate, onHover: show, onMove: move, onLeave: hide }),
2799
+ 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 }),
2800
+ tooltip.visible && /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(TooltipBubble, { x: tooltip.x, y: tooltip.y, containerWidth: width, children: tooltip.content })
2778
2801
  ] });
2779
2802
  });
2780
2803
  Chart.displayName = "Chart";
@@ -2787,7 +2810,7 @@ var import_tokens_core = require("@x-plat/tokens-core");
2787
2810
  var import_tokens_core2 = require("@x-plat/tokens-core");
2788
2811
 
2789
2812
  // src/components/CheckBox/CheckBox.tsx
2790
- var import_jsx_runtime307 = require("react/jsx-runtime");
2813
+ var import_jsx_runtime308 = require("react/jsx-runtime");
2791
2814
  var CheckBox = (props) => {
2792
2815
  const {
2793
2816
  checked,
@@ -2805,8 +2828,8 @@ var CheckBox = (props) => {
2805
2828
  const checkedClasses = `checked`;
2806
2829
  const disabledClasses = "disabled";
2807
2830
  const boxClasses = disabled ? disabledClasses : checked ? checkedClasses : uncheckedClasses;
2808
- return /* @__PURE__ */ (0, import_jsx_runtime307.jsxs)("label", { className: clsx_default("lib-xplat-checkbox", size, type), children: [
2809
- /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(
2831
+ return /* @__PURE__ */ (0, import_jsx_runtime308.jsxs)("label", { className: clsx_default("lib-xplat-checkbox", size, type), children: [
2832
+ /* @__PURE__ */ (0, import_jsx_runtime308.jsx)(
2810
2833
  "input",
2811
2834
  {
2812
2835
  type: "checkbox",
@@ -2816,22 +2839,22 @@ var CheckBox = (props) => {
2816
2839
  ...rest
2817
2840
  }
2818
2841
  ),
2819
- /* @__PURE__ */ (0, import_jsx_runtime307.jsx)("span", { className: clsx_default("checkbox", boxClasses), children: /* @__PURE__ */ (0, import_jsx_runtime307.jsx)("span", { className: clsx_default("check-icon", { visible: checked }), children: /* @__PURE__ */ (0, import_jsx_runtime307.jsx)(CheckIcon_default, {}) }) }),
2820
- label && /* @__PURE__ */ (0, import_jsx_runtime307.jsx)("span", { className: "label", children: label })
2842
+ /* @__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, {}) }) }),
2843
+ label && /* @__PURE__ */ (0, import_jsx_runtime308.jsx)("span", { className: "label", children: label })
2821
2844
  ] });
2822
2845
  };
2823
2846
  CheckBox.displayName = "CheckBox";
2824
2847
  var CheckBox_default = CheckBox;
2825
2848
 
2826
2849
  // src/components/Chip/Chip.tsx
2827
- var import_jsx_runtime308 = require("react/jsx-runtime");
2850
+ var import_jsx_runtime309 = require("react/jsx-runtime");
2828
2851
  var Chip = (props) => {
2829
2852
  const {
2830
2853
  children,
2831
2854
  type = "primary",
2832
2855
  size = "md"
2833
2856
  } = props;
2834
- return /* @__PURE__ */ (0, import_jsx_runtime308.jsx)("div", { className: clsx_default("lib-xplat-chip", type, size), children });
2857
+ return /* @__PURE__ */ (0, import_jsx_runtime309.jsx)("div", { className: clsx_default("lib-xplat-chip", type, size), children });
2835
2858
  };
2836
2859
  Chip.displayName = "Chip";
2837
2860
  var Chip_default = Chip;
@@ -2843,17 +2866,17 @@ var import_react13 = __toESM(require("react"), 1);
2843
2866
  var import_react7 = __toESM(require("react"), 1);
2844
2867
 
2845
2868
  // src/components/Input/InputValidations.tsx
2846
- var import_jsx_runtime309 = require("react/jsx-runtime");
2869
+ var import_jsx_runtime310 = require("react/jsx-runtime");
2847
2870
  var InputValidations = (props) => {
2848
2871
  const { message, status = "default" } = props;
2849
- return /* @__PURE__ */ (0, import_jsx_runtime309.jsxs)("div", { className: clsx_default("lib-xplat-input-validation", status), children: [
2850
- /* @__PURE__ */ (0, import_jsx_runtime309.jsxs)("div", { className: "icon", children: [
2851
- status === "default" && /* @__PURE__ */ (0, import_jsx_runtime309.jsx)(InfoIcon_default, {}),
2852
- status === "success" && /* @__PURE__ */ (0, import_jsx_runtime309.jsx)(SuccessIcon_default, {}),
2853
- status === "warning" && /* @__PURE__ */ (0, import_jsx_runtime309.jsx)(InfoIcon_default, {}),
2854
- status === "error" && /* @__PURE__ */ (0, import_jsx_runtime309.jsx)(ErrorIcon_default, {})
2872
+ return /* @__PURE__ */ (0, import_jsx_runtime310.jsxs)("div", { className: clsx_default("lib-xplat-input-validation", status), children: [
2873
+ /* @__PURE__ */ (0, import_jsx_runtime310.jsxs)("div", { className: "icon", children: [
2874
+ status === "default" && /* @__PURE__ */ (0, import_jsx_runtime310.jsx)(InfoIcon_default, {}),
2875
+ status === "success" && /* @__PURE__ */ (0, import_jsx_runtime310.jsx)(SuccessIcon_default, {}),
2876
+ status === "warning" && /* @__PURE__ */ (0, import_jsx_runtime310.jsx)(InfoIcon_default, {}),
2877
+ status === "error" && /* @__PURE__ */ (0, import_jsx_runtime310.jsx)(ErrorIcon_default, {})
2855
2878
  ] }),
2856
- /* @__PURE__ */ (0, import_jsx_runtime309.jsx)("div", { className: "message", children: message })
2879
+ /* @__PURE__ */ (0, import_jsx_runtime310.jsx)("div", { className: "message", children: message })
2857
2880
  ] });
2858
2881
  };
2859
2882
  InputValidations.displayName = "InputValidations";
@@ -2894,7 +2917,7 @@ var handleTelBackspace = (prevValue, currValue) => {
2894
2917
  };
2895
2918
 
2896
2919
  // src/components/Input/Input.tsx
2897
- var import_jsx_runtime310 = require("react/jsx-runtime");
2920
+ var import_jsx_runtime311 = require("react/jsx-runtime");
2898
2921
  var import_react8 = require("react");
2899
2922
  var formatValue = (type, value) => {
2900
2923
  if (value === null || value === void 0) return "";
@@ -2969,13 +2992,13 @@ var Input = import_react7.default.forwardRef((props, ref) => {
2969
2992
  onChange(event);
2970
2993
  }
2971
2994
  };
2972
- return /* @__PURE__ */ (0, import_jsx_runtime310.jsxs)("div", { className: "lib-xplat-input-wrap", children: [
2973
- /* @__PURE__ */ (0, import_jsx_runtime310.jsxs)(
2995
+ return /* @__PURE__ */ (0, import_jsx_runtime311.jsxs)("div", { className: "lib-xplat-input-wrap", children: [
2996
+ /* @__PURE__ */ (0, import_jsx_runtime311.jsxs)(
2974
2997
  "div",
2975
2998
  {
2976
2999
  className: clsx_default("lib-xplat-input", size, disabled ? "disabled" : void 0),
2977
3000
  children: [
2978
- /* @__PURE__ */ (0, import_jsx_runtime310.jsx)(
3001
+ /* @__PURE__ */ (0, import_jsx_runtime311.jsx)(
2979
3002
  "input",
2980
3003
  {
2981
3004
  ...inputProps,
@@ -2986,11 +3009,11 @@ var Input = import_react7.default.forwardRef((props, ref) => {
2986
3009
  onChange: handleChange
2987
3010
  }
2988
3011
  ),
2989
- suffix && /* @__PURE__ */ (0, import_jsx_runtime310.jsx)("div", { className: "suffix", children: suffix })
3012
+ suffix && /* @__PURE__ */ (0, import_jsx_runtime311.jsx)("div", { className: "suffix", children: suffix })
2990
3013
  ]
2991
3014
  }
2992
3015
  ),
2993
- validations && /* @__PURE__ */ (0, import_jsx_runtime310.jsx)("div", { className: "lib-xplat-input-validation-wrap", children: validations?.map((validation, idx) => /* @__PURE__ */ (0, import_react8.createElement)(
3016
+ validations && /* @__PURE__ */ (0, import_jsx_runtime311.jsx)("div", { className: "lib-xplat-input-validation-wrap", children: validations?.map((validation, idx) => /* @__PURE__ */ (0, import_react8.createElement)(
2994
3017
  InputValidations_default,
2995
3018
  {
2996
3019
  ...validation,
@@ -3004,7 +3027,7 @@ var Input_default = Input;
3004
3027
 
3005
3028
  // src/components/Input/PasswordInput/PasswordInput.tsx
3006
3029
  var import_react9 = __toESM(require("react"), 1);
3007
- var import_jsx_runtime311 = require("react/jsx-runtime");
3030
+ var import_jsx_runtime312 = require("react/jsx-runtime");
3008
3031
  var PasswordInput = import_react9.default.forwardRef(
3009
3032
  (props, ref) => {
3010
3033
  const { reg: _reg, ...inputProps } = props;
@@ -3012,11 +3035,11 @@ var PasswordInput = import_react9.default.forwardRef(
3012
3035
  const handleChangeView = () => {
3013
3036
  setIsView((prev) => !prev);
3014
3037
  };
3015
- return /* @__PURE__ */ (0, import_jsx_runtime311.jsx)(
3038
+ return /* @__PURE__ */ (0, import_jsx_runtime312.jsx)(
3016
3039
  Input_default,
3017
3040
  {
3018
3041
  ...inputProps,
3019
- suffix: /* @__PURE__ */ (0, import_jsx_runtime311.jsx)("div", { className: "wrapper pointer", onClick: handleChangeView, children: isView ? /* @__PURE__ */ (0, import_jsx_runtime311.jsx)(OpenEyeIcon_default, {}) : /* @__PURE__ */ (0, import_jsx_runtime311.jsx)(CloseEyeIcon_default, {}) }),
3042
+ 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, {}) }),
3020
3043
  type: isView ? "text" : "password",
3021
3044
  ref
3022
3045
  }
@@ -3033,9 +3056,9 @@ var import_react_dom2 = require("react-dom");
3033
3056
  // src/tokens/hooks/Portal.tsx
3034
3057
  var import_react10 = __toESM(require("react"), 1);
3035
3058
  var import_react_dom = __toESM(require("react-dom"), 1);
3036
- var import_jsx_runtime312 = require("react/jsx-runtime");
3059
+ var import_jsx_runtime313 = require("react/jsx-runtime");
3037
3060
  var PortalContainerContext = import_react10.default.createContext(null);
3038
- var PortalProvider = ({ container, children }) => /* @__PURE__ */ (0, import_jsx_runtime312.jsx)(PortalContainerContext.Provider, { value: container, children });
3061
+ var PortalProvider = ({ container, children }) => /* @__PURE__ */ (0, import_jsx_runtime313.jsx)(PortalContainerContext.Provider, { value: container, children });
3039
3062
  var Portal = ({ children }) => {
3040
3063
  const contextContainer = import_react10.default.useContext(PortalContainerContext);
3041
3064
  if (typeof document === "undefined") return null;
@@ -3046,7 +3069,7 @@ Portal.displayName = "Portal";
3046
3069
  var Portal_default = Portal;
3047
3070
 
3048
3071
  // src/components/Modal/Modal.tsx
3049
- var import_jsx_runtime313 = require("react/jsx-runtime");
3072
+ var import_jsx_runtime314 = require("react/jsx-runtime");
3050
3073
  var ANIMATION_DURATION_MS = 200;
3051
3074
  var Modal = (props) => {
3052
3075
  const { isOpen, onClose, children } = props;
@@ -3067,12 +3090,12 @@ var Modal = (props) => {
3067
3090
  if (!mounted) return null;
3068
3091
  const stateClass = visible ? "enter" : "exit";
3069
3092
  return (0, import_react_dom2.createPortal)(
3070
- /* @__PURE__ */ (0, import_jsx_runtime313.jsx)(
3093
+ /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(
3071
3094
  "div",
3072
3095
  {
3073
3096
  className: clsx_default("lib-xplat-modal", "dim", stateClass),
3074
3097
  onClick: onClose,
3075
- children: /* @__PURE__ */ (0, import_jsx_runtime313.jsx)(
3098
+ children: /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(
3076
3099
  "div",
3077
3100
  {
3078
3101
  ref: boxRef,
@@ -3080,7 +3103,7 @@ var Modal = (props) => {
3080
3103
  role: "dialog",
3081
3104
  "aria-modal": "true",
3082
3105
  onClick: (e) => e.stopPropagation(),
3083
- children: /* @__PURE__ */ (0, import_jsx_runtime313.jsx)(PortalProvider, { container: boxRef.current, children })
3106
+ children: /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(PortalProvider, { container: boxRef.current, children })
3084
3107
  }
3085
3108
  )
3086
3109
  }
@@ -3093,7 +3116,7 @@ var Modal_default = Modal;
3093
3116
 
3094
3117
  // src/components/DatePicker/SingleDatePicker/index.tsx
3095
3118
  var import_react12 = __toESM(require("react"), 1);
3096
- var import_jsx_runtime314 = require("react/jsx-runtime");
3119
+ var import_jsx_runtime315 = require("react/jsx-runtime");
3097
3120
  var DayCell2 = import_react12.default.memo(
3098
3121
  ({
3099
3122
  day,
@@ -3104,7 +3127,7 @@ var DayCell2 = import_react12.default.memo(
3104
3127
  isEnd,
3105
3128
  inRange,
3106
3129
  onSelect
3107
- }) => /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(
3130
+ }) => /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(
3108
3131
  "button",
3109
3132
  {
3110
3133
  type: "button",
@@ -3202,20 +3225,20 @@ var SingleDatePicker = (props) => {
3202
3225
  const monthLabels = MONTH_LABELS[locale];
3203
3226
  const titleText = pickerMode === "days" ? locale === "ko" ? `${year}\uB144 ${monthLabels[month]}` : `${monthLabels[month]} ${year}` : pickerMode === "months" ? `${year}` : `${yearRangeStart} - ${yearRangeStart + 11}`;
3204
3227
  const hasRange = rangeStart != null && rangeEnd != null;
3205
- return /* @__PURE__ */ (0, import_jsx_runtime314.jsxs)(
3228
+ return /* @__PURE__ */ (0, import_jsx_runtime315.jsxs)(
3206
3229
  "div",
3207
3230
  {
3208
3231
  className: clsx_default("lib-xplat-datepicker", "single"),
3209
3232
  children: [
3210
- /* @__PURE__ */ (0, import_jsx_runtime314.jsxs)("div", { className: "datepicker-header", children: [
3211
- /* @__PURE__ */ (0, import_jsx_runtime314.jsx)("button", { className: "datepicker-nav", onClick: handlePrev, type: "button", children: /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(ChevronLeftIcon_default, {}) }),
3212
- /* @__PURE__ */ (0, import_jsx_runtime314.jsx)("button", { className: "datepicker-title", onClick: handleTitleClick, type: "button", children: titleText }),
3213
- /* @__PURE__ */ (0, import_jsx_runtime314.jsx)("button", { className: "datepicker-nav", onClick: handleNext, type: "button", children: /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(ChevronRightIcon_default, {}) })
3233
+ /* @__PURE__ */ (0, import_jsx_runtime315.jsxs)("div", { className: "datepicker-header", children: [
3234
+ /* @__PURE__ */ (0, import_jsx_runtime315.jsx)("button", { className: "datepicker-nav", onClick: handlePrev, type: "button", children: /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(ChevronLeftIcon_default, {}) }),
3235
+ /* @__PURE__ */ (0, import_jsx_runtime315.jsx)("button", { className: "datepicker-title", onClick: handleTitleClick, type: "button", children: titleText }),
3236
+ /* @__PURE__ */ (0, import_jsx_runtime315.jsx)("button", { className: "datepicker-nav", onClick: handleNext, type: "button", children: /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(ChevronRightIcon_default, {}) })
3214
3237
  ] }),
3215
- /* @__PURE__ */ (0, import_jsx_runtime314.jsxs)("div", { className: "datepicker-body", children: [
3216
- pickerMode === "years" && /* @__PURE__ */ (0, import_jsx_runtime314.jsx)("div", { className: "datepicker-picker-grid", children: Array.from({ length: 12 }, (_, i) => {
3238
+ /* @__PURE__ */ (0, import_jsx_runtime315.jsxs)("div", { className: "datepicker-body", children: [
3239
+ pickerMode === "years" && /* @__PURE__ */ (0, import_jsx_runtime315.jsx)("div", { className: "datepicker-picker-grid", children: Array.from({ length: 12 }, (_, i) => {
3217
3240
  const y = yearRangeStart + i;
3218
- return /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(
3241
+ return /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(
3219
3242
  "button",
3220
3243
  {
3221
3244
  type: "button",
@@ -3226,7 +3249,7 @@ var SingleDatePicker = (props) => {
3226
3249
  y
3227
3250
  );
3228
3251
  }) }),
3229
- pickerMode === "months" && /* @__PURE__ */ (0, import_jsx_runtime314.jsx)("div", { className: "datepicker-picker-grid", children: monthLabels.map((label, i) => /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(
3252
+ pickerMode === "months" && /* @__PURE__ */ (0, import_jsx_runtime315.jsx)("div", { className: "datepicker-picker-grid", children: monthLabels.map((label, i) => /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(
3230
3253
  "button",
3231
3254
  {
3232
3255
  type: "button",
@@ -3236,8 +3259,8 @@ var SingleDatePicker = (props) => {
3236
3259
  },
3237
3260
  i
3238
3261
  )) }),
3239
- pickerMode === "days" && /* @__PURE__ */ (0, import_jsx_runtime314.jsxs)(import_jsx_runtime314.Fragment, { children: [
3240
- /* @__PURE__ */ (0, import_jsx_runtime314.jsx)("div", { className: "datepicker-weekdays", children: weekdays.map((label, i) => /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(
3262
+ pickerMode === "days" && /* @__PURE__ */ (0, import_jsx_runtime315.jsxs)(import_jsx_runtime315.Fragment, { children: [
3263
+ /* @__PURE__ */ (0, import_jsx_runtime315.jsx)("div", { className: "datepicker-weekdays", children: weekdays.map((label, i) => /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(
3241
3264
  "div",
3242
3265
  {
3243
3266
  className: clsx_default(
@@ -3249,7 +3272,7 @@ var SingleDatePicker = (props) => {
3249
3272
  },
3250
3273
  label
3251
3274
  )) }),
3252
- /* @__PURE__ */ (0, import_jsx_runtime314.jsx)("div", { className: "datepicker-grid", children: days.map((day, idx) => {
3275
+ /* @__PURE__ */ (0, import_jsx_runtime315.jsx)("div", { className: "datepicker-grid", children: days.map((day, idx) => {
3253
3276
  const t = day.date.getTime();
3254
3277
  const disabled = t < minTime || t > maxTime;
3255
3278
  const selected = value ? isSameDay(day.date, value) : false;
@@ -3259,7 +3282,7 @@ var SingleDatePicker = (props) => {
3259
3282
  const isStart = hasRange ? isSameDay(day.date, rangeStart) : false;
3260
3283
  const isEnd = hasRange ? isSameDay(day.date, rangeEnd) : false;
3261
3284
  const inRangeVal = hasRange ? isInRange(day.date, rangeStart, rangeEnd) : false;
3262
- return /* @__PURE__ */ (0, import_jsx_runtime314.jsx)(
3285
+ return /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(
3263
3286
  DayCell2,
3264
3287
  {
3265
3288
  day,
@@ -3284,7 +3307,7 @@ SingleDatePicker.displayName = "SingleDatePicker";
3284
3307
  var SingleDatePicker_default = SingleDatePicker;
3285
3308
 
3286
3309
  // src/components/DatePicker/InputDatePicker/index.tsx
3287
- var import_jsx_runtime315 = require("react/jsx-runtime");
3310
+ var import_jsx_runtime316 = require("react/jsx-runtime");
3288
3311
  var formatDate = (date) => {
3289
3312
  if (!date || !(date instanceof Date) || isNaN(date.getTime())) return "";
3290
3313
  const y = date.getFullYear();
@@ -3311,19 +3334,19 @@ var InputDatePicker = (props) => {
3311
3334
  const handleClose = () => {
3312
3335
  setIsOpen(false);
3313
3336
  };
3314
- return /* @__PURE__ */ (0, import_jsx_runtime315.jsxs)("div", { className: clsx_default("lib-xplat-datepicker input-datepicker", disabled && "disabled"), children: [
3315
- /* @__PURE__ */ (0, import_jsx_runtime315.jsx)("div", { className: "input-datepicker-trigger", onClick: handleOpen, children: /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(
3337
+ return /* @__PURE__ */ (0, import_jsx_runtime316.jsxs)("div", { className: clsx_default("lib-xplat-datepicker input-datepicker", disabled && "disabled"), children: [
3338
+ /* @__PURE__ */ (0, import_jsx_runtime316.jsx)("div", { className: "input-datepicker-trigger", onClick: handleOpen, children: /* @__PURE__ */ (0, import_jsx_runtime316.jsx)(
3316
3339
  Input_default,
3317
3340
  {
3318
3341
  value: formatDate(value),
3319
3342
  placeholder,
3320
- suffix: /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(CalenderIcon_default, {}),
3343
+ suffix: /* @__PURE__ */ (0, import_jsx_runtime316.jsx)(CalenderIcon_default, {}),
3321
3344
  disabled,
3322
3345
  readOnly: true
3323
3346
  }
3324
3347
  ) }),
3325
- /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(Modal_default, { isOpen, onClose: handleClose, children: /* @__PURE__ */ (0, import_jsx_runtime315.jsxs)("div", { className: "lib-xplat-popup-datepicker-card", children: [
3326
- /* @__PURE__ */ (0, import_jsx_runtime315.jsx)("div", { className: "popup-datepicker-content", children: /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(
3348
+ /* @__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: [
3349
+ /* @__PURE__ */ (0, import_jsx_runtime316.jsx)("div", { className: "popup-datepicker-content", children: /* @__PURE__ */ (0, import_jsx_runtime316.jsx)(
3327
3350
  SingleDatePicker_default,
3328
3351
  {
3329
3352
  value: tempDate,
@@ -3333,9 +3356,9 @@ var InputDatePicker = (props) => {
3333
3356
  locale
3334
3357
  }
3335
3358
  ) }),
3336
- /* @__PURE__ */ (0, import_jsx_runtime315.jsxs)("div", { className: "popup-datepicker-footer", children: [
3337
- /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(Button_default, { type: "secondary", onClick: handleClose, children: locale === "ko" ? "\uCDE8\uC18C" : "Cancel" }),
3338
- /* @__PURE__ */ (0, import_jsx_runtime315.jsx)(Button_default, { type: "primary", onClick: handleApply, children: locale === "ko" ? "\uC801\uC6A9" : "Apply" })
3359
+ /* @__PURE__ */ (0, import_jsx_runtime316.jsxs)("div", { className: "popup-datepicker-footer", children: [
3360
+ /* @__PURE__ */ (0, import_jsx_runtime316.jsx)(Button_default, { type: "secondary", onClick: handleClose, children: locale === "ko" ? "\uCDE8\uC18C" : "Cancel" }),
3361
+ /* @__PURE__ */ (0, import_jsx_runtime316.jsx)(Button_default, { type: "primary", onClick: handleApply, children: locale === "ko" ? "\uC801\uC6A9" : "Apply" })
3339
3362
  ] })
3340
3363
  ] }) })
3341
3364
  ] });
@@ -3354,10 +3377,10 @@ var import_react15 = __toESM(require("react"), 1);
3354
3377
 
3355
3378
  // src/components/Tab/TabItem.tsx
3356
3379
  var import_react14 = __toESM(require("react"), 1);
3357
- var import_jsx_runtime316 = require("react/jsx-runtime");
3380
+ var import_jsx_runtime317 = require("react/jsx-runtime");
3358
3381
  var TabItem = import_react14.default.forwardRef((props, ref) => {
3359
3382
  const { isActive, title, onClick } = props;
3360
- return /* @__PURE__ */ (0, import_jsx_runtime316.jsx)(
3383
+ return /* @__PURE__ */ (0, import_jsx_runtime317.jsx)(
3361
3384
  "div",
3362
3385
  {
3363
3386
  ref,
@@ -3371,7 +3394,7 @@ TabItem.displayName = "TabItem";
3371
3394
  var TabItem_default = TabItem;
3372
3395
 
3373
3396
  // src/components/Tab/Tab.tsx
3374
- var import_jsx_runtime317 = require("react/jsx-runtime");
3397
+ var import_jsx_runtime318 = require("react/jsx-runtime");
3375
3398
  var Tab = (props) => {
3376
3399
  const { activeIndex, onChange, tabs, type, size = "md" } = props;
3377
3400
  const [underlineStyle, setUnderlineStyle] = import_react15.default.useState({
@@ -3388,8 +3411,8 @@ var Tab = (props) => {
3388
3411
  setUnderlineStyle({ left: el.offsetLeft, width: el.offsetWidth });
3389
3412
  }
3390
3413
  }, [activeIndex, tabs.length]);
3391
- return /* @__PURE__ */ (0, import_jsx_runtime317.jsxs)("div", { className: clsx_default("lib-xplat-tab", `type-${type}`, size), children: [
3392
- tabs.map((tab, idx) => /* @__PURE__ */ (0, import_jsx_runtime317.jsx)(
3414
+ return /* @__PURE__ */ (0, import_jsx_runtime318.jsxs)("div", { className: clsx_default("lib-xplat-tab", `type-${type}`, size), children: [
3415
+ tabs.map((tab, idx) => /* @__PURE__ */ (0, import_jsx_runtime318.jsx)(
3393
3416
  TabItem_default,
3394
3417
  {
3395
3418
  onClick: () => handleChangeActiveTab(tab, idx),
@@ -3401,7 +3424,7 @@ var Tab = (props) => {
3401
3424
  },
3402
3425
  `${tab.value}_${idx}`
3403
3426
  )),
3404
- type === "toggle" && /* @__PURE__ */ (0, import_jsx_runtime317.jsx)(
3427
+ type === "toggle" && /* @__PURE__ */ (0, import_jsx_runtime318.jsx)(
3405
3428
  "div",
3406
3429
  {
3407
3430
  className: "tab-toggle-underline",
@@ -3417,7 +3440,7 @@ Tab.displayName = "Tab";
3417
3440
  var Tab_default = Tab;
3418
3441
 
3419
3442
  // src/components/DatePicker/RangePicker/index.tsx
3420
- var import_jsx_runtime318 = require("react/jsx-runtime");
3443
+ var import_jsx_runtime319 = require("react/jsx-runtime");
3421
3444
  var RangePicker = (props) => {
3422
3445
  const {
3423
3446
  startDate,
@@ -3440,8 +3463,8 @@ var RangePicker = (props) => {
3440
3463
  };
3441
3464
  const startMaxDate = maxDate && endDate < maxDate ? endDate : endDate;
3442
3465
  const endMinDate = minDate && startDate > minDate ? startDate : startDate;
3443
- return /* @__PURE__ */ (0, import_jsx_runtime318.jsxs)("div", { className: clsx_default("lib-xplat-datepicker", "range"), children: [
3444
- /* @__PURE__ */ (0, import_jsx_runtime318.jsx)("div", { className: "datepicker-range-tabs", children: /* @__PURE__ */ (0, import_jsx_runtime318.jsx)(
3466
+ return /* @__PURE__ */ (0, import_jsx_runtime319.jsxs)("div", { className: clsx_default("lib-xplat-datepicker", "range"), children: [
3467
+ /* @__PURE__ */ (0, import_jsx_runtime319.jsx)("div", { className: "datepicker-range-tabs", children: /* @__PURE__ */ (0, import_jsx_runtime319.jsx)(
3445
3468
  Tab_default,
3446
3469
  {
3447
3470
  activeIndex: activeTab === "start" ? 0 : 1,
@@ -3454,8 +3477,8 @@ var RangePicker = (props) => {
3454
3477
  size: "sm"
3455
3478
  }
3456
3479
  ) }),
3457
- /* @__PURE__ */ (0, import_jsx_runtime318.jsxs)("div", { className: "datepicker-range-panels", children: [
3458
- /* @__PURE__ */ (0, import_jsx_runtime318.jsx)(
3480
+ /* @__PURE__ */ (0, import_jsx_runtime319.jsxs)("div", { className: "datepicker-range-panels", children: [
3481
+ /* @__PURE__ */ (0, import_jsx_runtime319.jsx)(
3459
3482
  SingleDatePicker_default,
3460
3483
  {
3461
3484
  value: startDate,
@@ -3467,7 +3490,7 @@ var RangePicker = (props) => {
3467
3490
  locale
3468
3491
  }
3469
3492
  ),
3470
- /* @__PURE__ */ (0, import_jsx_runtime318.jsx)(
3493
+ /* @__PURE__ */ (0, import_jsx_runtime319.jsx)(
3471
3494
  SingleDatePicker_default,
3472
3495
  {
3473
3496
  value: endDate,
@@ -3480,7 +3503,7 @@ var RangePicker = (props) => {
3480
3503
  }
3481
3504
  )
3482
3505
  ] }),
3483
- /* @__PURE__ */ (0, import_jsx_runtime318.jsx)("div", { className: "datepicker-range-mobile", children: activeTab === "start" ? /* @__PURE__ */ (0, import_jsx_runtime318.jsx)(
3506
+ /* @__PURE__ */ (0, import_jsx_runtime319.jsx)("div", { className: "datepicker-range-mobile", children: activeTab === "start" ? /* @__PURE__ */ (0, import_jsx_runtime319.jsx)(
3484
3507
  SingleDatePicker_default,
3485
3508
  {
3486
3509
  value: startDate,
@@ -3491,7 +3514,7 @@ var RangePicker = (props) => {
3491
3514
  rangeEnd: endDate,
3492
3515
  locale
3493
3516
  }
3494
- ) : /* @__PURE__ */ (0, import_jsx_runtime318.jsx)(
3517
+ ) : /* @__PURE__ */ (0, import_jsx_runtime319.jsx)(
3495
3518
  SingleDatePicker_default,
3496
3519
  {
3497
3520
  value: endDate,
@@ -3509,7 +3532,7 @@ RangePicker.displayName = "RangePicker";
3509
3532
  var RangePicker_default = RangePicker;
3510
3533
 
3511
3534
  // src/components/DatePicker/PopupPicker/index.tsx
3512
- var import_jsx_runtime319 = require("react/jsx-runtime");
3535
+ var import_jsx_runtime320 = require("react/jsx-runtime");
3513
3536
  var PopupPicker = (props) => {
3514
3537
  const { component, type, locale } = props;
3515
3538
  const [isOpen, setIsOpen] = import_react17.default.useState(false);
@@ -3520,11 +3543,11 @@ var PopupPicker = (props) => {
3520
3543
  props.onChange?.(date);
3521
3544
  handleClose();
3522
3545
  };
3523
- return /* @__PURE__ */ (0, import_jsx_runtime319.jsxs)("div", { className: "lib-xplat-popup-datepicker", children: [
3546
+ return /* @__PURE__ */ (0, import_jsx_runtime320.jsxs)("div", { className: "lib-xplat-popup-datepicker", children: [
3524
3547
  import_react17.default.cloneElement(component, { onClick: handleClick }),
3525
- /* @__PURE__ */ (0, import_jsx_runtime319.jsx)(Modal_default, { isOpen, onClose: handleClose, children: /* @__PURE__ */ (0, import_jsx_runtime319.jsxs)("div", { className: clsx_default("lib-xplat-popup-datepicker-card", type === "range" && "range-mode"), children: [
3526
- /* @__PURE__ */ (0, import_jsx_runtime319.jsxs)("div", { className: "popup-datepicker-content", children: [
3527
- type === "single" && /* @__PURE__ */ (0, import_jsx_runtime319.jsx)(
3548
+ /* @__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: [
3549
+ /* @__PURE__ */ (0, import_jsx_runtime320.jsxs)("div", { className: "popup-datepicker-content", children: [
3550
+ type === "single" && /* @__PURE__ */ (0, import_jsx_runtime320.jsx)(
3528
3551
  SingleDatePicker_default,
3529
3552
  {
3530
3553
  value: props.value,
@@ -3534,7 +3557,7 @@ var PopupPicker = (props) => {
3534
3557
  locale
3535
3558
  }
3536
3559
  ),
3537
- type === "range" && /* @__PURE__ */ (0, import_jsx_runtime319.jsx)(
3560
+ type === "range" && /* @__PURE__ */ (0, import_jsx_runtime320.jsx)(
3538
3561
  RangePicker_default,
3539
3562
  {
3540
3563
  startDate: props.startDate,
@@ -3546,8 +3569,8 @@ var PopupPicker = (props) => {
3546
3569
  }
3547
3570
  )
3548
3571
  ] }),
3549
- /* @__PURE__ */ (0, import_jsx_runtime319.jsxs)("div", { className: "popup-datepicker-footer", children: [
3550
- /* @__PURE__ */ (0, import_jsx_runtime319.jsx)(
3572
+ /* @__PURE__ */ (0, import_jsx_runtime320.jsxs)("div", { className: "popup-datepicker-footer", children: [
3573
+ /* @__PURE__ */ (0, import_jsx_runtime320.jsx)(
3551
3574
  Button_default,
3552
3575
  {
3553
3576
  type: "secondary",
@@ -3555,7 +3578,7 @@ var PopupPicker = (props) => {
3555
3578
  children: locale === "ko" ? "\uCDE8\uC18C" : "Cancel"
3556
3579
  }
3557
3580
  ),
3558
- /* @__PURE__ */ (0, import_jsx_runtime319.jsx)(Button_default, { type: "primary", onClick: handleClose, children: locale === "ko" ? "\uC801\uC6A9" : "Apply" })
3581
+ /* @__PURE__ */ (0, import_jsx_runtime320.jsx)(Button_default, { type: "primary", onClick: handleClose, children: locale === "ko" ? "\uC801\uC6A9" : "Apply" })
3559
3582
  ] })
3560
3583
  ] }) })
3561
3584
  ] });
@@ -3564,10 +3587,10 @@ PopupPicker.displayName = "PopupPicker";
3564
3587
  var PopupPicker_default = PopupPicker;
3565
3588
 
3566
3589
  // src/components/Divider/Divider.tsx
3567
- var import_jsx_runtime320 = require("react/jsx-runtime");
3590
+ var import_jsx_runtime321 = require("react/jsx-runtime");
3568
3591
  var Divider = (props) => {
3569
3592
  const { orientation = "horizontal" } = props;
3570
- return /* @__PURE__ */ (0, import_jsx_runtime320.jsx)(
3593
+ return /* @__PURE__ */ (0, import_jsx_runtime321.jsx)(
3571
3594
  "div",
3572
3595
  {
3573
3596
  className: clsx_default("lib-xplat-divider", orientation),
@@ -3582,7 +3605,7 @@ var Divider_default = Divider;
3582
3605
  // src/components/Drawer/Drawer.tsx
3583
3606
  var import_react18 = __toESM(require("react"), 1);
3584
3607
  var import_react_dom3 = require("react-dom");
3585
- var import_jsx_runtime321 = require("react/jsx-runtime");
3608
+ var import_jsx_runtime322 = require("react/jsx-runtime");
3586
3609
  var ANIMATION_DURATION_MS2 = 250;
3587
3610
  var Drawer = (props) => {
3588
3611
  const { isOpen, onClose, placement = "right", size = "md", title, children } = props;
@@ -3602,12 +3625,12 @@ var Drawer = (props) => {
3602
3625
  if (!mounted) return null;
3603
3626
  const stateClass = visible ? "enter" : "exit";
3604
3627
  return (0, import_react_dom3.createPortal)(
3605
- /* @__PURE__ */ (0, import_jsx_runtime321.jsx)(
3628
+ /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(
3606
3629
  "div",
3607
3630
  {
3608
3631
  className: clsx_default("lib-xplat-drawer-overlay", stateClass),
3609
3632
  onClick: onClose,
3610
- children: /* @__PURE__ */ (0, import_jsx_runtime321.jsxs)(
3633
+ children: /* @__PURE__ */ (0, import_jsx_runtime322.jsxs)(
3611
3634
  "div",
3612
3635
  {
3613
3636
  className: clsx_default("lib-xplat-drawer", placement, size, stateClass),
@@ -3615,11 +3638,11 @@ var Drawer = (props) => {
3615
3638
  "aria-modal": "true",
3616
3639
  onClick: (e) => e.stopPropagation(),
3617
3640
  children: [
3618
- title && /* @__PURE__ */ (0, import_jsx_runtime321.jsxs)("div", { className: "drawer-header", children: [
3619
- /* @__PURE__ */ (0, import_jsx_runtime321.jsx)("span", { className: "drawer-title", children: title }),
3620
- /* @__PURE__ */ (0, import_jsx_runtime321.jsx)("button", { className: "close-btn", onClick: onClose, "aria-label": "\uB2EB\uAE30", children: "\xD7" })
3641
+ title && /* @__PURE__ */ (0, import_jsx_runtime322.jsxs)("div", { className: "drawer-header", children: [
3642
+ /* @__PURE__ */ (0, import_jsx_runtime322.jsx)("span", { className: "drawer-title", children: title }),
3643
+ /* @__PURE__ */ (0, import_jsx_runtime322.jsx)("button", { className: "close-btn", onClick: onClose, "aria-label": "\uB2EB\uAE30", children: "\xD7" })
3621
3644
  ] }),
3622
- /* @__PURE__ */ (0, import_jsx_runtime321.jsx)("div", { className: "drawer-body", children })
3645
+ /* @__PURE__ */ (0, import_jsx_runtime322.jsx)("div", { className: "drawer-body", children })
3623
3646
  ]
3624
3647
  }
3625
3648
  )
@@ -3721,7 +3744,7 @@ var useClickOutside = (refs, handler, enabled = true) => {
3721
3744
  var useClickOutside_default = useClickOutside;
3722
3745
 
3723
3746
  // src/components/Dropdown/Dropdown.tsx
3724
- var import_jsx_runtime322 = require("react/jsx-runtime");
3747
+ var import_jsx_runtime323 = require("react/jsx-runtime");
3725
3748
  var Dropdown = (props) => {
3726
3749
  const { items, children } = props;
3727
3750
  const [isOpen, setIsOpen] = import_react21.default.useState(false);
@@ -3746,8 +3769,8 @@ var Dropdown = (props) => {
3746
3769
  item.onClick?.();
3747
3770
  setIsOpen(false);
3748
3771
  };
3749
- return /* @__PURE__ */ (0, import_jsx_runtime322.jsxs)("div", { className: "lib-xplat-dropdown", children: [
3750
- /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(
3772
+ return /* @__PURE__ */ (0, import_jsx_runtime323.jsxs)("div", { className: "lib-xplat-dropdown", children: [
3773
+ /* @__PURE__ */ (0, import_jsx_runtime323.jsx)(
3751
3774
  "div",
3752
3775
  {
3753
3776
  ref: triggerRef,
@@ -3756,14 +3779,14 @@ var Dropdown = (props) => {
3756
3779
  children
3757
3780
  }
3758
3781
  ),
3759
- mounted && /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(Portal_default, { children: /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(
3782
+ mounted && /* @__PURE__ */ (0, import_jsx_runtime323.jsx)(Portal_default, { children: /* @__PURE__ */ (0, import_jsx_runtime323.jsx)(
3760
3783
  "div",
3761
3784
  {
3762
3785
  ref: menuRef,
3763
3786
  className: clsx_default("lib-xplat-dropdown-menu", direction, { visible }),
3764
3787
  style: { top: position.top, left: position.left },
3765
3788
  role: "menu",
3766
- children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime322.jsx)(
3789
+ children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime323.jsx)(
3767
3790
  "button",
3768
3791
  {
3769
3792
  className: clsx_default("dropdown-item", {
@@ -3785,15 +3808,15 @@ Dropdown.displayName = "Dropdown";
3785
3808
  var Dropdown_default = Dropdown;
3786
3809
 
3787
3810
  // src/components/EmptyState/EmptyState.tsx
3788
- var import_jsx_runtime323 = require("react/jsx-runtime");
3811
+ var import_jsx_runtime324 = require("react/jsx-runtime");
3789
3812
  var EmptyState = (props) => {
3790
3813
  const { icon, title = "\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4", description, action } = props;
3791
- return /* @__PURE__ */ (0, import_jsx_runtime323.jsxs)("div", { className: "lib-xplat-empty-state", children: [
3792
- icon && /* @__PURE__ */ (0, import_jsx_runtime323.jsx)("div", { className: "empty-icon", children: icon }),
3793
- !icon && /* @__PURE__ */ (0, import_jsx_runtime323.jsx)("div", { className: "empty-icon", children: /* @__PURE__ */ (0, import_jsx_runtime323.jsx)("svg", { viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime323.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" }) }) }),
3794
- /* @__PURE__ */ (0, import_jsx_runtime323.jsx)("p", { className: "empty-title", children: title }),
3795
- description && /* @__PURE__ */ (0, import_jsx_runtime323.jsx)("p", { className: "empty-description", children: description }),
3796
- action && /* @__PURE__ */ (0, import_jsx_runtime323.jsx)("div", { className: "empty-action", children: action })
3814
+ return /* @__PURE__ */ (0, import_jsx_runtime324.jsxs)("div", { className: "lib-xplat-empty-state", children: [
3815
+ icon && /* @__PURE__ */ (0, import_jsx_runtime324.jsx)("div", { className: "empty-icon", children: icon }),
3816
+ !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" }) }) }),
3817
+ /* @__PURE__ */ (0, import_jsx_runtime324.jsx)("p", { className: "empty-title", children: title }),
3818
+ description && /* @__PURE__ */ (0, import_jsx_runtime324.jsx)("p", { className: "empty-description", children: description }),
3819
+ action && /* @__PURE__ */ (0, import_jsx_runtime324.jsx)("div", { className: "empty-action", children: action })
3797
3820
  ] });
3798
3821
  };
3799
3822
  EmptyState.displayName = "EmptyState";
@@ -3801,7 +3824,7 @@ var EmptyState_default = EmptyState;
3801
3824
 
3802
3825
  // src/components/FileUpload/FileUpload.tsx
3803
3826
  var import_react22 = __toESM(require("react"), 1);
3804
- var import_jsx_runtime324 = require("react/jsx-runtime");
3827
+ var import_jsx_runtime325 = require("react/jsx-runtime");
3805
3828
  var FileUpload = (props) => {
3806
3829
  const {
3807
3830
  accept,
@@ -3842,7 +3865,7 @@ var FileUpload = (props) => {
3842
3865
  handleFiles(e.target.files);
3843
3866
  }
3844
3867
  };
3845
- return /* @__PURE__ */ (0, import_jsx_runtime324.jsxs)(
3868
+ return /* @__PURE__ */ (0, import_jsx_runtime325.jsxs)(
3846
3869
  "div",
3847
3870
  {
3848
3871
  className: clsx_default("lib-xplat-file-upload", { "drag-over": isDragOver }),
@@ -3851,7 +3874,7 @@ var FileUpload = (props) => {
3851
3874
  onDragLeave: handleDragLeave,
3852
3875
  onClick: () => inputRef.current?.click(),
3853
3876
  children: [
3854
- /* @__PURE__ */ (0, import_jsx_runtime324.jsx)(
3877
+ /* @__PURE__ */ (0, import_jsx_runtime325.jsx)(
3855
3878
  "input",
3856
3879
  {
3857
3880
  ref: inputRef,
@@ -3861,9 +3884,9 @@ var FileUpload = (props) => {
3861
3884
  onChange: handleChange
3862
3885
  }
3863
3886
  ),
3864
- /* @__PURE__ */ (0, import_jsx_runtime324.jsx)("div", { className: "upload-icon", children: /* @__PURE__ */ (0, import_jsx_runtime324.jsx)(UploadIcon_default, {}) }),
3865
- /* @__PURE__ */ (0, import_jsx_runtime324.jsx)("p", { className: "upload-label", children: label }),
3866
- description && /* @__PURE__ */ (0, import_jsx_runtime324.jsx)("p", { className: "upload-description", children: description })
3887
+ /* @__PURE__ */ (0, import_jsx_runtime325.jsx)("div", { className: "upload-icon", children: /* @__PURE__ */ (0, import_jsx_runtime325.jsx)(UploadIcon_default, {}) }),
3888
+ /* @__PURE__ */ (0, import_jsx_runtime325.jsx)("p", { className: "upload-label", children: label }),
3889
+ description && /* @__PURE__ */ (0, import_jsx_runtime325.jsx)("p", { className: "upload-description", children: description })
3867
3890
  ]
3868
3891
  }
3869
3892
  );
@@ -3957,7 +3980,7 @@ var htmlToReactProgressive = (root, typedLen, rangeMap) => {
3957
3980
  };
3958
3981
 
3959
3982
  // src/components/HtmlTypeWriter/HtmlTypeWriter.tsx
3960
- var import_jsx_runtime325 = require("react/jsx-runtime");
3983
+ var import_jsx_runtime326 = require("react/jsx-runtime");
3961
3984
  var HtmlTypeWriter = ({
3962
3985
  html,
3963
3986
  duration = 20,
@@ -4000,14 +4023,14 @@ var HtmlTypeWriter = ({
4000
4023
  () => doc ? htmlToReactProgressive(doc.body, typedLen, rangeMap) : null,
4001
4024
  [doc, typedLen, rangeMap]
4002
4025
  );
4003
- return /* @__PURE__ */ (0, import_jsx_runtime325.jsx)("div", { className: "lib-xplat-htmlTypewriter", children: parsed });
4026
+ return /* @__PURE__ */ (0, import_jsx_runtime326.jsx)("div", { className: "lib-xplat-htmlTypewriter", children: parsed });
4004
4027
  };
4005
4028
  HtmlTypeWriter.displayName = "HtmlTypeWriter";
4006
4029
  var HtmlTypeWriter_default = HtmlTypeWriter;
4007
4030
 
4008
4031
  // src/components/ImageSelector/ImageSelector.tsx
4009
4032
  var import_react25 = __toESM(require("react"), 1);
4010
- var import_jsx_runtime326 = require("react/jsx-runtime");
4033
+ var import_jsx_runtime327 = require("react/jsx-runtime");
4011
4034
  var ImageSelector = (props) => {
4012
4035
  const { value, label, onChange } = props;
4013
4036
  const [previewUrl, setPreviewUrl] = import_react25.default.useState();
@@ -4033,8 +4056,8 @@ var ImageSelector = (props) => {
4033
4056
  const handleOpenFileDialog = () => {
4034
4057
  inputRef.current?.click();
4035
4058
  };
4036
- return /* @__PURE__ */ (0, import_jsx_runtime326.jsxs)("div", { className: `lib-xplat-imageselector${value ? "" : " none-value"}`, children: [
4037
- /* @__PURE__ */ (0, import_jsx_runtime326.jsx)(
4059
+ return /* @__PURE__ */ (0, import_jsx_runtime327.jsxs)("div", { className: `lib-xplat-imageselector${value ? "" : " none-value"}`, children: [
4060
+ /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(
4038
4061
  "input",
4039
4062
  {
4040
4063
  type: "file",
@@ -4044,13 +4067,13 @@ var ImageSelector = (props) => {
4044
4067
  ref: inputRef
4045
4068
  }
4046
4069
  ),
4047
- value && /* @__PURE__ */ (0, import_jsx_runtime326.jsxs)("div", { className: "action-bar", children: [
4048
- /* @__PURE__ */ (0, import_jsx_runtime326.jsx)("div", { className: "icon-wrapper", onClick: handleOpenFileDialog, children: /* @__PURE__ */ (0, import_jsx_runtime326.jsx)(UploadIcon_default, {}) }),
4049
- /* @__PURE__ */ (0, import_jsx_runtime326.jsx)("div", { className: "icon-wrapper", onClick: handleDeleteFile, children: /* @__PURE__ */ (0, import_jsx_runtime326.jsx)(DeleteIcon_default, {}) })
4070
+ value && /* @__PURE__ */ (0, import_jsx_runtime327.jsxs)("div", { className: "action-bar", children: [
4071
+ /* @__PURE__ */ (0, import_jsx_runtime327.jsx)("div", { className: "icon-wrapper", onClick: handleOpenFileDialog, children: /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(UploadIcon_default, {}) }),
4072
+ /* @__PURE__ */ (0, import_jsx_runtime327.jsx)("div", { className: "icon-wrapper", onClick: handleDeleteFile, children: /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(DeleteIcon_default, {}) })
4050
4073
  ] }),
4051
- /* @__PURE__ */ (0, import_jsx_runtime326.jsx)("div", { className: "content", children: previewUrl ? /* @__PURE__ */ (0, import_jsx_runtime326.jsx)("img", { src: previewUrl, alt: "preview" }) : /* @__PURE__ */ (0, import_jsx_runtime326.jsxs)("div", { className: "skeleton", onClick: handleOpenFileDialog, children: [
4052
- /* @__PURE__ */ (0, import_jsx_runtime326.jsx)("div", { className: "icon-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime326.jsx)(ImageIcon_default, {}) }),
4053
- /* @__PURE__ */ (0, import_jsx_runtime326.jsx)("div", { className: "label", children: label || "\uC774\uBBF8\uC9C0 \uCD94\uAC00\uD558\uAE30" })
4074
+ /* @__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: [
4075
+ /* @__PURE__ */ (0, import_jsx_runtime327.jsx)("div", { className: "icon-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(ImageIcon_default, {}) }),
4076
+ /* @__PURE__ */ (0, import_jsx_runtime327.jsx)("div", { className: "label", children: label || "\uC774\uBBF8\uC9C0 \uCD94\uAC00\uD558\uAE30" })
4054
4077
  ] }) })
4055
4078
  ] });
4056
4079
  };
@@ -4058,7 +4081,7 @@ ImageSelector.displayName = "ImageSelector";
4058
4081
  var ImageSelector_default = ImageSelector;
4059
4082
 
4060
4083
  // src/components/Pagination/Pagination.tsx
4061
- var import_jsx_runtime327 = require("react/jsx-runtime");
4084
+ var import_jsx_runtime328 = require("react/jsx-runtime");
4062
4085
  var getPageRange = (current, totalPages, siblingCount) => {
4063
4086
  const totalNumbers = siblingCount * 2 + 5;
4064
4087
  if (totalPages <= totalNumbers) {
@@ -4101,19 +4124,19 @@ var Pagination = (props) => {
4101
4124
  onChange?.(page);
4102
4125
  }
4103
4126
  };
4104
- return /* @__PURE__ */ (0, import_jsx_runtime327.jsxs)("nav", { className: clsx_default("lib-xplat-pagination", size, type), "aria-label": "\uD398\uC774\uC9C0 \uB124\uBE44\uAC8C\uC774\uC158", children: [
4105
- /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(
4127
+ 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: [
4128
+ /* @__PURE__ */ (0, import_jsx_runtime328.jsx)(
4106
4129
  "button",
4107
4130
  {
4108
4131
  className: "page-btn prev",
4109
4132
  disabled: current <= 1,
4110
4133
  onClick: () => handleClick(current - 1),
4111
4134
  "aria-label": "\uC774\uC804 \uD398\uC774\uC9C0",
4112
- children: /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(ChevronLeftIcon_default, {})
4135
+ children: /* @__PURE__ */ (0, import_jsx_runtime328.jsx)(ChevronLeftIcon_default, {})
4113
4136
  }
4114
4137
  ),
4115
4138
  pages.map(
4116
- (page, i) => page === "..." ? /* @__PURE__ */ (0, import_jsx_runtime327.jsx)("span", { className: "dots", children: "..." }, `dots-${i}`) : /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(
4139
+ (page, i) => page === "..." ? /* @__PURE__ */ (0, import_jsx_runtime328.jsx)("span", { className: "dots", children: "..." }, `dots-${i}`) : /* @__PURE__ */ (0, import_jsx_runtime328.jsx)(
4117
4140
  "button",
4118
4141
  {
4119
4142
  className: clsx_default("page-btn", { active: page === current }),
@@ -4124,14 +4147,14 @@ var Pagination = (props) => {
4124
4147
  page
4125
4148
  )
4126
4149
  ),
4127
- /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(
4150
+ /* @__PURE__ */ (0, import_jsx_runtime328.jsx)(
4128
4151
  "button",
4129
4152
  {
4130
4153
  className: "page-btn next",
4131
4154
  disabled: current >= totalPages,
4132
4155
  onClick: () => handleClick(current + 1),
4133
4156
  "aria-label": "\uB2E4\uC74C \uD398\uC774\uC9C0",
4134
- children: /* @__PURE__ */ (0, import_jsx_runtime327.jsx)(ChevronRightIcon_default, {})
4157
+ children: /* @__PURE__ */ (0, import_jsx_runtime328.jsx)(ChevronRightIcon_default, {})
4135
4158
  }
4136
4159
  )
4137
4160
  ] });
@@ -4141,7 +4164,7 @@ var Pagination_default = Pagination;
4141
4164
 
4142
4165
  // src/components/PopOver/PopOver.tsx
4143
4166
  var import_react26 = __toESM(require("react"), 1);
4144
- var import_jsx_runtime328 = require("react/jsx-runtime");
4167
+ var import_jsx_runtime329 = require("react/jsx-runtime");
4145
4168
  var PopOver = (props) => {
4146
4169
  const { children, isOpen, onClose, PopOverEl } = props;
4147
4170
  const popRef = import_react26.default.useRef(null);
@@ -4163,7 +4186,7 @@ var PopOver = (props) => {
4163
4186
  }, 200);
4164
4187
  }
4165
4188
  }, [isOpen]);
4166
- return /* @__PURE__ */ (0, import_jsx_runtime328.jsxs)(
4189
+ return /* @__PURE__ */ (0, import_jsx_runtime329.jsxs)(
4167
4190
  "div",
4168
4191
  {
4169
4192
  className: "lib-xplat-pop-over",
@@ -4173,7 +4196,7 @@ var PopOver = (props) => {
4173
4196
  },
4174
4197
  children: [
4175
4198
  children,
4176
- localOpen && /* @__PURE__ */ (0, import_jsx_runtime328.jsx)(Portal_default, { children: /* @__PURE__ */ (0, import_jsx_runtime328.jsx)(
4199
+ localOpen && /* @__PURE__ */ (0, import_jsx_runtime329.jsx)(Portal_default, { children: /* @__PURE__ */ (0, import_jsx_runtime329.jsx)(
4177
4200
  "div",
4178
4201
  {
4179
4202
  className: clsx_default(
@@ -4196,7 +4219,7 @@ PopOver.displayName = "PopOver";
4196
4219
  var PopOver_default = PopOver;
4197
4220
 
4198
4221
  // src/components/Progress/Progress.tsx
4199
- var import_jsx_runtime329 = require("react/jsx-runtime");
4222
+ var import_jsx_runtime330 = require("react/jsx-runtime");
4200
4223
  var Progress = (props) => {
4201
4224
  const {
4202
4225
  value,
@@ -4206,8 +4229,8 @@ var Progress = (props) => {
4206
4229
  showLabel = false
4207
4230
  } = props;
4208
4231
  const percentage = Math.min(100, Math.max(0, value / max * 100));
4209
- return /* @__PURE__ */ (0, import_jsx_runtime329.jsxs)("div", { className: clsx_default("lib-xplat-progress", size, type), children: [
4210
- /* @__PURE__ */ (0, import_jsx_runtime329.jsx)(
4232
+ return /* @__PURE__ */ (0, import_jsx_runtime330.jsxs)("div", { className: clsx_default("lib-xplat-progress", size, type), children: [
4233
+ /* @__PURE__ */ (0, import_jsx_runtime330.jsx)(
4211
4234
  "div",
4212
4235
  {
4213
4236
  className: "track",
@@ -4215,7 +4238,7 @@ var Progress = (props) => {
4215
4238
  "aria-valuenow": value,
4216
4239
  "aria-valuemin": 0,
4217
4240
  "aria-valuemax": max,
4218
- children: /* @__PURE__ */ (0, import_jsx_runtime329.jsx)(
4241
+ children: /* @__PURE__ */ (0, import_jsx_runtime330.jsx)(
4219
4242
  "div",
4220
4243
  {
4221
4244
  className: "bar",
@@ -4224,7 +4247,7 @@ var Progress = (props) => {
4224
4247
  )
4225
4248
  }
4226
4249
  ),
4227
- showLabel && /* @__PURE__ */ (0, import_jsx_runtime329.jsxs)("span", { className: "label", children: [
4250
+ showLabel && /* @__PURE__ */ (0, import_jsx_runtime330.jsxs)("span", { className: "label", children: [
4228
4251
  Math.round(percentage),
4229
4252
  "%"
4230
4253
  ] })
@@ -4244,7 +4267,7 @@ var useRadioGroupContext = () => {
4244
4267
  var RadioGroupContext_default = RadioGroupContext;
4245
4268
 
4246
4269
  // src/components/Radio/Radio.tsx
4247
- var import_jsx_runtime330 = require("react/jsx-runtime");
4270
+ var import_jsx_runtime331 = require("react/jsx-runtime");
4248
4271
  var Radio = (props) => {
4249
4272
  const {
4250
4273
  label,
@@ -4262,7 +4285,7 @@ var Radio = (props) => {
4262
4285
  value,
4263
4286
  onChange: rest.onChange
4264
4287
  };
4265
- return /* @__PURE__ */ (0, import_jsx_runtime330.jsxs)(
4288
+ return /* @__PURE__ */ (0, import_jsx_runtime331.jsxs)(
4266
4289
  "label",
4267
4290
  {
4268
4291
  className: clsx_default(
@@ -4272,18 +4295,18 @@ var Radio = (props) => {
4272
4295
  localChecked ? "checked" : void 0
4273
4296
  ),
4274
4297
  children: [
4275
- /* @__PURE__ */ (0, import_jsx_runtime330.jsx)("input", { ...rest, ...inputProps, checked: localChecked, type: "radio" }),
4276
- /* @__PURE__ */ (0, import_jsx_runtime330.jsx)(
4298
+ /* @__PURE__ */ (0, import_jsx_runtime331.jsx)("input", { ...rest, ...inputProps, checked: localChecked, type: "radio" }),
4299
+ /* @__PURE__ */ (0, import_jsx_runtime331.jsx)(
4277
4300
  "div",
4278
4301
  {
4279
4302
  className: clsx_default(
4280
4303
  "circle",
4281
4304
  localChecked ? "checked" : void 0
4282
4305
  ),
4283
- children: localChecked && /* @__PURE__ */ (0, import_jsx_runtime330.jsx)("div", { className: "inner-circle" })
4306
+ children: localChecked && /* @__PURE__ */ (0, import_jsx_runtime331.jsx)("div", { className: "inner-circle" })
4284
4307
  }
4285
4308
  ),
4286
- label && /* @__PURE__ */ (0, import_jsx_runtime330.jsx)("span", { children: label })
4309
+ label && /* @__PURE__ */ (0, import_jsx_runtime331.jsx)("span", { children: label })
4287
4310
  ]
4288
4311
  }
4289
4312
  );
@@ -4292,10 +4315,10 @@ Radio.displayName = "Radio";
4292
4315
  var Radio_default = Radio;
4293
4316
 
4294
4317
  // src/components/Radio/RadioGroup.tsx
4295
- var import_jsx_runtime331 = require("react/jsx-runtime");
4318
+ var import_jsx_runtime332 = require("react/jsx-runtime");
4296
4319
  var RadioGroup = (props) => {
4297
4320
  const { children, ...rest } = props;
4298
- return /* @__PURE__ */ (0, import_jsx_runtime331.jsx)(import_jsx_runtime331.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime331.jsx)(RadioGroupContext_default.Provider, { value: rest, children }) });
4321
+ return /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(import_jsx_runtime332.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(RadioGroupContext_default.Provider, { value: rest, children }) });
4299
4322
  };
4300
4323
  RadioGroup.displayName = "RadioGroup";
4301
4324
  var RadioGroup_default = RadioGroup;
@@ -4310,7 +4333,7 @@ var context_default = SelectContext;
4310
4333
 
4311
4334
  // src/components/Select/SelectItem.tsx
4312
4335
  var import_react29 = __toESM(require("react"), 1);
4313
- var import_jsx_runtime332 = require("react/jsx-runtime");
4336
+ var import_jsx_runtime333 = require("react/jsx-runtime");
4314
4337
  var SelectItem = (props) => {
4315
4338
  const { children, value, onClick, disabled = false } = props;
4316
4339
  const ctx = import_react29.default.useContext(context_default);
@@ -4322,7 +4345,7 @@ var SelectItem = (props) => {
4322
4345
  ctx?.close();
4323
4346
  onClick?.();
4324
4347
  };
4325
- return /* @__PURE__ */ (0, import_jsx_runtime332.jsx)(
4348
+ return /* @__PURE__ */ (0, import_jsx_runtime333.jsx)(
4326
4349
  "div",
4327
4350
  {
4328
4351
  className: clsx_default("select-item", disabled && "disabled"),
@@ -4343,7 +4366,7 @@ SelectItem.displayName = "Select.Item";
4343
4366
  var SelectItem_default = SelectItem;
4344
4367
 
4345
4368
  // src/components/Select/Select.tsx
4346
- var import_jsx_runtime333 = require("react/jsx-runtime");
4369
+ var import_jsx_runtime334 = require("react/jsx-runtime");
4347
4370
  var ANIMATION_DURATION_MS3 = 200;
4348
4371
  var SelectRoot = (props) => {
4349
4372
  const {
@@ -4419,7 +4442,7 @@ var SelectRoot = (props) => {
4419
4442
  if (disabled) return;
4420
4443
  toggle();
4421
4444
  };
4422
- return /* @__PURE__ */ (0, import_jsx_runtime333.jsx)(context_default.Provider, { value: ctxValue, children: /* @__PURE__ */ (0, import_jsx_runtime333.jsxs)(
4445
+ return /* @__PURE__ */ (0, import_jsx_runtime334.jsx)(context_default.Provider, { value: ctxValue, children: /* @__PURE__ */ (0, import_jsx_runtime334.jsxs)(
4423
4446
  "div",
4424
4447
  {
4425
4448
  className: clsx_default(
@@ -4430,7 +4453,7 @@ var SelectRoot = (props) => {
4430
4453
  mounted && "is-open"
4431
4454
  ),
4432
4455
  children: [
4433
- /* @__PURE__ */ (0, import_jsx_runtime333.jsxs)(
4456
+ /* @__PURE__ */ (0, import_jsx_runtime334.jsxs)(
4434
4457
  "div",
4435
4458
  {
4436
4459
  ref: triggerRef,
@@ -4454,7 +4477,7 @@ var SelectRoot = (props) => {
4454
4477
  }
4455
4478
  },
4456
4479
  children: [
4457
- /* @__PURE__ */ (0, import_jsx_runtime333.jsx)(
4480
+ /* @__PURE__ */ (0, import_jsx_runtime334.jsx)(
4458
4481
  "span",
4459
4482
  {
4460
4483
  className: clsx_default(
@@ -4464,25 +4487,25 @@ var SelectRoot = (props) => {
4464
4487
  children: selectedLabel ?? placeholder
4465
4488
  }
4466
4489
  ),
4467
- /* @__PURE__ */ (0, import_jsx_runtime333.jsx)(
4490
+ /* @__PURE__ */ (0, import_jsx_runtime334.jsx)(
4468
4491
  "span",
4469
4492
  {
4470
4493
  className: clsx_default("select-trigger-icon", isOpen && "open"),
4471
4494
  "aria-hidden": true,
4472
- children: /* @__PURE__ */ (0, import_jsx_runtime333.jsx)(ChevronDownIcon_default, {})
4495
+ children: /* @__PURE__ */ (0, import_jsx_runtime334.jsx)(ChevronDownIcon_default, {})
4473
4496
  }
4474
4497
  )
4475
4498
  ]
4476
4499
  }
4477
4500
  ),
4478
- mounted && /* @__PURE__ */ (0, import_jsx_runtime333.jsx)(Portal_default, { children: /* @__PURE__ */ (0, import_jsx_runtime333.jsx)(
4501
+ mounted && /* @__PURE__ */ (0, import_jsx_runtime334.jsx)(Portal_default, { children: /* @__PURE__ */ (0, import_jsx_runtime334.jsx)(
4479
4502
  "div",
4480
4503
  {
4481
4504
  className: clsx_default("lib-xplat-select-content", position.direction, stateClass),
4482
4505
  ref: contentRef,
4483
4506
  style: { ...position.position, width: triggerRef.current?.offsetWidth },
4484
4507
  role: "listbox",
4485
- children: /* @__PURE__ */ (0, import_jsx_runtime333.jsx)(context_default.Provider, { value: ctxValue, children: itemChildren })
4508
+ children: /* @__PURE__ */ (0, import_jsx_runtime334.jsx)(context_default.Provider, { value: ctxValue, children: itemChildren })
4486
4509
  }
4487
4510
  ) })
4488
4511
  ]
@@ -4496,7 +4519,7 @@ var Select = Object.assign(SelectRoot, {
4496
4519
  var Select_default = Select;
4497
4520
 
4498
4521
  // src/components/Skeleton/Skeleton.tsx
4499
- var import_jsx_runtime334 = require("react/jsx-runtime");
4522
+ var import_jsx_runtime335 = require("react/jsx-runtime");
4500
4523
  var SIZE_MAP = {
4501
4524
  xs: "var(--spacing-size-1)",
4502
4525
  sm: "var(--spacing-size-2)",
@@ -4512,7 +4535,7 @@ var Skeleton = (props) => {
4512
4535
  ...width != null && { width: SIZE_MAP[width] },
4513
4536
  ...height != null && { height: SIZE_MAP[height] }
4514
4537
  };
4515
- return /* @__PURE__ */ (0, import_jsx_runtime334.jsx)(
4538
+ return /* @__PURE__ */ (0, import_jsx_runtime335.jsx)(
4516
4539
  "div",
4517
4540
  {
4518
4541
  className: clsx_default("lib-xplat-skeleton", variant),
@@ -4525,20 +4548,20 @@ Skeleton.displayName = "Skeleton";
4525
4548
  var Skeleton_default = Skeleton;
4526
4549
 
4527
4550
  // src/components/Spinner/Spinner.tsx
4528
- var import_jsx_runtime335 = require("react/jsx-runtime");
4551
+ var import_jsx_runtime336 = require("react/jsx-runtime");
4529
4552
  var Spinner = (props) => {
4530
4553
  const {
4531
4554
  size = "md",
4532
4555
  type = "brand"
4533
4556
  } = props;
4534
- return /* @__PURE__ */ (0, import_jsx_runtime335.jsx)(
4557
+ return /* @__PURE__ */ (0, import_jsx_runtime336.jsx)(
4535
4558
  "div",
4536
4559
  {
4537
4560
  className: clsx_default("lib-xplat-spinner", size, type),
4538
4561
  role: "status",
4539
4562
  "aria-label": "\uB85C\uB529 \uC911",
4540
- children: /* @__PURE__ */ (0, import_jsx_runtime335.jsxs)("svg", { viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
4541
- /* @__PURE__ */ (0, import_jsx_runtime335.jsx)(
4563
+ children: /* @__PURE__ */ (0, import_jsx_runtime336.jsxs)("svg", { viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [
4564
+ /* @__PURE__ */ (0, import_jsx_runtime336.jsx)(
4542
4565
  "circle",
4543
4566
  {
4544
4567
  className: "track",
@@ -4548,7 +4571,7 @@ var Spinner = (props) => {
4548
4571
  strokeWidth: "3"
4549
4572
  }
4550
4573
  ),
4551
- /* @__PURE__ */ (0, import_jsx_runtime335.jsx)(
4574
+ /* @__PURE__ */ (0, import_jsx_runtime336.jsx)(
4552
4575
  "circle",
4553
4576
  {
4554
4577
  className: "indicator",
@@ -4567,20 +4590,20 @@ Spinner.displayName = "Spinner";
4567
4590
  var Spinner_default = Spinner;
4568
4591
 
4569
4592
  // src/components/Steps/Steps.tsx
4570
- var import_jsx_runtime336 = require("react/jsx-runtime");
4593
+ var import_jsx_runtime337 = require("react/jsx-runtime");
4571
4594
  var Steps = (props) => {
4572
4595
  const {
4573
4596
  items,
4574
4597
  current,
4575
4598
  type = "brand"
4576
4599
  } = props;
4577
- return /* @__PURE__ */ (0, import_jsx_runtime336.jsx)("div", { className: clsx_default("lib-xplat-steps", type), children: items.map((item, index) => {
4600
+ return /* @__PURE__ */ (0, import_jsx_runtime337.jsx)("div", { className: clsx_default("lib-xplat-steps", type), children: items.map((item, index) => {
4578
4601
  const status = index < current ? "completed" : index === current ? "active" : "pending";
4579
- return /* @__PURE__ */ (0, import_jsx_runtime336.jsxs)("div", { className: clsx_default("step-item", status), children: [
4580
- /* @__PURE__ */ (0, import_jsx_runtime336.jsx)("div", { className: "step-circle", children: status === "completed" ? /* @__PURE__ */ (0, import_jsx_runtime336.jsx)(CheckIcon_default, {}) : /* @__PURE__ */ (0, import_jsx_runtime336.jsx)("span", { children: index + 1 }) }),
4581
- /* @__PURE__ */ (0, import_jsx_runtime336.jsxs)("div", { className: "step-content", children: [
4582
- /* @__PURE__ */ (0, import_jsx_runtime336.jsx)("span", { className: "step-title", children: item.title }),
4583
- item.description && /* @__PURE__ */ (0, import_jsx_runtime336.jsx)("span", { className: "step-description", children: item.description })
4602
+ return /* @__PURE__ */ (0, import_jsx_runtime337.jsxs)("div", { className: clsx_default("step-item", status), children: [
4603
+ /* @__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 }) }),
4604
+ /* @__PURE__ */ (0, import_jsx_runtime337.jsxs)("div", { className: "step-content", children: [
4605
+ /* @__PURE__ */ (0, import_jsx_runtime337.jsx)("span", { className: "step-title", children: item.title }),
4606
+ item.description && /* @__PURE__ */ (0, import_jsx_runtime337.jsx)("span", { className: "step-description", children: item.description })
4584
4607
  ] })
4585
4608
  ] }, index);
4586
4609
  }) });
@@ -4590,7 +4613,7 @@ var Steps_default = Steps;
4590
4613
 
4591
4614
  // src/components/Swiper/Swiper.tsx
4592
4615
  var import_react31 = __toESM(require("react"), 1);
4593
- var import_jsx_runtime337 = require("react/jsx-runtime");
4616
+ var import_jsx_runtime338 = require("react/jsx-runtime");
4594
4617
  var Swiper = (props) => {
4595
4618
  const {
4596
4619
  auto = false,
@@ -4789,7 +4812,7 @@ var Swiper = (props) => {
4789
4812
  const slideWidthPercent = 100 / viewItemCount;
4790
4813
  const gapAdjust = spaceBetween * (viewItemCount - 1) / viewItemCount;
4791
4814
  const slideElements = import_react31.default.useMemo(
4792
- () => extendedItems.map((item, idx) => /* @__PURE__ */ (0, import_jsx_runtime337.jsx)(
4815
+ () => extendedItems.map((item, idx) => /* @__PURE__ */ (0, import_jsx_runtime338.jsx)(
4793
4816
  "div",
4794
4817
  {
4795
4818
  className: "lib-xplat-swiper__slide",
@@ -4808,14 +4831,14 @@ var Swiper = (props) => {
4808
4831
  Math.floor(realIndex / slideBy),
4809
4832
  totalSteps - 1
4810
4833
  );
4811
- return /* @__PURE__ */ (0, import_jsx_runtime337.jsxs)("div", { className: "lib-xplat-swiper", ref: containerRef, children: [
4812
- /* @__PURE__ */ (0, import_jsx_runtime337.jsx)(
4834
+ return /* @__PURE__ */ (0, import_jsx_runtime338.jsxs)("div", { className: "lib-xplat-swiper", ref: containerRef, children: [
4835
+ /* @__PURE__ */ (0, import_jsx_runtime338.jsx)(
4813
4836
  "div",
4814
4837
  {
4815
4838
  className: "lib-xplat-swiper__viewport",
4816
4839
  onMouseDown: handleDragStart,
4817
4840
  onTouchStart: handleDragStart,
4818
- children: /* @__PURE__ */ (0, import_jsx_runtime337.jsx)(
4841
+ children: /* @__PURE__ */ (0, import_jsx_runtime338.jsx)(
4819
4842
  "div",
4820
4843
  {
4821
4844
  className: clsx_default(
@@ -4833,7 +4856,7 @@ var Swiper = (props) => {
4833
4856
  )
4834
4857
  }
4835
4858
  ),
4836
- showProgress && canSlide && /* @__PURE__ */ (0, import_jsx_runtime337.jsx)("div", { className: "lib-xplat-swiper__progress", children: /* @__PURE__ */ (0, import_jsx_runtime337.jsx)("div", { className: "lib-xplat-swiper__progress-track", children: /* @__PURE__ */ (0, import_jsx_runtime337.jsx)(
4859
+ 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)(
4837
4860
  "span",
4838
4861
  {
4839
4862
  className: "lib-xplat-swiper__progress-fill",
@@ -4843,7 +4866,7 @@ var Swiper = (props) => {
4843
4866
  }
4844
4867
  }
4845
4868
  ) }) }),
4846
- canSlide && /* @__PURE__ */ (0, import_jsx_runtime337.jsx)("div", { className: "lib-xplat-swiper__dots", children: Array.from({ length: totalSteps }, (_, i) => /* @__PURE__ */ (0, import_jsx_runtime337.jsx)(
4869
+ 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)(
4847
4870
  "button",
4848
4871
  {
4849
4872
  className: clsx_default(
@@ -4862,7 +4885,7 @@ var Swiper_default = Swiper;
4862
4885
 
4863
4886
  // src/components/Switch/Switch.tsx
4864
4887
  var import_react32 = __toESM(require("react"), 1);
4865
- var import_jsx_runtime338 = require("react/jsx-runtime");
4888
+ var import_jsx_runtime339 = require("react/jsx-runtime");
4866
4889
  var KNOB_TRANSITION_MS = 250;
4867
4890
  var Switch = (props) => {
4868
4891
  const {
@@ -4889,7 +4912,7 @@ var Switch = (props) => {
4889
4912
  timeoutRef.current = null;
4890
4913
  }, KNOB_TRANSITION_MS);
4891
4914
  };
4892
- return /* @__PURE__ */ (0, import_jsx_runtime338.jsx)(
4915
+ return /* @__PURE__ */ (0, import_jsx_runtime339.jsx)(
4893
4916
  "div",
4894
4917
  {
4895
4918
  className: clsx_default(
@@ -4902,7 +4925,7 @@ var Switch = (props) => {
4902
4925
  ),
4903
4926
  onClick: handleClick,
4904
4927
  "aria-disabled": disabled || isAnimating,
4905
- children: /* @__PURE__ */ (0, import_jsx_runtime338.jsx)("div", { className: clsx_default("knob", value ? "checked" : void 0) })
4928
+ children: /* @__PURE__ */ (0, import_jsx_runtime339.jsx)("div", { className: clsx_default("knob", value ? "checked" : void 0) })
4906
4929
  }
4907
4930
  );
4908
4931
  };
@@ -4920,7 +4943,7 @@ var useTableContext = () => {
4920
4943
  var TableContext_default = TableContext;
4921
4944
 
4922
4945
  // src/components/Table/Table.tsx
4923
- var import_jsx_runtime339 = require("react/jsx-runtime");
4946
+ var import_jsx_runtime340 = require("react/jsx-runtime");
4924
4947
  var Table = (props) => {
4925
4948
  const {
4926
4949
  children,
@@ -4930,7 +4953,7 @@ var Table = (props) => {
4930
4953
  headerSticky = false,
4931
4954
  stickyShadow = true
4932
4955
  } = props;
4933
- return /* @__PURE__ */ (0, import_jsx_runtime339.jsx)("div", { className: `lib-xplat-table-wrapper ${size}`, children: /* @__PURE__ */ (0, import_jsx_runtime339.jsx)(
4956
+ return /* @__PURE__ */ (0, import_jsx_runtime340.jsx)("div", { className: `lib-xplat-table-wrapper ${size}`, children: /* @__PURE__ */ (0, import_jsx_runtime340.jsx)(
4934
4957
  TableContext_default.Provider,
4935
4958
  {
4936
4959
  value: {
@@ -4939,7 +4962,7 @@ var Table = (props) => {
4939
4962
  headerSticky,
4940
4963
  stickyShadow
4941
4964
  },
4942
- children: /* @__PURE__ */ (0, import_jsx_runtime339.jsx)("table", { className: "lib-xplat-table", children })
4965
+ children: /* @__PURE__ */ (0, import_jsx_runtime340.jsx)("table", { className: "lib-xplat-table", children })
4943
4966
  }
4944
4967
  ) });
4945
4968
  };
@@ -4947,10 +4970,10 @@ Table.displayName = "Table";
4947
4970
  var Table_default = Table;
4948
4971
 
4949
4972
  // src/components/Table/TableBody.tsx
4950
- var import_jsx_runtime340 = require("react/jsx-runtime");
4973
+ var import_jsx_runtime341 = require("react/jsx-runtime");
4951
4974
  var TableBody = (props) => {
4952
4975
  const { children } = props;
4953
- return /* @__PURE__ */ (0, import_jsx_runtime340.jsx)("tbody", { children });
4976
+ return /* @__PURE__ */ (0, import_jsx_runtime341.jsx)("tbody", { children });
4954
4977
  };
4955
4978
  TableBody.displayName = "TableBody";
4956
4979
  var TableBody_default = TableBody;
@@ -4980,7 +5003,7 @@ var useTableRowContext = () => {
4980
5003
  var TableRowContext_default = TableRowContext;
4981
5004
 
4982
5005
  // src/components/Table/TableCell.tsx
4983
- var import_jsx_runtime341 = require("react/jsx-runtime");
5006
+ var import_jsx_runtime342 = require("react/jsx-runtime");
4984
5007
  var TableCell = import_react36.default.memo((props) => {
4985
5008
  const {
4986
5009
  children,
@@ -5022,7 +5045,7 @@ var TableCell = import_react36.default.memo((props) => {
5022
5045
  const CellTag = cellRef.current?.tagName === "TH" ? "th" : "td";
5023
5046
  const isLastSticky = isSticky && stickyCells[stickyCells.length - 1] === cellRef;
5024
5047
  const enableHover = headContext && headContext.cellHover;
5025
- return /* @__PURE__ */ (0, import_jsx_runtime341.jsx)(
5048
+ return /* @__PURE__ */ (0, import_jsx_runtime342.jsx)(
5026
5049
  CellTag,
5027
5050
  {
5028
5051
  ref: cellRef,
@@ -5047,20 +5070,20 @@ TableCell.displayName = "TableCell";
5047
5070
  var TableCell_default = TableCell;
5048
5071
 
5049
5072
  // src/components/Table/TableHead.tsx
5050
- var import_jsx_runtime342 = require("react/jsx-runtime");
5073
+ var import_jsx_runtime343 = require("react/jsx-runtime");
5051
5074
  var TableHead = ({
5052
5075
  children,
5053
5076
  cellHover = false
5054
5077
  }) => {
5055
5078
  const { headerSticky } = useTableContext();
5056
- return /* @__PURE__ */ (0, import_jsx_runtime342.jsx)(TableHeadContext_default.Provider, { value: { cellHover }, children: /* @__PURE__ */ (0, import_jsx_runtime342.jsx)("thead", { className: clsx_default(headerSticky ? "table-sticky" : null), children }) });
5079
+ 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 }) });
5057
5080
  };
5058
5081
  TableHead.displayName = "TableHead";
5059
5082
  var TableHead_default = TableHead;
5060
5083
 
5061
5084
  // src/components/Table/TableRow.tsx
5062
5085
  var import_react37 = __toESM(require("react"), 1);
5063
- var import_jsx_runtime343 = require("react/jsx-runtime");
5086
+ var import_jsx_runtime344 = require("react/jsx-runtime");
5064
5087
  var TableRow = import_react37.default.memo((props) => {
5065
5088
  const {
5066
5089
  children,
@@ -5076,7 +5099,7 @@ var TableRow = import_react37.default.memo((props) => {
5076
5099
  return [...prev, ref];
5077
5100
  });
5078
5101
  };
5079
- return /* @__PURE__ */ (0, import_jsx_runtime343.jsx)(TableRowContext_default.Provider, { value: { stickyCells, registerStickyCell }, children: /* @__PURE__ */ (0, import_jsx_runtime343.jsx)(
5102
+ return /* @__PURE__ */ (0, import_jsx_runtime344.jsx)(TableRowContext_default.Provider, { value: { stickyCells, registerStickyCell }, children: /* @__PURE__ */ (0, import_jsx_runtime344.jsx)(
5080
5103
  "tr",
5081
5104
  {
5082
5105
  className: clsx_default(
@@ -5094,7 +5117,7 @@ TableRow.displayName = "TableRow";
5094
5117
  var TableRow_default = TableRow;
5095
5118
 
5096
5119
  // src/components/Tag/Tag.tsx
5097
- var import_jsx_runtime344 = require("react/jsx-runtime");
5120
+ var import_jsx_runtime345 = require("react/jsx-runtime");
5098
5121
  var Tag = (props) => {
5099
5122
  const {
5100
5123
  children,
@@ -5104,7 +5127,7 @@ var Tag = (props) => {
5104
5127
  disabled = false,
5105
5128
  colorIndex
5106
5129
  } = props;
5107
- return /* @__PURE__ */ (0, import_jsx_runtime344.jsxs)(
5130
+ return /* @__PURE__ */ (0, import_jsx_runtime345.jsxs)(
5108
5131
  "span",
5109
5132
  {
5110
5133
  className: clsx_default(
@@ -5115,8 +5138,8 @@ var Tag = (props) => {
5115
5138
  disabled && "disabled"
5116
5139
  ),
5117
5140
  children: [
5118
- /* @__PURE__ */ (0, import_jsx_runtime344.jsx)("span", { className: "tag-label", children }),
5119
- onClose && /* @__PURE__ */ (0, import_jsx_runtime344.jsx)("button", { className: "tag-close", onClick: onClose, "aria-label": "\uC0AD\uC81C", disabled, children: /* @__PURE__ */ (0, import_jsx_runtime344.jsx)(XIcon_default, {}) })
5141
+ /* @__PURE__ */ (0, import_jsx_runtime345.jsx)("span", { className: "tag-label", children }),
5142
+ 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, {}) })
5120
5143
  ]
5121
5144
  }
5122
5145
  );
@@ -5126,7 +5149,7 @@ var Tag_default = Tag;
5126
5149
 
5127
5150
  // src/components/TextArea/TextArea.tsx
5128
5151
  var import_react38 = __toESM(require("react"), 1);
5129
- var import_jsx_runtime345 = require("react/jsx-runtime");
5152
+ var import_jsx_runtime346 = require("react/jsx-runtime");
5130
5153
  var TextArea = import_react38.default.forwardRef(
5131
5154
  (props, ref) => {
5132
5155
  const { value, onChange, disabled, ...textareaProps } = props;
@@ -5157,14 +5180,14 @@ var TextArea = import_react38.default.forwardRef(
5157
5180
  const nextHeight = Math.min(el.scrollHeight, 400);
5158
5181
  el.style.height = `${nextHeight}px`;
5159
5182
  }, [value]);
5160
- return /* @__PURE__ */ (0, import_jsx_runtime345.jsx)("div", { className: "lib-xplat-textarea-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime345.jsx)(
5183
+ return /* @__PURE__ */ (0, import_jsx_runtime346.jsx)("div", { className: "lib-xplat-textarea-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime346.jsx)(
5161
5184
  "div",
5162
5185
  {
5163
5186
  className: clsx_default(
5164
5187
  "lib-xplat-textarea",
5165
5188
  disabled ? "disabled" : void 0
5166
5189
  ),
5167
- children: /* @__PURE__ */ (0, import_jsx_runtime345.jsx)(
5190
+ children: /* @__PURE__ */ (0, import_jsx_runtime346.jsx)(
5168
5191
  "textarea",
5169
5192
  {
5170
5193
  ...textareaProps,
@@ -5184,7 +5207,7 @@ var TextArea_default = TextArea;
5184
5207
  // src/components/Toast/Toast.tsx
5185
5208
  var import_react39 = __toESM(require("react"), 1);
5186
5209
  var import_react_dom4 = require("react-dom");
5187
- var import_jsx_runtime346 = require("react/jsx-runtime");
5210
+ var import_jsx_runtime347 = require("react/jsx-runtime");
5188
5211
  var ToastContext = import_react39.default.createContext(null);
5189
5212
  var useToast = () => {
5190
5213
  const ctx = import_react39.default.useContext(ToastContext);
@@ -5200,7 +5223,7 @@ var ToastItemComponent = ({ item, isExiting, onClose }) => {
5200
5223
  setHeight(ref.current.offsetHeight);
5201
5224
  }
5202
5225
  }, [isExiting]);
5203
- return /* @__PURE__ */ (0, import_jsx_runtime346.jsx)(
5226
+ return /* @__PURE__ */ (0, import_jsx_runtime347.jsx)(
5204
5227
  "div",
5205
5228
  {
5206
5229
  className: clsx_default("lib-xplat-toast-wrapper", { exit: isExiting }),
@@ -5208,15 +5231,15 @@ var ToastItemComponent = ({ item, isExiting, onClose }) => {
5208
5231
  maxHeight: isExiting ? 0 : height ?? "none",
5209
5232
  marginBottom: isExiting ? 0 : void 0
5210
5233
  },
5211
- children: /* @__PURE__ */ (0, import_jsx_runtime346.jsxs)(
5234
+ children: /* @__PURE__ */ (0, import_jsx_runtime347.jsxs)(
5212
5235
  "div",
5213
5236
  {
5214
5237
  ref,
5215
5238
  className: clsx_default("lib-xplat-toast", item.type, { exit: isExiting }),
5216
5239
  role: "alert",
5217
5240
  children: [
5218
- /* @__PURE__ */ (0, import_jsx_runtime346.jsx)("span", { className: "message", children: item.message }),
5219
- /* @__PURE__ */ (0, import_jsx_runtime346.jsx)("button", { className: "close-btn", onClick: onClose, "aria-label": "\uB2EB\uAE30", children: "\xD7" })
5241
+ /* @__PURE__ */ (0, import_jsx_runtime347.jsx)("span", { className: "message", children: item.message }),
5242
+ /* @__PURE__ */ (0, import_jsx_runtime347.jsx)("button", { className: "close-btn", onClick: onClose, "aria-label": "\uB2EB\uAE30", children: "\xD7" })
5220
5243
  ]
5221
5244
  }
5222
5245
  )
@@ -5254,10 +5277,10 @@ var ToastProvider = ({
5254
5277
  },
5255
5278
  [remove]
5256
5279
  );
5257
- return /* @__PURE__ */ (0, import_jsx_runtime346.jsxs)(ToastContext.Provider, { value: { toast }, children: [
5280
+ return /* @__PURE__ */ (0, import_jsx_runtime347.jsxs)(ToastContext.Provider, { value: { toast }, children: [
5258
5281
  children,
5259
5282
  mounted && (0, import_react_dom4.createPortal)(
5260
- /* @__PURE__ */ (0, import_jsx_runtime346.jsx)("div", { className: clsx_default("lib-xplat-toast-container", position), children: toasts.map((t) => /* @__PURE__ */ (0, import_jsx_runtime346.jsx)(
5283
+ /* @__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)(
5261
5284
  ToastItemComponent,
5262
5285
  {
5263
5286
  item: t,
@@ -5274,7 +5297,7 @@ ToastProvider.displayName = "ToastProvider";
5274
5297
 
5275
5298
  // src/components/Tooltip/Tooltip.tsx
5276
5299
  var import_react40 = __toESM(require("react"), 1);
5277
- var import_jsx_runtime347 = require("react/jsx-runtime");
5300
+ var import_jsx_runtime348 = require("react/jsx-runtime");
5278
5301
  var Tooltip = (props) => {
5279
5302
  const {
5280
5303
  type = "primary",
@@ -5282,9 +5305,9 @@ var Tooltip = (props) => {
5282
5305
  children
5283
5306
  } = props;
5284
5307
  const iconRef = import_react40.default.useRef(null);
5285
- return /* @__PURE__ */ (0, import_jsx_runtime347.jsxs)("div", { className: "lib-xplat-tooltip", children: [
5286
- /* @__PURE__ */ (0, import_jsx_runtime347.jsx)("div", { className: "tooltip-content", ref: iconRef, children: children || "Tooltip" }),
5287
- /* @__PURE__ */ (0, import_jsx_runtime347.jsx)("div", { className: clsx_default("tooltip-wrapper", type), children: description })
5308
+ return /* @__PURE__ */ (0, import_jsx_runtime348.jsxs)("div", { className: "lib-xplat-tooltip", children: [
5309
+ /* @__PURE__ */ (0, import_jsx_runtime348.jsx)("div", { className: "tooltip-content", ref: iconRef, children: children || "Tooltip" }),
5310
+ /* @__PURE__ */ (0, import_jsx_runtime348.jsx)("div", { className: clsx_default("tooltip-wrapper", type), children: description })
5288
5311
  ] });
5289
5312
  };
5290
5313
  Tooltip.displayName = "Tooltip";
@@ -5292,10 +5315,10 @@ var Tooltip_default = Tooltip;
5292
5315
 
5293
5316
  // src/components/Video/Video.tsx
5294
5317
  var import_react41 = __toESM(require("react"), 1);
5295
- var import_jsx_runtime348 = require("react/jsx-runtime");
5296
- var PipIcon = () => /* @__PURE__ */ (0, import_jsx_runtime348.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: [
5297
- /* @__PURE__ */ (0, import_jsx_runtime348.jsx)("rect", { x: "3", y: "5", width: "18", height: "14", rx: "2" }),
5298
- /* @__PURE__ */ (0, import_jsx_runtime348.jsx)("rect", { x: "12", y: "11", width: "7", height: "6", rx: "1", fill: "currentColor" })
5318
+ var import_jsx_runtime349 = require("react/jsx-runtime");
5319
+ 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: [
5320
+ /* @__PURE__ */ (0, import_jsx_runtime349.jsx)("rect", { x: "3", y: "5", width: "18", height: "14", rx: "2" }),
5321
+ /* @__PURE__ */ (0, import_jsx_runtime349.jsx)("rect", { x: "12", y: "11", width: "7", height: "6", rx: "1", fill: "currentColor" })
5299
5322
  ] });
5300
5323
  var formatTime = (sec) => {
5301
5324
  if (!Number.isFinite(sec) || sec < 0) return "0:00";
@@ -5470,13 +5493,13 @@ var Video = import_react41.default.forwardRef((props, ref) => {
5470
5493
  const volumePct = (isMuted ? 0 : volume) * 100;
5471
5494
  const VolumeGlyph = isMuted || volume === 0 ? VolumeXIcon_default : volume < 0.5 ? VolumeIcon_default : Volume2Icon_default;
5472
5495
  const pipSupported = typeof document !== "undefined" && "pictureInPictureEnabled" in document && document.pictureInPictureEnabled;
5473
- return /* @__PURE__ */ (0, import_jsx_runtime348.jsxs)(
5496
+ return /* @__PURE__ */ (0, import_jsx_runtime349.jsxs)(
5474
5497
  "div",
5475
5498
  {
5476
5499
  ref: containerRef,
5477
5500
  className: clsx_default("lib-xplat-video", showControls && "has-controls"),
5478
5501
  children: [
5479
- /* @__PURE__ */ (0, import_jsx_runtime348.jsx)(
5502
+ /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
5480
5503
  "video",
5481
5504
  {
5482
5505
  ref: setRefs,
@@ -5497,7 +5520,7 @@ var Video = import_react41.default.forwardRef((props, ref) => {
5497
5520
  children
5498
5521
  }
5499
5522
  ),
5500
- showCenterPlay && /* @__PURE__ */ (0, import_jsx_runtime348.jsx)(
5523
+ showCenterPlay && /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
5501
5524
  "button",
5502
5525
  {
5503
5526
  type: "button",
@@ -5509,11 +5532,11 @@ var Video = import_react41.default.forwardRef((props, ref) => {
5509
5532
  onClick: togglePlay,
5510
5533
  "aria-label": isPlaying ? "\uC77C\uC2DC\uC815\uC9C0" : "\uC7AC\uC0DD",
5511
5534
  tabIndex: -1,
5512
- children: /* @__PURE__ */ (0, import_jsx_runtime348.jsx)("span", { className: "center-play-icon", children: /* @__PURE__ */ (0, import_jsx_runtime348.jsx)(PlayCircleIcon_default, {}) })
5535
+ children: /* @__PURE__ */ (0, import_jsx_runtime349.jsx)("span", { className: "center-play-icon", children: /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(PlayCircleIcon_default, {}) })
5513
5536
  }
5514
5537
  ),
5515
- showControls && /* @__PURE__ */ (0, import_jsx_runtime348.jsxs)("div", { className: "controls", onClick: (e) => e.stopPropagation(), children: [
5516
- /* @__PURE__ */ (0, import_jsx_runtime348.jsx)(
5538
+ showControls && /* @__PURE__ */ (0, import_jsx_runtime349.jsxs)("div", { className: "controls", onClick: (e) => e.stopPropagation(), children: [
5539
+ /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
5517
5540
  "input",
5518
5541
  {
5519
5542
  type: "range",
@@ -5530,29 +5553,29 @@ var Video = import_react41.default.forwardRef((props, ref) => {
5530
5553
  }
5531
5554
  }
5532
5555
  ),
5533
- /* @__PURE__ */ (0, import_jsx_runtime348.jsxs)("div", { className: "controls-row", children: [
5534
- /* @__PURE__ */ (0, import_jsx_runtime348.jsx)(
5556
+ /* @__PURE__ */ (0, import_jsx_runtime349.jsxs)("div", { className: "controls-row", children: [
5557
+ /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
5535
5558
  "button",
5536
5559
  {
5537
5560
  type: "button",
5538
5561
  className: "control-btn",
5539
5562
  onClick: togglePlay,
5540
5563
  "aria-label": isPlaying ? "\uC77C\uC2DC\uC815\uC9C0" : "\uC7AC\uC0DD",
5541
- children: isPlaying ? /* @__PURE__ */ (0, import_jsx_runtime348.jsx)(PauseIcon_default, {}) : /* @__PURE__ */ (0, import_jsx_runtime348.jsx)(PlayIcon_default, {})
5564
+ children: isPlaying ? /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(PauseIcon_default, {}) : /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(PlayIcon_default, {})
5542
5565
  }
5543
5566
  ),
5544
- /* @__PURE__ */ (0, import_jsx_runtime348.jsxs)("div", { className: "volume-group", children: [
5545
- /* @__PURE__ */ (0, import_jsx_runtime348.jsx)(
5567
+ /* @__PURE__ */ (0, import_jsx_runtime349.jsxs)("div", { className: "volume-group", children: [
5568
+ /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
5546
5569
  "button",
5547
5570
  {
5548
5571
  type: "button",
5549
5572
  className: "control-btn",
5550
5573
  onClick: toggleMute,
5551
5574
  "aria-label": isMuted ? "\uC74C\uC18C\uAC70 \uD574\uC81C" : "\uC74C\uC18C\uAC70",
5552
- children: /* @__PURE__ */ (0, import_jsx_runtime348.jsx)(VolumeGlyph, {})
5575
+ children: /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(VolumeGlyph, {})
5553
5576
  }
5554
5577
  ),
5555
- /* @__PURE__ */ (0, import_jsx_runtime348.jsx)(
5578
+ /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
5556
5579
  "input",
5557
5580
  {
5558
5581
  type: "range",
@@ -5567,14 +5590,14 @@ var Video = import_react41.default.forwardRef((props, ref) => {
5567
5590
  }
5568
5591
  )
5569
5592
  ] }),
5570
- /* @__PURE__ */ (0, import_jsx_runtime348.jsxs)("span", { className: "time", children: [
5593
+ /* @__PURE__ */ (0, import_jsx_runtime349.jsxs)("span", { className: "time", children: [
5571
5594
  formatTime(currentTime),
5572
5595
  " / ",
5573
5596
  formatTime(duration)
5574
5597
  ] }),
5575
- /* @__PURE__ */ (0, import_jsx_runtime348.jsx)("div", { className: "controls-spacer" }),
5576
- playbackRates && playbackRates.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime348.jsxs)("div", { className: clsx_default("rate-group", rateMenuOpen && "is-open"), children: [
5577
- /* @__PURE__ */ (0, import_jsx_runtime348.jsxs)(
5598
+ /* @__PURE__ */ (0, import_jsx_runtime349.jsx)("div", { className: "controls-spacer" }),
5599
+ playbackRates && playbackRates.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime349.jsxs)("div", { className: clsx_default("rate-group", rateMenuOpen && "is-open"), children: [
5600
+ /* @__PURE__ */ (0, import_jsx_runtime349.jsxs)(
5578
5601
  "button",
5579
5602
  {
5580
5603
  type: "button",
@@ -5588,7 +5611,7 @@ var Video = import_react41.default.forwardRef((props, ref) => {
5588
5611
  ]
5589
5612
  }
5590
5613
  ),
5591
- rateMenuOpen && /* @__PURE__ */ (0, import_jsx_runtime348.jsx)("ul", { className: "rate-menu", role: "menu", children: playbackRates.map((r2) => /* @__PURE__ */ (0, import_jsx_runtime348.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime348.jsxs)(
5614
+ 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)(
5592
5615
  "button",
5593
5616
  {
5594
5617
  type: "button",
@@ -5602,7 +5625,7 @@ var Video = import_react41.default.forwardRef((props, ref) => {
5602
5625
  }
5603
5626
  ) }, r2)) })
5604
5627
  ] }),
5605
- showCaptions && /* @__PURE__ */ (0, import_jsx_runtime348.jsx)(
5628
+ showCaptions && /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
5606
5629
  "button",
5607
5630
  {
5608
5631
  type: "button",
@@ -5610,37 +5633,37 @@ var Video = import_react41.default.forwardRef((props, ref) => {
5610
5633
  onClick: toggleCaptions,
5611
5634
  "aria-label": captionsOn ? "\uC790\uB9C9 \uB044\uAE30" : "\uC790\uB9C9 \uCF1C\uAE30",
5612
5635
  "aria-pressed": captionsOn,
5613
- children: /* @__PURE__ */ (0, import_jsx_runtime348.jsx)(TypeIcon_default, {})
5636
+ children: /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(TypeIcon_default, {})
5614
5637
  }
5615
5638
  ),
5616
- showPip && pipSupported && /* @__PURE__ */ (0, import_jsx_runtime348.jsx)(
5639
+ showPip && pipSupported && /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
5617
5640
  "button",
5618
5641
  {
5619
5642
  type: "button",
5620
5643
  className: clsx_default("control-btn", isPip && "is-active"),
5621
5644
  onClick: togglePip,
5622
5645
  "aria-label": isPip ? "PIP \uC885\uB8CC" : "PIP",
5623
- children: /* @__PURE__ */ (0, import_jsx_runtime348.jsx)(PipIcon, {})
5646
+ children: /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(PipIcon, {})
5624
5647
  }
5625
5648
  ),
5626
- showDownload && /* @__PURE__ */ (0, import_jsx_runtime348.jsx)(
5649
+ showDownload && /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
5627
5650
  "a",
5628
5651
  {
5629
5652
  className: "control-btn",
5630
5653
  href: src,
5631
5654
  download: downloadFileName ?? true,
5632
5655
  "aria-label": "\uB2E4\uC6B4\uB85C\uB4DC",
5633
- children: /* @__PURE__ */ (0, import_jsx_runtime348.jsx)(DownloadIcon_default, {})
5656
+ children: /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(DownloadIcon_default, {})
5634
5657
  }
5635
5658
  ),
5636
- /* @__PURE__ */ (0, import_jsx_runtime348.jsx)(
5659
+ /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(
5637
5660
  "button",
5638
5661
  {
5639
5662
  type: "button",
5640
5663
  className: "control-btn",
5641
5664
  onClick: toggleFullscreen,
5642
5665
  "aria-label": isFullscreen ? "\uC804\uCCB4\uD654\uBA74 \uC885\uB8CC" : "\uC804\uCCB4\uD654\uBA74",
5643
- children: isFullscreen ? /* @__PURE__ */ (0, import_jsx_runtime348.jsx)(MinimizeIcon_default, {}) : /* @__PURE__ */ (0, import_jsx_runtime348.jsx)(MaximizeIcon_default, {})
5666
+ children: isFullscreen ? /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(MinimizeIcon_default, {}) : /* @__PURE__ */ (0, import_jsx_runtime349.jsx)(MaximizeIcon_default, {})
5644
5667
  }
5645
5668
  )
5646
5669
  ] })
@@ -5672,6 +5695,7 @@ var Video_default = Video;
5672
5695
  EmptyState,
5673
5696
  FileUpload,
5674
5697
  HtmlTypewriter,
5698
+ IconButton,
5675
5699
  ImageSelector,
5676
5700
  Input,
5677
5701
  InputDatePicker,