@stn-uiux/pub-ui-react 0.1.63 → 0.1.65

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -177,13 +177,12 @@ function resolveButtonWidthProps(fullWidth, width, defaultPreset) {
177
177
  // src/components/StnIcon.tsx
178
178
  import { resolveSystemIconSrcFromName } from "@stn-uiux/pub-ui/data/stnSystemIcons";
179
179
  import { jsx as jsx2 } from "react/jsx-runtime";
180
- function StnIcon({ name, src, color, size = 24, className, style }) {
180
+ function StnIcon({ name, src, color, size, className, style }) {
181
181
  if (name && src) {
182
182
  console.warn("[StnIcon] `name` and `src` cannot be used together. Using `src`.");
183
183
  }
184
184
  const sizeStyle = {
185
- width: size,
186
- height: size,
185
+ ...size !== void 0 ? { width: size, height: size } : void 0,
187
186
  ...style
188
187
  };
189
188
  const resolvedSrc = src ?? (name ? resolveSystemIconSrcFromName(name) : null);
@@ -358,6 +357,7 @@ var StnTooltip = forwardRef2(
358
357
  iconPosition = "left",
359
358
  leadingIcon,
360
359
  trailingIcon,
360
+ offset,
361
361
  open,
362
362
  alwaysVisible,
363
363
  tooltipClassName,
@@ -368,11 +368,16 @@ var StnTooltip = forwardRef2(
368
368
  const glyphPx = TOOLTIP_ICON_PX[size] ?? 14;
369
369
  const finalLeadingIcon = leadingIcon != null ? resolveIconNode2(leadingIcon, glyphPx) : icon != null && iconPosition !== "right" ? resolveIconNode2(icon, glyphPx) : null;
370
370
  const finalTrailingIcon = trailingIcon != null ? resolveIconNode2(trailingIcon, glyphPx) : icon != null && iconPosition === "right" ? resolveIconNode2(icon, glyphPx) : null;
371
+ const resolvedOffset = offset !== void 0 ? typeof offset === "number" ? `${offset}px` : /^space[-_]\d+$/.test(String(offset).trim()) ? `var(--stn-${String(offset).trim().replace("_", "-")})` : /^\d+$/.test(String(offset).trim()) ? `${String(offset).trim()}px` : String(offset).trim() : void 0;
372
+ const tooltipStyle = resolvedOffset !== void 0 ? {
373
+ "--stn-tooltip-offset": resolvedOffset
374
+ } : void 0;
371
375
  const tooltipElement = /* @__PURE__ */ jsxs2(
372
376
  "div",
373
377
  {
374
378
  ref: !children ? ref : void 0,
375
379
  role: "tooltip",
380
+ style: tooltipStyle,
376
381
  className: cn(
377
382
  "stn-tooltip",
378
383
  variant,
@@ -1854,6 +1859,12 @@ var SEVERITY_DEFAULT_LABELS = {
1854
1859
  minor: "Minor",
1855
1860
  warning: "Warning"
1856
1861
  };
1862
+ var SEVERITY_ABBR_LABELS = {
1863
+ critical: "CR",
1864
+ major: "MJ",
1865
+ minor: "MN",
1866
+ warning: "WR"
1867
+ };
1857
1868
  var SEVERITY_ICONS = {
1858
1869
  critical: "fill/alert4",
1859
1870
  major: "fill/alert3",
@@ -1869,6 +1880,7 @@ var StnStatusSeverity = forwardRef11(function StnStatusSeverity2({
1869
1880
  iconOnly = false,
1870
1881
  glow = false,
1871
1882
  blur = false,
1883
+ abbr = false,
1872
1884
  label,
1873
1885
  active = false,
1874
1886
  onClick,
@@ -1893,7 +1905,7 @@ var StnStatusSeverity = forwardRef11(function StnStatusSeverity2({
1893
1905
  active ? "is-active" : "",
1894
1906
  className
1895
1907
  ].filter(Boolean).join(" ");
1896
- const defaultLabel = SEVERITY_DEFAULT_LABELS[severity];
1908
+ const defaultLabel = abbr ? SEVERITY_ABBR_LABELS[severity] : SEVERITY_DEFAULT_LABELS[severity];
1897
1909
  const displayLabel = children ?? label ?? defaultLabel;
1898
1910
  const iconName = SEVERITY_ICONS[severity];
1899
1911
  const elementProps = {
@@ -1926,38 +1938,6 @@ var StnStatusSeverity = forwardRef11(function StnStatusSeverity2({
1926
1938
  ] });
1927
1939
  });
1928
1940
  StnStatusSeverity.displayName = "StnStatusSeverity";
1929
- var ALL_SEVERITIES = ["critical", "major", "minor", "warning"];
1930
- function StnStatusSeverityFilter({
1931
- value = ALL_SEVERITIES,
1932
- onChange,
1933
- disabledSeverities = [],
1934
- showIcon = true,
1935
- className = ""
1936
- }) {
1937
- const handleToggle = (sev) => {
1938
- if (!onChange) return;
1939
- const exists = value.includes(sev);
1940
- const next = exists ? value.filter((item) => item !== sev) : [...value, sev];
1941
- onChange(next);
1942
- };
1943
- return /* @__PURE__ */ jsx16("div", { className: `stn-status-severity-filter-group ${className}`.trim(), role: "group", "aria-label": "\uC2EC\uAC01\uB3C4 \uD544\uD130", children: ALL_SEVERITIES.map((sev) => {
1944
- const isActive = value.includes(sev);
1945
- const isDisabled = disabledSeverities.includes(sev);
1946
- return /* @__PURE__ */ jsx16(
1947
- StnStatusSeverity,
1948
- {
1949
- severity: sev,
1950
- variant: "filter",
1951
- showIcon,
1952
- active: isActive,
1953
- disabled: isDisabled,
1954
- onClick: () => !isDisabled && handleToggle(sev)
1955
- },
1956
- sev
1957
- );
1958
- }) });
1959
- }
1960
- StnStatusSeverityFilter.displayName = "StnStatusSeverityFilter";
1961
1941
  function StnStatus(props) {
1962
1942
  switch (props.type) {
1963
1943
  case "dot-group": {
@@ -1972,10 +1952,6 @@ function StnStatus(props) {
1972
1952
  const { type: _, ...rest } = props;
1973
1953
  return /* @__PURE__ */ jsx16(StnStatusSeverity, { ...rest });
1974
1954
  }
1975
- case "severity-filter": {
1976
- const { type: _, ...rest } = props;
1977
- return /* @__PURE__ */ jsx16(StnStatusSeverityFilter, { ...rest });
1978
- }
1979
1955
  case "flow": {
1980
1956
  const { type: _, ...rest } = props;
1981
1957
  return /* @__PURE__ */ jsx16(StnStatusFlow, { ...rest });
@@ -1990,7 +1966,6 @@ function StnStatus(props) {
1990
1966
  StnStatus.Dot = StnStatusDot;
1991
1967
  StnStatus.DotGroup = StnStatusDotGroup;
1992
1968
  StnStatus.Severity = StnStatusSeverity;
1993
- StnStatus.SeverityFilter = StnStatusSeverityFilter;
1994
1969
  StnStatus.Switch = StnStatusSwitch;
1995
1970
  StnStatus.Flow = StnStatusFlow;
1996
1971
 
@@ -2517,7 +2492,7 @@ function TreeNodeIcon({
2517
2492
  icon
2518
2493
  }) {
2519
2494
  if (icon != null) {
2520
- return /* @__PURE__ */ jsx18("span", { className: "stn-tree__cell stn-tree__cell--icon stn-tree__icon stn-tree__icon--custom", children: typeof icon === "string" ? /* @__PURE__ */ jsx18(StnIcon, { name: icon, size: 16, className: "stn-tree__icon-glyph" }) : icon });
2495
+ return /* @__PURE__ */ jsx18("span", { className: "stn-tree__cell stn-tree__cell--icon stn-tree__icon stn-tree__icon--custom", children: typeof icon === "string" ? /* @__PURE__ */ jsx18(StnIcon, { name: icon, className: "stn-tree__icon-glyph" }) : icon });
2521
2496
  }
2522
2497
  if (kind === "server") {
2523
2498
  return /* @__PURE__ */ jsxs12("span", { className: "stn-tree__cell stn-tree__cell--icon stn-tree__icon stn-tree__icon--server", children: [
@@ -2525,7 +2500,6 @@ function TreeNodeIcon({
2525
2500
  StnIcon,
2526
2501
  {
2527
2502
  name: "fill/server_2_tree_light",
2528
- size: 16,
2529
2503
  className: "stn-tree__icon-glyph stn-tree__server-icon stn-tree__server-icon--light stn-icon--color"
2530
2504
  }
2531
2505
  ),
@@ -2533,7 +2507,6 @@ function TreeNodeIcon({
2533
2507
  StnIcon,
2534
2508
  {
2535
2509
  name: "fill/server_2",
2536
- size: 16,
2537
2510
  className: "stn-tree__icon-glyph stn-tree__server-icon stn-tree__server-icon--dark stn-icon--color"
2538
2511
  }
2539
2512
  )
@@ -2914,6 +2887,7 @@ var StnSectionSide = forwardRef16(function StnSectionSide2({
2914
2887
  StnScroll,
2915
2888
  {
2916
2889
  orientation: "vertical",
2890
+ size: "thin",
2917
2891
  className: cn("stn-section-side__body", scrollClassName),
2918
2892
  ...scrollRest,
2919
2893
  children
@@ -3165,7 +3139,7 @@ var StnBadge = React.forwardRef(
3165
3139
  displayContent = `${max}+`;
3166
3140
  }
3167
3141
  const positionClass = `${anchorOrigin.vertical}-${anchorOrigin.horizontal}`;
3168
- const colorClass2 = color;
3142
+ const colorClass3 = color;
3169
3143
  const appearanceClass = appearance;
3170
3144
  const isStandalone = !children;
3171
3145
  const customBadgeStyle = {
@@ -3182,7 +3156,7 @@ var StnBadge = React.forwardRef(
3182
3156
  "stn-badge",
3183
3157
  isDot ? "dot" : "standard",
3184
3158
  appearanceClass,
3185
- colorClass2,
3159
+ colorClass3,
3186
3160
  !isStandalone && positionClass,
3187
3161
  isStandalone && "standalone",
3188
3162
  invisible && "is-invisible",
@@ -3238,6 +3212,7 @@ function StnChip(props) {
3238
3212
  children,
3239
3213
  grade,
3240
3214
  accent,
3215
+ dashed = false,
3241
3216
  onClick,
3242
3217
  onKeyDown,
3243
3218
  role: roleProp,
@@ -3248,7 +3223,7 @@ function StnChip(props) {
3248
3223
  const resolvedShape = rawShape === "rounded" || rawShape === "square" ? "square" : rawShape;
3249
3224
  const isOutline = variant === "outline" || variant === "outlined" || variant === "border";
3250
3225
  const isSubtle = bgOpacity === 50 || bgOpacity === "50" || bgOpacity === "50%" || bgOpacity === 0.5 || variant === "subtle" || variant === "soft" || variant === "tinted" || variant === "contained-50" || variant === "filled-50";
3251
- const variantClass6 = isOutline ? "outline" : isSubtle ? "subtle contained-50 bg-50" : "filled";
3226
+ const variantClass7 = isOutline ? "outline" : isSubtle ? "subtle contained-50 bg-50" : "filled";
3252
3227
  const resolvedColor = color ?? grade;
3253
3228
  let content = children ?? label;
3254
3229
  if (!content && grade && STN_GRADE_SOURCE[grade]) {
@@ -3305,10 +3280,11 @@ function StnChip(props) {
3305
3280
  tabIndex,
3306
3281
  className: cn(
3307
3282
  "stn-chip",
3308
- variantClass6,
3283
+ variantClass7,
3309
3284
  size,
3310
3285
  resolvedShape,
3311
3286
  resolvedColor,
3287
+ dashed && "dashed",
3312
3288
  isClickable && "clickable",
3313
3289
  onDelete && "deletable",
3314
3290
  accent && `stn-chip--accent-${accent}`,
@@ -3911,21 +3887,45 @@ function StnDropdown({
3911
3887
  children: displayLabel
3912
3888
  }
3913
3889
  ),
3914
- /* @__PURE__ */ jsx32("ul", { className: "select_option", role: "listbox", "aria-label": ariaLabel, children: options.map((opt) => /* @__PURE__ */ jsx32(
3915
- "li",
3890
+ /* @__PURE__ */ jsx32(
3891
+ "ul",
3916
3892
  {
3917
- role: "option",
3918
- "aria-selected": opt.value === value,
3919
- "aria-disabled": opt.disabled,
3920
- className: opt.disabled ? "disabled" : void 0,
3921
- onClick: () => !opt.disabled && pick(opt.value),
3922
- onKeyDown: (e) => {
3923
- if (e.key === "Enter" && !opt.disabled) pick(opt.value);
3924
- },
3925
- children: opt.label
3926
- },
3927
- opt.value
3928
- )) })
3893
+ className: cn("select_option", "stn-scroll", "vertical", "thin"),
3894
+ role: "listbox",
3895
+ "aria-label": ariaLabel,
3896
+ children: options.map((opt) => {
3897
+ const isSelected = opt.value === value;
3898
+ return /* @__PURE__ */ jsxs25(
3899
+ "li",
3900
+ {
3901
+ role: "option",
3902
+ "aria-selected": isSelected,
3903
+ "aria-disabled": opt.disabled,
3904
+ className: cn(
3905
+ opt.disabled && "disabled",
3906
+ isSelected && "is-selected selected"
3907
+ ),
3908
+ onClick: () => !opt.disabled && pick(opt.value),
3909
+ onKeyDown: (e) => {
3910
+ if (e.key === "Enter" && !opt.disabled) pick(opt.value);
3911
+ },
3912
+ children: [
3913
+ /* @__PURE__ */ jsx32(
3914
+ "span",
3915
+ {
3916
+ className: cn("stn-dropdown__check", isSelected && "is-checked"),
3917
+ "aria-hidden": "true",
3918
+ children: isSelected ? /* @__PURE__ */ jsx32(StnIcon, { name: "line/check", size: 14, color: "currentColor" }) : null
3919
+ }
3920
+ ),
3921
+ /* @__PURE__ */ jsx32("span", { className: "stn-dropdown__item-label", children: opt.label })
3922
+ ]
3923
+ },
3924
+ opt.value
3925
+ );
3926
+ })
3927
+ }
3928
+ )
3929
3929
  ]
3930
3930
  }
3931
3931
  );
@@ -4126,17 +4126,170 @@ var StnTextField = forwardRef23(function StnTextField2({
4126
4126
  );
4127
4127
  });
4128
4128
 
4129
- // src/components/StnDateRangeField.tsx
4130
- import { forwardRef as forwardRef24, useId as useId11 } from "react";
4129
+ // src/components/StnTextArea.tsx
4131
4130
  import {
4132
- formatStnDateRangeFieldValue
4133
- } from "@stn-uiux/pub-ui/data/stnDateRangeField";
4131
+ forwardRef as forwardRef24,
4132
+ useId as useId11,
4133
+ useState as useState10
4134
+ } from "react";
4134
4135
  import { jsx as jsx35, jsxs as jsxs27 } from "react/jsx-runtime";
4136
+ function normalizeSize2(size) {
4137
+ return size ?? "md";
4138
+ }
4139
+ function variantClass3(variant) {
4140
+ if (variant === "filled") return "filled";
4141
+ if (variant === "standard") return "standard";
4142
+ if (variant === "transparent") return "transparent";
4143
+ return "outlined";
4144
+ }
4145
+ function colorClass2(color) {
4146
+ if (!color || color === "primary" || color === "secondary") return void 0;
4147
+ return color;
4148
+ }
4149
+ function resizeClass(resize) {
4150
+ if (resize === "none") return "resize-none";
4151
+ if (resize === "horizontal") return "resize-horizontal";
4152
+ if (resize === "both") return "resize-both";
4153
+ return "resize-vertical";
4154
+ }
4135
4155
  function resolveGlyph3(node) {
4136
4156
  if (typeof node === "string") return /* @__PURE__ */ jsx35(StnIcon, { name: node, size: 16, color: "currentColor" });
4137
4157
  return node;
4138
4158
  }
4139
- function normalizeSize2(size) {
4159
+ var StnTextArea = forwardRef24(function StnTextArea2({
4160
+ size = "md",
4161
+ variant = "outlined",
4162
+ color,
4163
+ invalid,
4164
+ fullWidth,
4165
+ width,
4166
+ label,
4167
+ labelIcon,
4168
+ labelPosition = "top",
4169
+ required,
4170
+ helperText,
4171
+ showCount = false,
4172
+ resize = "vertical",
4173
+ rows = 3,
4174
+ maxLength,
4175
+ className,
4176
+ disabled,
4177
+ id: idProp,
4178
+ value,
4179
+ defaultValue,
4180
+ onChange,
4181
+ "aria-invalid": ariaInvalid,
4182
+ "aria-describedby": ariaDescribedBy,
4183
+ ...rest
4184
+ }, ref) {
4185
+ const autoId = useId11();
4186
+ const id = idProp ?? autoId;
4187
+ const isControlled = value !== void 0;
4188
+ const [uncontrolledLength, setUncontrolledLength] = useState10(() => {
4189
+ if (defaultValue != null) return String(defaultValue).length;
4190
+ return 0;
4191
+ });
4192
+ const currentLength = isControlled ? String(value ?? "").length : uncontrolledLength;
4193
+ const handleTextChange = (e) => {
4194
+ if (!isControlled) {
4195
+ setUncontrolledLength(e.target.value.length);
4196
+ }
4197
+ onChange?.(e);
4198
+ };
4199
+ const hasLabel = label != null && label !== "";
4200
+ const hasHelper = helperText != null && helperText !== "";
4201
+ const hasFooter = hasHelper || showCount;
4202
+ const hasWrap = hasLabel || hasFooter;
4203
+ const helperId = hasHelper ? `${id}-helper` : void 0;
4204
+ const describedBy = [ariaDescribedBy, helperId].filter(Boolean).join(" ") || void 0;
4205
+ const widthProps = resolveInputWidthProps("stn-text-area", fullWidth, width);
4206
+ const textAreaClass = cn(
4207
+ "stn-text-area",
4208
+ variantClass3(variant),
4209
+ normalizeSize2(size),
4210
+ colorClass2(color),
4211
+ resizeClass(resize),
4212
+ !hasWrap && widthProps.className,
4213
+ invalid && "invalid",
4214
+ className
4215
+ );
4216
+ const textareaElement = /* @__PURE__ */ jsx35(
4217
+ "textarea",
4218
+ {
4219
+ ref,
4220
+ id,
4221
+ rows,
4222
+ disabled,
4223
+ required,
4224
+ maxLength,
4225
+ value,
4226
+ defaultValue,
4227
+ onChange: handleTextChange,
4228
+ "aria-invalid": invalid ? true : ariaInvalid,
4229
+ "aria-describedby": describedBy,
4230
+ className: textAreaClass,
4231
+ style: hasWrap ? void 0 : widthProps.style,
4232
+ ...rest
4233
+ }
4234
+ );
4235
+ if (!hasWrap) {
4236
+ return textareaElement;
4237
+ }
4238
+ const labelElement = hasLabel ? /* @__PURE__ */ jsxs27("label", { htmlFor: id, className: "stn-text-area__label", children: [
4239
+ labelIcon ? /* @__PURE__ */ jsx35("span", { className: "stn-text-area__label-icon", "aria-hidden": "true", children: resolveGlyph3(labelIcon) }) : null,
4240
+ /* @__PURE__ */ jsx35("span", { className: "stn-text-area__label-text", children: label }),
4241
+ required && /* @__PURE__ */ jsx35("span", { className: "stn-text-area__required", "aria-hidden": "true", children: "*" })
4242
+ ] }) : null;
4243
+ const isRow = labelPosition === "left" || labelPosition === "right";
4244
+ return /* @__PURE__ */ jsxs27(
4245
+ "div",
4246
+ {
4247
+ className: cn(
4248
+ "stn-text-area-wrap",
4249
+ isRow ? "stn-text-area-wrap--row" : "stn-text-area-wrap--col",
4250
+ hasLabel && labelPosition === "left" && "stn-text-area-wrap--label-left",
4251
+ hasLabel && labelPosition === "right" && "stn-text-area-wrap--label-right",
4252
+ hasLabel && labelPosition === "top" && "stn-text-area-wrap--label-top",
4253
+ widthProps.className
4254
+ ),
4255
+ style: widthProps.style,
4256
+ children: [
4257
+ hasLabel && (labelPosition === "left" || labelPosition === "top") ? labelElement : null,
4258
+ /* @__PURE__ */ jsxs27("div", { className: "stn-text-area-wrap__body", children: [
4259
+ textareaElement,
4260
+ hasFooter && /* @__PURE__ */ jsxs27("div", { className: "stn-text-area__footer", children: [
4261
+ hasHelper ? /* @__PURE__ */ jsx35(
4262
+ "p",
4263
+ {
4264
+ id: helperId,
4265
+ className: cn("stn-text-area__helper", invalid && "stn-text-area__helper--error"),
4266
+ children: helperText
4267
+ }
4268
+ ) : /* @__PURE__ */ jsx35("span", {}),
4269
+ showCount && /* @__PURE__ */ jsxs27("span", { className: "stn-text-area__count", children: [
4270
+ currentLength,
4271
+ maxLength != null ? ` / ${maxLength}` : ""
4272
+ ] })
4273
+ ] })
4274
+ ] }),
4275
+ hasLabel && labelPosition === "right" ? labelElement : null
4276
+ ]
4277
+ }
4278
+ );
4279
+ });
4280
+ StnTextArea.displayName = "StnTextArea";
4281
+
4282
+ // src/components/StnDateRangeField.tsx
4283
+ import { forwardRef as forwardRef25, useId as useId12 } from "react";
4284
+ import {
4285
+ formatStnDateRangeFieldValue
4286
+ } from "@stn-uiux/pub-ui/data/stnDateRangeField";
4287
+ import { jsx as jsx36, jsxs as jsxs28 } from "react/jsx-runtime";
4288
+ function resolveGlyph4(node) {
4289
+ if (typeof node === "string") return /* @__PURE__ */ jsx36(StnIcon, { name: node, size: 16, color: "currentColor" });
4290
+ return node;
4291
+ }
4292
+ function normalizeSize3(size) {
4140
4293
  if (!size) return "md";
4141
4294
  const s = String(size).toLowerCase();
4142
4295
  if (s === "s" || s === "sm") return "sm";
@@ -4145,9 +4298,9 @@ function normalizeSize2(size) {
4145
4298
  return "md";
4146
4299
  }
4147
4300
  function sizeClass3(size) {
4148
- return normalizeSize2(size);
4301
+ return normalizeSize3(size);
4149
4302
  }
4150
- function variantClass3(variant = "outline") {
4303
+ function variantClass4(variant = "outline") {
4151
4304
  if (variant === "transparent") return "transparent";
4152
4305
  return "";
4153
4306
  }
@@ -4157,7 +4310,7 @@ function resolveValue(value, format) {
4157
4310
  const trimmed = value.trim();
4158
4311
  return trimmed || null;
4159
4312
  }
4160
- var StnDateRangeField = forwardRef24(function StnDateRangeField2({
4313
+ var StnDateRangeField = forwardRef25(function StnDateRangeField2({
4161
4314
  size = "md",
4162
4315
  variant = "outline",
4163
4316
  start,
@@ -4182,7 +4335,7 @@ var StnDateRangeField = forwardRef24(function StnDateRangeField2({
4182
4335
  "aria-invalid": ariaInvalid,
4183
4336
  ...rest
4184
4337
  }, ref) {
4185
- const autoId = useId11();
4338
+ const autoId = useId12();
4186
4339
  const rootId = idProp ?? `stn-date-range-${autoId.replace(/:/g, "")}`;
4187
4340
  const startText = resolveValue(start, format);
4188
4341
  const endText = resolveValue(end, format);
@@ -4191,7 +4344,7 @@ var StnDateRangeField = forwardRef24(function StnDateRangeField2({
4191
4344
  const hasLabel = label != null && label !== "";
4192
4345
  const hasHelper = helperText != null && helperText !== "";
4193
4346
  const hasWrap = hasLabel || hasHelper;
4194
- const buttonNode = /* @__PURE__ */ jsx35(
4347
+ const buttonNode = /* @__PURE__ */ jsx36(
4195
4348
  "button",
4196
4349
  {
4197
4350
  ref,
@@ -4202,7 +4355,7 @@ var StnDateRangeField = forwardRef24(function StnDateRangeField2({
4202
4355
  className: cn(
4203
4356
  "stn-date-range-field",
4204
4357
  sizeClass3(size),
4205
- variantClass3(variant),
4358
+ variantClass4(variant),
4206
4359
  !hasWrap && widthProps.className,
4207
4360
  fullWidth && "stn-date-range-field--full w100p",
4208
4361
  invalid && "stn-date-range-field--invalid",
@@ -4211,25 +4364,25 @@ var StnDateRangeField = forwardRef24(function StnDateRangeField2({
4211
4364
  ),
4212
4365
  style: !hasWrap ? widthProps.style ?? style : void 0,
4213
4366
  ...rest,
4214
- children: /* @__PURE__ */ jsxs27("span", { className: "stn-date-range-field__inner", children: [
4215
- /* @__PURE__ */ jsxs27("span", { className: "stn-date-range-field__text", children: [
4216
- /* @__PURE__ */ jsx35("span", { className: cn("stn-date-range-field__value", !startText && "is-placeholder"), children: startText ?? startPlaceholder }),
4217
- /* @__PURE__ */ jsx35("span", { className: "stn-date-range-field__sep", "aria-hidden": "true", children: "~" }),
4218
- /* @__PURE__ */ jsx35("span", { className: cn("stn-date-range-field__value", !endText && "is-placeholder"), children: endText ?? endPlaceholder })
4367
+ children: /* @__PURE__ */ jsxs28("span", { className: "stn-date-range-field__inner", children: [
4368
+ /* @__PURE__ */ jsxs28("span", { className: "stn-date-range-field__text", children: [
4369
+ /* @__PURE__ */ jsx36("span", { className: cn("stn-date-range-field__value", !startText && "is-placeholder"), children: startText ?? startPlaceholder }),
4370
+ /* @__PURE__ */ jsx36("span", { className: "stn-date-range-field__sep", "aria-hidden": "true", children: "~" }),
4371
+ /* @__PURE__ */ jsx36("span", { className: cn("stn-date-range-field__value", !endText && "is-placeholder"), children: endText ?? endPlaceholder })
4219
4372
  ] }),
4220
- /* @__PURE__ */ jsx35("span", { className: "stn-date-range-field__icon", "aria-hidden": "true" })
4373
+ /* @__PURE__ */ jsx36("span", { className: "stn-date-range-field__icon", "aria-hidden": "true" })
4221
4374
  ] })
4222
4375
  }
4223
4376
  );
4224
4377
  if (!hasWrap) return buttonNode;
4225
4378
  const resolvedLabelIcon = labelIcon ?? icon;
4226
- const labelElement = hasLabel ? /* @__PURE__ */ jsxs27("label", { htmlFor: rootId, className: "stn-date-range-field__label", children: [
4227
- resolvedLabelIcon ? /* @__PURE__ */ jsx35("span", { className: "stn-date-range-field__label-icon", "aria-hidden": "true", children: resolveGlyph3(resolvedLabelIcon) }) : null,
4228
- /* @__PURE__ */ jsx35("span", { className: "stn-date-range-field__label-text", children: label }),
4229
- required && /* @__PURE__ */ jsx35("span", { className: "stn-date-range-field__required", "aria-hidden": "true", children: "*" })
4379
+ const labelElement = hasLabel ? /* @__PURE__ */ jsxs28("label", { htmlFor: rootId, className: "stn-date-range-field__label", children: [
4380
+ resolvedLabelIcon ? /* @__PURE__ */ jsx36("span", { className: "stn-date-range-field__label-icon", "aria-hidden": "true", children: resolveGlyph4(resolvedLabelIcon) }) : null,
4381
+ /* @__PURE__ */ jsx36("span", { className: "stn-date-range-field__label-text", children: label }),
4382
+ required && /* @__PURE__ */ jsx36("span", { className: "stn-date-range-field__required", "aria-hidden": "true", children: "*" })
4230
4383
  ] }) : null;
4231
4384
  const isRow = labelPosition === "left" || labelPosition === "right";
4232
- return /* @__PURE__ */ jsxs27(
4385
+ return /* @__PURE__ */ jsxs28(
4233
4386
  "div",
4234
4387
  {
4235
4388
  className: cn(
@@ -4245,9 +4398,9 @@ var StnDateRangeField = forwardRef24(function StnDateRangeField2({
4245
4398
  style: widthProps.style ?? style,
4246
4399
  children: [
4247
4400
  hasLabel && (labelPosition === "left" || labelPosition === "top") ? labelElement : null,
4248
- /* @__PURE__ */ jsxs27("div", { className: "stn-date-range-field-wrap__body", children: [
4401
+ /* @__PURE__ */ jsxs28("div", { className: "stn-date-range-field-wrap__body", children: [
4249
4402
  buttonNode,
4250
- hasHelper && /* @__PURE__ */ jsx35(
4403
+ hasHelper && /* @__PURE__ */ jsx36(
4251
4404
  "span",
4252
4405
  {
4253
4406
  id: `${rootId}-helper`,
@@ -4267,16 +4420,16 @@ var StnDateRangeField = forwardRef24(function StnDateRangeField2({
4267
4420
 
4268
4421
  // src/components/StnLabelPrefix.tsx
4269
4422
  import {
4270
- useId as useId12,
4271
- useState as useState10,
4423
+ useId as useId13,
4424
+ useState as useState11,
4272
4425
  isValidElement as isValidElement4,
4273
4426
  cloneElement as cloneElement4
4274
4427
  } from "react";
4275
- import { jsx as jsx36, jsxs as jsxs28 } from "react/jsx-runtime";
4428
+ import { jsx as jsx37, jsxs as jsxs29 } from "react/jsx-runtime";
4276
4429
  function sizeClass4(size) {
4277
4430
  return size;
4278
4431
  }
4279
- function variantClass4(variant) {
4432
+ function variantClass5(variant) {
4280
4433
  return variant;
4281
4434
  }
4282
4435
  function StnLabelPrefix({
@@ -4307,12 +4460,12 @@ function StnLabelPrefix({
4307
4460
  id: idProp,
4308
4461
  ...rest
4309
4462
  }) {
4310
- const autoId = useId12();
4463
+ const autoId = useId13();
4311
4464
  const id = idProp ?? autoId;
4312
4465
  const isError = error || invalid || color === "error";
4313
4466
  const hasHelper = helperText != null && helperText !== "";
4314
4467
  const helperId = hasHelper ? `${id}-helper` : void 0;
4315
- const [internalChecked, setInternalChecked] = useState10(defaultChecked ?? false);
4468
+ const [internalChecked, setInternalChecked] = useState11(defaultChecked ?? false);
4316
4469
  const isChecked = checked !== void 0 ? checked : internalChecked;
4317
4470
  const handleCheckboxChange = (nextChecked) => {
4318
4471
  if (checked === void 0) {
@@ -4325,7 +4478,7 @@ function StnLabelPrefix({
4325
4478
  const rootClass = cn(
4326
4479
  "stn-label-prefix",
4327
4480
  sizeClass4(size),
4328
- variantClass4(variant),
4481
+ variantClass5(variant),
4329
4482
  color && color !== "error" && color,
4330
4483
  labelPosition === "suffix" && "stn-label-prefix--suffix",
4331
4484
  radius && `radius-${radius}`,
@@ -4337,7 +4490,7 @@ function StnLabelPrefix({
4337
4490
  );
4338
4491
  const defaultCheckboxSize = size === "lg" ? "md" : "sm";
4339
4492
  const resolvedCheckboxSize = checkboxSize ?? defaultCheckboxSize;
4340
- const checkboxNode = checkboxSlot ?? (checkbox ? /* @__PURE__ */ jsx36("span", { className: "stn-label-prefix__checkbox", children: /* @__PURE__ */ jsx36(
4493
+ const checkboxNode = checkboxSlot ?? (checkbox ? /* @__PURE__ */ jsx37("span", { className: "stn-label-prefix__checkbox", children: /* @__PURE__ */ jsx37(
4341
4494
  StnCheckbox,
4342
4495
  {
4343
4496
  size: resolvedCheckboxSize,
@@ -4348,14 +4501,14 @@ function StnLabelPrefix({
4348
4501
  "aria-label": typeof label === "string" ? `${label} \uC120\uD0DD` : void 0
4349
4502
  }
4350
4503
  ) }) : null);
4351
- const labelSection = /* @__PURE__ */ jsxs28("span", { className: "stn-label-prefix__label", children: [
4504
+ const labelSection = /* @__PURE__ */ jsxs29("span", { className: "stn-label-prefix__label", children: [
4352
4505
  checkboxNode,
4353
- labelIcon != null && /* @__PURE__ */ jsx36("span", { className: "stn-label-prefix__icon", "aria-hidden": "true", children: labelIcon }),
4354
- /* @__PURE__ */ jsxs28("span", { className: "stn-label-prefix__text", children: [
4506
+ labelIcon != null && /* @__PURE__ */ jsx37("span", { className: "stn-label-prefix__icon", "aria-hidden": "true", children: labelIcon }),
4507
+ /* @__PURE__ */ jsxs29("span", { className: "stn-label-prefix__text", children: [
4355
4508
  label,
4356
- required && /* @__PURE__ */ jsx36("span", { className: "stn-label-prefix__required", "aria-hidden": "true", children: "*" })
4509
+ required && /* @__PURE__ */ jsx37("span", { className: "stn-label-prefix__required", "aria-hidden": "true", children: "*" })
4357
4510
  ] }),
4358
- /* @__PURE__ */ jsx36("span", { className: "stn-label-prefix__divider", "aria-hidden": "true" })
4511
+ /* @__PURE__ */ jsx37("span", { className: "stn-label-prefix__divider", "aria-hidden": "true" })
4359
4512
  ] });
4360
4513
  let renderedControl = children;
4361
4514
  if (isControlDisabled && isValidElement4(children) && typeof children.type !== "string") {
@@ -4363,7 +4516,7 @@ function StnLabelPrefix({
4363
4516
  disabled: true
4364
4517
  });
4365
4518
  }
4366
- const prefixNode = /* @__PURE__ */ jsxs28(
4519
+ const prefixNode = /* @__PURE__ */ jsxs29(
4367
4520
  "div",
4368
4521
  {
4369
4522
  id: !hasHelper ? id : void 0,
@@ -4375,14 +4528,14 @@ function StnLabelPrefix({
4375
4528
  ...!hasHelper ? rest : {},
4376
4529
  children: [
4377
4530
  labelSection,
4378
- /* @__PURE__ */ jsx36("span", { className: "stn-label-prefix__control", children: renderedControl })
4531
+ /* @__PURE__ */ jsx37("span", { className: "stn-label-prefix__control", children: renderedControl })
4379
4532
  ]
4380
4533
  }
4381
4534
  );
4382
4535
  if (!hasHelper) {
4383
4536
  return prefixNode;
4384
4537
  }
4385
- return /* @__PURE__ */ jsxs28(
4538
+ return /* @__PURE__ */ jsxs29(
4386
4539
  "div",
4387
4540
  {
4388
4541
  id,
@@ -4396,7 +4549,7 @@ function StnLabelPrefix({
4396
4549
  ...rest,
4397
4550
  children: [
4398
4551
  prefixNode,
4399
- /* @__PURE__ */ jsx36(
4552
+ /* @__PURE__ */ jsx37(
4400
4553
  "p",
4401
4554
  {
4402
4555
  id: helperId,
@@ -4462,14 +4615,14 @@ import {
4462
4615
  } from "@stn-uiux/pub-ui/data/stnSearchRequirement";
4463
4616
 
4464
4617
  // src/patterns/search/StnSearchRequirementBar.tsx
4465
- import { jsx as jsx37, jsxs as jsxs29 } from "react/jsx-runtime";
4618
+ import { jsx as jsx38, jsxs as jsxs30 } from "react/jsx-runtime";
4466
4619
  function StnSearchRequirementBar({
4467
4620
  children,
4468
4621
  className,
4469
4622
  density = "default",
4470
4623
  ...rest
4471
4624
  }) {
4472
- return /* @__PURE__ */ jsx37(
4625
+ return /* @__PURE__ */ jsx38(
4473
4626
  "div",
4474
4627
  {
4475
4628
  className: cn(
@@ -4485,7 +4638,7 @@ function StnSearchRequirementBar({
4485
4638
  );
4486
4639
  }
4487
4640
  function StnSearchRequirementBarFields({ children, className, ...rest }) {
4488
- return /* @__PURE__ */ jsx37("div", { className: cn("stn-search-requirement__fields", className), "data-stn-search-requirement": "fields", ...rest, children });
4641
+ return /* @__PURE__ */ jsx38("div", { className: cn("stn-search-requirement__fields", className), "data-stn-search-requirement": "fields", ...rest, children });
4489
4642
  }
4490
4643
  function StnSearchRequirementBarField({
4491
4644
  label,
@@ -4495,20 +4648,20 @@ function StnSearchRequirementBarField({
4495
4648
  controlClassName,
4496
4649
  ...rest
4497
4650
  }) {
4498
- return /* @__PURE__ */ jsxs29("div", { className: cn("stn-search-requirement__field", className), "data-stn-search-requirement": "field", ...rest, children: [
4499
- /* @__PURE__ */ jsx37("span", { className: cn("stn-search-requirement__label", labelClassName), children: label }),
4500
- /* @__PURE__ */ jsx37("div", { className: cn("stn-search-requirement__control", controlClassName), children })
4651
+ return /* @__PURE__ */ jsxs30("div", { className: cn("stn-search-requirement__field", className), "data-stn-search-requirement": "field", ...rest, children: [
4652
+ /* @__PURE__ */ jsx38("span", { className: cn("stn-search-requirement__label", labelClassName), children: label }),
4653
+ /* @__PURE__ */ jsx38("div", { className: cn("stn-search-requirement__control", controlClassName), children })
4501
4654
  ] });
4502
4655
  }
4503
4656
  function StnSearchRequirementBarSearchButton({
4504
4657
  children = "\uAC80\uC0C9",
4505
4658
  size = "md",
4506
4659
  variant = "outlined",
4507
- icon = /* @__PURE__ */ jsx37(StnIcon, { name: "line/search", size: 16, color: "currentColor" }),
4660
+ icon = /* @__PURE__ */ jsx38(StnIcon, { name: "line/search", size: 16, color: "currentColor" }),
4508
4661
  className,
4509
4662
  ...rest
4510
4663
  }) {
4511
- return /* @__PURE__ */ jsx37(
4664
+ return /* @__PURE__ */ jsx38(
4512
4665
  StnButton,
4513
4666
  {
4514
4667
  size,
@@ -4530,10 +4683,10 @@ function StnSearchRequirementBarExport({
4530
4683
  "aria-label": ariaLabel = "Excel\uBCF4\uB0B4\uAE30",
4531
4684
  ...rest
4532
4685
  }) {
4533
- return /* @__PURE__ */ jsx37(
4686
+ return /* @__PURE__ */ jsx38(
4534
4687
  StnButton,
4535
4688
  {
4536
- icon: icon ?? /* @__PURE__ */ jsx37(StnIcon, { name, size: 24, color: "currentColor" }),
4689
+ icon: icon ?? /* @__PURE__ */ jsx38(StnIcon, { name, size: 24, color: "currentColor" }),
4537
4690
  variant,
4538
4691
  size,
4539
4692
  "aria-label": ariaLabel,
@@ -4544,7 +4697,7 @@ function StnSearchRequirementBarExport({
4544
4697
  );
4545
4698
  }
4546
4699
  function StnSearchRequirementBarDivider({ className, ...rest }) {
4547
- return /* @__PURE__ */ jsx37(
4700
+ return /* @__PURE__ */ jsx38(
4548
4701
  "span",
4549
4702
  {
4550
4703
  className: cn("stn-search-requirement__divider", className),
@@ -4570,13 +4723,13 @@ import {
4570
4723
  useEffect as useEffect9,
4571
4724
  useLayoutEffect,
4572
4725
  useRef as useRef6,
4573
- useState as useState12
4726
+ useState as useState13
4574
4727
  } from "react";
4575
4728
  import { createPortal as createPortal2 } from "react-dom";
4576
4729
  import { formatStnDateRangeFieldValue as formatStnDateRangeFieldValue2 } from "@stn-uiux/pub-ui/data/stnDateRangeField";
4577
4730
 
4578
4731
  // src/components/datePicker/StnDateRangePicker.tsx
4579
- import { useCallback as useCallback6, useEffect as useEffect8, useId as useId13, useMemo as useMemo3, useState as useState11 } from "react";
4732
+ import { useCallback as useCallback6, useEffect as useEffect8, useId as useId14, useMemo as useMemo3, useState as useState12 } from "react";
4580
4733
  import {
4581
4734
  STN_DATE_PICKER_WEEKDAYS
4582
4735
  } from "@stn-uiux/pub-ui/data/stnDatePicker";
@@ -4636,9 +4789,9 @@ function normalizeRange(start, end) {
4636
4789
  }
4637
4790
 
4638
4791
  // src/components/datePicker/StnDateRangePicker.tsx
4639
- import { jsx as jsx38, jsxs as jsxs30 } from "react/jsx-runtime";
4792
+ import { jsx as jsx39, jsxs as jsxs31 } from "react/jsx-runtime";
4640
4793
  function useDraftRange(value, open) {
4641
- const [draft, setDraft] = useState11(value);
4794
+ const [draft, setDraft] = useState12(value);
4642
4795
  useEffect8(() => {
4643
4796
  if (open) setDraft(value);
4644
4797
  }, [open, value]);
@@ -4647,19 +4800,19 @@ function useDraftRange(value, open) {
4647
4800
  function CalendarPanel({ month, range, onPick, onPrev, onNext, showPrev = true, showNext = true }) {
4648
4801
  const days = useMemo3(() => buildMonthGrid(month), [month]);
4649
4802
  const { start, end } = range;
4650
- return /* @__PURE__ */ jsxs30("div", { className: "stn-date-picker-panel", children: [
4651
- /* @__PURE__ */ jsxs30("div", { className: "stn-date-picker-panel__header", children: [
4652
- showPrev ? /* @__PURE__ */ jsx38("button", { type: "button", className: "stn-date-picker-panel__nav", onClick: onPrev, "aria-label": "Previous month", children: "\u2039" }) : /* @__PURE__ */ jsx38("span", { className: "stn-date-picker-panel__nav", "aria-hidden": "true" }),
4653
- /* @__PURE__ */ jsx38("p", { className: "stn-date-picker-panel__title", children: formatMonthTitle(month) }),
4654
- showNext ? /* @__PURE__ */ jsx38("button", { type: "button", className: "stn-date-picker-panel__nav", onClick: onNext, "aria-label": "Next month", children: "\u203A" }) : /* @__PURE__ */ jsx38("span", { className: "stn-date-picker-panel__nav", "aria-hidden": "true" })
4803
+ return /* @__PURE__ */ jsxs31("div", { className: "stn-date-picker-panel", children: [
4804
+ /* @__PURE__ */ jsxs31("div", { className: "stn-date-picker-panel__header", children: [
4805
+ showPrev ? /* @__PURE__ */ jsx39("button", { type: "button", className: "stn-date-picker-panel__nav", onClick: onPrev, "aria-label": "Previous month", children: "\u2039" }) : /* @__PURE__ */ jsx39("span", { className: "stn-date-picker-panel__nav", "aria-hidden": "true" }),
4806
+ /* @__PURE__ */ jsx39("p", { className: "stn-date-picker-panel__title", children: formatMonthTitle(month) }),
4807
+ showNext ? /* @__PURE__ */ jsx39("button", { type: "button", className: "stn-date-picker-panel__nav", onClick: onNext, "aria-label": "Next month", children: "\u203A" }) : /* @__PURE__ */ jsx39("span", { className: "stn-date-picker-panel__nav", "aria-hidden": "true" })
4655
4808
  ] }),
4656
- /* @__PURE__ */ jsxs30("table", { className: "stn-date-picker-content", children: [
4657
- /* @__PURE__ */ jsx38("thead", { children: /* @__PURE__ */ jsx38("tr", { children: STN_DATE_PICKER_WEEKDAYS.map((label) => /* @__PURE__ */ jsx38("th", { scope: "col", children: label }, label)) }) }),
4658
- /* @__PURE__ */ jsx38("tbody", { children: Array.from({ length: 6 }, (_, row) => /* @__PURE__ */ jsx38("tr", { children: days.slice(row * 7, row * 7 + 7).map((cell) => {
4809
+ /* @__PURE__ */ jsxs31("table", { className: "stn-date-picker-content", children: [
4810
+ /* @__PURE__ */ jsx39("thead", { children: /* @__PURE__ */ jsx39("tr", { children: STN_DATE_PICKER_WEEKDAYS.map((label) => /* @__PURE__ */ jsx39("th", { scope: "col", children: label }, label)) }) }),
4811
+ /* @__PURE__ */ jsx39("tbody", { children: Array.from({ length: 6 }, (_, row) => /* @__PURE__ */ jsx39("tr", { children: days.slice(row * 7, row * 7 + 7).map((cell) => {
4659
4812
  const inRange = start && end && isBetweenDays(cell.date, start, end);
4660
4813
  const isStart = start ? isSameDay(cell.date, start) : false;
4661
4814
  const isEnd = end ? isSameDay(cell.date, end) : false;
4662
- return /* @__PURE__ */ jsx38(
4815
+ return /* @__PURE__ */ jsx39(
4663
4816
  "td",
4664
4817
  {
4665
4818
  className: cn(
@@ -4669,7 +4822,7 @@ function CalendarPanel({ month, range, onPick, onPrev, onNext, showPrev = true,
4669
4822
  isStart && "stn-date-picker-cell--range-start",
4670
4823
  isEnd && "stn-date-picker-cell--range-end"
4671
4824
  ),
4672
- children: /* @__PURE__ */ jsx38(
4825
+ children: /* @__PURE__ */ jsx39(
4673
4826
  "button",
4674
4827
  {
4675
4828
  type: "button",
@@ -4691,16 +4844,16 @@ function TimeColumns({ label, value, onChange }) {
4691
4844
  const seconds = value?.getSeconds() ?? 0;
4692
4845
  const base = value ?? /* @__PURE__ */ new Date();
4693
4846
  const patch = (h, m, s) => onChange(setTimePart(base, h, m, s));
4694
- return /* @__PURE__ */ jsxs30("div", { className: "stn-date-picker-time__side", children: [
4695
- /* @__PURE__ */ jsx38("span", { className: "stn-date-picker-time__label", children: label }),
4696
- /* @__PURE__ */ jsxs30("div", { className: "stn-date-picker-time__columns", children: [
4697
- /* @__PURE__ */ jsx38(
4847
+ return /* @__PURE__ */ jsxs31("div", { className: "stn-date-picker-time__side", children: [
4848
+ /* @__PURE__ */ jsx39("span", { className: "stn-date-picker-time__label", children: label }),
4849
+ /* @__PURE__ */ jsxs31("div", { className: "stn-date-picker-time__columns", children: [
4850
+ /* @__PURE__ */ jsx39(
4698
4851
  StnScroll,
4699
4852
  {
4700
4853
  variant: "arrows",
4701
4854
  size: "thin",
4702
4855
  className: "stn-date-picker-time__scroll",
4703
- children: /* @__PURE__ */ jsx38("ul", { className: "stn-date-picker-time__column", "aria-label": `${label} hour`, children: Array.from({ length: 24 }, (_, h) => /* @__PURE__ */ jsx38("li", { children: /* @__PURE__ */ jsx38(
4856
+ children: /* @__PURE__ */ jsx39("ul", { className: "stn-date-picker-time__column", "aria-label": `${label} hour`, children: Array.from({ length: 24 }, (_, h) => /* @__PURE__ */ jsx39("li", { children: /* @__PURE__ */ jsx39(
4704
4857
  "button",
4705
4858
  {
4706
4859
  type: "button",
@@ -4711,13 +4864,13 @@ function TimeColumns({ label, value, onChange }) {
4711
4864
  ) }, h)) })
4712
4865
  }
4713
4866
  ),
4714
- /* @__PURE__ */ jsx38(
4867
+ /* @__PURE__ */ jsx39(
4715
4868
  StnScroll,
4716
4869
  {
4717
4870
  variant: "arrows",
4718
4871
  size: "thin",
4719
4872
  className: "stn-date-picker-time__scroll",
4720
- children: /* @__PURE__ */ jsx38("ul", { className: "stn-date-picker-time__column", "aria-label": `${label} minute`, children: Array.from({ length: 60 }, (_, m) => /* @__PURE__ */ jsx38("li", { children: /* @__PURE__ */ jsx38(
4873
+ children: /* @__PURE__ */ jsx39("ul", { className: "stn-date-picker-time__column", "aria-label": `${label} minute`, children: Array.from({ length: 60 }, (_, m) => /* @__PURE__ */ jsx39("li", { children: /* @__PURE__ */ jsx39(
4721
4874
  "button",
4722
4875
  {
4723
4876
  type: "button",
@@ -4728,13 +4881,13 @@ function TimeColumns({ label, value, onChange }) {
4728
4881
  ) }, m)) })
4729
4882
  }
4730
4883
  ),
4731
- /* @__PURE__ */ jsx38(
4884
+ /* @__PURE__ */ jsx39(
4732
4885
  StnScroll,
4733
4886
  {
4734
4887
  variant: "arrows",
4735
4888
  size: "thin",
4736
4889
  className: "stn-date-picker-time__scroll",
4737
- children: /* @__PURE__ */ jsx38("ul", { className: "stn-date-picker-time__column", "aria-label": `${label} second`, children: Array.from({ length: 60 }, (_, s) => /* @__PURE__ */ jsx38("li", { children: /* @__PURE__ */ jsx38(
4890
+ children: /* @__PURE__ */ jsx39("ul", { className: "stn-date-picker-time__column", "aria-label": `${label} second`, children: Array.from({ length: 60 }, (_, s) => /* @__PURE__ */ jsx39("li", { children: /* @__PURE__ */ jsx39(
4738
4891
  "button",
4739
4892
  {
4740
4893
  type: "button",
@@ -4759,9 +4912,9 @@ function StnDateRangePicker({
4759
4912
  style,
4760
4913
  anchorRect
4761
4914
  }) {
4762
- const titleId = useId13();
4915
+ const titleId = useId14();
4763
4916
  const [draft, setDraft] = useDraftRange(value, open);
4764
- const [leftMonth, setLeftMonth] = useState11(() => startOfMonth(draft.start ?? draft.end ?? /* @__PURE__ */ new Date()));
4917
+ const [leftMonth, setLeftMonth] = useState12(() => startOfMonth(draft.start ?? draft.end ?? /* @__PURE__ */ new Date()));
4765
4918
  useEffect8(() => {
4766
4919
  if (!open) return;
4767
4920
  const anchor = draft.start ?? draft.end ?? /* @__PURE__ */ new Date();
@@ -4813,7 +4966,7 @@ function StnDateRangePicker({
4813
4966
  left: anchorRect.left,
4814
4967
  ...style
4815
4968
  } : style ?? {};
4816
- return /* @__PURE__ */ jsx38(
4969
+ return /* @__PURE__ */ jsx39(
4817
4970
  "div",
4818
4971
  {
4819
4972
  className: cn("stn-date-picker-dropdown", className),
@@ -4821,10 +4974,10 @@ function StnDateRangePicker({
4821
4974
  role: "dialog",
4822
4975
  "aria-modal": "false",
4823
4976
  "aria-labelledby": titleId,
4824
- children: /* @__PURE__ */ jsxs30("div", { className: "stn-date-picker-dropdown__body", children: [
4825
- /* @__PURE__ */ jsx38("span", { id: titleId, className: "stn-sf__visually-hidden", children: "Date range picker" }),
4826
- /* @__PURE__ */ jsxs30("div", { className: "stn-date-picker-dropdown__panels", children: [
4827
- /* @__PURE__ */ jsx38(
4977
+ children: /* @__PURE__ */ jsxs31("div", { className: "stn-date-picker-dropdown__body", children: [
4978
+ /* @__PURE__ */ jsx39("span", { id: titleId, className: "stn-sf__visually-hidden", children: "Date range picker" }),
4979
+ /* @__PURE__ */ jsxs31("div", { className: "stn-date-picker-dropdown__panels", children: [
4980
+ /* @__PURE__ */ jsx39(
4828
4981
  CalendarPanel,
4829
4982
  {
4830
4983
  month: leftMonth,
@@ -4835,7 +4988,7 @@ function StnDateRangePicker({
4835
4988
  showNext: false
4836
4989
  }
4837
4990
  ),
4838
- /* @__PURE__ */ jsx38(
4991
+ /* @__PURE__ */ jsx39(
4839
4992
  CalendarPanel,
4840
4993
  {
4841
4994
  month: rightMonth,
@@ -4847,8 +5000,8 @@ function StnDateRangePicker({
4847
5000
  }
4848
5001
  )
4849
5002
  ] }),
4850
- showTime ? /* @__PURE__ */ jsxs30("div", { className: "stn-date-picker-time", children: [
4851
- /* @__PURE__ */ jsx38(
5003
+ showTime ? /* @__PURE__ */ jsxs31("div", { className: "stn-date-picker-time", children: [
5004
+ /* @__PURE__ */ jsx39(
4852
5005
  TimeColumns,
4853
5006
  {
4854
5007
  label: "\uC2DC\uC791",
@@ -4856,7 +5009,7 @@ function StnDateRangePicker({
4856
5009
  onChange: (start) => updateDraft({ ...draft, start })
4857
5010
  }
4858
5011
  ),
4859
- /* @__PURE__ */ jsx38(
5012
+ /* @__PURE__ */ jsx39(
4860
5013
  TimeColumns,
4861
5014
  {
4862
5015
  label: "\uC885\uB8CC",
@@ -4865,16 +5018,16 @@ function StnDateRangePicker({
4865
5018
  }
4866
5019
  )
4867
5020
  ] }) : null,
4868
- /* @__PURE__ */ jsx38("div", { className: "stn-date-picker-footer", children: /* @__PURE__ */ jsx38(StnButton, { size: "md", variant: "contained", onClick: handleApply, disabled: !draft.start || !draft.end, children: "\uD655\uC778" }) })
5021
+ /* @__PURE__ */ jsx39("div", { className: "stn-date-picker-footer", children: /* @__PURE__ */ jsx39(StnButton, { size: "md", variant: "contained", onClick: handleApply, disabled: !draft.start || !draft.end, children: "\uD655\uC778" }) })
4869
5022
  ] })
4870
5023
  }
4871
5024
  );
4872
5025
  }
4873
5026
 
4874
5027
  // src/components/datePicker/StnDateRangePickerField.tsx
4875
- import { jsx as jsx39, jsxs as jsxs31 } from "react/jsx-runtime";
5028
+ import { jsx as jsx40, jsxs as jsxs32 } from "react/jsx-runtime";
4876
5029
  function useControllableRange(controlled, defaultValue, onChange) {
4877
- const [internal, setInternal] = useState12(defaultValue);
5030
+ const [internal, setInternal] = useState13(defaultValue);
4878
5031
  const value = controlled ?? internal;
4879
5032
  const setValue = useCallback7(
4880
5033
  (next) => {
@@ -4906,8 +5059,8 @@ function StnDateRangePickerField({
4906
5059
  }) {
4907
5060
  const format = formatProp ?? (showTime ? formatStnDateRangeFieldValue2 : formatDateOnly);
4908
5061
  const [value, setValue] = useControllableRange(valueProp, defaultValue, onChange);
4909
- const [open, setOpen] = useState12(false);
4910
- const [anchorRect, setAnchorRect] = useState12(null);
5062
+ const [open, setOpen] = useState13(false);
5063
+ const [anchorRect, setAnchorRect] = useState13(null);
4911
5064
  const rootRef = useRef6(null);
4912
5065
  const triggerRef = useRef6(null);
4913
5066
  const panelRef = useRef6(null);
@@ -4944,8 +5097,8 @@ function StnDateRangePickerField({
4944
5097
  document.addEventListener("keydown", onKeyDown);
4945
5098
  return () => document.removeEventListener("keydown", onKeyDown);
4946
5099
  }, [open]);
4947
- return /* @__PURE__ */ jsxs31("div", { ref: rootRef, className: cn("stn-date-picker-field", className), children: [
4948
- /* @__PURE__ */ jsx39(
5100
+ return /* @__PURE__ */ jsxs32("div", { ref: rootRef, className: cn("stn-date-picker-field", className), children: [
5101
+ /* @__PURE__ */ jsx40(
4949
5102
  StnDateRangeField,
4950
5103
  {
4951
5104
  ref: triggerRef,
@@ -4965,7 +5118,7 @@ function StnDateRangePickerField({
4965
5118
  }
4966
5119
  ),
4967
5120
  open && typeof document !== "undefined" ? createPortal2(
4968
- /* @__PURE__ */ jsx39("div", { ref: panelRef, children: /* @__PURE__ */ jsx39(
5121
+ /* @__PURE__ */ jsx40("div", { ref: panelRef, children: /* @__PURE__ */ jsx40(
4969
5122
  StnDateRangePicker,
4970
5123
  {
4971
5124
  open: true,
@@ -4984,13 +5137,13 @@ function StnDateRangePickerField({
4984
5137
  }
4985
5138
 
4986
5139
  // src/patterns/search/StnSearchRequirementBarDemo.tsx
4987
- import { jsx as jsx40, jsxs as jsxs32 } from "react/jsx-runtime";
5140
+ import { jsx as jsx41, jsxs as jsxs33 } from "react/jsx-runtime";
4988
5141
  var ALL_OPTIONS = [{ value: "", label: "\uC804\uCCB4" }];
4989
5142
  function StnSearchRequirementBarDemo({ onSearch, onExport, className }) {
4990
5143
  const demo = STN_SEARCH_REQUIREMENT_DEMO_FIELDS;
4991
- return /* @__PURE__ */ jsxs32(StnSearchRequirementBar, { className, children: [
4992
- /* @__PURE__ */ jsxs32(StnSearchRequirementBar.Fields, { children: [
4993
- /* @__PURE__ */ jsx40(
5144
+ return /* @__PURE__ */ jsxs33(StnSearchRequirementBar, { className, children: [
5145
+ /* @__PURE__ */ jsxs33(StnSearchRequirementBar.Fields, { children: [
5146
+ /* @__PURE__ */ jsx41(
4994
5147
  StnTextField,
4995
5148
  {
4996
5149
  label: demo.reportTypeText.label,
@@ -5000,7 +5153,7 @@ function StnSearchRequirementBarDemo({ onSearch, onExport, className }) {
5000
5153
  "aria-label": demo.reportTypeText.label
5001
5154
  }
5002
5155
  ),
5003
- /* @__PURE__ */ jsx40(
5156
+ /* @__PURE__ */ jsx41(
5004
5157
  StnDropdown,
5005
5158
  {
5006
5159
  label: demo.reportTypeSelect.label,
@@ -5011,7 +5164,7 @@ function StnSearchRequirementBarDemo({ onSearch, onExport, className }) {
5011
5164
  "aria-label": demo.reportTypeSelect.label
5012
5165
  }
5013
5166
  ),
5014
- /* @__PURE__ */ jsx40(
5167
+ /* @__PURE__ */ jsx41(
5015
5168
  StnDropdown,
5016
5169
  {
5017
5170
  label: demo.periodType.label,
@@ -5022,7 +5175,7 @@ function StnSearchRequirementBarDemo({ onSearch, onExport, className }) {
5022
5175
  "aria-label": demo.periodType.label
5023
5176
  }
5024
5177
  ),
5025
- /* @__PURE__ */ jsx40(
5178
+ /* @__PURE__ */ jsx41(
5026
5179
  StnDateRangePickerField,
5027
5180
  {
5028
5181
  label: demo.period.label,
@@ -5036,8 +5189,8 @@ function StnSearchRequirementBarDemo({ onSearch, onExport, className }) {
5036
5189
  }
5037
5190
  )
5038
5191
  ] }),
5039
- /* @__PURE__ */ jsx40(StnSearchRequirementBar.SearchButton, { onClick: onSearch }),
5040
- /* @__PURE__ */ jsx40(StnSearchRequirementBar.Export, { onClick: onExport })
5192
+ /* @__PURE__ */ jsx41(StnSearchRequirementBar.SearchButton, { onClick: onSearch }),
5193
+ /* @__PURE__ */ jsx41(StnSearchRequirementBar.Export, { onClick: onExport })
5041
5194
  ] });
5042
5195
  }
5043
5196
 
@@ -5051,8 +5204,8 @@ import {
5051
5204
  } from "@stn-uiux/pub-ui/data/stnHeader";
5052
5205
 
5053
5206
  // src/patterns/header/StnHeader.tsx
5054
- import { jsx as jsx41 } from "react/jsx-runtime";
5055
- function variantClass5(variant) {
5207
+ import { jsx as jsx42 } from "react/jsx-runtime";
5208
+ function variantClass6(variant) {
5056
5209
  if (variant === "page") return "stn-header--page";
5057
5210
  return void 0;
5058
5211
  }
@@ -5078,12 +5231,12 @@ function StnHeader({
5078
5231
  ...dynamicStyles,
5079
5232
  ...style
5080
5233
  };
5081
- return /* @__PURE__ */ jsx41(
5234
+ return /* @__PURE__ */ jsx42(
5082
5235
  "header",
5083
5236
  {
5084
5237
  className: cn(
5085
5238
  "stn-header",
5086
- variantClass5(variant),
5239
+ variantClass6(variant),
5087
5240
  isNamedPadding ? `padding-${padding}` : void 0,
5088
5241
  isNamedGap ? `gap-${gap}` : void 0,
5089
5242
  className
@@ -5096,20 +5249,20 @@ function StnHeader({
5096
5249
  );
5097
5250
  }
5098
5251
  function StnHeaderLeft({ children, className, ...rest }) {
5099
- return /* @__PURE__ */ jsx41("div", { className: cn("stn-header__left", className), "data-stn-header-region": "left", ...rest, children });
5252
+ return /* @__PURE__ */ jsx42("div", { className: cn("stn-header__left", className), "data-stn-header-region": "left", ...rest, children });
5100
5253
  }
5101
5254
  function StnHeaderCenter({ children, className, ...rest }) {
5102
- return /* @__PURE__ */ jsx41("div", { className: cn("stn-header__center", className), "data-stn-header-region": "center", ...rest, children });
5255
+ return /* @__PURE__ */ jsx42("div", { className: cn("stn-header__center", className), "data-stn-header-region": "center", ...rest, children });
5103
5256
  }
5104
5257
  function StnHeaderRight({ children, className, ...rest }) {
5105
- return /* @__PURE__ */ jsx41("div", { className: cn("stn-header__right", className), "data-stn-header-region": "right", ...rest, children });
5258
+ return /* @__PURE__ */ jsx42("div", { className: cn("stn-header__right", className), "data-stn-header-region": "right", ...rest, children });
5106
5259
  }
5107
5260
  StnHeader.Left = StnHeaderLeft;
5108
5261
  StnHeader.Center = StnHeaderCenter;
5109
5262
  StnHeader.Right = StnHeaderRight;
5110
5263
  function StnHeaderPageTitle({ children, className, title, ...rest }) {
5111
5264
  const autoTitle = typeof children === "string" ? children : void 0;
5112
- return /* @__PURE__ */ jsx41(
5265
+ return /* @__PURE__ */ jsx42(
5113
5266
  "h1",
5114
5267
  {
5115
5268
  className: cn("stn-header__page-title", className),
@@ -5121,7 +5274,7 @@ function StnHeaderPageTitle({ children, className, title, ...rest }) {
5121
5274
  }
5122
5275
  function StnHeaderSubTitle({ children, className, title, ...rest }) {
5123
5276
  const autoTitle = typeof children === "string" ? children : void 0;
5124
- return /* @__PURE__ */ jsx41(
5277
+ return /* @__PURE__ */ jsx42(
5125
5278
  "span",
5126
5279
  {
5127
5280
  className: cn("stn-header__subtitle", className),
@@ -5133,7 +5286,7 @@ function StnHeaderSubTitle({ children, className, title, ...rest }) {
5133
5286
  }
5134
5287
  function StnHeaderContextTitle({ children, className, title, ...rest }) {
5135
5288
  const autoTitle = typeof children === "string" ? children : void 0;
5136
- return /* @__PURE__ */ jsx41(
5289
+ return /* @__PURE__ */ jsx42(
5137
5290
  "span",
5138
5291
  {
5139
5292
  className: cn("stn-header__context-title", className),
@@ -5144,7 +5297,7 @@ function StnHeaderContextTitle({ children, className, title, ...rest }) {
5144
5297
  );
5145
5298
  }
5146
5299
  function StnHeaderToolbar({ children, className, ...rest }) {
5147
- return /* @__PURE__ */ jsx41("div", { className: cn("stn-header-toolbar", className), "data-stn-header-toolbar": true, ...rest, children });
5300
+ return /* @__PURE__ */ jsx42("div", { className: cn("stn-header-toolbar", className), "data-stn-header-toolbar": true, ...rest, children });
5148
5301
  }
5149
5302
 
5150
5303
  // src/index.ts
@@ -5162,7 +5315,7 @@ import {
5162
5315
  STN_LAYER0_BACKGROUND_DEMO_IMAGES,
5163
5316
  STN_LAYER0_MAP_LIGHT_OVERLAY
5164
5317
  } from "@stn-uiux/pub-ui/data/stnLayer0Background";
5165
- import { jsx as jsx42, jsxs as jsxs33 } from "react/jsx-runtime";
5318
+ import { jsx as jsx43, jsxs as jsxs34 } from "react/jsx-runtime";
5166
5319
  function overlayStyle(overlay) {
5167
5320
  if (overlay == null || overlay <= 0) return void 0;
5168
5321
  const pct = `${Math.min(100, Math.max(0, overlay * 100))}%`;
@@ -5211,15 +5364,15 @@ function StnLayer0Background({
5211
5364
  const isImage = kind === "image" || Boolean(src || srcDark);
5212
5365
  if (isImage) {
5213
5366
  const paired = Boolean(src && srcDark);
5214
- return /* @__PURE__ */ jsx42(
5367
+ return /* @__PURE__ */ jsx43(
5215
5368
  "div",
5216
5369
  {
5217
5370
  className: cn("stn-layer0-bg", "image", className),
5218
5371
  "aria-hidden": alt === "" ? true : void 0,
5219
5372
  style: { ...overlayStyle(overlay), ...style },
5220
5373
  ...rest,
5221
- children: /* @__PURE__ */ jsxs33("div", { className: "stn-layer0-bg__media", children: [
5222
- src ? /* @__PURE__ */ jsx42(
5374
+ children: /* @__PURE__ */ jsxs34("div", { className: "stn-layer0-bg__media", children: [
5375
+ src ? /* @__PURE__ */ jsx43(
5223
5376
  "img",
5224
5377
  {
5225
5378
  className: cn("stn-layer0-bg__img", paired && "light"),
@@ -5228,7 +5381,7 @@ function StnLayer0Background({
5228
5381
  decoding: "async"
5229
5382
  }
5230
5383
  ) : null,
5231
- srcDark ? /* @__PURE__ */ jsx42(
5384
+ srcDark ? /* @__PURE__ */ jsx43(
5232
5385
  "img",
5233
5386
  {
5234
5387
  className: cn("stn-layer0-bg__img", paired ? "dark" : void 0),
@@ -5237,13 +5390,13 @@ function StnLayer0Background({
5237
5390
  decoding: "async"
5238
5391
  }
5239
5392
  ) : null,
5240
- overlay != null && overlay > 0 ? /* @__PURE__ */ jsx42("div", { className: "stn-layer0-bg__overlay", "aria-hidden": "true" }) : null,
5241
- overlayDarkRadial ? /* @__PURE__ */ jsx42("div", { className: "stn-layer0-bg__overlay radial", "aria-hidden": "true" }) : null
5393
+ overlay != null && overlay > 0 ? /* @__PURE__ */ jsx43("div", { className: "stn-layer0-bg__overlay", "aria-hidden": "true" }) : null,
5394
+ overlayDarkRadial ? /* @__PURE__ */ jsx43("div", { className: "stn-layer0-bg__overlay radial", "aria-hidden": "true" }) : null
5242
5395
  ] })
5243
5396
  }
5244
5397
  );
5245
5398
  }
5246
- return /* @__PURE__ */ jsx42(
5399
+ return /* @__PURE__ */ jsx43(
5247
5400
  "div",
5248
5401
  {
5249
5402
  className: cn("stn-layer0-bg", "color", color, className),
@@ -5280,7 +5433,7 @@ import {
5280
5433
 
5281
5434
  // src/components/StnEventBanner.tsx
5282
5435
  import React2 from "react";
5283
- import { jsx as jsx43, jsxs as jsxs34 } from "react/jsx-runtime";
5436
+ import { jsx as jsx44, jsxs as jsxs35 } from "react/jsx-runtime";
5284
5437
  var SEVERITY_ICONS2 = {
5285
5438
  critical: "fill/alert4",
5286
5439
  major: "fill/alert3",
@@ -5288,7 +5441,7 @@ var SEVERITY_ICONS2 = {
5288
5441
  warning: "fill/alert1"
5289
5442
  };
5290
5443
  function DefaultTriangleIcon() {
5291
- return /* @__PURE__ */ jsxs34(
5444
+ return /* @__PURE__ */ jsxs35(
5292
5445
  "svg",
5293
5446
  {
5294
5447
  width: "20",
@@ -5298,7 +5451,7 @@ function DefaultTriangleIcon() {
5298
5451
  xmlns: "http://www.w3.org/2000/svg",
5299
5452
  "aria-hidden": "true",
5300
5453
  children: [
5301
- /* @__PURE__ */ jsx43(
5454
+ /* @__PURE__ */ jsx44(
5302
5455
  "path",
5303
5456
  {
5304
5457
  d: "M10.29 3.86L1.82 18A2 2 0 0 0 3.54 21H20.46A2 2 0 0 0 22.18 18L13.71 3.86A2 2 0 0 0 10.29 3.86Z",
@@ -5308,17 +5461,17 @@ function DefaultTriangleIcon() {
5308
5461
  strokeLinejoin: "round"
5309
5462
  }
5310
5463
  ),
5311
- /* @__PURE__ */ jsx43("line", { x1: "12", y1: "9", x2: "12", y2: "13", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }),
5312
- /* @__PURE__ */ jsx43("circle", { cx: "12", cy: "17", r: "1", fill: "currentColor" })
5464
+ /* @__PURE__ */ jsx44("line", { x1: "12", y1: "9", x2: "12", y2: "13", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }),
5465
+ /* @__PURE__ */ jsx44("circle", { cx: "12", cy: "17", r: "1", fill: "currentColor" })
5313
5466
  ]
5314
5467
  }
5315
5468
  );
5316
5469
  }
5317
5470
  function resolveDefaultIcon(severity) {
5318
5471
  if (severity === "critical") {
5319
- return /* @__PURE__ */ jsx43(DefaultTriangleIcon, {});
5472
+ return /* @__PURE__ */ jsx44(DefaultTriangleIcon, {});
5320
5473
  }
5321
- return /* @__PURE__ */ jsx43(StnIcon, { name: SEVERITY_ICONS2[severity] || "fill/alert4", size: 20 });
5474
+ return /* @__PURE__ */ jsx44(StnIcon, { name: SEVERITY_ICONS2[severity] || "fill/alert4", size: 20 });
5322
5475
  }
5323
5476
  var StnEventBanner = React2.forwardRef(
5324
5477
  ({
@@ -5337,7 +5490,7 @@ var StnEventBanner = React2.forwardRef(
5337
5490
  id,
5338
5491
  ...restProps
5339
5492
  }, ref) => {
5340
- return /* @__PURE__ */ jsxs34(
5493
+ return /* @__PURE__ */ jsxs35(
5341
5494
  "div",
5342
5495
  {
5343
5496
  ref,
@@ -5354,16 +5507,16 @@ var StnEventBanner = React2.forwardRef(
5354
5507
  ),
5355
5508
  ...restProps,
5356
5509
  children: [
5357
- /* @__PURE__ */ jsxs34("div", { className: "stn-event-banner__left", children: [
5358
- /* @__PURE__ */ jsx43("div", { className: "stn-event-banner__icon-wrap", children: icon ?? resolveDefaultIcon(severity) }),
5359
- /* @__PURE__ */ jsxs34("div", { className: "stn-event-banner__text", children: [
5360
- title && /* @__PURE__ */ jsx43("span", { className: "stn-event-banner__title", title: typeof title === "string" ? title : void 0, children: title }),
5361
- time && /* @__PURE__ */ jsx43("span", { className: "stn-event-banner__time", title: typeof time === "string" ? time : void 0, children: time })
5510
+ /* @__PURE__ */ jsxs35("div", { className: "stn-event-banner__left", children: [
5511
+ /* @__PURE__ */ jsx44("div", { className: "stn-event-banner__icon-wrap", children: icon ?? resolveDefaultIcon(severity) }),
5512
+ /* @__PURE__ */ jsxs35("div", { className: "stn-event-banner__text", children: [
5513
+ title && /* @__PURE__ */ jsx44("span", { className: "stn-event-banner__title", title: typeof title === "string" ? title : void 0, children: title }),
5514
+ time && /* @__PURE__ */ jsx44("span", { className: "stn-event-banner__time", title: typeof time === "string" ? time : void 0, children: time })
5362
5515
  ] })
5363
5516
  ] }),
5364
- /* @__PURE__ */ jsxs34("div", { className: "stn-event-banner__actions", children: [
5517
+ /* @__PURE__ */ jsxs35("div", { className: "stn-event-banner__actions", children: [
5365
5518
  actions,
5366
- actionText && /* @__PURE__ */ jsx43(
5519
+ actionText && /* @__PURE__ */ jsx44(
5367
5520
  "button",
5368
5521
  {
5369
5522
  type: "button",
@@ -5372,7 +5525,7 @@ var StnEventBanner = React2.forwardRef(
5372
5525
  children: actionText
5373
5526
  }
5374
5527
  ),
5375
- onClose && /* @__PURE__ */ jsx43(
5528
+ onClose && /* @__PURE__ */ jsx44(
5376
5529
  "button",
5377
5530
  {
5378
5531
  type: "button",
@@ -5391,9 +5544,9 @@ var StnEventBanner = React2.forwardRef(
5391
5544
  StnEventBanner.displayName = "StnEventBanner";
5392
5545
 
5393
5546
  // src/patterns/scaffold/StnLoadingSkeleton.tsx
5394
- import { jsx as jsx44, jsxs as jsxs35 } from "react/jsx-runtime";
5547
+ import { jsx as jsx45, jsxs as jsxs36 } from "react/jsx-runtime";
5395
5548
  function StnLoadingSkeletonLine({ width = "full", className, style, ...rest }) {
5396
- return /* @__PURE__ */ jsx44(
5549
+ return /* @__PURE__ */ jsx45(
5397
5550
  "div",
5398
5551
  {
5399
5552
  className: cn(
@@ -5409,7 +5562,7 @@ function StnLoadingSkeletonLine({ width = "full", className, style, ...rest }) {
5409
5562
  );
5410
5563
  }
5411
5564
  function StnLoadingSkeletonBlock({ minHeight = 48, className, style, ...rest }) {
5412
- return /* @__PURE__ */ jsx44(
5565
+ return /* @__PURE__ */ jsx45(
5413
5566
  "div",
5414
5567
  {
5415
5568
  className: cn("stn-loading-skeleton__block", className),
@@ -5420,7 +5573,7 @@ function StnLoadingSkeletonBlock({ minHeight = 48, className, style, ...rest })
5420
5573
  );
5421
5574
  }
5422
5575
  function StnLoadingSkeletonCircle({ size = 40, className, style, ...rest }) {
5423
- return /* @__PURE__ */ jsx44(
5576
+ return /* @__PURE__ */ jsx45(
5424
5577
  "div",
5425
5578
  {
5426
5579
  className: cn("stn-loading-skeleton__circle", className),
@@ -5431,7 +5584,7 @@ function StnLoadingSkeletonCircle({ size = 40, className, style, ...rest }) {
5431
5584
  );
5432
5585
  }
5433
5586
  function StnLoadingSkeletonProfile({ avatarSize = 40, className, style, ...rest }) {
5434
- return /* @__PURE__ */ jsxs35(
5587
+ return /* @__PURE__ */ jsxs36(
5435
5588
  "div",
5436
5589
  {
5437
5590
  className: cn("stn-loading-skeleton--profile", className),
@@ -5440,17 +5593,17 @@ function StnLoadingSkeletonProfile({ avatarSize = 40, className, style, ...rest
5440
5593
  "aria-label": "\uD504\uB85C\uD544 \uB85C\uB529 \uC911",
5441
5594
  ...rest,
5442
5595
  children: [
5443
- /* @__PURE__ */ jsx44(StnLoadingSkeletonCircle, { size: avatarSize }),
5444
- /* @__PURE__ */ jsxs35("div", { className: "stn-loading-skeleton__profile-content", children: [
5445
- /* @__PURE__ */ jsx44(StnLoadingSkeletonLine, { width: "medium" }),
5446
- /* @__PURE__ */ jsx44(StnLoadingSkeletonLine, { width: "short" })
5596
+ /* @__PURE__ */ jsx45(StnLoadingSkeletonCircle, { size: avatarSize }),
5597
+ /* @__PURE__ */ jsxs36("div", { className: "stn-loading-skeleton__profile-content", children: [
5598
+ /* @__PURE__ */ jsx45(StnLoadingSkeletonLine, { width: "medium" }),
5599
+ /* @__PURE__ */ jsx45(StnLoadingSkeletonLine, { width: "short" })
5447
5600
  ] })
5448
5601
  ]
5449
5602
  }
5450
5603
  );
5451
5604
  }
5452
5605
  function StnLoadingSkeletonWidget({ lines = 4, className, style, ...rest }) {
5453
- return /* @__PURE__ */ jsx44(
5606
+ return /* @__PURE__ */ jsx45(
5454
5607
  "div",
5455
5608
  {
5456
5609
  className: cn("stn-loading-skeleton", "stn-loading-skeleton--widget", className),
@@ -5458,12 +5611,12 @@ function StnLoadingSkeletonWidget({ lines = 4, className, style, ...rest }) {
5458
5611
  "aria-busy": "true",
5459
5612
  "aria-label": "\uB85C\uB529 \uC911",
5460
5613
  ...rest,
5461
- children: Array.from({ length: lines }, (_, i) => /* @__PURE__ */ jsx44(StnLoadingSkeletonLine, { width: i % 3 === 0 ? "short" : i % 2 === 0 ? "medium" : "full" }, i))
5614
+ children: Array.from({ length: lines }, (_, i) => /* @__PURE__ */ jsx45(StnLoadingSkeletonLine, { width: i % 3 === 0 ? "short" : i % 2 === 0 ? "medium" : "full" }, i))
5462
5615
  }
5463
5616
  );
5464
5617
  }
5465
5618
  function StnLoadingSkeletonTable({ rows = 5, cols = 4, className, style, ...rest }) {
5466
- return /* @__PURE__ */ jsx44(
5619
+ return /* @__PURE__ */ jsx45(
5467
5620
  "div",
5468
5621
  {
5469
5622
  className: cn("stn-loading-skeleton", "stn-loading-skeleton--table", className),
@@ -5471,7 +5624,7 @@ function StnLoadingSkeletonTable({ rows = 5, cols = 4, className, style, ...rest
5471
5624
  "aria-busy": "true",
5472
5625
  "aria-label": "\uD14C\uC774\uBE14 \uB85C\uB529 \uC911",
5473
5626
  ...rest,
5474
- children: Array.from({ length: rows }, (_, row) => /* @__PURE__ */ jsx44("div", { className: "stn-loading-skeleton__table-row", children: Array.from({ length: cols }, (_2, col) => /* @__PURE__ */ jsx44(StnLoadingSkeletonLine, {}, col)) }, row))
5627
+ children: Array.from({ length: rows }, (_, row) => /* @__PURE__ */ jsx45("div", { className: "stn-loading-skeleton__table-row", children: Array.from({ length: cols }, (_2, col) => /* @__PURE__ */ jsx45(StnLoadingSkeletonLine, {}, col)) }, row))
5475
5628
  }
5476
5629
  );
5477
5630
  }
@@ -5490,23 +5643,23 @@ function StnLoadingSkeletonRoot({
5490
5643
  ...rest
5491
5644
  }) {
5492
5645
  if (children != null) {
5493
- return /* @__PURE__ */ jsx44("div", { className: cn("stn-loading-skeleton", className), style, "aria-busy": "true", ...rest, children });
5646
+ return /* @__PURE__ */ jsx45("div", { className: cn("stn-loading-skeleton", className), style, "aria-busy": "true", ...rest, children });
5494
5647
  }
5495
5648
  const resolvedVariant = variant ?? "line";
5496
5649
  switch (resolvedVariant) {
5497
5650
  case "circle":
5498
- return /* @__PURE__ */ jsx44(StnLoadingSkeletonCircle, { size, className, style, ...rest });
5651
+ return /* @__PURE__ */ jsx45(StnLoadingSkeletonCircle, { size, className, style, ...rest });
5499
5652
  case "block":
5500
- return /* @__PURE__ */ jsx44(StnLoadingSkeletonBlock, { minHeight, className, style, ...rest });
5653
+ return /* @__PURE__ */ jsx45(StnLoadingSkeletonBlock, { minHeight, className, style, ...rest });
5501
5654
  case "profile":
5502
- return /* @__PURE__ */ jsx44(StnLoadingSkeletonProfile, { avatarSize: avatarSize ?? size, className, style, ...rest });
5655
+ return /* @__PURE__ */ jsx45(StnLoadingSkeletonProfile, { avatarSize: avatarSize ?? size, className, style, ...rest });
5503
5656
  case "widget":
5504
- return /* @__PURE__ */ jsx44(StnLoadingSkeletonWidget, { lines, className, style, ...rest });
5657
+ return /* @__PURE__ */ jsx45(StnLoadingSkeletonWidget, { lines, className, style, ...rest });
5505
5658
  case "table":
5506
- return /* @__PURE__ */ jsx44(StnLoadingSkeletonTable, { rows, cols, className, style, ...rest });
5659
+ return /* @__PURE__ */ jsx45(StnLoadingSkeletonTable, { rows, cols, className, style, ...rest });
5507
5660
  case "line":
5508
5661
  default:
5509
- return /* @__PURE__ */ jsx44(StnLoadingSkeletonLine, { width, className, style, ...rest });
5662
+ return /* @__PURE__ */ jsx45(StnLoadingSkeletonLine, { width, className, style, ...rest });
5510
5663
  }
5511
5664
  }
5512
5665
  var StnLoadingSkeleton = Object.assign(StnLoadingSkeletonRoot, {
@@ -5519,7 +5672,7 @@ var StnLoadingSkeleton = Object.assign(StnLoadingSkeletonRoot, {
5519
5672
  });
5520
5673
 
5521
5674
  // src/components/topology/StnTopologyRing.tsx
5522
- import { useId as useId14 } from "react";
5675
+ import { useId as useId15 } from "react";
5523
5676
 
5524
5677
  // src/components/topology/stnTopologyShared.ts
5525
5678
  var STN_TOPOLOGY_NODE_SHAPES = [
@@ -5627,7 +5780,7 @@ function ringOrbitRadius(orbit, ringCount, baseRadius, gap = 36) {
5627
5780
  }
5628
5781
 
5629
5782
  // src/components/topology/StnTopologyNodeMark.tsx
5630
- import { jsx as jsx45, jsxs as jsxs36 } from "react/jsx-runtime";
5783
+ import { jsx as jsx46, jsxs as jsxs37 } from "react/jsx-runtime";
5631
5784
  function renderTopologyIcon(icon, color, px) {
5632
5785
  if (!icon) return null;
5633
5786
  if (typeof icon !== "string") return icon;
@@ -5643,56 +5796,56 @@ function renderTopologyIcon(icon, color, px) {
5643
5796
  };
5644
5797
  switch (icon) {
5645
5798
  case "server":
5646
- return /* @__PURE__ */ jsxs36("svg", { ...iconProps, children: [
5647
- /* @__PURE__ */ jsx45("rect", { x: "2", y: "2", width: "20", height: "8", rx: "2", ry: "2" }),
5648
- /* @__PURE__ */ jsx45("rect", { x: "2", y: "14", width: "20", height: "8", rx: "2", ry: "2" }),
5649
- /* @__PURE__ */ jsx45("line", { x1: "6", y1: "6", x2: "6.01", y2: "6" }),
5650
- /* @__PURE__ */ jsx45("line", { x1: "6", y1: "18", x2: "6.01", y2: "18" })
5799
+ return /* @__PURE__ */ jsxs37("svg", { ...iconProps, children: [
5800
+ /* @__PURE__ */ jsx46("rect", { x: "2", y: "2", width: "20", height: "8", rx: "2", ry: "2" }),
5801
+ /* @__PURE__ */ jsx46("rect", { x: "2", y: "14", width: "20", height: "8", rx: "2", ry: "2" }),
5802
+ /* @__PURE__ */ jsx46("line", { x1: "6", y1: "6", x2: "6.01", y2: "6" }),
5803
+ /* @__PURE__ */ jsx46("line", { x1: "6", y1: "18", x2: "6.01", y2: "18" })
5651
5804
  ] });
5652
5805
  case "cloud":
5653
- return /* @__PURE__ */ jsx45("svg", { ...iconProps, children: /* @__PURE__ */ jsx45("path", { d: "M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z" }) });
5806
+ return /* @__PURE__ */ jsx46("svg", { ...iconProps, children: /* @__PURE__ */ jsx46("path", { d: "M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z" }) });
5654
5807
  case "ai":
5655
- return /* @__PURE__ */ jsxs36("svg", { ...iconProps, children: [
5656
- /* @__PURE__ */ jsx45("rect", { x: "4", y: "4", width: "16", height: "16", rx: "2" }),
5657
- /* @__PURE__ */ jsx45("rect", { x: "9", y: "9", width: "6", height: "6" }),
5658
- /* @__PURE__ */ jsx45("line", { x1: "9", y1: "1", x2: "9", y2: "4" }),
5659
- /* @__PURE__ */ jsx45("line", { x1: "15", y1: "1", x2: "15", y2: "4" }),
5660
- /* @__PURE__ */ jsx45("line", { x1: "9", y1: "20", x2: "9", y2: "23" }),
5661
- /* @__PURE__ */ jsx45("line", { x1: "15", y1: "20", x2: "15", y2: "23" }),
5662
- /* @__PURE__ */ jsx45("line", { x1: "20", y1: "9", x2: "23", y2: "9" }),
5663
- /* @__PURE__ */ jsx45("line", { x1: "20", y1: "14", x2: "23", y2: "14" }),
5664
- /* @__PURE__ */ jsx45("line", { x1: "1", y1: "9", x2: "4", y2: "9" }),
5665
- /* @__PURE__ */ jsx45("line", { x1: "1", y1: "14", x2: "4", y2: "14" })
5808
+ return /* @__PURE__ */ jsxs37("svg", { ...iconProps, children: [
5809
+ /* @__PURE__ */ jsx46("rect", { x: "4", y: "4", width: "16", height: "16", rx: "2" }),
5810
+ /* @__PURE__ */ jsx46("rect", { x: "9", y: "9", width: "6", height: "6" }),
5811
+ /* @__PURE__ */ jsx46("line", { x1: "9", y1: "1", x2: "9", y2: "4" }),
5812
+ /* @__PURE__ */ jsx46("line", { x1: "15", y1: "1", x2: "15", y2: "4" }),
5813
+ /* @__PURE__ */ jsx46("line", { x1: "9", y1: "20", x2: "9", y2: "23" }),
5814
+ /* @__PURE__ */ jsx46("line", { x1: "15", y1: "20", x2: "15", y2: "23" }),
5815
+ /* @__PURE__ */ jsx46("line", { x1: "20", y1: "9", x2: "23", y2: "9" }),
5816
+ /* @__PURE__ */ jsx46("line", { x1: "20", y1: "14", x2: "23", y2: "14" }),
5817
+ /* @__PURE__ */ jsx46("line", { x1: "1", y1: "9", x2: "4", y2: "9" }),
5818
+ /* @__PURE__ */ jsx46("line", { x1: "1", y1: "14", x2: "4", y2: "14" })
5666
5819
  ] });
5667
5820
  case "network":
5668
- return /* @__PURE__ */ jsxs36("svg", { ...iconProps, children: [
5669
- /* @__PURE__ */ jsx45("rect", { x: "2", y: "2", width: "6", height: "6", rx: "1" }),
5670
- /* @__PURE__ */ jsx45("rect", { x: "16", y: "2", width: "6", height: "6", rx: "1" }),
5671
- /* @__PURE__ */ jsx45("rect", { x: "9", y: "16", width: "6", height: "6", rx: "1" }),
5672
- /* @__PURE__ */ jsx45("line", { x1: "5", y1: "8", x2: "5", y2: "12" }),
5673
- /* @__PURE__ */ jsx45("line", { x1: "19", y1: "8", x2: "19", y2: "12" }),
5674
- /* @__PURE__ */ jsx45("line", { x1: "5", y1: "12", x2: "19", y2: "12" }),
5675
- /* @__PURE__ */ jsx45("line", { x1: "12", y1: "12", x2: "12", y2: "16" })
5821
+ return /* @__PURE__ */ jsxs37("svg", { ...iconProps, children: [
5822
+ /* @__PURE__ */ jsx46("rect", { x: "2", y: "2", width: "6", height: "6", rx: "1" }),
5823
+ /* @__PURE__ */ jsx46("rect", { x: "16", y: "2", width: "6", height: "6", rx: "1" }),
5824
+ /* @__PURE__ */ jsx46("rect", { x: "9", y: "16", width: "6", height: "6", rx: "1" }),
5825
+ /* @__PURE__ */ jsx46("line", { x1: "5", y1: "8", x2: "5", y2: "12" }),
5826
+ /* @__PURE__ */ jsx46("line", { x1: "19", y1: "8", x2: "19", y2: "12" }),
5827
+ /* @__PURE__ */ jsx46("line", { x1: "5", y1: "12", x2: "19", y2: "12" }),
5828
+ /* @__PURE__ */ jsx46("line", { x1: "12", y1: "12", x2: "12", y2: "16" })
5676
5829
  ] });
5677
5830
  case "shield":
5678
- return /* @__PURE__ */ jsx45("svg", { ...iconProps, children: /* @__PURE__ */ jsx45("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" }) });
5831
+ return /* @__PURE__ */ jsx46("svg", { ...iconProps, children: /* @__PURE__ */ jsx46("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" }) });
5679
5832
  case "user":
5680
- return /* @__PURE__ */ jsxs36("svg", { ...iconProps, children: [
5681
- /* @__PURE__ */ jsx45("path", { d: "M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2" }),
5682
- /* @__PURE__ */ jsx45("circle", { cx: "12", cy: "7", r: "4" })
5833
+ return /* @__PURE__ */ jsxs37("svg", { ...iconProps, children: [
5834
+ /* @__PURE__ */ jsx46("path", { d: "M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2" }),
5835
+ /* @__PURE__ */ jsx46("circle", { cx: "12", cy: "7", r: "4" })
5683
5836
  ] });
5684
5837
  case "database":
5685
- return /* @__PURE__ */ jsxs36("svg", { ...iconProps, children: [
5686
- /* @__PURE__ */ jsx45("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3" }),
5687
- /* @__PURE__ */ jsx45("path", { d: "M21 12c0 1.66-4 3-9 3s-9-1.34-9-3" }),
5688
- /* @__PURE__ */ jsx45("path", { d: "M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5" })
5838
+ return /* @__PURE__ */ jsxs37("svg", { ...iconProps, children: [
5839
+ /* @__PURE__ */ jsx46("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3" }),
5840
+ /* @__PURE__ */ jsx46("path", { d: "M21 12c0 1.66-4 3-9 3s-9-1.34-9-3" }),
5841
+ /* @__PURE__ */ jsx46("path", { d: "M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5" })
5689
5842
  ] });
5690
5843
  case "wifi":
5691
- return /* @__PURE__ */ jsxs36("svg", { ...iconProps, children: [
5692
- /* @__PURE__ */ jsx45("path", { d: "M5 12.55a11 11 0 0 1 14.08 0" }),
5693
- /* @__PURE__ */ jsx45("path", { d: "M1.42 9a16 16 0 0 1 21.16 0" }),
5694
- /* @__PURE__ */ jsx45("path", { d: "M8.53 16.11a6 6 0 0 1 6.95 0" }),
5695
- /* @__PURE__ */ jsx45("line", { x1: "12", y1: "20", x2: "12.01", y2: "20" })
5844
+ return /* @__PURE__ */ jsxs37("svg", { ...iconProps, children: [
5845
+ /* @__PURE__ */ jsx46("path", { d: "M5 12.55a11 11 0 0 1 14.08 0" }),
5846
+ /* @__PURE__ */ jsx46("path", { d: "M1.42 9a16 16 0 0 1 21.16 0" }),
5847
+ /* @__PURE__ */ jsx46("path", { d: "M8.53 16.11a6 6 0 0 1 6.95 0" }),
5848
+ /* @__PURE__ */ jsx46("line", { x1: "12", y1: "20", x2: "12.01", y2: "20" })
5696
5849
  ] });
5697
5850
  default:
5698
5851
  return null;
@@ -5710,11 +5863,11 @@ function NodeShape({
5710
5863
  }) {
5711
5864
  const filter = glow ? `drop-shadow(0 0 8px ${glow})` : "drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4))";
5712
5865
  if (shape === "circle") {
5713
- return /* @__PURE__ */ jsx45("circle", { cx: x, cy: y, r, fill, stroke, strokeWidth, style: { filter } });
5866
+ return /* @__PURE__ */ jsx46("circle", { cx: x, cy: y, r, fill, stroke, strokeWidth, style: { filter } });
5714
5867
  }
5715
5868
  if (shape === "square") {
5716
5869
  const size = r * 2;
5717
- return /* @__PURE__ */ jsx45(
5870
+ return /* @__PURE__ */ jsx46(
5718
5871
  "rect",
5719
5872
  {
5720
5873
  x: x - r,
@@ -5729,7 +5882,7 @@ function NodeShape({
5729
5882
  }
5730
5883
  );
5731
5884
  }
5732
- return /* @__PURE__ */ jsx45(
5885
+ return /* @__PURE__ */ jsx46(
5733
5886
  "polygon",
5734
5887
  {
5735
5888
  points: topologyShapePoints(shape, x, y, r),
@@ -5772,7 +5925,7 @@ function StnTopologyNodeMark({
5772
5925
  const countText = formatTopologyCount(count);
5773
5926
  const iconPx = metrics.icon;
5774
5927
  const showCornerBadge = !isCount && count != null && count !== "";
5775
- return /* @__PURE__ */ jsxs36(
5928
+ return /* @__PURE__ */ jsxs37(
5776
5929
  "g",
5777
5930
  {
5778
5931
  className: cn("stn-topology-node", selected && "stn-topology-node--selected", className),
@@ -5784,7 +5937,7 @@ function StnTopologyNodeMark({
5784
5937
  style: { cursor: onClick ? "pointer" : "default" },
5785
5938
  ...rest,
5786
5939
  children: [
5787
- isAlert && /* @__PURE__ */ jsxs36(
5940
+ isAlert && /* @__PURE__ */ jsxs37(
5788
5941
  "circle",
5789
5942
  {
5790
5943
  className: "stn-topology-node__pulse",
@@ -5796,13 +5949,13 @@ function StnTopologyNodeMark({
5796
5949
  strokeWidth: "1.5",
5797
5950
  opacity: "0.55",
5798
5951
  children: [
5799
- /* @__PURE__ */ jsx45("animate", { attributeName: "r", values: `${r + 4};${r + 12};${r + 4}`, dur: "2s", repeatCount: "indefinite" }),
5800
- /* @__PURE__ */ jsx45("animate", { attributeName: "opacity", values: "0.75;0.15;0.75", dur: "2s", repeatCount: "indefinite" })
5952
+ /* @__PURE__ */ jsx46("animate", { attributeName: "r", values: `${r + 4};${r + 12};${r + 4}`, dur: "2s", repeatCount: "indefinite" }),
5953
+ /* @__PURE__ */ jsx46("animate", { attributeName: "opacity", values: "0.75;0.15;0.75", dur: "2s", repeatCount: "indefinite" })
5801
5954
  ]
5802
5955
  }
5803
5956
  ),
5804
- selected && /* @__PURE__ */ jsx45("circle", { cx: x, cy: y, r: r + 6, fill: "none", stroke: "#00e5ff", strokeWidth: "1.5", strokeDasharray: "3 3" }),
5805
- /* @__PURE__ */ jsx45(
5957
+ selected && /* @__PURE__ */ jsx46("circle", { cx: x, cy: y, r: r + 6, fill: "none", stroke: "#00e5ff", strokeWidth: "1.5", strokeDasharray: "3 3" }),
5958
+ /* @__PURE__ */ jsx46(
5806
5959
  NodeShape,
5807
5960
  {
5808
5961
  shape,
@@ -5815,7 +5968,7 @@ function StnTopologyNodeMark({
5815
5968
  glow: isAlert || isCount ? tone.glow : ""
5816
5969
  }
5817
5970
  ),
5818
- isCount ? /* @__PURE__ */ jsx45(
5971
+ isCount ? /* @__PURE__ */ jsx46(
5819
5972
  "text",
5820
5973
  {
5821
5974
  x,
@@ -5828,10 +5981,10 @@ function StnTopologyNodeMark({
5828
5981
  style: { textShadow: "0 1px 2px rgba(0, 0, 0, 0.85)" },
5829
5982
  children: countText
5830
5983
  }
5831
- ) : /* @__PURE__ */ jsx45("g", { transform: `translate(${x - iconPx / 2}, ${y - iconPx / 2})`, children: renderTopologyIcon(icon, stroke, iconPx) }),
5832
- showCornerBadge && /* @__PURE__ */ jsxs36("g", { className: "stn-topology-node__badge", children: [
5833
- /* @__PURE__ */ jsx45("circle", { cx: x + r * 0.72, cy: y - r * 0.72, r: Math.max(6, r * 0.38), fill: stroke, stroke: "rgba(6,7,15,0.9)", strokeWidth: "1" }),
5834
- /* @__PURE__ */ jsx45(
5984
+ ) : /* @__PURE__ */ jsx46("g", { transform: `translate(${x - iconPx / 2}, ${y - iconPx / 2})`, children: renderTopologyIcon(icon, stroke, iconPx) }),
5985
+ showCornerBadge && /* @__PURE__ */ jsxs37("g", { className: "stn-topology-node__badge", children: [
5986
+ /* @__PURE__ */ jsx46("circle", { cx: x + r * 0.72, cy: y - r * 0.72, r: Math.max(6, r * 0.38), fill: stroke, stroke: "rgba(6,7,15,0.9)", strokeWidth: "1" }),
5987
+ /* @__PURE__ */ jsx46(
5835
5988
  "text",
5836
5989
  {
5837
5990
  x: x + r * 0.72,
@@ -5845,7 +5998,7 @@ function StnTopologyNodeMark({
5845
5998
  }
5846
5999
  )
5847
6000
  ] }),
5848
- showLabel && label && /* @__PURE__ */ jsx45(
6001
+ showLabel && label && /* @__PURE__ */ jsx46(
5849
6002
  "text",
5850
6003
  {
5851
6004
  x,
@@ -5858,7 +6011,7 @@ function StnTopologyNodeMark({
5858
6011
  children: label
5859
6012
  }
5860
6013
  ),
5861
- showStatus && resolvedStatusLabel && /* @__PURE__ */ jsxs36(
6014
+ showStatus && resolvedStatusLabel && /* @__PURE__ */ jsxs37(
5862
6015
  "text",
5863
6016
  {
5864
6017
  x,
@@ -5889,11 +6042,11 @@ function StnTopologyNodePreview({
5889
6042
  const r = STN_TOPOLOGY_NODE_SIZE[size].r;
5890
6043
  const w = width ?? r * 2 + (showLabel ? 88 : 28);
5891
6044
  const h = height ?? r * 2 + (showLabel || showStatus ? 56 : 28);
5892
- return /* @__PURE__ */ jsx45("svg", { className: "stn-topology-node-preview", width: w, height: h, viewBox: `0 0 ${w} ${h}`, overflow: "visible", children: /* @__PURE__ */ jsx45(StnTopologyNodeMark, { x: w / 2, y: h / 2, size, showLabel, showStatus, ...rest }) });
6045
+ return /* @__PURE__ */ jsx46("svg", { className: "stn-topology-node-preview", width: w, height: h, viewBox: `0 0 ${w} ${h}`, overflow: "visible", children: /* @__PURE__ */ jsx46(StnTopologyNodeMark, { x: w / 2, y: h / 2, size, showLabel, showStatus, ...rest }) });
5893
6046
  }
5894
6047
 
5895
6048
  // src/components/topology/StnTopologyRing.tsx
5896
- import { jsx as jsx46, jsxs as jsxs37 } from "react/jsx-runtime";
6049
+ import { jsx as jsx47, jsxs as jsxs38 } from "react/jsx-runtime";
5897
6050
  function StnTopologyRing({
5898
6051
  core = {
5899
6052
  title: "\uC5D0\uC2A4\uD2F0\uC5D4\uC778\uD3EC\uD14D",
@@ -5914,8 +6067,8 @@ function StnTopologyRing({
5914
6067
  style,
5915
6068
  ...rest
5916
6069
  }) {
5917
- const gradientId = useId14();
5918
- const coreGlowId = useId14();
6070
+ const gradientId = useId15();
6071
+ const coreGlowId = useId15();
5919
6072
  const safeRingCount = Math.max(1, ringCount);
5920
6073
  const radii = Array.from(
5921
6074
  { length: safeRingCount },
@@ -5952,17 +6105,17 @@ function StnTopologyRing({
5952
6105
  };
5953
6106
  });
5954
6107
  if (loading) {
5955
- return /* @__PURE__ */ jsx46(
6108
+ return /* @__PURE__ */ jsx47(
5956
6109
  "div",
5957
6110
  {
5958
6111
  className: cn("stn-topology-ring", "stn-topology-ring--loading", className),
5959
6112
  style,
5960
6113
  ...rest,
5961
- children: /* @__PURE__ */ jsx46("div", { className: "stn-topology-ring__loading-label", children: "\uD1A0\uD3F4\uB85C\uC9C0 \uB9C1 \uB370\uC774\uD130\uB97C \uBD88\uB7EC\uC624\uB294 \uC911..." })
6114
+ children: /* @__PURE__ */ jsx47("div", { className: "stn-topology-ring__loading-label", children: "\uD1A0\uD3F4\uB85C\uC9C0 \uB9C1 \uB370\uC774\uD130\uB97C \uBD88\uB7EC\uC624\uB294 \uC911..." })
5962
6115
  }
5963
6116
  );
5964
6117
  }
5965
- return /* @__PURE__ */ jsx46(
6118
+ return /* @__PURE__ */ jsx47(
5966
6119
  "div",
5967
6120
  {
5968
6121
  className: cn("stn-topology-ring", className),
@@ -5970,7 +6123,7 @@ function StnTopologyRing({
5970
6123
  "data-stn-topology-ring": true,
5971
6124
  "data-ring-count": safeRingCount,
5972
6125
  ...rest,
5973
- children: /* @__PURE__ */ jsxs37(
6126
+ children: /* @__PURE__ */ jsxs38(
5974
6127
  "svg",
5975
6128
  {
5976
6129
  className: "stn-topology-ring__svg",
@@ -5979,19 +6132,19 @@ function StnTopologyRing({
5979
6132
  viewBox: `0 0 ${vb} ${vb}`,
5980
6133
  overflow: "visible",
5981
6134
  children: [
5982
- /* @__PURE__ */ jsxs37("defs", { children: [
5983
- /* @__PURE__ */ jsxs37("radialGradient", { id: coreGlowId, cx: "50%", cy: "50%", r: "50%", children: [
5984
- /* @__PURE__ */ jsx46("stop", { offset: "0%", stopColor: "#722ed1", stopOpacity: "0.8" }),
5985
- /* @__PURE__ */ jsx46("stop", { offset: "100%", stopColor: "#120338", stopOpacity: "0" })
6135
+ /* @__PURE__ */ jsxs38("defs", { children: [
6136
+ /* @__PURE__ */ jsxs38("radialGradient", { id: coreGlowId, cx: "50%", cy: "50%", r: "50%", children: [
6137
+ /* @__PURE__ */ jsx47("stop", { offset: "0%", stopColor: "#722ed1", stopOpacity: "0.8" }),
6138
+ /* @__PURE__ */ jsx47("stop", { offset: "100%", stopColor: "#120338", stopOpacity: "0" })
5986
6139
  ] }),
5987
- /* @__PURE__ */ jsxs37("linearGradient", { id: gradientId, x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
5988
- /* @__PURE__ */ jsx46("stop", { offset: "0%", stopColor: "#00e5ff", stopOpacity: "0.4" }),
5989
- /* @__PURE__ */ jsx46("stop", { offset: "100%", stopColor: "#722ed1", stopOpacity: "0.4" })
6140
+ /* @__PURE__ */ jsxs38("linearGradient", { id: gradientId, x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
6141
+ /* @__PURE__ */ jsx47("stop", { offset: "0%", stopColor: "#00e5ff", stopOpacity: "0.4" }),
6142
+ /* @__PURE__ */ jsx47("stop", { offset: "100%", stopColor: "#722ed1", stopOpacity: "0.4" })
5990
6143
  ] })
5991
6144
  ] }),
5992
6145
  radii.map((r, idx) => {
5993
6146
  const isMain = idx + 1 === mainOrbit;
5994
- return /* @__PURE__ */ jsx46(
6147
+ return /* @__PURE__ */ jsx47(
5995
6148
  "circle",
5996
6149
  {
5997
6150
  cx: centerX,
@@ -6005,7 +6158,7 @@ function StnTopologyRing({
6005
6158
  `orbit-${idx}`
6006
6159
  );
6007
6160
  }),
6008
- connectionLineStyle !== "none" && calculatedNodes.map((node) => /* @__PURE__ */ jsx46(
6161
+ connectionLineStyle !== "none" && calculatedNodes.map((node) => /* @__PURE__ */ jsx47(
6009
6162
  "line",
6010
6163
  {
6011
6164
  x1: centerX,
@@ -6018,9 +6171,9 @@ function StnTopologyRing({
6018
6171
  },
6019
6172
  `line-${node.id}`
6020
6173
  )),
6021
- /* @__PURE__ */ jsxs37("g", { className: "stn-topology-ring__core", children: [
6022
- /* @__PURE__ */ jsx46("circle", { cx: centerX, cy: centerY, r: 54, fill: `url(#${coreGlowId})` }),
6023
- /* @__PURE__ */ jsx46(
6174
+ /* @__PURE__ */ jsxs38("g", { className: "stn-topology-ring__core", children: [
6175
+ /* @__PURE__ */ jsx47("circle", { cx: centerX, cy: centerY, r: 54, fill: `url(#${coreGlowId})` }),
6176
+ /* @__PURE__ */ jsx47(
6024
6177
  "circle",
6025
6178
  {
6026
6179
  cx: centerX,
@@ -6032,7 +6185,7 @@ function StnTopologyRing({
6032
6185
  style: { filter: "drop-shadow(0 0 12px rgba(114, 46, 209, 0.6))" }
6033
6186
  }
6034
6187
  ),
6035
- core.subTitle && /* @__PURE__ */ jsx46(
6188
+ core.subTitle && /* @__PURE__ */ jsx47(
6036
6189
  "text",
6037
6190
  {
6038
6191
  x: centerX,
@@ -6045,13 +6198,13 @@ function StnTopologyRing({
6045
6198
  children: core.subTitle
6046
6199
  }
6047
6200
  ),
6048
- core.title && /* @__PURE__ */ jsx46("text", { x: centerX, y: centerY + 8, textAnchor: "middle", fill: "#f0f2f5", fontSize: "10", fontWeight: "600", children: core.title }),
6049
- /* @__PURE__ */ jsxs37("text", { x: centerX, y: centerY + 22, textAnchor: "middle", fill: coreColor, fontSize: "9", fontWeight: "500", children: [
6201
+ core.title && /* @__PURE__ */ jsx47("text", { x: centerX, y: centerY + 8, textAnchor: "middle", fill: "#f0f2f5", fontSize: "10", fontWeight: "600", children: core.title }),
6202
+ /* @__PURE__ */ jsxs38("text", { x: centerX, y: centerY + 22, textAnchor: "middle", fill: coreColor, fontSize: "9", fontWeight: "500", children: [
6050
6203
  "\u25CF ",
6051
6204
  coreStatusLabel
6052
6205
  ] })
6053
6206
  ] }),
6054
- calculatedNodes.map((node) => /* @__PURE__ */ jsx46(
6207
+ calculatedNodes.map((node) => /* @__PURE__ */ jsx47(
6055
6208
  StnTopologyNodeMark,
6056
6209
  {
6057
6210
  x: node.x,
@@ -6079,8 +6232,8 @@ function StnTopologyRing({
6079
6232
  }
6080
6233
 
6081
6234
  // src/components/topology/StnTopologyGraph.tsx
6082
- import { useState as useState13 } from "react";
6083
- import { jsx as jsx47, jsxs as jsxs38 } from "react/jsx-runtime";
6235
+ import { useState as useState14 } from "react";
6236
+ import { jsx as jsx48, jsxs as jsxs39 } from "react/jsx-runtime";
6084
6237
  var DEFAULT_GRAPH_NODES = [
6085
6238
  { id: "n1", x: 200, y: 58, status: "minor", label: "GW-01", shape: "circle", content: "icon", icon: "wifi" },
6086
6239
  { id: "n2", x: 118, y: 118, status: "critical", label: "BACKUP", shape: "hexagon", content: "count", count: 4, pulse: true },
@@ -6114,12 +6267,12 @@ function StnTopologyGraph({
6114
6267
  style,
6115
6268
  ...rest
6116
6269
  }) {
6117
- const [viewMode, setViewMode] = useState13(defaultMode);
6270
+ const [viewMode, setViewMode] = useState14(defaultMode);
6118
6271
  if (loading) {
6119
- return /* @__PURE__ */ jsx47("div", { className: cn("stn-topology-graph", "stn-topology-graph--loading", className), style, ...rest, children: /* @__PURE__ */ jsx47("div", { className: "stn-topology-graph__loading-label", children: "\uD1A0\uD3F4\uB85C\uC9C0 \uCE94\uBC84\uC2A4 \uB370\uC774\uD130\uB97C \uBD88\uB7EC\uC624\uB294 \uC911..." }) });
6272
+ return /* @__PURE__ */ jsx48("div", { className: cn("stn-topology-graph", "stn-topology-graph--loading", className), style, ...rest, children: /* @__PURE__ */ jsx48("div", { className: "stn-topology-graph__loading-label", children: "\uD1A0\uD3F4\uB85C\uC9C0 \uCE94\uBC84\uC2A4 \uB370\uC774\uD130\uB97C \uBD88\uB7EC\uC624\uB294 \uC911..." }) });
6120
6273
  }
6121
6274
  const nodeMap = new Map(nodes.map((n) => [n.id, n]));
6122
- return /* @__PURE__ */ jsxs38(
6275
+ return /* @__PURE__ */ jsxs39(
6123
6276
  "div",
6124
6277
  {
6125
6278
  className: cn("stn-topology-graph", className),
@@ -6128,7 +6281,7 @@ function StnTopologyGraph({
6128
6281
  "data-view-mode": viewMode,
6129
6282
  ...rest,
6130
6283
  children: [
6131
- showModeToggle && /* @__PURE__ */ jsx47("div", { className: "stn-topology-graph__mode", children: /* @__PURE__ */ jsx47(
6284
+ showModeToggle && /* @__PURE__ */ jsx48("div", { className: "stn-topology-graph__mode", children: /* @__PURE__ */ jsx48(
6132
6285
  StnSegmented,
6133
6286
  {
6134
6287
  size: "sm",
@@ -6140,23 +6293,23 @@ function StnTopologyGraph({
6140
6293
  ]
6141
6294
  }
6142
6295
  ) }),
6143
- /* @__PURE__ */ jsxs38("svg", { className: "stn-topology-graph__svg", width: "100%", height: "100%", viewBox: "0 0 400 300", overflow: "visible", children: [
6144
- viewMode === "3D" ? /* @__PURE__ */ jsxs38("g", { opacity: "0.6", children: [
6145
- /* @__PURE__ */ jsx47("line", { x1: "60", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.06)", strokeDasharray: "3 3" }),
6146
- /* @__PURE__ */ jsx47("line", { x1: "130", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "3 3" }),
6147
- /* @__PURE__ */ jsx47("line", { x1: "200", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.14)", strokeDasharray: "3 3" }),
6148
- /* @__PURE__ */ jsx47("line", { x1: "270", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "3 3" }),
6149
- /* @__PURE__ */ jsx47("line", { x1: "340", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.06)", strokeDasharray: "3 3" }),
6150
- /* @__PURE__ */ jsx47("line", { x1: "100", y1: "230", x2: "300", y2: "230", stroke: "rgba(255,255,255,0.06)" }),
6151
- /* @__PURE__ */ jsx47("line", { x1: "130", y1: "190", x2: "270", y2: "190", stroke: "rgba(255,255,255,0.06)" }),
6152
- /* @__PURE__ */ jsx47("line", { x1: "160", y1: "140", x2: "240", y2: "140", stroke: "rgba(255,255,255,0.06)" })
6153
- ] }) : /* @__PURE__ */ jsxs38("g", { opacity: "0.3", children: [
6154
- /* @__PURE__ */ jsx47("line", { x1: "40", y1: "60", x2: "360", y2: "60", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
6155
- /* @__PURE__ */ jsx47("line", { x1: "40", y1: "150", x2: "360", y2: "150", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
6156
- /* @__PURE__ */ jsx47("line", { x1: "40", y1: "240", x2: "360", y2: "240", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
6157
- /* @__PURE__ */ jsx47("line", { x1: "100", y1: "20", x2: "100", y2: "280", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
6158
- /* @__PURE__ */ jsx47("line", { x1: "200", y1: "20", x2: "200", y2: "280", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
6159
- /* @__PURE__ */ jsx47("line", { x1: "300", y1: "20", x2: "300", y2: "280", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" })
6296
+ /* @__PURE__ */ jsxs39("svg", { className: "stn-topology-graph__svg", width: "100%", height: "100%", viewBox: "0 0 400 300", overflow: "visible", children: [
6297
+ viewMode === "3D" ? /* @__PURE__ */ jsxs39("g", { opacity: "0.6", children: [
6298
+ /* @__PURE__ */ jsx48("line", { x1: "60", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.06)", strokeDasharray: "3 3" }),
6299
+ /* @__PURE__ */ jsx48("line", { x1: "130", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "3 3" }),
6300
+ /* @__PURE__ */ jsx48("line", { x1: "200", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.14)", strokeDasharray: "3 3" }),
6301
+ /* @__PURE__ */ jsx48("line", { x1: "270", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "3 3" }),
6302
+ /* @__PURE__ */ jsx48("line", { x1: "340", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.06)", strokeDasharray: "3 3" }),
6303
+ /* @__PURE__ */ jsx48("line", { x1: "100", y1: "230", x2: "300", y2: "230", stroke: "rgba(255,255,255,0.06)" }),
6304
+ /* @__PURE__ */ jsx48("line", { x1: "130", y1: "190", x2: "270", y2: "190", stroke: "rgba(255,255,255,0.06)" }),
6305
+ /* @__PURE__ */ jsx48("line", { x1: "160", y1: "140", x2: "240", y2: "140", stroke: "rgba(255,255,255,0.06)" })
6306
+ ] }) : /* @__PURE__ */ jsxs39("g", { opacity: "0.3", children: [
6307
+ /* @__PURE__ */ jsx48("line", { x1: "40", y1: "60", x2: "360", y2: "60", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
6308
+ /* @__PURE__ */ jsx48("line", { x1: "40", y1: "150", x2: "360", y2: "150", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
6309
+ /* @__PURE__ */ jsx48("line", { x1: "40", y1: "240", x2: "360", y2: "240", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
6310
+ /* @__PURE__ */ jsx48("line", { x1: "100", y1: "20", x2: "100", y2: "280", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
6311
+ /* @__PURE__ */ jsx48("line", { x1: "200", y1: "20", x2: "200", y2: "280", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
6312
+ /* @__PURE__ */ jsx48("line", { x1: "300", y1: "20", x2: "300", y2: "280", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" })
6160
6313
  ] }),
6161
6314
  links.map((link, idx) => {
6162
6315
  const s = nodeMap.get(link.source);
@@ -6164,7 +6317,7 @@ function StnTopologyGraph({
6164
6317
  if (!s || !t) return null;
6165
6318
  const isAlert = s.status === "critical" || t.status === "critical" || link.status === "critical";
6166
6319
  const strokeColor = isAlert ? "rgba(255, 77, 79, 0.65)" : "rgba(255, 255, 255, 0.2)";
6167
- return /* @__PURE__ */ jsx47(
6320
+ return /* @__PURE__ */ jsx48(
6168
6321
  "line",
6169
6322
  {
6170
6323
  x1: s.x,
@@ -6181,7 +6334,7 @@ function StnTopologyGraph({
6181
6334
  nodes.map((node) => {
6182
6335
  const status = node.status ?? "normal";
6183
6336
  const isCore = Boolean(node.isCore);
6184
- return /* @__PURE__ */ jsx47(
6337
+ return /* @__PURE__ */ jsx48(
6185
6338
  StnTopologyNodeMark,
6186
6339
  {
6187
6340
  x: node.x,
@@ -6204,17 +6357,17 @@ function StnTopologyGraph({
6204
6357
  );
6205
6358
  })
6206
6359
  ] }),
6207
- showMinimap && /* @__PURE__ */ jsxs38("div", { className: "stn-topology-graph__minimap", children: [
6208
- /* @__PURE__ */ jsxs38("div", { className: "stn-topology-graph__minimap-head", children: [
6209
- /* @__PURE__ */ jsx47("span", { children: "\uBBF8\uB9AC\uBCF4\uAE30" }),
6210
- /* @__PURE__ */ jsx47("span", { children: "\u2014" })
6360
+ showMinimap && /* @__PURE__ */ jsxs39("div", { className: "stn-topology-graph__minimap", children: [
6361
+ /* @__PURE__ */ jsxs39("div", { className: "stn-topology-graph__minimap-head", children: [
6362
+ /* @__PURE__ */ jsx48("span", { children: "\uBBF8\uB9AC\uBCF4\uAE30" }),
6363
+ /* @__PURE__ */ jsx48("span", { children: "\u2014" })
6211
6364
  ] }),
6212
- /* @__PURE__ */ jsxs38("svg", { width: "100%", height: "40", viewBox: "0 0 100 50", children: [
6213
- /* @__PURE__ */ jsx47("polyline", { points: "50,10 40,25 50,40 60,30", fill: "none", stroke: "rgba(255,77,79,0.5)", strokeWidth: "1" }),
6214
- /* @__PURE__ */ jsx47("circle", { cx: "50", cy: "10", r: "2", fill: STN_TOPOLOGY_STATUS_COLORS.critical.main }),
6215
- /* @__PURE__ */ jsx47("circle", { cx: "40", cy: "25", r: "2.5", fill: STN_TOPOLOGY_STATUS_COLORS.critical.main }),
6216
- /* @__PURE__ */ jsx47("circle", { cx: "50", cy: "40", r: "2", fill: "#00e5ff" }),
6217
- /* @__PURE__ */ jsx47("circle", { cx: "60", cy: "30", r: "2", fill: STN_TOPOLOGY_STATUS_COLORS.normal.main })
6365
+ /* @__PURE__ */ jsxs39("svg", { width: "100%", height: "40", viewBox: "0 0 100 50", children: [
6366
+ /* @__PURE__ */ jsx48("polyline", { points: "50,10 40,25 50,40 60,30", fill: "none", stroke: "rgba(255,77,79,0.5)", strokeWidth: "1" }),
6367
+ /* @__PURE__ */ jsx48("circle", { cx: "50", cy: "10", r: "2", fill: STN_TOPOLOGY_STATUS_COLORS.critical.main }),
6368
+ /* @__PURE__ */ jsx48("circle", { cx: "40", cy: "25", r: "2.5", fill: STN_TOPOLOGY_STATUS_COLORS.critical.main }),
6369
+ /* @__PURE__ */ jsx48("circle", { cx: "50", cy: "40", r: "2", fill: "#00e5ff" }),
6370
+ /* @__PURE__ */ jsx48("circle", { cx: "60", cy: "30", r: "2", fill: STN_TOPOLOGY_STATUS_COLORS.normal.main })
6218
6371
  ] })
6219
6372
  ] })
6220
6373
  ]
@@ -6223,7 +6376,7 @@ function StnTopologyGraph({
6223
6376
  }
6224
6377
 
6225
6378
  // src/components/StnWidget.tsx
6226
- import { Fragment as Fragment5, jsx as jsx48, jsxs as jsxs39 } from "react/jsx-runtime";
6379
+ import { Fragment as Fragment5, jsx as jsx49, jsxs as jsxs40 } from "react/jsx-runtime";
6227
6380
  var SHELL_PUB_CLASS = {
6228
6381
  card: "",
6229
6382
  "fault-panel": "",
@@ -6306,20 +6459,20 @@ function StnWidgetPeriodText({
6306
6459
  className,
6307
6460
  ...rest
6308
6461
  }) {
6309
- return /* @__PURE__ */ jsx48("span", { className: cn("stn-widget__period-text", className), ...rest, children });
6462
+ return /* @__PURE__ */ jsx49("span", { className: cn("stn-widget__period-text", className), ...rest, children });
6310
6463
  }
6311
6464
  function StnWidgetPeriodSelect({
6312
6465
  label,
6313
6466
  className,
6314
6467
  ...rest
6315
6468
  }) {
6316
- return /* @__PURE__ */ jsx48(
6469
+ return /* @__PURE__ */ jsx49(
6317
6470
  StnButton,
6318
6471
  {
6319
6472
  variant: "ghost",
6320
6473
  size: "sm",
6321
6474
  shape: "square",
6322
- icon: /* @__PURE__ */ jsx48(StnIcon, { name: "line/chevron-down" }),
6475
+ icon: /* @__PURE__ */ jsx49(StnIcon, { name: "line/chevron-down" }),
6323
6476
  iconPosition: "right",
6324
6477
  className,
6325
6478
  ...rest,
@@ -6336,26 +6489,26 @@ function StnWidgetPeriodPager({
6336
6489
  nextLabel = "\uB2E4\uC74C",
6337
6490
  ...rest
6338
6491
  }) {
6339
- return /* @__PURE__ */ jsxs39("div", { className: cn("stn-widget__period-pager", className), ...rest, children: [
6340
- /* @__PURE__ */ jsx48(
6492
+ return /* @__PURE__ */ jsxs40("div", { className: cn("stn-widget__period-pager", className), ...rest, children: [
6493
+ /* @__PURE__ */ jsx49(
6341
6494
  StnButton,
6342
6495
  {
6343
6496
  variant: "ghost",
6344
6497
  size: "sm",
6345
6498
  shape: "square",
6346
- icon: /* @__PURE__ */ jsx48(StnIcon, { name: "line/arrow-narrow-left" }),
6499
+ icon: /* @__PURE__ */ jsx49(StnIcon, { name: "line/arrow-narrow-left" }),
6347
6500
  onClick: onPrev,
6348
6501
  "aria-label": prevLabel
6349
6502
  }
6350
6503
  ),
6351
- /* @__PURE__ */ jsx48("span", { className: "stn-widget__period-pager-label", children: label }),
6352
- /* @__PURE__ */ jsx48(
6504
+ /* @__PURE__ */ jsx49("span", { className: "stn-widget__period-pager-label", children: label }),
6505
+ /* @__PURE__ */ jsx49(
6353
6506
  StnButton,
6354
6507
  {
6355
6508
  variant: "ghost",
6356
6509
  size: "sm",
6357
6510
  shape: "square",
6358
- icon: /* @__PURE__ */ jsx48(StnIcon, { name: "line/arrow-narrow-right" }),
6511
+ icon: /* @__PURE__ */ jsx49(StnIcon, { name: "line/arrow-narrow-right" }),
6359
6512
  onClick: onNext,
6360
6513
  "aria-label": nextLabel
6361
6514
  }
@@ -6375,18 +6528,18 @@ function StnWidgetHeaderInner({
6375
6528
  wrapActions = false
6376
6529
  }) {
6377
6530
  const resolvedIconName = headerIconName ?? defaultHeaderIconName(appearance);
6378
- return /* @__PURE__ */ jsxs39("div", { className: cn("stn-widget__head", wrapActions && "stn-widget__head--wrap"), children: [
6379
- /* @__PURE__ */ jsxs39("div", { className: "stn-widget__head-start", children: [
6380
- showHeaderIcon ? headerIcon != null ? /* @__PURE__ */ jsx48(StnWidgetInsetIcon, { size: "sm", children: headerIcon }) : resolvedIconName ? /* @__PURE__ */ jsx48(StnWidgetInsetIcon, { size: "sm", icon: resolvedIconName }) : null : null,
6381
- title != null || badge != null ? typeof title === "string" || title == null ? /* @__PURE__ */ jsxs39("div", { className: "stn-widget__title-wrap", children: [
6382
- typeof title === "string" ? /* @__PURE__ */ jsx48("p", { className: "stn-widget__title", title, children: title }) : null,
6531
+ return /* @__PURE__ */ jsxs40("div", { className: cn("stn-widget__head", wrapActions && "stn-widget__head--wrap"), children: [
6532
+ /* @__PURE__ */ jsxs40("div", { className: "stn-widget__head-start", children: [
6533
+ showHeaderIcon ? headerIcon != null ? /* @__PURE__ */ jsx49(StnWidgetInsetIcon, { size: "sm", children: headerIcon }) : resolvedIconName ? /* @__PURE__ */ jsx49(StnWidgetInsetIcon, { size: "sm", icon: resolvedIconName }) : null : null,
6534
+ title != null || badge != null ? typeof title === "string" || title == null ? /* @__PURE__ */ jsxs40("div", { className: "stn-widget__title-wrap", children: [
6535
+ typeof title === "string" ? /* @__PURE__ */ jsx49("p", { className: "stn-widget__title", title, children: title }) : null,
6383
6536
  badge
6384
- ] }) : /* @__PURE__ */ jsxs39(Fragment5, { children: [
6537
+ ] }) : /* @__PURE__ */ jsxs40(Fragment5, { children: [
6385
6538
  title,
6386
6539
  badge
6387
6540
  ] }) : null
6388
6541
  ] }),
6389
- titleActions != null || periodActions != null || periodLabel != null && periodLabel !== "" ? /* @__PURE__ */ jsx48("div", { className: "stn-widget__head-end", children: titleActions ?? (periodActions != null ? periodActions : periodLabel != null && periodLabel !== "" ? /* @__PURE__ */ jsx48(StnWidgetPeriodText, { children: periodLabel }) : null) }) : null
6542
+ titleActions != null || periodActions != null || periodLabel != null && periodLabel !== "" ? /* @__PURE__ */ jsx49("div", { className: "stn-widget__head-end", children: titleActions ?? (periodActions != null ? periodActions : periodLabel != null && periodLabel !== "" ? /* @__PURE__ */ jsx49(StnWidgetPeriodText, { children: periodLabel }) : null) }) : null
6390
6543
  ] });
6391
6544
  }
6392
6545
  function StnWidgetRoot({
@@ -6466,10 +6619,10 @@ function StnWidgetRoot({
6466
6619
  ...rest
6467
6620
  };
6468
6621
  const slots = partitionWidgetChildren(children);
6469
- const propHead = shell === "fault-panel" && !isFigmaShell ? title != null || titleActions ? /* @__PURE__ */ jsxs39("div", { className: "app_bar", children: [
6470
- /* @__PURE__ */ jsx48("div", { className: "fault_title_box", children: typeof title === "string" ? /* @__PURE__ */ jsx48("span", { children: title }) : title }),
6622
+ const propHead = shell === "fault-panel" && !isFigmaShell ? title != null || titleActions ? /* @__PURE__ */ jsxs40("div", { className: "app_bar", children: [
6623
+ /* @__PURE__ */ jsx49("div", { className: "fault_title_box", children: typeof title === "string" ? /* @__PURE__ */ jsx49("span", { children: title }) : title }),
6471
6624
  titleActions
6472
- ] }) : null : shell === "board" || shell === "board-item" ? title != null ? /* @__PURE__ */ jsx48("div", { className: "stn-widget__head", children: typeof title === "string" ? /* @__PURE__ */ jsx48("p", { children: title }) : title }) : null : isFigmaShell ? /* @__PURE__ */ jsx48(
6625
+ ] }) : null : shell === "board" || shell === "board-item" ? title != null ? /* @__PURE__ */ jsx49("div", { className: "stn-widget__head", children: typeof title === "string" ? /* @__PURE__ */ jsx49("p", { children: title }) : title }) : null : isFigmaShell ? /* @__PURE__ */ jsx49(
6473
6626
  StnWidgetHeaderInner,
6474
6627
  {
6475
6628
  appearance,
@@ -6483,48 +6636,48 @@ function StnWidgetRoot({
6483
6636
  headerIcon,
6484
6637
  wrapActions
6485
6638
  }
6486
- ) : title != null || badge != null || titleActions ? /* @__PURE__ */ jsxs39("div", { className: cn("stn-widget__head", wrapActions && "stn-widget__head--wrap"), children: [
6487
- /* @__PURE__ */ jsxs39("div", { className: "stn-widget__head-start", children: [
6488
- title != null ? typeof title === "string" ? /* @__PURE__ */ jsx48("p", { className: "stn-widget__title", title, children: title }) : title : null,
6639
+ ) : title != null || badge != null || titleActions ? /* @__PURE__ */ jsxs40("div", { className: cn("stn-widget__head", wrapActions && "stn-widget__head--wrap"), children: [
6640
+ /* @__PURE__ */ jsxs40("div", { className: "stn-widget__head-start", children: [
6641
+ title != null ? typeof title === "string" ? /* @__PURE__ */ jsx49("p", { className: "stn-widget__title", title, children: title }) : title : null,
6489
6642
  badge
6490
6643
  ] }),
6491
- titleActions ? /* @__PURE__ */ jsx48("div", { className: "stn-widget__head-end", children: titleActions }) : null
6644
+ titleActions ? /* @__PURE__ */ jsx49("div", { className: "stn-widget__head-end", children: titleActions }) : null
6492
6645
  ] }) : null;
6493
6646
  const head = slots.headers.length > 0 ? slots.headers : propHead;
6494
6647
  const autoBodyClass = shell === "fault-panel" && !isFigmaShell ? "table_area" : void 0;
6495
6648
  let body;
6496
6649
  if (loading) {
6497
- body = /* @__PURE__ */ jsx48("div", { className: cn("stn-widget__body", autoBodyClass, contentClassName), children: /* @__PURE__ */ jsx48(StnWidgetLoading, {}) });
6650
+ body = /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__body", autoBodyClass, contentClassName), children: /* @__PURE__ */ jsx49(StnWidgetLoading, {}) });
6498
6651
  } else if (slots.bodies.length > 0) {
6499
6652
  body = slots.bodies.map(
6500
6653
  (slot, index) => mergeBodySlot(slot, index === 0 ? slots.rest : [], contentClassName, isEmptyState, emptyStyle)
6501
6654
  );
6502
6655
  } else {
6503
- body = /* @__PURE__ */ jsx48("div", { className: cn("stn-widget__body", autoBodyClass, isEmptyState && "empty", contentClassName), style: emptyStyle, children: slots.rest });
6656
+ body = /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__body", autoBodyClass, isEmptyState && "empty", contentClassName), style: emptyStyle, children: slots.rest });
6504
6657
  }
6505
- const footerNode = slots.footers.length > 0 ? slots.footers : footer ? /* @__PURE__ */ jsx48("div", { className: "stn-widget__footer", children: footer }) : null;
6506
- const card = /* @__PURE__ */ jsxs39("div", { ...rootProps, children: [
6507
- isFigmaShell && appearanceShell === "overlay" ? /* @__PURE__ */ jsx48("div", { className: "stn-widget__map-deco", "aria-hidden": true }) : null,
6658
+ const footerNode = slots.footers.length > 0 ? slots.footers : footer ? /* @__PURE__ */ jsx49("div", { className: "stn-widget__footer", children: footer }) : null;
6659
+ const card = /* @__PURE__ */ jsxs40("div", { ...rootProps, children: [
6660
+ isFigmaShell && appearanceShell === "overlay" ? /* @__PURE__ */ jsx49("div", { className: "stn-widget__map-deco", "aria-hidden": true }) : null,
6508
6661
  head,
6509
6662
  body,
6510
6663
  footerNode
6511
6664
  ] });
6512
6665
  if (banner == null || banner === false) return card;
6513
- return /* @__PURE__ */ jsxs39("div", { className: "stn-widget-anchor", children: [
6666
+ return /* @__PURE__ */ jsxs40("div", { className: "stn-widget-anchor", children: [
6514
6667
  withBannerSeverity(banner, bannerSeverityFromStatus(status, isCritical)),
6515
6668
  card
6516
6669
  ] });
6517
6670
  }
6518
6671
  function StnWidgetHeader({ className, wrap = false, children, ...rest }) {
6519
- return /* @__PURE__ */ jsx48("div", { className: cn("stn-widget__head", wrap && "stn-widget__head--wrap", className), ...rest, children });
6672
+ return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__head", wrap && "stn-widget__head--wrap", className), ...rest, children });
6520
6673
  }
6521
6674
  markWidgetSlot(StnWidgetHeader, "header");
6522
6675
  function StnWidgetTitle({ className, children, title, ...rest }) {
6523
6676
  const titleAttr = title ?? (typeof children === "string" ? children : void 0);
6524
- return /* @__PURE__ */ jsx48("p", { className: cn("stn-widget__title", className), title: titleAttr, ...rest, children });
6677
+ return /* @__PURE__ */ jsx49("p", { className: cn("stn-widget__title", className), title: titleAttr, ...rest, children });
6525
6678
  }
6526
6679
  function StnWidgetActions({ className, children, ...rest }) {
6527
- return /* @__PURE__ */ jsx48("div", { className: cn("stn-widget__head-end", className), ...rest, children });
6680
+ return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__head-end", className), ...rest, children });
6528
6681
  }
6529
6682
  function StnWidgetBody({
6530
6683
  padding,
@@ -6538,7 +6691,7 @@ function StnWidgetBody({
6538
6691
  }) {
6539
6692
  const emptyText = typeof empty === "string" ? empty : void 0;
6540
6693
  const mergedStyle = emptyText ? { ["--stn-widget-empty-text"]: `"${emptyText}"`, ...style } : style;
6541
- return /* @__PURE__ */ jsx48(
6694
+ return /* @__PURE__ */ jsx49(
6542
6695
  "div",
6543
6696
  {
6544
6697
  className: cn(
@@ -6560,7 +6713,7 @@ function StnWidgetBody({
6560
6713
  }
6561
6714
  markWidgetSlot(StnWidgetBody, "body");
6562
6715
  function StnWidgetChartSlot({ label = "select chart", className, children, ...rest }) {
6563
- return /* @__PURE__ */ jsx48("div", { className: cn("stn-widget__chart-slot", className), "data-stn-widget-chart-slot": true, ...rest, children: children ?? /* @__PURE__ */ jsx48("span", { className: "stn-widget__chart-slot-label", children: label }) });
6716
+ return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__chart-slot", className), "data-stn-widget-chart-slot": true, ...rest, children: children ?? /* @__PURE__ */ jsx49("span", { className: "stn-widget__chart-slot-label", children: label }) });
6564
6717
  }
6565
6718
  function StnWidgetStatusItem({
6566
6719
  label,
@@ -6572,9 +6725,9 @@ function StnWidgetStatusItem({
6572
6725
  ...rest
6573
6726
  }) {
6574
6727
  const grade = gradeProp ?? (status === "warning" ? "minor" : status) ?? "normal";
6575
- return /* @__PURE__ */ jsxs39("div", { className: cn("stn-widget__status-item", className), ...rest, children: [
6576
- /* @__PURE__ */ jsxs39("span", { className: "stn-widget__status-label", children: [
6577
- showDot ? /* @__PURE__ */ jsx48(
6728
+ return /* @__PURE__ */ jsxs40("div", { className: cn("stn-widget__status-item", className), ...rest, children: [
6729
+ /* @__PURE__ */ jsxs40("span", { className: "stn-widget__status-label", children: [
6730
+ showDot ? /* @__PURE__ */ jsx49(
6578
6731
  "span",
6579
6732
  {
6580
6733
  className: cn("stn-widget__status-dot", `stn-widget__status-dot--${grade}`),
@@ -6583,23 +6736,23 @@ function StnWidgetStatusItem({
6583
6736
  ) : null,
6584
6737
  label
6585
6738
  ] }),
6586
- /* @__PURE__ */ jsx48("span", { className: "stn-widget__status-val", children: value })
6739
+ /* @__PURE__ */ jsx49("span", { className: "stn-widget__status-val", children: value })
6587
6740
  ] });
6588
6741
  }
6589
6742
  function StnWidgetStatusList({ className, children, ...rest }) {
6590
- return /* @__PURE__ */ jsx48("div", { className: cn("stn-widget__status-list", className), ...rest, children });
6743
+ return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__status-list", className), ...rest, children });
6591
6744
  }
6592
6745
  function StnWidgetStatGroup({ className, children, ...rest }) {
6593
- return /* @__PURE__ */ jsx48("div", { className: cn("stn-widget__stat-group", className), ...rest, children });
6746
+ return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__stat-group", className), ...rest, children });
6594
6747
  }
6595
6748
  function StnWidgetStatCard({ label, count, className, ...rest }) {
6596
- return /* @__PURE__ */ jsxs39("div", { className: cn("stn-widget__stat-card", className), ...rest, children: [
6597
- /* @__PURE__ */ jsx48("span", { className: "stn-widget__stat-label", children: label }),
6598
- /* @__PURE__ */ jsx48("span", { className: "stn-widget__stat-count", children: count })
6749
+ return /* @__PURE__ */ jsxs40("div", { className: cn("stn-widget__stat-card", className), ...rest, children: [
6750
+ /* @__PURE__ */ jsx49("span", { className: "stn-widget__stat-label", children: label }),
6751
+ /* @__PURE__ */ jsx49("span", { className: "stn-widget__stat-count", children: count })
6599
6752
  ] });
6600
6753
  }
6601
6754
  function StnWidgetPlaceholder({ label = "\uCF58\uD150\uCE20 \uC601\uC5ED" }) {
6602
- return /* @__PURE__ */ jsx48("div", { className: "stn-widget__placeholder", children: label });
6755
+ return /* @__PURE__ */ jsx49("div", { className: "stn-widget__placeholder", children: label });
6603
6756
  }
6604
6757
  var GRADE_ROW_ICON = {
6605
6758
  critical: "fill/alert4",
@@ -6622,42 +6775,42 @@ function StnWidgetGradeRow({
6622
6775
  }) {
6623
6776
  const clamped = Math.max(0, Math.min(100, percent));
6624
6777
  const resolvedPercentLabel = percentLabel ?? formatGradePercent(clamped);
6625
- return /* @__PURE__ */ jsxs39("div", { className: cn("stn-widget__grade-row", `stn-widget__grade-row--${grade}`, className), ...rest, children: [
6626
- /* @__PURE__ */ jsxs39("div", { className: "stn-widget__grade-row-left", children: [
6627
- /* @__PURE__ */ jsxs39("span", { className: "stn-widget__grade-row-label", children: [
6628
- /* @__PURE__ */ jsx48(StnIcon, { name: GRADE_ROW_ICON[grade], size: 20, className: "stn-widget__grade-row-icon", "aria-hidden": true }),
6778
+ return /* @__PURE__ */ jsxs40("div", { className: cn("stn-widget__grade-row", `stn-widget__grade-row--${grade}`, className), ...rest, children: [
6779
+ /* @__PURE__ */ jsxs40("div", { className: "stn-widget__grade-row-left", children: [
6780
+ /* @__PURE__ */ jsxs40("span", { className: "stn-widget__grade-row-label", children: [
6781
+ /* @__PURE__ */ jsx49(StnIcon, { name: GRADE_ROW_ICON[grade], size: 20, className: "stn-widget__grade-row-icon", "aria-hidden": true }),
6629
6782
  label
6630
6783
  ] }),
6631
- /* @__PURE__ */ jsx48("div", { className: "stn-widget__grade-row-track", "aria-hidden": true, children: /* @__PURE__ */ jsx48("span", { className: "stn-widget__grade-row-fill", style: { width: `${clamped}%` } }) })
6784
+ /* @__PURE__ */ jsx49("div", { className: "stn-widget__grade-row-track", "aria-hidden": true, children: /* @__PURE__ */ jsx49("span", { className: "stn-widget__grade-row-fill", style: { width: `${clamped}%` } }) })
6632
6785
  ] }),
6633
- /* @__PURE__ */ jsxs39("div", { className: "stn-widget__grade-row-right", children: [
6634
- /* @__PURE__ */ jsx48("span", { className: "stn-widget__grade-row-value", children: value }),
6635
- /* @__PURE__ */ jsx48("span", { className: "stn-widget__grade-row-percent", children: resolvedPercentLabel })
6786
+ /* @__PURE__ */ jsxs40("div", { className: "stn-widget__grade-row-right", children: [
6787
+ /* @__PURE__ */ jsx49("span", { className: "stn-widget__grade-row-value", children: value }),
6788
+ /* @__PURE__ */ jsx49("span", { className: "stn-widget__grade-row-percent", children: resolvedPercentLabel })
6636
6789
  ] })
6637
6790
  ] });
6638
6791
  }
6639
6792
  function StnWidgetGradeRowList({ className, children, ...rest }) {
6640
- return /* @__PURE__ */ jsx48("div", { className: cn("stn-widget__grade-row-list", className), ...rest, children });
6793
+ return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__grade-row-list", className), ...rest, children });
6641
6794
  }
6642
6795
  function StnWidgetFooter({ className, children, ...rest }) {
6643
- return /* @__PURE__ */ jsx48("div", { className: cn("stn-widget__footer", className), ...rest, children });
6796
+ return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__footer", className), ...rest, children });
6644
6797
  }
6645
6798
  markWidgetSlot(StnWidgetFooter, "footer");
6646
6799
  function StnWidgetEmpty({ className, children, ...rest }) {
6647
- return /* @__PURE__ */ jsxs39("div", { className: cn("stn-widget__empty", className), ...rest, children: [
6648
- /* @__PURE__ */ jsxs39("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", style: { opacity: 0.6 }, children: [
6649
- /* @__PURE__ */ jsx48("circle", { cx: "12", cy: "12", r: "10" }),
6650
- /* @__PURE__ */ jsx48("line", { x1: "12", y1: "8", x2: "12", y2: "12" }),
6651
- /* @__PURE__ */ jsx48("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })
6800
+ return /* @__PURE__ */ jsxs40("div", { className: cn("stn-widget__empty", className), ...rest, children: [
6801
+ /* @__PURE__ */ jsxs40("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", style: { opacity: 0.6 }, children: [
6802
+ /* @__PURE__ */ jsx49("circle", { cx: "12", cy: "12", r: "10" }),
6803
+ /* @__PURE__ */ jsx49("line", { x1: "12", y1: "8", x2: "12", y2: "12" }),
6804
+ /* @__PURE__ */ jsx49("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })
6652
6805
  ] }),
6653
- /* @__PURE__ */ jsx48("div", { children: children ?? "\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4." })
6806
+ /* @__PURE__ */ jsx49("div", { children: children ?? "\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4." })
6654
6807
  ] });
6655
6808
  }
6656
6809
  function StnWidgetLoading({ lines = 3, className, children, ...rest }) {
6657
- return /* @__PURE__ */ jsx48("div", { className: cn("stn-widget__loading", className), ...rest, children: children ?? /* @__PURE__ */ jsx48(StnLoadingSkeleton.Widget, { lines }) });
6810
+ return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__loading", className), ...rest, children: children ?? /* @__PURE__ */ jsx49(StnLoadingSkeleton.Widget, { lines }) });
6658
6811
  }
6659
6812
  function StnWidgetInsetIcon({ className, size = "sm", ...rest }) {
6660
- return /* @__PURE__ */ jsx48(StnIconBox, { size, className: cn("stn-widget__inset-icon", className), ...rest });
6813
+ return /* @__PURE__ */ jsx49(StnIconBox, { size, className: cn("stn-widget__inset-icon", className), ...rest });
6661
6814
  }
6662
6815
  var StnWidget = Object.assign(StnWidgetRoot, {
6663
6816
  Header: StnWidgetHeader,
@@ -6704,11 +6857,11 @@ import {
6704
6857
  // src/layouts/StnStack.tsx
6705
6858
  import {
6706
6859
  Children as Children3,
6707
- forwardRef as forwardRef25,
6860
+ forwardRef as forwardRef26,
6708
6861
  Fragment as Fragment6,
6709
6862
  isValidElement as isValidElement6
6710
6863
  } from "react";
6711
- import { jsx as jsx49, jsxs as jsxs40 } from "react/jsx-runtime";
6864
+ import { jsx as jsx50, jsxs as jsxs41 } from "react/jsx-runtime";
6712
6865
  var BREAKPOINTS = ["xs", "sm", "md", "lg", "xl"];
6713
6866
  var DIRECTION_CLASS = /* @__PURE__ */ new Set(["row", "row-reverse", "column", "column-reverse"]);
6714
6867
  var STACK_SPACE_TOKENS = /* @__PURE__ */ new Set([2, 4, 6, 8, 10, 12, 14, 16, 20, 24, 32, 36, 40, 44, 48, 56, 64, 80, 84]);
@@ -6801,7 +6954,7 @@ function spacingClassesAndStyle(spacing) {
6801
6954
  }
6802
6955
  return { classes, inlineGap };
6803
6956
  }
6804
- var StnStack = forwardRef25(function StnStack2({
6957
+ var StnStack = forwardRef26(function StnStack2({
6805
6958
  component,
6806
6959
  as,
6807
6960
  direction = "column",
@@ -6831,12 +6984,12 @@ var StnStack = forwardRef25(function StnStack2({
6831
6984
  const validChildren = Children3.toArray(children).filter(Boolean);
6832
6985
  const renderedChildren = divider ? validChildren.map((child, index) => {
6833
6986
  const key = isValidElement6(child) && child.key != null ? child.key : index;
6834
- return /* @__PURE__ */ jsxs40(Fragment6, { children: [
6987
+ return /* @__PURE__ */ jsxs41(Fragment6, { children: [
6835
6988
  index > 0 ? divider : null,
6836
6989
  child
6837
6990
  ] }, key);
6838
6991
  }) : children;
6839
- return /* @__PURE__ */ jsx49(
6992
+ return /* @__PURE__ */ jsx50(
6840
6993
  Component,
6841
6994
  {
6842
6995
  ref,
@@ -6860,7 +7013,7 @@ var StnStack = forwardRef25(function StnStack2({
6860
7013
  });
6861
7014
 
6862
7015
  // src/patterns/dashboard/AlertCenterDashboard.tsx
6863
- import { jsx as jsx50, jsxs as jsxs41 } from "react/jsx-runtime";
7016
+ import { jsx as jsx51, jsxs as jsxs42 } from "react/jsx-runtime";
6864
7017
  var TOP5_ROWS = [
6865
7018
  { label: "\uADF8\uB791\uC2DC\uC544", percent: 80, value: "80\uAC74", grade: "critical" },
6866
7019
  { label: "\uC5F0\uB9BD\uC8FC\uD0DD 15\uC138\uB300", percent: 74, value: "74\uAC74", grade: "major" },
@@ -6869,7 +7022,7 @@ var TOP5_ROWS = [
6869
7022
  { label: "PRADA", percent: 68, value: "68\uAC74", grade: "default" }
6870
7023
  ];
6871
7024
  function AlertCenterDashboard({ className, appearance = "translucent", loading = false }) {
6872
- return /* @__PURE__ */ jsxs41(
7025
+ return /* @__PURE__ */ jsxs42(
6873
7026
  StnStack,
6874
7027
  {
6875
7028
  direction: "column",
@@ -6878,17 +7031,17 @@ function AlertCenterDashboard({ className, appearance = "translucent", loading =
6878
7031
  style: { flex: "1 1 0%", minHeight: 0, height: "100%", width: "100%" },
6879
7032
  "data-stn-dashboard": "alert-widgets",
6880
7033
  children: [
6881
- /* @__PURE__ */ jsx50(StnWidget, { title: "\uC2DC\uC124 \uD604\uD669", appearance, interactive: true, children: loading ? /* @__PURE__ */ jsx50(StnLoadingSkeleton.Widget, { lines: 3 }) : /* @__PURE__ */ jsxs41(StnWidget.StatusList, { children: [
6882
- /* @__PURE__ */ jsx50(StnWidget.StatusItem, { label: "PTN", value: "179", showDot: false }),
6883
- /* @__PURE__ */ jsx50(StnWidget.StatusItem, { label: "MSPP", value: "63", showDot: false }),
6884
- /* @__PURE__ */ jsx50(StnWidget.StatusItem, { label: "L3\uC2A4\uC704\uCE58", value: "27", showDot: false })
7034
+ /* @__PURE__ */ jsx51(StnWidget, { title: "\uC2DC\uC124 \uD604\uD669", appearance, interactive: true, children: loading ? /* @__PURE__ */ jsx51(StnLoadingSkeleton.Widget, { lines: 3 }) : /* @__PURE__ */ jsxs42(StnWidget.StatusList, { children: [
7035
+ /* @__PURE__ */ jsx51(StnWidget.StatusItem, { label: "PTN", value: "179", showDot: false }),
7036
+ /* @__PURE__ */ jsx51(StnWidget.StatusItem, { label: "MSPP", value: "63", showDot: false }),
7037
+ /* @__PURE__ */ jsx51(StnWidget.StatusItem, { label: "L3\uC2A4\uC704\uCE58", value: "27", showDot: false })
6885
7038
  ] }) }),
6886
- /* @__PURE__ */ jsx50(StnWidget, { title: "\uC7A5\uC560 \uD604\uD669", appearance, interactive: true, children: loading ? /* @__PURE__ */ jsx50(StnLoadingSkeleton.Widget, { lines: 3 }) : /* @__PURE__ */ jsxs41(StnWidget.StatusList, { children: [
6887
- /* @__PURE__ */ jsx50(StnWidget.StatusItem, { label: "Critical", value: "43", grade: "critical" }),
6888
- /* @__PURE__ */ jsx50(StnWidget.StatusItem, { label: "Major", value: "79", grade: "major" }),
6889
- /* @__PURE__ */ jsx50(StnWidget.StatusItem, { label: "Minor", value: "3", grade: "minor" })
7039
+ /* @__PURE__ */ jsx51(StnWidget, { title: "\uC7A5\uC560 \uD604\uD669", appearance, interactive: true, children: loading ? /* @__PURE__ */ jsx51(StnLoadingSkeleton.Widget, { lines: 3 }) : /* @__PURE__ */ jsxs42(StnWidget.StatusList, { children: [
7040
+ /* @__PURE__ */ jsx51(StnWidget.StatusItem, { label: "Critical", value: "43", grade: "critical" }),
7041
+ /* @__PURE__ */ jsx51(StnWidget.StatusItem, { label: "Major", value: "79", grade: "major" }),
7042
+ /* @__PURE__ */ jsx51(StnWidget.StatusItem, { label: "Minor", value: "3", grade: "minor" })
6890
7043
  ] }) }),
6891
- /* @__PURE__ */ jsx50(StnWidget, { title: "\uC77C\uC77C \uC7A5\uBE44\uBCC4 \uC7A5\uC560 TOP5", appearance, interactive: true, children: loading ? /* @__PURE__ */ jsx50(StnLoadingSkeleton.Widget, { lines: 4 }) : /* @__PURE__ */ jsx50(StnWidget.GradeRowList, { children: TOP5_ROWS.map((row) => /* @__PURE__ */ jsx50(
7044
+ /* @__PURE__ */ jsx51(StnWidget, { title: "\uC77C\uC77C \uC7A5\uBE44\uBCC4 \uC7A5\uC560 TOP5", appearance, interactive: true, children: loading ? /* @__PURE__ */ jsx51(StnLoadingSkeleton.Widget, { lines: 4 }) : /* @__PURE__ */ jsx51(StnWidget.GradeRowList, { children: TOP5_ROWS.map((row) => /* @__PURE__ */ jsx51(
6892
7045
  StnWidget.GradeRow,
6893
7046
  {
6894
7047
  grade: row.grade,
@@ -6898,50 +7051,50 @@ function AlertCenterDashboard({ className, appearance = "translucent", loading =
6898
7051
  },
6899
7052
  row.label
6900
7053
  )) }) }),
6901
- /* @__PURE__ */ jsx50(StnWidget, { title: "\uC77C\uC77C \uC7A5\uC560 \uD1B5\uACC4", appearance, interactive: true, children: loading ? /* @__PURE__ */ jsx50(StnLoadingSkeleton.Widget, { lines: 3 }) : /* @__PURE__ */ jsx50(StnWidget.ChartSlot, { label: "\uC77C\uC77C \uC7A5\uC560 \uD1B5\uACC4 \uCC28\uD2B8" }) })
7054
+ /* @__PURE__ */ jsx51(StnWidget, { title: "\uC77C\uC77C \uC7A5\uC560 \uD1B5\uACC4", appearance, interactive: true, children: loading ? /* @__PURE__ */ jsx51(StnLoadingSkeleton.Widget, { lines: 3 }) : /* @__PURE__ */ jsx51(StnWidget.ChartSlot, { label: "\uC77C\uC77C \uC7A5\uC560 \uD1B5\uACC4 \uCC28\uD2B8" }) })
6902
7055
  ]
6903
7056
  }
6904
7057
  );
6905
7058
  }
6906
7059
 
6907
7060
  // src/patterns/dashboard/PubDashboardWidgetBodies.tsx
6908
- import { jsx as jsx51, jsxs as jsxs42 } from "react/jsx-runtime";
7061
+ import { jsx as jsx52, jsxs as jsxs43 } from "react/jsx-runtime";
6909
7062
  function PubDisabilityStatusList({ items, summary }) {
6910
- return /* @__PURE__ */ jsxs42("div", { className: "ds-disability-status", children: [
6911
- /* @__PURE__ */ jsx51("ul", { className: "ds-disability-status__list", children: items.map((item, i) => /* @__PURE__ */ jsxs42(
7063
+ return /* @__PURE__ */ jsxs43("div", { className: "ds-disability-status", children: [
7064
+ /* @__PURE__ */ jsx52("ul", { className: "ds-disability-status__list", children: items.map((item, i) => /* @__PURE__ */ jsxs43(
6912
7065
  "li",
6913
7066
  {
6914
7067
  className: ["ds-disability-status__item", item.grade].filter(Boolean).join(" "),
6915
7068
  children: [
6916
- /* @__PURE__ */ jsxs42("span", { children: [
6917
- item.showDot !== false && item.grade ? /* @__PURE__ */ jsx51("span", { className: "dot", "aria-hidden": true }) : null,
7069
+ /* @__PURE__ */ jsxs43("span", { children: [
7070
+ item.showDot !== false && item.grade ? /* @__PURE__ */ jsx52("span", { className: "dot", "aria-hidden": true }) : null,
6918
7071
  item.label
6919
7072
  ] }),
6920
- /* @__PURE__ */ jsx51("p", { children: item.value })
7073
+ /* @__PURE__ */ jsx52("p", { children: item.value })
6921
7074
  ]
6922
7075
  },
6923
7076
  i
6924
7077
  )) }),
6925
- summary && summary.length > 0 ? /* @__PURE__ */ jsx51("div", { className: "ds-disability-status__summary", children: summary.map((row, i) => /* @__PURE__ */ jsxs42("p", { className: "ds-disability-status__value", children: [
7078
+ summary && summary.length > 0 ? /* @__PURE__ */ jsx52("div", { className: "ds-disability-status__summary", children: summary.map((row, i) => /* @__PURE__ */ jsxs43("p", { className: "ds-disability-status__value", children: [
6926
7079
  row.label,
6927
- /* @__PURE__ */ jsx51("span", { children: row.value })
7080
+ /* @__PURE__ */ jsx52("span", { children: row.value })
6928
7081
  ] }, i)) }) : null
6929
7082
  ] });
6930
7083
  }
6931
7084
  function PubTrafficTop5Bars({ rows }) {
6932
7085
  const maxPercent = Math.max(...rows.map((row) => row.percent), 0);
6933
- return /* @__PURE__ */ jsx51("div", { className: "ds-bar-group", children: rows.map((row) => /* @__PURE__ */ jsxs42("div", { className: ["ds-bar", row.percent === maxPercent ? "max" : ""].filter(Boolean).join(" "), children: [
6934
- /* @__PURE__ */ jsx51("p", { className: "ds-bar-name", title: row.label, children: row.label }),
6935
- /* @__PURE__ */ jsx51("div", { className: "ds-bar-con", title: `${row.percent}%`, children: /* @__PURE__ */ jsx51("span", { className: "ds-bar-gauge", style: { "--percent": `${row.percent}%` } }) }),
6936
- /* @__PURE__ */ jsx51("p", { className: "ds-bar-value", title: row.value, children: row.value })
7086
+ return /* @__PURE__ */ jsx52("div", { className: "ds-bar-group", children: rows.map((row) => /* @__PURE__ */ jsxs43("div", { className: ["ds-bar", row.percent === maxPercent ? "max" : ""].filter(Boolean).join(" "), children: [
7087
+ /* @__PURE__ */ jsx52("p", { className: "ds-bar-name", title: row.label, children: row.label }),
7088
+ /* @__PURE__ */ jsx52("div", { className: "ds-bar-con", title: `${row.percent}%`, children: /* @__PURE__ */ jsx52("span", { className: "ds-bar-gauge", style: { "--percent": `${row.percent}%` } }) }),
7089
+ /* @__PURE__ */ jsx52("p", { className: "ds-bar-value", title: row.value, children: row.value })
6937
7090
  ] }, row.label)) });
6938
7091
  }
6939
7092
  function PubTop5EquipmentBars({ rows }) {
6940
- return /* @__PURE__ */ jsxs42("div", { className: "ds-group", children: [
6941
- /* @__PURE__ */ jsx51("div", { className: "ds-group-box", children: /* @__PURE__ */ jsx51("div", { className: "ds-equipment-ico", children: /* @__PURE__ */ jsx51("span", { className: "blind", children: "\uC7A5\uBE44 \uC774\uBBF8\uC9C0" }) }) }),
6942
- /* @__PURE__ */ jsx51("div", { className: "ds-group-box", children: /* @__PURE__ */ jsx51("div", { className: "ds-bar-group", children: rows.map((row) => /* @__PURE__ */ jsx51("div", { className: "ds-bar type-2", children: /* @__PURE__ */ jsxs42("div", { className: "ds-bar-con", title: `${row.percent}%`, children: [
6943
- /* @__PURE__ */ jsx51("span", { className: "ds-bar-gauge", style: { "--percent": `${row.percent}%` } }),
6944
- /* @__PURE__ */ jsx51("div", { className: "ds-bar-status", children: row.status })
7093
+ return /* @__PURE__ */ jsxs43("div", { className: "ds-group", children: [
7094
+ /* @__PURE__ */ jsx52("div", { className: "ds-group-box", children: /* @__PURE__ */ jsx52("div", { className: "ds-equipment-ico", children: /* @__PURE__ */ jsx52("span", { className: "blind", children: "\uC7A5\uBE44 \uC774\uBBF8\uC9C0" }) }) }),
7095
+ /* @__PURE__ */ jsx52("div", { className: "ds-group-box", children: /* @__PURE__ */ jsx52("div", { className: "ds-bar-group", children: rows.map((row) => /* @__PURE__ */ jsx52("div", { className: "ds-bar type-2", children: /* @__PURE__ */ jsxs43("div", { className: "ds-bar-con", title: `${row.percent}%`, children: [
7096
+ /* @__PURE__ */ jsx52("span", { className: "ds-bar-gauge", style: { "--percent": `${row.percent}%` } }),
7097
+ /* @__PURE__ */ jsx52("div", { className: "ds-bar-status", children: row.status })
6945
7098
  ] }) }, row.label)) }) })
6946
7099
  ] });
6947
7100
  }
@@ -6950,15 +7103,15 @@ function PubChartSample({
6950
7103
  alt = "\uCC28\uD2B8",
6951
7104
  onError
6952
7105
  }) {
6953
- return /* @__PURE__ */ jsx51("div", { className: "ds-chart", children: /* @__PURE__ */ jsx51("img", { src, alt, className: "chart_sample", onError }) });
7106
+ return /* @__PURE__ */ jsx52("div", { className: "ds-chart", children: /* @__PURE__ */ jsx52("img", { src, alt, className: "chart_sample", onError }) });
6954
7107
  }
6955
7108
 
6956
7109
  // src/patterns/alertCenter/StnAlertCenterPanel.tsx
6957
- import { useState as useState14 } from "react";
7110
+ import { useState as useState15 } from "react";
6958
7111
  import {
6959
7112
  STN_ALERT_CENTER_TABS
6960
7113
  } from "@stn-uiux/pub-ui/data/stnAlertCenter";
6961
- import { jsx as jsx52, jsxs as jsxs43 } from "react/jsx-runtime";
7114
+ import { jsx as jsx53, jsxs as jsxs44 } from "react/jsx-runtime";
6962
7115
  function resolveAlertIcon(item) {
6963
7116
  if (item.icon) {
6964
7117
  if (item.icon === "line/arrow-down") return "line/arrow-narrow-down";
@@ -6985,7 +7138,7 @@ function StnAlertCard({
6985
7138
  }) {
6986
7139
  const iconNode = resolveAlertIcon(item);
6987
7140
  const gradeLabel = resolveGradeLabel(item.grade);
6988
- return /* @__PURE__ */ jsx52(
7141
+ return /* @__PURE__ */ jsx53(
6989
7142
  StnCard,
6990
7143
  {
6991
7144
  variant: "elevated",
@@ -6994,8 +7147,8 @@ function StnAlertCard({
6994
7147
  interactive: true,
6995
7148
  className: cn("stn-alert-card", className),
6996
7149
  onClick,
6997
- children: /* @__PURE__ */ jsxs43("div", { className: "stn-alert-card__row", children: [
6998
- /* @__PURE__ */ jsx52(
7150
+ children: /* @__PURE__ */ jsxs44("div", { className: "stn-alert-card__row", children: [
7151
+ /* @__PURE__ */ jsx53(
6999
7152
  StnIcon,
7000
7153
  {
7001
7154
  name: iconNode,
@@ -7004,9 +7157,9 @@ function StnAlertCard({
7004
7157
  className: "stn-alert-card__icon"
7005
7158
  }
7006
7159
  ),
7007
- /* @__PURE__ */ jsxs43("div", { className: "stn-alert-card__body", children: [
7008
- /* @__PURE__ */ jsxs43(StnStack, { direction: "row", alignItems: "center", spacing: 1, className: "stn-alert-card__header-line", children: [
7009
- /* @__PURE__ */ jsx52(
7160
+ /* @__PURE__ */ jsxs44("div", { className: "stn-alert-card__body", children: [
7161
+ /* @__PURE__ */ jsxs44(StnStack, { direction: "row", alignItems: "center", spacing: 1, className: "stn-alert-card__header-line", children: [
7162
+ /* @__PURE__ */ jsx53(
7010
7163
  StnChip,
7011
7164
  {
7012
7165
  shape: "pill",
@@ -7016,25 +7169,25 @@ function StnAlertCard({
7016
7169
  children: gradeLabel
7017
7170
  }
7018
7171
  ),
7019
- /* @__PURE__ */ jsx52(
7172
+ /* @__PURE__ */ jsx53(
7020
7173
  "span",
7021
7174
  {
7022
7175
  className: cn("stn-alert-card__title", titleOverflow),
7023
7176
  title: item.title,
7024
- children: /* @__PURE__ */ jsx52("span", { className: "stn-alert-card__text-inner", children: item.title })
7177
+ children: /* @__PURE__ */ jsx53("span", { className: "stn-alert-card__text-inner", children: item.title })
7025
7178
  }
7026
7179
  )
7027
7180
  ] }),
7028
- /* @__PURE__ */ jsxs43(StnStack, { direction: "row", alignItems: "center", spacing: 2, wrap: "wrap", className: "stn-alert-card__desc-line", children: [
7029
- /* @__PURE__ */ jsx52(
7181
+ /* @__PURE__ */ jsxs44(StnStack, { direction: "row", alignItems: "center", spacing: 2, wrap: "wrap", className: "stn-alert-card__desc-line", children: [
7182
+ /* @__PURE__ */ jsx53(
7030
7183
  "span",
7031
7184
  {
7032
7185
  className: cn("stn-alert-card__desc", descOverflow),
7033
7186
  title: item.description,
7034
- children: /* @__PURE__ */ jsx52("span", { className: "stn-alert-card__text-inner", children: item.description })
7187
+ children: /* @__PURE__ */ jsx53("span", { className: "stn-alert-card__text-inner", children: item.description })
7035
7188
  }
7036
7189
  ),
7037
- item.occurredAt && /* @__PURE__ */ jsxs43(
7190
+ item.occurredAt && /* @__PURE__ */ jsxs44(
7038
7191
  StnChip,
7039
7192
  {
7040
7193
  shape: "pill",
@@ -7050,9 +7203,9 @@ function StnAlertCard({
7050
7203
  )
7051
7204
  ] })
7052
7205
  ] }),
7053
- /* @__PURE__ */ jsxs43("div", { className: "stn-alert-card__meta", children: [
7054
- /* @__PURE__ */ jsx52("span", { className: "stn-alert-card__time", children: item.time }),
7055
- item.unread !== false && /* @__PURE__ */ jsx52(
7206
+ /* @__PURE__ */ jsxs44("div", { className: "stn-alert-card__meta", children: [
7207
+ /* @__PURE__ */ jsx53("span", { className: "stn-alert-card__time", children: item.time }),
7208
+ item.unread !== false && /* @__PURE__ */ jsx53(
7056
7209
  "span",
7057
7210
  {
7058
7211
  className: cn(
@@ -7086,11 +7239,11 @@ function StnAlertCenterPanel({
7086
7239
  closeLabel = "\uB2EB\uAE30",
7087
7240
  className
7088
7241
  }) {
7089
- const [activeTab, setActiveTab] = useState14(defaultTab);
7242
+ const [activeTab, setActiveTab] = useState15(defaultTab);
7090
7243
  const alertCount = alerts.length;
7091
7244
  const resolvedTitleOverflow = titleOverflow ?? textOverflow;
7092
7245
  const resolvedDescOverflow = descOverflow ?? textOverflow;
7093
- return /* @__PURE__ */ jsxs43(
7246
+ return /* @__PURE__ */ jsxs44(
7094
7247
  "div",
7095
7248
  {
7096
7249
  className: cn(
@@ -7102,13 +7255,13 @@ function StnAlertCenterPanel({
7102
7255
  ),
7103
7256
  "data-stn-alert-center": true,
7104
7257
  children: [
7105
- /* @__PURE__ */ jsxs43("div", { className: "stn-alert-center__header", children: [
7106
- /* @__PURE__ */ jsxs43("div", { className: "stn-alert-center__header-left", children: [
7107
- /* @__PURE__ */ jsx52(StnIcon, { name: "line/bell", size: 20, color: "var(--stn-primary)" }),
7108
- /* @__PURE__ */ jsx52("span", { className: "stn-alert-center__title", children: title }),
7109
- alertCount > 0 && /* @__PURE__ */ jsx52(StnChip, { shape: "pill", size: "sm", variant: "subtle", color: "primary", children: alertCount })
7258
+ /* @__PURE__ */ jsxs44("div", { className: "stn-alert-center__header", children: [
7259
+ /* @__PURE__ */ jsxs44("div", { className: "stn-alert-center__header-left", children: [
7260
+ /* @__PURE__ */ jsx53(StnIcon, { name: "line/bell", size: 20, color: "var(--stn-primary)" }),
7261
+ /* @__PURE__ */ jsx53("span", { className: "stn-alert-center__title", children: title }),
7262
+ alertCount > 0 && /* @__PURE__ */ jsx53(StnChip, { shape: "pill", size: "sm", variant: "subtle", color: "primary", children: alertCount })
7110
7263
  ] }),
7111
- /* @__PURE__ */ jsx52(
7264
+ /* @__PURE__ */ jsx53(
7112
7265
  StnSegmented,
7113
7266
  {
7114
7267
  size: "md",
@@ -7121,8 +7274,8 @@ function StnAlertCenterPanel({
7121
7274
  }))
7122
7275
  }
7123
7276
  ),
7124
- /* @__PURE__ */ jsxs43("div", { className: "stn-alert-center__header-right", children: [
7125
- /* @__PURE__ */ jsx52(
7277
+ /* @__PURE__ */ jsxs44("div", { className: "stn-alert-center__header-right", children: [
7278
+ /* @__PURE__ */ jsx53(
7126
7279
  StnButton,
7127
7280
  {
7128
7281
  variant: "text",
@@ -7132,8 +7285,8 @@ function StnAlertCenterPanel({
7132
7285
  children: "\uBAA8\uB450 \uC77D\uC74C"
7133
7286
  }
7134
7287
  ),
7135
- /* @__PURE__ */ jsx52("div", { className: "stn-alert-center__divider", "aria-hidden": true }),
7136
- /* @__PURE__ */ jsx52(
7288
+ /* @__PURE__ */ jsx53("div", { className: "stn-alert-center__divider", "aria-hidden": true }),
7289
+ /* @__PURE__ */ jsx53(
7137
7290
  StnButton,
7138
7291
  {
7139
7292
  icon: "line/x",
@@ -7145,43 +7298,51 @@ function StnAlertCenterPanel({
7145
7298
  )
7146
7299
  ] })
7147
7300
  ] }),
7148
- /* @__PURE__ */ jsxs43("div", { className: "stn-alert-center__list-wrap", children: [
7149
- activeTab === "error" && /* @__PURE__ */ jsx52("ul", { className: "stn-alert-center__list", children: alerts.map((item) => /* @__PURE__ */ jsx52("li", { children: /* @__PURE__ */ jsx52(
7150
- StnAlertCard,
7151
- {
7152
- item,
7153
- titleOverflow: resolvedTitleOverflow,
7154
- descOverflow: resolvedDescOverflow,
7155
- onClick: () => onItemClick?.(item)
7156
- }
7157
- ) }, item.id ?? item.title)) }),
7158
- activeTab === "work" && /* @__PURE__ */ jsx52("ul", { className: "stn-alert-center__list", children: workItems.map((row) => /* @__PURE__ */ jsx52("li", { children: /* @__PURE__ */ jsx52(StnCard, { variant: "elevated", radius: "md", padding: "md", interactive: true, className: "stn-alert-card", children: /* @__PURE__ */ jsxs43("div", { className: "stn-alert-card__row", children: [
7159
- /* @__PURE__ */ jsx52(StnIcon, { name: "line/clock", size: 24, color: "var(--stn-text-secondary)", className: "stn-alert-card__icon" }),
7160
- /* @__PURE__ */ jsxs43("div", { className: "stn-alert-card__body", children: [
7161
- /* @__PURE__ */ jsx52("span", { className: "stn-alert-card__type-label work", children: row.typeLabel }),
7162
- /* @__PURE__ */ jsx52("span", { className: cn("stn-alert-card__desc", resolvedDescOverflow), title: row.text, children: /* @__PURE__ */ jsx52("span", { className: "stn-alert-card__text-inner", children: row.text }) })
7163
- ] }),
7164
- /* @__PURE__ */ jsx52("span", { className: "stn-alert-card__time", children: row.time })
7165
- ] }) }) }, row.id ?? row.text)) }),
7166
- activeTab === "deploy" && /* @__PURE__ */ jsx52("ul", { className: "stn-alert-center__list", children: deployItems.map((row) => /* @__PURE__ */ jsx52("li", { children: /* @__PURE__ */ jsx52(StnCard, { variant: "elevated", radius: "md", padding: "md", interactive: true, className: "stn-alert-card", children: /* @__PURE__ */ jsxs43("div", { className: "stn-alert-card__row", children: [
7167
- /* @__PURE__ */ jsx52(StnIcon, { name: "line/settings", size: 24, color: "var(--stn-secondary)", className: "stn-alert-card__icon" }),
7168
- /* @__PURE__ */ jsxs43("div", { className: "stn-alert-card__body", children: [
7169
- /* @__PURE__ */ jsx52("span", { className: "stn-alert-card__type-label stn-alert-card__type-label--deploy", children: row.typeLabel }),
7170
- /* @__PURE__ */ jsx52("span", { className: cn("stn-alert-card__desc", resolvedDescOverflow), title: row.text, children: /* @__PURE__ */ jsx52("span", { className: "stn-alert-card__text-inner", children: row.text }) })
7171
- ] }),
7172
- /* @__PURE__ */ jsx52("span", { className: "stn-alert-card__time", children: row.time })
7173
- ] }) }) }, row.id ?? row.text)) })
7174
- ] }),
7175
- /* @__PURE__ */ jsx52("div", { className: "stn-alert-center__footer", children: /* @__PURE__ */ jsxs43(
7301
+ /* @__PURE__ */ jsxs44(
7302
+ StnScroll,
7303
+ {
7304
+ orientation: "vertical",
7305
+ size: "thin",
7306
+ className: "stn-alert-center__list-wrap",
7307
+ children: [
7308
+ activeTab === "error" && /* @__PURE__ */ jsx53("ul", { className: "stn-alert-center__list", children: alerts.map((item) => /* @__PURE__ */ jsx53("li", { children: /* @__PURE__ */ jsx53(
7309
+ StnAlertCard,
7310
+ {
7311
+ item,
7312
+ titleOverflow: resolvedTitleOverflow,
7313
+ descOverflow: resolvedDescOverflow,
7314
+ onClick: () => onItemClick?.(item)
7315
+ }
7316
+ ) }, item.id ?? item.title)) }),
7317
+ activeTab === "work" && /* @__PURE__ */ jsx53("ul", { className: "stn-alert-center__list", children: workItems.map((row) => /* @__PURE__ */ jsx53("li", { children: /* @__PURE__ */ jsx53(StnCard, { variant: "elevated", radius: "md", padding: "md", interactive: true, className: "stn-alert-card", children: /* @__PURE__ */ jsxs44("div", { className: "stn-alert-card__row", children: [
7318
+ /* @__PURE__ */ jsx53(StnIcon, { name: "line/clock", size: 24, color: "var(--stn-text-secondary)", className: "stn-alert-card__icon" }),
7319
+ /* @__PURE__ */ jsxs44("div", { className: "stn-alert-card__body", children: [
7320
+ /* @__PURE__ */ jsx53("span", { className: "stn-alert-card__type-label work", children: row.typeLabel }),
7321
+ /* @__PURE__ */ jsx53("span", { className: cn("stn-alert-card__desc", resolvedDescOverflow), title: row.text, children: /* @__PURE__ */ jsx53("span", { className: "stn-alert-card__text-inner", children: row.text }) })
7322
+ ] }),
7323
+ /* @__PURE__ */ jsx53("span", { className: "stn-alert-card__time", children: row.time })
7324
+ ] }) }) }, row.id ?? row.text)) }),
7325
+ activeTab === "deploy" && /* @__PURE__ */ jsx53("ul", { className: "stn-alert-center__list", children: deployItems.map((row) => /* @__PURE__ */ jsx53("li", { children: /* @__PURE__ */ jsx53(StnCard, { variant: "elevated", radius: "md", padding: "md", interactive: true, className: "stn-alert-card", children: /* @__PURE__ */ jsxs44("div", { className: "stn-alert-card__row", children: [
7326
+ /* @__PURE__ */ jsx53(StnIcon, { name: "line/settings", size: 24, color: "var(--stn-secondary)", className: "stn-alert-card__icon" }),
7327
+ /* @__PURE__ */ jsxs44("div", { className: "stn-alert-card__body", children: [
7328
+ /* @__PURE__ */ jsx53("span", { className: "stn-alert-card__type-label stn-alert-card__type-label--deploy", children: row.typeLabel }),
7329
+ /* @__PURE__ */ jsx53("span", { className: cn("stn-alert-card__desc", resolvedDescOverflow), title: row.text, children: /* @__PURE__ */ jsx53("span", { className: "stn-alert-card__text-inner", children: row.text }) })
7330
+ ] }),
7331
+ /* @__PURE__ */ jsx53("span", { className: "stn-alert-card__time", children: row.time })
7332
+ ] }) }) }, row.id ?? row.text)) })
7333
+ ]
7334
+ }
7335
+ ),
7336
+ /* @__PURE__ */ jsx53("div", { className: "stn-alert-center__footer", children: /* @__PURE__ */ jsxs44(
7176
7337
  "button",
7177
7338
  {
7178
7339
  type: "button",
7179
7340
  className: "stn-alert-center__footer-link",
7180
7341
  onClick: onManageSettings,
7181
7342
  children: [
7182
- /* @__PURE__ */ jsx52("span", { children: "\uC54C\uB9BC \uC124\uC815 \uAD00\uB9AC" }),
7183
- /* @__PURE__ */ jsx52(StnIcon, { name: "line/settings", size: 14 }),
7184
- /* @__PURE__ */ jsx52(StnIcon, { name: "line/chevron-right", size: 14 })
7343
+ /* @__PURE__ */ jsx53("span", { children: "\uC54C\uB9BC \uC124\uC815 \uAD00\uB9AC" }),
7344
+ /* @__PURE__ */ jsx53(StnIcon, { name: "line/settings", size: 14 }),
7345
+ /* @__PURE__ */ jsx53(StnIcon, { name: "line/chevron-right", size: 14 })
7185
7346
  ]
7186
7347
  }
7187
7348
  ) })
@@ -7191,18 +7352,18 @@ function StnAlertCenterPanel({
7191
7352
  }
7192
7353
 
7193
7354
  // src/patterns/alertCenter/StnAlertCenterDocPreview.tsx
7194
- import { jsx as jsx53 } from "react/jsx-runtime";
7355
+ import { jsx as jsx54 } from "react/jsx-runtime";
7195
7356
  function StnAlertCenterDocPreview({
7196
7357
  theme = "light",
7197
7358
  withDocChrome = true,
7198
7359
  children,
7199
7360
  ...panelProps
7200
7361
  }) {
7201
- const panel = children ?? /* @__PURE__ */ jsx53(StnAlertCenterPanel, { ...panelProps });
7362
+ const panel = children ?? /* @__PURE__ */ jsx54(StnAlertCenterPanel, { ...panelProps });
7202
7363
  if (!withDocChrome) {
7203
- return /* @__PURE__ */ jsx53(StnProvider, { theme, applyThemeToDocument: false, children: panel });
7364
+ return /* @__PURE__ */ jsx54(StnProvider, { theme, applyThemeToDocument: false, children: panel });
7204
7365
  }
7205
- return /* @__PURE__ */ jsx53("div", { className: "stn-doc-frame stn-doc-frame--alert-center", "data-theme": theme, children: /* @__PURE__ */ jsx53("div", { className: "stn-alert-center-preview-shell", children: panel }) });
7366
+ return /* @__PURE__ */ jsx54("div", { className: "stn-doc-frame stn-doc-frame--alert-center", "data-theme": theme, children: /* @__PURE__ */ jsx54("div", { className: "stn-alert-center-preview-shell", children: panel }) });
7206
7367
  }
7207
7368
 
7208
7369
  // src/index.ts
@@ -7227,13 +7388,13 @@ var SideNavContext = createContext3({
7227
7388
  var useSideNav = () => useContext3(SideNavContext);
7228
7389
 
7229
7390
  // src/components/sideNav/StnSideNavItem.tsx
7230
- import { forwardRef as forwardRef26 } from "react";
7391
+ import { forwardRef as forwardRef27 } from "react";
7231
7392
  import { STN_NAV_MENU_SUB_ICON } from "@stn-uiux/pub-ui/data/stnSideNavItem";
7232
- import { jsx as jsx54, jsxs as jsxs44 } from "react/jsx-runtime";
7393
+ import { jsx as jsx55, jsxs as jsxs45 } from "react/jsx-runtime";
7233
7394
  function maskStyle2(src) {
7234
7395
  return { maskImage: `url('${src}')`, WebkitMaskImage: `url('${src}')` };
7235
7396
  }
7236
- var StnSideNavItem = forwardRef26(function StnSideNavItem2({
7397
+ var StnSideNavItem = forwardRef27(function StnSideNavItem2({
7237
7398
  label,
7238
7399
  id,
7239
7400
  iconSrc,
@@ -7276,13 +7437,13 @@ var StnSideNavItem = forwardRef26(function StnSideNavItem2({
7276
7437
  sideNav.onSelect(id);
7277
7438
  }
7278
7439
  };
7279
- const iconElement = hasIcon && !isSub ? /* @__PURE__ */ jsxs44("span", { className: "stn-side-nav-item__icon-wrap", children: [
7280
- /* @__PURE__ */ jsx54("span", { className: "stn-side-nav-item__icon", "aria-hidden": "true", children: icon ?? (resolvedIconSrc ? /* @__PURE__ */ jsx54("span", { className: "stn-side-nav-item__icon-glyph", style: maskStyle2(resolvedIconSrc) }) : null) }),
7281
- showDot ? /* @__PURE__ */ jsx54("span", { className: "stn-side-nav-item__dot-wrap", "aria-hidden": "true", children: /* @__PURE__ */ jsx54(StnBadge, { variant: "dot", color: "error" }) }) : null
7440
+ const iconElement = hasIcon && !isSub ? /* @__PURE__ */ jsxs45("span", { className: "stn-side-nav-item__icon-wrap", children: [
7441
+ /* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__icon", "aria-hidden": "true", children: icon ?? (resolvedIconSrc ? /* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__icon-glyph", style: maskStyle2(resolvedIconSrc) }) : null) }),
7442
+ showDot ? /* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__dot-wrap", "aria-hidden": "true", children: /* @__PURE__ */ jsx55(StnBadge, { variant: "dot", color: "error" }) }) : null
7282
7443
  ] }) : null;
7283
- const subIconElement = hasIcon && isSub ? /* @__PURE__ */ jsx54("span", { className: "stn-side-nav-item__sub-icon", "aria-hidden": "true", children: icon ?? (resolvedIconSrc ? /* @__PURE__ */ jsx54("span", { className: "stn-side-nav-item__icon-glyph", style: maskStyle2(resolvedIconSrc) }) : null) }) : null;
7444
+ const subIconElement = hasIcon && isSub ? /* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__sub-icon", "aria-hidden": "true", children: icon ?? (resolvedIconSrc ? /* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__icon-glyph", style: maskStyle2(resolvedIconSrc) }) : null) }) : null;
7284
7445
  const activeIconElement = isSub ? subIconElement : iconElement;
7285
- return /* @__PURE__ */ jsx54(
7446
+ return /* @__PURE__ */ jsx55(
7286
7447
  "button",
7287
7448
  {
7288
7449
  ref,
@@ -7301,10 +7462,10 @@ var StnSideNavItem = forwardRef26(function StnSideNavItem2({
7301
7462
  title: collapsed ? label : void 0,
7302
7463
  onClick: handleClick,
7303
7464
  ...rest,
7304
- children: /* @__PURE__ */ jsxs44("span", { className: cn("stn-side-nav-item__inner", spreadTrail && "spread"), children: [
7305
- /* @__PURE__ */ jsxs44("span", { className: "stn-side-nav-item__lead", children: [
7306
- isSub && showSubIndent ? /* @__PURE__ */ jsx54("span", { className: "stn-side-nav-item__sub-indent", "aria-hidden": "true" }) : null,
7307
- shouldShowSubDot ? /* @__PURE__ */ jsx54(
7465
+ children: /* @__PURE__ */ jsxs45("span", { className: cn("stn-side-nav-item__inner", spreadTrail && "spread"), children: [
7466
+ /* @__PURE__ */ jsxs45("span", { className: "stn-side-nav-item__lead", children: [
7467
+ isSub && showSubIndent ? /* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__sub-indent", "aria-hidden": "true" }) : null,
7468
+ shouldShowSubDot ? /* @__PURE__ */ jsx55(
7308
7469
  "span",
7309
7470
  {
7310
7471
  className: cn(
@@ -7312,14 +7473,14 @@ var StnSideNavItem = forwardRef26(function StnSideNavItem2({
7312
7473
  hasIcon && iconPosition === "left" && "compact"
7313
7474
  ),
7314
7475
  "aria-hidden": "true",
7315
- children: /* @__PURE__ */ jsx54("span", { className: "stn-side-nav-item__sub-dot-glyph", style: maskStyle2(STN_NAV_MENU_SUB_ICON) })
7476
+ children: /* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__sub-dot-glyph", style: maskStyle2(STN_NAV_MENU_SUB_ICON) })
7316
7477
  }
7317
7478
  ) : null,
7318
7479
  iconPosition === "left" ? activeIconElement : null,
7319
- /* @__PURE__ */ jsx54("span", { className: "stn-side-nav-item__label", children: label })
7480
+ /* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__label", children: label })
7320
7481
  ] }),
7321
7482
  iconPosition === "right" ? activeIconElement : null,
7322
- renderBadge ? typeof badge === "string" || typeof badge === "number" ? /* @__PURE__ */ jsx54(
7483
+ renderBadge ? typeof badge === "string" || typeof badge === "number" ? /* @__PURE__ */ jsx55(
7323
7484
  StnBadge,
7324
7485
  {
7325
7486
  badgeContent: badge,
@@ -7327,7 +7488,7 @@ var StnSideNavItem = forwardRef26(function StnSideNavItem2({
7327
7488
  appearance: "subtle",
7328
7489
  className: "stn-side-nav-item__badge"
7329
7490
  }
7330
- ) : badge ? /* @__PURE__ */ jsx54("span", { className: "stn-side-nav-item__badge", children: badge }) : showBadgeDot ? /* @__PURE__ */ jsx54(
7491
+ ) : badge ? /* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__badge", children: badge }) : showBadgeDot ? /* @__PURE__ */ jsx55(
7331
7492
  StnBadge,
7332
7493
  {
7333
7494
  variant: "dot",
@@ -7335,7 +7496,7 @@ var StnSideNavItem = forwardRef26(function StnSideNavItem2({
7335
7496
  className: "stn-side-nav-item__badge"
7336
7497
  }
7337
7498
  ) : null : null,
7338
- !isSub && showChevron && !collapsed ? /* @__PURE__ */ jsx54(
7499
+ !isSub && showChevron && !collapsed ? /* @__PURE__ */ jsx55(
7339
7500
  "span",
7340
7501
  {
7341
7502
  className: cn(
@@ -7352,15 +7513,15 @@ var StnSideNavItem = forwardRef26(function StnSideNavItem2({
7352
7513
  });
7353
7514
 
7354
7515
  // src/components/sideNav/StnSideNavHeader.tsx
7355
- import { forwardRef as forwardRef28 } from "react";
7516
+ import { forwardRef as forwardRef29 } from "react";
7356
7517
 
7357
7518
  // src/components/sideNav/StnSideNavLogo.tsx
7358
- import { forwardRef as forwardRef27 } from "react";
7359
- import { jsx as jsx55 } from "react/jsx-runtime";
7360
- var StnSideNavLogo = forwardRef27(
7519
+ import { forwardRef as forwardRef28 } from "react";
7520
+ import { jsx as jsx56 } from "react/jsx-runtime";
7521
+ var StnSideNavLogo = forwardRef28(
7361
7522
  function StnSideNavLogo2({ className, logoProps, ...rest }, ref) {
7362
7523
  const { collapsed } = useSideNav();
7363
- return /* @__PURE__ */ jsx55(
7524
+ return /* @__PURE__ */ jsx56(
7364
7525
  "div",
7365
7526
  {
7366
7527
  ref,
@@ -7371,7 +7532,7 @@ var StnSideNavLogo = forwardRef27(
7371
7532
  ),
7372
7533
  title: "InfoMap",
7373
7534
  ...rest,
7374
- children: /* @__PURE__ */ jsx55(
7535
+ children: /* @__PURE__ */ jsx56(
7375
7536
  StnLogo,
7376
7537
  {
7377
7538
  variant: collapsed ? "onlyimg" : "horizontal",
@@ -7385,8 +7546,8 @@ var StnSideNavLogo = forwardRef27(
7385
7546
  );
7386
7547
 
7387
7548
  // src/components/sideNav/StnSideNavHeader.tsx
7388
- import { Fragment as Fragment7, jsx as jsx56, jsxs as jsxs45 } from "react/jsx-runtime";
7389
- var StnSideNavHeader = forwardRef28(function StnSideNavHeader2({
7549
+ import { Fragment as Fragment7, jsx as jsx57, jsxs as jsxs46 } from "react/jsx-runtime";
7550
+ var StnSideNavHeader = forwardRef29(function StnSideNavHeader2({
7390
7551
  children,
7391
7552
  border = false,
7392
7553
  hasBorder = false,
@@ -7398,7 +7559,7 @@ var StnSideNavHeader = forwardRef28(function StnSideNavHeader2({
7398
7559
  const { collapsed, onToggleCollapse, isDrawer, setMobileOpen } = useSideNav();
7399
7560
  const withBorder = Boolean(border || hasBorder);
7400
7561
  const shouldShowClose = showClose ?? Boolean(isDrawer);
7401
- return /* @__PURE__ */ jsx56(
7562
+ return /* @__PURE__ */ jsx57(
7402
7563
  "div",
7403
7564
  {
7404
7565
  ref,
@@ -7409,9 +7570,9 @@ var StnSideNavHeader = forwardRef28(function StnSideNavHeader2({
7409
7570
  className
7410
7571
  ),
7411
7572
  ...rest,
7412
- children: children ?? /* @__PURE__ */ jsxs45(Fragment7, { children: [
7413
- /* @__PURE__ */ jsx56(StnSideNavLogo, {}),
7414
- shouldShowClose ? /* @__PURE__ */ jsx56(
7573
+ children: children ?? /* @__PURE__ */ jsxs46(Fragment7, { children: [
7574
+ /* @__PURE__ */ jsx57(StnSideNavLogo, {}),
7575
+ shouldShowClose ? /* @__PURE__ */ jsx57(
7415
7576
  StnButton,
7416
7577
  {
7417
7578
  size: "sm",
@@ -7423,7 +7584,7 @@ var StnSideNavHeader = forwardRef28(function StnSideNavHeader2({
7423
7584
  className: "stn-side-nav__collapse-btn",
7424
7585
  onClick: () => setMobileOpen?.(false)
7425
7586
  }
7426
- ) : showToggle ? /* @__PURE__ */ jsx56(
7587
+ ) : showToggle ? /* @__PURE__ */ jsx57(
7427
7588
  StnButton,
7428
7589
  {
7429
7590
  size: "sm",
@@ -7442,16 +7603,16 @@ var StnSideNavHeader = forwardRef28(function StnSideNavHeader2({
7442
7603
  });
7443
7604
 
7444
7605
  // src/components/sideNav/StnSideNavMenu.tsx
7445
- import { forwardRef as forwardRef29 } from "react";
7446
- import { jsx as jsx57 } from "react/jsx-runtime";
7447
- var StnSideNavMenu = forwardRef29(function StnSideNavMenu2({
7606
+ import { forwardRef as forwardRef30 } from "react";
7607
+ import { jsx as jsx58 } from "react/jsx-runtime";
7608
+ var StnSideNavMenu = forwardRef30(function StnSideNavMenu2({
7448
7609
  children,
7449
7610
  className,
7450
7611
  scrollSize = "thin",
7451
7612
  scrollColor = "fade",
7452
7613
  ...rest
7453
7614
  }, ref) {
7454
- return /* @__PURE__ */ jsx57(
7615
+ return /* @__PURE__ */ jsx58(
7455
7616
  "nav",
7456
7617
  {
7457
7618
  ref,
@@ -7472,13 +7633,13 @@ var StnSideNavMenu = forwardRef29(function StnSideNavMenu2({
7472
7633
 
7473
7634
  // src/components/sideNav/StnSideNavGroup.tsx
7474
7635
  import {
7475
- forwardRef as forwardRef30,
7636
+ forwardRef as forwardRef31,
7476
7637
  useEffect as useEffect10,
7477
7638
  useRef as useRef7,
7478
- useState as useState15
7639
+ useState as useState16
7479
7640
  } from "react";
7480
- import { jsx as jsx58, jsxs as jsxs46 } from "react/jsx-runtime";
7481
- var StnSideNavGroup = forwardRef30(function StnSideNavGroup2({
7641
+ import { jsx as jsx59, jsxs as jsxs47 } from "react/jsx-runtime";
7642
+ var StnSideNavGroup = forwardRef31(function StnSideNavGroup2({
7482
7643
  label,
7483
7644
  parent,
7484
7645
  direction = "down",
@@ -7494,7 +7655,7 @@ var StnSideNavGroup = forwardRef30(function StnSideNavGroup2({
7494
7655
  ...rest
7495
7656
  }, ref) {
7496
7657
  const { collapsed } = useSideNav();
7497
- const [internalOpen, setInternalOpen] = useState15(defaultOpen);
7658
+ const [internalOpen, setInternalOpen] = useState16(defaultOpen);
7498
7659
  const isOpen = openProp ?? internalOpen;
7499
7660
  const isDropdown = Boolean(dropdown || variant === "dropdown");
7500
7661
  const isTransparent = dropdownVariant === "transparent" || dropdownBackground === false;
@@ -7522,7 +7683,7 @@ var StnSideNavGroup = forwardRef30(function StnSideNavGroup2({
7522
7683
  }
7523
7684
  onOpenChange?.(next);
7524
7685
  };
7525
- const subnavNode = children && (!collapsed && isOpen) ? /* @__PURE__ */ jsx58(
7686
+ const subnavNode = children && (!collapsed && isOpen) ? /* @__PURE__ */ jsx59(
7526
7687
  "div",
7527
7688
  {
7528
7689
  className: cn(
@@ -7537,7 +7698,7 @@ var StnSideNavGroup = forwardRef30(function StnSideNavGroup2({
7537
7698
  children
7538
7699
  }
7539
7700
  ) : null;
7540
- return /* @__PURE__ */ jsxs46(
7701
+ return /* @__PURE__ */ jsxs47(
7541
7702
  "div",
7542
7703
  {
7543
7704
  ref: (node) => {
@@ -7558,7 +7719,7 @@ var StnSideNavGroup = forwardRef30(function StnSideNavGroup2({
7558
7719
  "aria-label": typeof label === "string" ? label : void 0,
7559
7720
  ...rest,
7560
7721
  children: [
7561
- label && !collapsed ? /* @__PURE__ */ jsx58("span", { className: "stn-side-nav__group-label", onClick: handleToggle, children: label }) : null,
7722
+ label && !collapsed ? /* @__PURE__ */ jsx59("span", { className: "stn-side-nav__group-label", onClick: handleToggle, children: label }) : null,
7562
7723
  isUp ? subnavNode : null,
7563
7724
  parent,
7564
7725
  !isUp ? subnavNode : null
@@ -7568,10 +7729,10 @@ var StnSideNavGroup = forwardRef30(function StnSideNavGroup2({
7568
7729
  });
7569
7730
 
7570
7731
  // src/components/sideNav/StnSideNavSpacer.tsx
7571
- import { forwardRef as forwardRef31 } from "react";
7572
- import { jsx as jsx59 } from "react/jsx-runtime";
7573
- var StnSideNavSpacer = forwardRef31(function StnSideNavSpacer2({ className, style, ...rest }, ref) {
7574
- return /* @__PURE__ */ jsx59(
7732
+ import { forwardRef as forwardRef32 } from "react";
7733
+ import { jsx as jsx60 } from "react/jsx-runtime";
7734
+ var StnSideNavSpacer = forwardRef32(function StnSideNavSpacer2({ className, style, ...rest }, ref) {
7735
+ return /* @__PURE__ */ jsx60(
7575
7736
  "div",
7576
7737
  {
7577
7738
  ref,
@@ -7584,10 +7745,10 @@ var StnSideNavSpacer = forwardRef31(function StnSideNavSpacer2({ className, styl
7584
7745
  });
7585
7746
 
7586
7747
  // src/components/sideNav/StnSideNavFooter.tsx
7587
- import { forwardRef as forwardRef32 } from "react";
7588
- import { jsx as jsx60 } from "react/jsx-runtime";
7589
- var StnSideNavFooter = forwardRef32(function StnSideNavFooter2({ curved = false, children, className, ...rest }, ref) {
7590
- return /* @__PURE__ */ jsx60(
7748
+ import { forwardRef as forwardRef33 } from "react";
7749
+ import { jsx as jsx61 } from "react/jsx-runtime";
7750
+ var StnSideNavFooter = forwardRef33(function StnSideNavFooter2({ curved = false, children, className, ...rest }, ref) {
7751
+ return /* @__PURE__ */ jsx61(
7591
7752
  "nav",
7592
7753
  {
7593
7754
  ref,
@@ -7600,12 +7761,12 @@ var StnSideNavFooter = forwardRef32(function StnSideNavFooter2({ curved = false,
7600
7761
  });
7601
7762
 
7602
7763
  // src/components/sideNav/StnSideNavToggle.tsx
7603
- import { forwardRef as forwardRef33 } from "react";
7604
- import { jsx as jsx61 } from "react/jsx-runtime";
7605
- var StnSideNavToggle = forwardRef33(
7764
+ import { forwardRef as forwardRef34 } from "react";
7765
+ import { jsx as jsx62 } from "react/jsx-runtime";
7766
+ var StnSideNavToggle = forwardRef34(
7606
7767
  function StnSideNavToggle2({ className, onClick, ...rest }, ref) {
7607
7768
  const { collapsed, onToggleCollapse } = useSideNav();
7608
- return /* @__PURE__ */ jsx61(
7769
+ return /* @__PURE__ */ jsx62(
7609
7770
  "button",
7610
7771
  {
7611
7772
  ref,
@@ -7618,7 +7779,7 @@ var StnSideNavToggle = forwardRef33(
7618
7779
  "aria-label": collapsed ? "\uC0AC\uC774\uB4DC\uBC14 \uD3BC\uCE58\uAE30" : "\uC0AC\uC774\uB4DC\uBC14 \uC811\uAE30",
7619
7780
  title: collapsed ? "\uC0AC\uC774\uB4DC\uBC14 \uD3BC\uCE58\uAE30" : "\uC0AC\uC774\uB4DC\uBC14 \uC811\uAE30",
7620
7781
  ...rest,
7621
- children: /* @__PURE__ */ jsx61(
7782
+ children: /* @__PURE__ */ jsx62(
7622
7783
  "svg",
7623
7784
  {
7624
7785
  width: "12",
@@ -7629,7 +7790,7 @@ var StnSideNavToggle = forwardRef33(
7629
7790
  strokeWidth: "2.5",
7630
7791
  strokeLinecap: "round",
7631
7792
  strokeLinejoin: "round",
7632
- children: /* @__PURE__ */ jsx61("path", { d: "M9 18l6-6-6-6" })
7793
+ children: /* @__PURE__ */ jsx62("path", { d: "M9 18l6-6-6-6" })
7633
7794
  }
7634
7795
  )
7635
7796
  }
@@ -7638,30 +7799,30 @@ var StnSideNavToggle = forwardRef33(
7638
7799
  );
7639
7800
 
7640
7801
  // src/components/sideNav/StnSideNavWatermark.tsx
7641
- import { forwardRef as forwardRef34 } from "react";
7642
- import { jsx as jsx62 } from "react/jsx-runtime";
7643
- var StnSideNavWatermark = forwardRef34(
7802
+ import { forwardRef as forwardRef35 } from "react";
7803
+ import { jsx as jsx63 } from "react/jsx-runtime";
7804
+ var StnSideNavWatermark = forwardRef35(
7644
7805
  function StnSideNavWatermark2({ size = "xl", theme, className, ...rest }, ref) {
7645
- return /* @__PURE__ */ jsx62(
7806
+ return /* @__PURE__ */ jsx63(
7646
7807
  "div",
7647
7808
  {
7648
7809
  ref,
7649
7810
  className: cn("stn-side-nav__watermark", className),
7650
7811
  "aria-hidden": "true",
7651
7812
  ...rest,
7652
- children: /* @__PURE__ */ jsx62(StnLogo, { variant: "watermark", size, theme })
7813
+ children: /* @__PURE__ */ jsx63(StnLogo, { variant: "watermark", size, theme })
7653
7814
  }
7654
7815
  );
7655
7816
  }
7656
7817
  );
7657
7818
 
7658
7819
  // src/components/sideNav/StnSideNavMobileTrigger.tsx
7659
- import { forwardRef as forwardRef35 } from "react";
7660
- import { jsx as jsx63, jsxs as jsxs47 } from "react/jsx-runtime";
7661
- var StnSideNavMobileTrigger = forwardRef35(
7820
+ import { forwardRef as forwardRef36 } from "react";
7821
+ import { jsx as jsx64, jsxs as jsxs48 } from "react/jsx-runtime";
7822
+ var StnSideNavMobileTrigger = forwardRef36(
7662
7823
  function StnSideNavMobileTrigger2({ floating = false, className, children, onClick, ...rest }, ref) {
7663
7824
  const { onToggleMobileOpen, mobileOpen } = useSideNav();
7664
- return /* @__PURE__ */ jsx63(
7825
+ return /* @__PURE__ */ jsx64(
7665
7826
  "button",
7666
7827
  {
7667
7828
  ref,
@@ -7679,10 +7840,10 @@ var StnSideNavMobileTrigger = forwardRef35(
7679
7840
  onToggleMobileOpen?.();
7680
7841
  },
7681
7842
  ...rest,
7682
- children: children ?? /* @__PURE__ */ jsxs47("span", { className: "stn-side-nav__hamburger-bars", "aria-hidden": "true", children: [
7683
- /* @__PURE__ */ jsx63("span", {}),
7684
- /* @__PURE__ */ jsx63("span", {}),
7685
- /* @__PURE__ */ jsx63("span", {})
7843
+ children: children ?? /* @__PURE__ */ jsxs48("span", { className: "stn-side-nav__hamburger-bars", "aria-hidden": "true", children: [
7844
+ /* @__PURE__ */ jsx64("span", {}),
7845
+ /* @__PURE__ */ jsx64("span", {}),
7846
+ /* @__PURE__ */ jsx64("span", {})
7686
7847
  ] })
7687
7848
  }
7688
7849
  );
@@ -7691,12 +7852,12 @@ var StnSideNavMobileTrigger = forwardRef35(
7691
7852
 
7692
7853
  // src/components/sideNav/StnSideNavSub.tsx
7693
7854
  import {
7694
- forwardRef as forwardRef36
7855
+ forwardRef as forwardRef37
7695
7856
  } from "react";
7696
- import { jsx as jsx64 } from "react/jsx-runtime";
7697
- var StnSideNavSub = forwardRef36(
7857
+ import { jsx as jsx65 } from "react/jsx-runtime";
7858
+ var StnSideNavSub = forwardRef37(
7698
7859
  function StnSideNavSub2({ children, className, ...rest }, ref) {
7699
- return /* @__PURE__ */ jsx64(
7860
+ return /* @__PURE__ */ jsx65(
7700
7861
  "div",
7701
7862
  {
7702
7863
  ref,
@@ -7709,7 +7870,7 @@ var StnSideNavSub = forwardRef36(
7709
7870
  );
7710
7871
  }
7711
7872
  );
7712
- var StnSideNavSubItem = forwardRef36(
7873
+ var StnSideNavSubItem = forwardRef37(
7713
7874
  function StnSideNavSubItem2({
7714
7875
  variant = "ghost",
7715
7876
  size = "md",
@@ -7725,14 +7886,14 @@ var StnSideNavSubItem = forwardRef36(
7725
7886
  const { collapsed } = useSideNav();
7726
7887
  const content = children ?? label;
7727
7888
  const computedTitle = title ?? (typeof content === "string" ? content : void 0);
7728
- const resolvedIcon = icon ?? (iconSrc ? /* @__PURE__ */ jsx64("span", { className: "stn-side-nav__sub-icon", children: /* @__PURE__ */ jsx64(
7889
+ const resolvedIcon = icon ?? (iconSrc ? /* @__PURE__ */ jsx65("span", { className: "stn-side-nav__sub-icon", children: /* @__PURE__ */ jsx65(
7729
7890
  "span",
7730
7891
  {
7731
7892
  className: "stn-side-nav__sub-glyph",
7732
7893
  style: { maskImage: `url('${iconSrc}')`, WebkitMaskImage: `url('${iconSrc}')` }
7733
7894
  }
7734
7895
  ) }) : null);
7735
- return /* @__PURE__ */ jsx64(
7896
+ return /* @__PURE__ */ jsx65(
7736
7897
  StnButton,
7737
7898
  {
7738
7899
  ref,
@@ -7751,9 +7912,9 @@ var StnSideNavSubItem = forwardRef36(
7751
7912
  );
7752
7913
 
7753
7914
  // src/components/sideNav/StnSideNavSubNav.tsx
7754
- import { forwardRef as forwardRef37 } from "react";
7755
- import { jsx as jsx65 } from "react/jsx-runtime";
7756
- var StnSideNavSubNav = forwardRef37(
7915
+ import { forwardRef as forwardRef38 } from "react";
7916
+ import { jsx as jsx66 } from "react/jsx-runtime";
7917
+ var StnSideNavSubNav = forwardRef38(
7757
7918
  function StnSideNavSubNav2({
7758
7919
  dropdown = false,
7759
7920
  direction = "down",
@@ -7765,7 +7926,7 @@ var StnSideNavSubNav = forwardRef37(
7765
7926
  }, ref) {
7766
7927
  const isUp = direction === "up";
7767
7928
  const isTransparent = variant === "transparent" || background === false;
7768
- return /* @__PURE__ */ jsx65(
7929
+ return /* @__PURE__ */ jsx66(
7769
7930
  "div",
7770
7931
  {
7771
7932
  ref,
@@ -7788,14 +7949,14 @@ var StnSideNavSubNav = forwardRef37(
7788
7949
 
7789
7950
  // src/patterns/sideNav/StnSideNavigation.tsx
7790
7951
  import {
7791
- forwardRef as forwardRef38,
7952
+ forwardRef as forwardRef39,
7792
7953
  useCallback as useCallback8,
7793
7954
  useMemo as useMemo4,
7794
- useState as useState16
7955
+ useState as useState17
7795
7956
  } from "react";
7796
- import { jsx as jsx66, jsxs as jsxs48 } from "react/jsx-runtime";
7957
+ import { jsx as jsx67, jsxs as jsxs49 } from "react/jsx-runtime";
7797
7958
  function useControllableState(controlledValue, defaultValue, onChange) {
7798
- const [internalState, setInternalState] = useState16(defaultValue);
7959
+ const [internalState, setInternalState] = useState17(defaultValue);
7799
7960
  const isControlled = controlledValue !== void 0;
7800
7961
  const value = isControlled ? controlledValue : internalState;
7801
7962
  const setValue = useCallback8(
@@ -7809,7 +7970,7 @@ function useControllableState(controlledValue, defaultValue, onChange) {
7809
7970
  );
7810
7971
  return [value, setValue];
7811
7972
  }
7812
- var StnSideNavigationRoot = forwardRef38(function StnSideNavigationRoot2({
7973
+ var StnSideNavigationRoot = forwardRef39(function StnSideNavigationRoot2({
7813
7974
  variant: variantProp,
7814
7975
  appearance,
7815
7976
  drawerVariant: drawerVariantProp,
@@ -7870,9 +8031,9 @@ var StnSideNavigationRoot = forwardRef38(function StnSideNavigationRoot2({
7870
8031
  }),
7871
8032
  [isEffectiveCollapsed, activeId, setActiveId, handleToggleCollapse, mobileOpen, handleToggleMobileOpen, setMobileOpen, isDrawerMode]
7872
8033
  );
7873
- return /* @__PURE__ */ jsxs48(SideNavContext.Provider, { value: contextValue, children: [
7874
- showMobileTrigger && /* @__PURE__ */ jsx66(StnSideNavMobileTrigger, { floating: true }),
7875
- (drawer || responsiveDrawer) && /* @__PURE__ */ jsx66(
8034
+ return /* @__PURE__ */ jsxs49(SideNavContext.Provider, { value: contextValue, children: [
8035
+ showMobileTrigger && /* @__PURE__ */ jsx67(StnSideNavMobileTrigger, { floating: true }),
8036
+ (drawer || responsiveDrawer) && /* @__PURE__ */ jsx67(
7876
8037
  "div",
7877
8038
  {
7878
8039
  className: cn("stn-side-nav__backdrop", mobileOpen && "is-open"),
@@ -7880,7 +8041,7 @@ var StnSideNavigationRoot = forwardRef38(function StnSideNavigationRoot2({
7880
8041
  "aria-hidden": !mobileOpen
7881
8042
  }
7882
8043
  ),
7883
- /* @__PURE__ */ jsx66(
8044
+ /* @__PURE__ */ jsx67(
7884
8045
  "aside",
7885
8046
  {
7886
8047
  ref,
@@ -7922,14 +8083,14 @@ var StnSideNavigation = Object.assign(StnSideNavigationRoot, {
7922
8083
  import {
7923
8084
  Fragment as Fragment8,
7924
8085
  useEffect as useEffect11,
7925
- useId as useId15,
8086
+ useId as useId16,
7926
8087
  useRef as useRef8,
7927
- useState as useState17
8088
+ useState as useState18
7928
8089
  } from "react";
7929
8090
  import {
7930
8091
  STN_BREADCRUMB_ICON_SRC
7931
8092
  } from "@stn-uiux/pub-ui/data/stnBreadcrumb";
7932
- import { Fragment as Fragment9, jsx as jsx67, jsxs as jsxs49 } from "react/jsx-runtime";
8093
+ import { Fragment as Fragment9, jsx as jsx68, jsxs as jsxs50 } from "react/jsx-runtime";
7933
8094
  function maskStyle3(src) {
7934
8095
  return { maskImage: `url('${src}')`, WebkitMaskImage: `url('${src}')` };
7935
8096
  }
@@ -7942,13 +8103,13 @@ function hasSegmentMenu(item) {
7942
8103
  return Boolean(item.menu || item.menuItems && item.menuItems.length > 0);
7943
8104
  }
7944
8105
  function BreadcrumbSeparator() {
7945
- return /* @__PURE__ */ jsx67("li", { className: "separator", "aria-hidden": "true", children: /* @__PURE__ */ jsx67("span", { style: maskStyle3(STN_BREADCRUMB_ICON_SRC.separator) }) });
8106
+ return /* @__PURE__ */ jsx68("li", { className: "separator", "aria-hidden": "true", children: /* @__PURE__ */ jsx68("span", { style: maskStyle3(STN_BREADCRUMB_ICON_SRC.separator) }) });
7946
8107
  }
7947
8108
  function BreadcrumbIcon({ src }) {
7948
- return /* @__PURE__ */ jsx67("span", { className: "stn-breadcrumb__icon-glyph", style: maskStyle3(src), "aria-hidden": "true" });
8109
+ return /* @__PURE__ */ jsx68("span", { className: "stn-breadcrumb__icon-glyph", style: maskStyle3(src), "aria-hidden": "true" });
7949
8110
  }
7950
8111
  function BreadcrumbCaret() {
7951
- return /* @__PURE__ */ jsx67(
8112
+ return /* @__PURE__ */ jsx68(
7952
8113
  "span",
7953
8114
  {
7954
8115
  className: "stn-breadcrumb__caret",
@@ -7962,10 +8123,10 @@ function SegmentContent({
7962
8123
  label,
7963
8124
  menu
7964
8125
  }) {
7965
- return /* @__PURE__ */ jsxs49(Fragment9, { children: [
7966
- iconSrc ? /* @__PURE__ */ jsx67(BreadcrumbIcon, { src: iconSrc }) : null,
7967
- /* @__PURE__ */ jsx67("span", { className: "stn-breadcrumb__label", children: label }),
7968
- menu ? /* @__PURE__ */ jsx67(BreadcrumbCaret, {}) : null
8126
+ return /* @__PURE__ */ jsxs50(Fragment9, { children: [
8127
+ iconSrc ? /* @__PURE__ */ jsx68(BreadcrumbIcon, { src: iconSrc }) : null,
8128
+ /* @__PURE__ */ jsx68("span", { className: "stn-breadcrumb__label", children: label }),
8129
+ menu ? /* @__PURE__ */ jsx68(BreadcrumbCaret, {}) : null
7969
8130
  ] });
7970
8131
  }
7971
8132
  function BreadcrumbMenuList({
@@ -7973,7 +8134,7 @@ function BreadcrumbMenuList({
7973
8134
  items,
7974
8135
  onPick
7975
8136
  }) {
7976
- return /* @__PURE__ */ jsx67("ul", { id, className: "stn-breadcrumb__menu", role: "menu", children: items.map((option) => /* @__PURE__ */ jsx67("li", { role: "none", children: option.href ? /* @__PURE__ */ jsx67(
8137
+ return /* @__PURE__ */ jsx68("ul", { id, className: "stn-breadcrumb__menu", role: "menu", children: items.map((option) => /* @__PURE__ */ jsx68("li", { role: "none", children: option.href ? /* @__PURE__ */ jsx68(
7977
8138
  "a",
7978
8139
  {
7979
8140
  role: "menuitem",
@@ -7985,7 +8146,7 @@ function BreadcrumbMenuList({
7985
8146
  },
7986
8147
  children: option.label
7987
8148
  }
7988
- ) : /* @__PURE__ */ jsx67(
8149
+ ) : /* @__PURE__ */ jsx68(
7989
8150
  "button",
7990
8151
  {
7991
8152
  type: "button",
@@ -8022,20 +8183,20 @@ function BreadcrumbSegment({
8022
8183
  item,
8023
8184
  isCurrent
8024
8185
  }) {
8025
- const menuId = useId15();
8026
- const [open, setOpen] = useState17(false);
8186
+ const menuId = useId16();
8187
+ const [open, setOpen] = useState18(false);
8027
8188
  const menuItems = item.menuItems ?? [];
8028
8189
  const showMenu = hasSegmentMenu(item) && !isCurrent;
8029
8190
  const canOpenMenu = showMenu && menuItems.length > 0;
8030
8191
  const rootRef = useDismissibleMenu(open, () => setOpen(false));
8031
8192
  const iconSrc = resolveIconSrc(item);
8032
- const content = /* @__PURE__ */ jsx67(SegmentContent, { iconSrc, label: item.label, menu: showMenu });
8193
+ const content = /* @__PURE__ */ jsx68(SegmentContent, { iconSrc, label: item.label, menu: showMenu });
8033
8194
  if (isCurrent) {
8034
- return /* @__PURE__ */ jsx67("span", { className: "stn-breadcrumb__segment", "aria-current": "page", "aria-label": item.label, children: content });
8195
+ return /* @__PURE__ */ jsx68("span", { className: "stn-breadcrumb__segment", "aria-current": "page", "aria-label": item.label, children: content });
8035
8196
  }
8036
8197
  if (canOpenMenu) {
8037
- return /* @__PURE__ */ jsxs49("span", { ref: rootRef, className: "stn-breadcrumb__segment-wrap", children: [
8038
- /* @__PURE__ */ jsx67(
8198
+ return /* @__PURE__ */ jsxs50("span", { ref: rootRef, className: "stn-breadcrumb__segment-wrap", children: [
8199
+ /* @__PURE__ */ jsx68(
8039
8200
  "button",
8040
8201
  {
8041
8202
  type: "button",
@@ -8051,7 +8212,7 @@ function BreadcrumbSegment({
8051
8212
  children: content
8052
8213
  }
8053
8214
  ),
8054
- open ? /* @__PURE__ */ jsx67(BreadcrumbMenuList, { id: menuId, items: menuItems, onPick: () => setOpen(false) }) : null
8215
+ open ? /* @__PURE__ */ jsx68(BreadcrumbMenuList, { id: menuId, items: menuItems, onPick: () => setOpen(false) }) : null
8055
8216
  ] });
8056
8217
  }
8057
8218
  if (item.menu || item.onClick) {
@@ -8063,7 +8224,7 @@ function BreadcrumbSegment({
8063
8224
  "aria-haspopup": item.menu ? "menu" : void 0,
8064
8225
  "aria-expanded": item.menu ? false : void 0
8065
8226
  };
8066
- return /* @__PURE__ */ jsx67("button", { ...buttonProps, children: content });
8227
+ return /* @__PURE__ */ jsx68("button", { ...buttonProps, children: content });
8067
8228
  }
8068
8229
  if (item.href) {
8069
8230
  const linkProps = {
@@ -8072,17 +8233,17 @@ function BreadcrumbSegment({
8072
8233
  onClick: item.onClick,
8073
8234
  "aria-label": item.label
8074
8235
  };
8075
- return /* @__PURE__ */ jsx67("a", { ...linkProps, children: content });
8236
+ return /* @__PURE__ */ jsx68("a", { ...linkProps, children: content });
8076
8237
  }
8077
- return /* @__PURE__ */ jsx67("span", { className: "stn-breadcrumb__segment", "aria-label": item.label, children: content });
8238
+ return /* @__PURE__ */ jsx68("span", { className: "stn-breadcrumb__segment", "aria-label": item.label, children: content });
8078
8239
  }
8079
8240
  function BreadcrumbBack({
8080
8241
  label,
8081
8242
  href,
8082
8243
  onClick
8083
8244
  }) {
8084
- const content = /* @__PURE__ */ jsxs49(Fragment9, { children: [
8085
- /* @__PURE__ */ jsx67(
8245
+ const content = /* @__PURE__ */ jsxs50(Fragment9, { children: [
8246
+ /* @__PURE__ */ jsx68(
8086
8247
  "span",
8087
8248
  {
8088
8249
  className: "stn-breadcrumb__back-glyph",
@@ -8090,12 +8251,12 @@ function BreadcrumbBack({
8090
8251
  "aria-hidden": "true"
8091
8252
  }
8092
8253
  ),
8093
- /* @__PURE__ */ jsx67("span", { className: "stn-breadcrumb__label", children: label })
8254
+ /* @__PURE__ */ jsx68("span", { className: "stn-breadcrumb__label", children: label })
8094
8255
  ] });
8095
8256
  if (href) {
8096
- return /* @__PURE__ */ jsx67("a", { className: "stn-breadcrumb__back", href, onClick, "aria-label": `\uB4A4\uB85C: ${label}`, children: content });
8257
+ return /* @__PURE__ */ jsx68("a", { className: "stn-breadcrumb__back", href, onClick, "aria-label": `\uB4A4\uB85C: ${label}`, children: content });
8097
8258
  }
8098
- return /* @__PURE__ */ jsx67("button", { type: "button", className: "stn-breadcrumb__back", onClick, "aria-label": `\uB4A4\uB85C: ${label}`, children: content });
8259
+ return /* @__PURE__ */ jsx68("button", { type: "button", className: "stn-breadcrumb__back", onClick, "aria-label": `\uB4A4\uB85C: ${label}`, children: content });
8099
8260
  }
8100
8261
  function splitCollapsedItems(items, maxItems, itemsBeforeCollapse, itemsAfterCollapse) {
8101
8262
  if (!maxItems || items.length <= maxItems) {
@@ -8117,7 +8278,7 @@ function BreadcrumbCollapsed({
8117
8278
  items,
8118
8279
  menuId
8119
8280
  }) {
8120
- const [open, setOpen] = useState17(false);
8281
+ const [open, setOpen] = useState18(false);
8121
8282
  const rootRef = useDismissibleMenu(open, () => setOpen(false));
8122
8283
  const menuItems = items.map((item) => ({
8123
8284
  id: item.id,
@@ -8126,8 +8287,8 @@ function BreadcrumbCollapsed({
8126
8287
  onClick: item.onClick,
8127
8288
  current: item.current
8128
8289
  }));
8129
- return /* @__PURE__ */ jsxs49("li", { className: "stn-breadcrumb__item", ref: rootRef, children: [
8130
- /* @__PURE__ */ jsx67(
8290
+ return /* @__PURE__ */ jsxs50("li", { className: "stn-breadcrumb__item", ref: rootRef, children: [
8291
+ /* @__PURE__ */ jsx68(
8131
8292
  "button",
8132
8293
  {
8133
8294
  type: "button",
@@ -8140,7 +8301,7 @@ function BreadcrumbCollapsed({
8140
8301
  children: "\u22EF"
8141
8302
  }
8142
8303
  ),
8143
- open ? /* @__PURE__ */ jsx67(BreadcrumbMenuList, { id: menuId, items: menuItems, onPick: () => setOpen(false) }) : null
8304
+ open ? /* @__PURE__ */ jsx68(BreadcrumbMenuList, { id: menuId, items: menuItems, onPick: () => setOpen(false) }) : null
8144
8305
  ] });
8145
8306
  }
8146
8307
  function StnBreadcrumb({
@@ -8157,7 +8318,7 @@ function StnBreadcrumb({
8157
8318
  homeLabel = "\uD648",
8158
8319
  renderItem
8159
8320
  }) {
8160
- const menuId = useId15();
8321
+ const menuId = useId16();
8161
8322
  const currentIndex = items.findIndex((item, index) => item.current ?? index === items.length - 1);
8162
8323
  const currentItem = currentIndex >= 0 ? items[currentIndex] : items[items.length - 1];
8163
8324
  const previousItem = currentIndex > 0 ? items[currentIndex - 1] : null;
@@ -8172,8 +8333,8 @@ function StnBreadcrumb({
8172
8333
  const lastId = items[items.length - 1]?.id;
8173
8334
  const renderTrailItem = (item) => {
8174
8335
  const isCurrent = Boolean(item.current) || item.id === lastId;
8175
- const segment = /* @__PURE__ */ jsx67(BreadcrumbSegment, { item, isCurrent });
8176
- return /* @__PURE__ */ jsx67(
8336
+ const segment = /* @__PURE__ */ jsx68(BreadcrumbSegment, { item, isCurrent });
8337
+ return /* @__PURE__ */ jsx68(
8177
8338
  "li",
8178
8339
  {
8179
8340
  className: cn(
@@ -8184,27 +8345,27 @@ function StnBreadcrumb({
8184
8345
  }
8185
8346
  );
8186
8347
  };
8187
- return /* @__PURE__ */ jsx67(
8348
+ return /* @__PURE__ */ jsx68(
8188
8349
  "nav",
8189
8350
  {
8190
8351
  className: cn("stn-breadcrumb", size, variant === "chip" && "chip", className),
8191
8352
  "aria-label": "Breadcrumb",
8192
- children: /* @__PURE__ */ jsxs49("ol", { className: "stn-breadcrumb__list", children: [
8193
- currentItem ? /* @__PURE__ */ jsx67("li", { className: "stn-breadcrumb__item stn-breadcrumb__item--back", children: /* @__PURE__ */ jsx67(BreadcrumbBack, { label: currentItem.label, href: backHref, onClick: backOnClick }) }) : null,
8194
- showHome ? /* @__PURE__ */ jsx67("li", { className: "stn-breadcrumb__item stn-breadcrumb__item--home", children: /* @__PURE__ */ jsxs49("a", { className: "stn-breadcrumb__home", href: homeHref, onClick: onHomeClick, children: [
8195
- /* @__PURE__ */ jsx67(BreadcrumbIcon, { src: STN_BREADCRUMB_ICON_SRC.home }),
8196
- /* @__PURE__ */ jsx67("span", { className: "blind", children: homeLabel })
8353
+ children: /* @__PURE__ */ jsxs50("ol", { className: "stn-breadcrumb__list", children: [
8354
+ currentItem ? /* @__PURE__ */ jsx68("li", { className: "stn-breadcrumb__item stn-breadcrumb__item--back", children: /* @__PURE__ */ jsx68(BreadcrumbBack, { label: currentItem.label, href: backHref, onClick: backOnClick }) }) : null,
8355
+ showHome ? /* @__PURE__ */ jsx68("li", { className: "stn-breadcrumb__item stn-breadcrumb__item--home", children: /* @__PURE__ */ jsxs50("a", { className: "stn-breadcrumb__home", href: homeHref, onClick: onHomeClick, children: [
8356
+ /* @__PURE__ */ jsx68(BreadcrumbIcon, { src: STN_BREADCRUMB_ICON_SRC.home }),
8357
+ /* @__PURE__ */ jsx68("span", { className: "blind", children: homeLabel })
8197
8358
  ] }) }) : null,
8198
- head.map((item, index) => /* @__PURE__ */ jsxs49(Fragment8, { children: [
8199
- showHome || index > 0 ? /* @__PURE__ */ jsx67(BreadcrumbSeparator, {}) : null,
8359
+ head.map((item, index) => /* @__PURE__ */ jsxs50(Fragment8, { children: [
8360
+ showHome || index > 0 ? /* @__PURE__ */ jsx68(BreadcrumbSeparator, {}) : null,
8200
8361
  renderTrailItem(item)
8201
8362
  ] }, item.id)),
8202
- hidden.length > 0 ? /* @__PURE__ */ jsxs49(Fragment9, { children: [
8203
- /* @__PURE__ */ jsx67(BreadcrumbSeparator, {}),
8204
- /* @__PURE__ */ jsx67(BreadcrumbCollapsed, { items: hidden, menuId })
8363
+ hidden.length > 0 ? /* @__PURE__ */ jsxs50(Fragment9, { children: [
8364
+ /* @__PURE__ */ jsx68(BreadcrumbSeparator, {}),
8365
+ /* @__PURE__ */ jsx68(BreadcrumbCollapsed, { items: hidden, menuId })
8205
8366
  ] }) : null,
8206
- tail.map((item) => /* @__PURE__ */ jsxs49(Fragment8, { children: [
8207
- /* @__PURE__ */ jsx67(BreadcrumbSeparator, {}),
8367
+ tail.map((item) => /* @__PURE__ */ jsxs50(Fragment8, { children: [
8368
+ /* @__PURE__ */ jsx68(BreadcrumbSeparator, {}),
8208
8369
  renderTrailItem(item)
8209
8370
  ] }, item.id))
8210
8371
  ] })
@@ -8213,9 +8374,9 @@ function StnBreadcrumb({
8213
8374
  }
8214
8375
 
8215
8376
  // src/components/StnHeaderTitle.tsx
8216
- import { useEffect as useEffect12, useState as useState18 } from "react";
8377
+ import { useEffect as useEffect12, useState as useState19 } from "react";
8217
8378
  import { STN_HEADER_TITLE_FRAME } from "@stn-uiux/pub-ui/data/stnHeaderTitle";
8218
- import { jsx as jsx68, jsxs as jsxs50 } from "react/jsx-runtime";
8379
+ import { jsx as jsx69, jsxs as jsxs51 } from "react/jsx-runtime";
8219
8380
  var KO_WEEKDAY_SHORT = ["\uC77C", "\uC6D4", "\uD654", "\uC218", "\uBAA9", "\uAE08", "\uD1A0"];
8220
8381
  var KO_WEEKDAY_LONG = [
8221
8382
  "\uC77C\uC694\uC77C",
@@ -8254,8 +8415,8 @@ function formatStnHeaderTitleTime(date, options) {
8254
8415
  }
8255
8416
  function HeaderTitleFrame({ preview = false }) {
8256
8417
  const frameClass = preview ? "stn-header-title__frame-preview" : "stn-header-title__frame";
8257
- return /* @__PURE__ */ jsxs50("div", { className: frameClass, "aria-hidden": "true", children: [
8258
- /* @__PURE__ */ jsx68("div", { className: "stn-header-title__frame-bleed stn-header-title__frame-bleed--outer", children: /* @__PURE__ */ jsx68(
8418
+ return /* @__PURE__ */ jsxs51("div", { className: frameClass, "aria-hidden": "true", children: [
8419
+ /* @__PURE__ */ jsx69("div", { className: "stn-header-title__frame-bleed stn-header-title__frame-bleed--outer", children: /* @__PURE__ */ jsx69(
8259
8420
  "img",
8260
8421
  {
8261
8422
  className: "stn-header-title__frame-img",
@@ -8264,8 +8425,8 @@ function HeaderTitleFrame({ preview = false }) {
8264
8425
  draggable: false
8265
8426
  }
8266
8427
  ) }),
8267
- /* @__PURE__ */ jsxs50("div", { className: "stn-header-title__frame-bleed stn-header-title__frame-bleed--inner", children: [
8268
- /* @__PURE__ */ jsx68(
8428
+ /* @__PURE__ */ jsxs51("div", { className: "stn-header-title__frame-bleed stn-header-title__frame-bleed--inner", children: [
8429
+ /* @__PURE__ */ jsx69(
8269
8430
  "img",
8270
8431
  {
8271
8432
  className: "stn-header-title__frame-img stn-header-title__frame-img--dark",
@@ -8274,7 +8435,7 @@ function HeaderTitleFrame({ preview = false }) {
8274
8435
  draggable: false
8275
8436
  }
8276
8437
  ),
8277
- /* @__PURE__ */ jsx68(
8438
+ /* @__PURE__ */ jsx69(
8278
8439
  "img",
8279
8440
  {
8280
8441
  className: "stn-header-title__frame-img stn-header-title__frame-img--light",
@@ -8287,10 +8448,10 @@ function HeaderTitleFrame({ preview = false }) {
8287
8448
  ] });
8288
8449
  }
8289
8450
  function StnHeaderTitleFramePreview({ className }) {
8290
- return /* @__PURE__ */ jsx68("div", { className: cn("stn-header-title__frame-only", className), children: /* @__PURE__ */ jsx68(HeaderTitleFrame, { preview: true }) });
8451
+ return /* @__PURE__ */ jsx69("div", { className: cn("stn-header-title__frame-only", className), children: /* @__PURE__ */ jsx69(HeaderTitleFrame, { preview: true }) });
8291
8452
  }
8292
8453
  function useLiveClock(enabled) {
8293
- const [now, setNow] = useState18(() => /* @__PURE__ */ new Date());
8454
+ const [now, setNow] = useState19(() => /* @__PURE__ */ new Date());
8294
8455
  useEffect12(() => {
8295
8456
  if (!enabled) return;
8296
8457
  const id = window.setInterval(() => setNow(/* @__PURE__ */ new Date()), 1e3);
@@ -8303,35 +8464,35 @@ function StnHeaderTitleMainText({
8303
8464
  children,
8304
8465
  ...rest
8305
8466
  }) {
8306
- return /* @__PURE__ */ jsx68("h1", { className: cn("stn-header-title__text", className), ...rest, children });
8467
+ return /* @__PURE__ */ jsx69("h1", { className: cn("stn-header-title__text", className), ...rest, children });
8307
8468
  }
8308
8469
  function StnHeaderTitleSubText({
8309
8470
  className,
8310
8471
  children,
8311
8472
  ...rest
8312
8473
  }) {
8313
- return /* @__PURE__ */ jsx68("span", { className: cn("stn-header-title__sub-text", className), ...rest, children });
8474
+ return /* @__PURE__ */ jsx69("span", { className: cn("stn-header-title__sub-text", className), ...rest, children });
8314
8475
  }
8315
8476
  function StnHeaderTitleDate({
8316
8477
  className,
8317
8478
  children,
8318
8479
  ...rest
8319
8480
  }) {
8320
- return /* @__PURE__ */ jsx68("time", { className: cn("stn-header-title__date", className), ...rest, children });
8481
+ return /* @__PURE__ */ jsx69("time", { className: cn("stn-header-title__date", className), ...rest, children });
8321
8482
  }
8322
8483
  function StnHeaderTitleWeekday({
8323
8484
  className,
8324
8485
  children,
8325
8486
  ...rest
8326
8487
  }) {
8327
- return /* @__PURE__ */ jsx68("span", { className: cn("stn-header-title__weekday", className), ...rest, children });
8488
+ return /* @__PURE__ */ jsx69("span", { className: cn("stn-header-title__weekday", className), ...rest, children });
8328
8489
  }
8329
8490
  function StnHeaderTitleTime({
8330
8491
  className,
8331
8492
  children,
8332
8493
  ...rest
8333
8494
  }) {
8334
- return /* @__PURE__ */ jsx68("span", { className: cn("stn-header-title__time", className), "aria-label": "\uD604\uC7AC \uC2DC\uAC01", ...rest, children });
8495
+ return /* @__PURE__ */ jsx69("span", { className: cn("stn-header-title__time", className), "aria-label": "\uD604\uC7AC \uC2DC\uAC01", ...rest, children });
8335
8496
  }
8336
8497
  function StnHeaderTitleClock({
8337
8498
  className,
@@ -8354,7 +8515,7 @@ function StnHeaderTitleClock({
8354
8515
  }) {
8355
8516
  const now = useLiveClock(live);
8356
8517
  if (children != null) {
8357
- return /* @__PURE__ */ jsxs50(
8518
+ return /* @__PURE__ */ jsxs51(
8358
8519
  "header",
8359
8520
  {
8360
8521
  className: cn(
@@ -8366,8 +8527,8 @@ function StnHeaderTitleClock({
8366
8527
  ),
8367
8528
  ...rest,
8368
8529
  children: [
8369
- framed ? /* @__PURE__ */ jsx68(HeaderTitleFrame, {}) : null,
8370
- /* @__PURE__ */ jsx68("div", { className: "stn-header-title__content", children })
8530
+ framed ? /* @__PURE__ */ jsx69(HeaderTitleFrame, {}) : null,
8531
+ /* @__PURE__ */ jsx69("div", { className: "stn-header-title__content", children })
8371
8532
  ]
8372
8533
  }
8373
8534
  );
@@ -8397,7 +8558,7 @@ function StnHeaderTitleClock({
8397
8558
  resolvedTime = formatStnHeaderTitleTime(now, { showSeconds });
8398
8559
  }
8399
8560
  }
8400
- return /* @__PURE__ */ jsxs50(
8561
+ return /* @__PURE__ */ jsxs51(
8401
8562
  "header",
8402
8563
  {
8403
8564
  className: cn(
@@ -8409,11 +8570,11 @@ function StnHeaderTitleClock({
8409
8570
  ),
8410
8571
  ...rest,
8411
8572
  children: [
8412
- framed ? /* @__PURE__ */ jsx68(HeaderTitleFrame, {}) : null,
8413
- /* @__PURE__ */ jsxs50("div", { className: "stn-header-title__content", children: [
8414
- resolvedDate ? /* @__PURE__ */ jsx68("time", { className: "stn-header-title__date", dateTime: resolvedDate, children: resolvedDate }) : null,
8415
- showWeekdayOnly ? /* @__PURE__ */ jsx68("span", { className: "stn-header-title__weekday", children: resolvedWeekday }) : null,
8416
- resolvedTime ? /* @__PURE__ */ jsx68("span", { className: "stn-header-title__time", "aria-label": "\uD604\uC7AC \uC2DC\uAC01", children: resolvedTime }) : null
8573
+ framed ? /* @__PURE__ */ jsx69(HeaderTitleFrame, {}) : null,
8574
+ /* @__PURE__ */ jsxs51("div", { className: "stn-header-title__content", children: [
8575
+ resolvedDate ? /* @__PURE__ */ jsx69("time", { className: "stn-header-title__date", dateTime: resolvedDate, children: resolvedDate }) : null,
8576
+ showWeekdayOnly ? /* @__PURE__ */ jsx69("span", { className: "stn-header-title__weekday", children: resolvedWeekday }) : null,
8577
+ resolvedTime ? /* @__PURE__ */ jsx69("span", { className: "stn-header-title__time", "aria-label": "\uD604\uC7AC \uC2DC\uAC01", children: resolvedTime }) : null
8417
8578
  ] })
8418
8579
  ]
8419
8580
  }
@@ -8430,7 +8591,7 @@ function StnHeaderTitleDual({
8430
8591
  ...rest
8431
8592
  }) {
8432
8593
  const resolvedMain = mainText ?? title ?? children;
8433
- return /* @__PURE__ */ jsxs50(
8594
+ return /* @__PURE__ */ jsxs51(
8434
8595
  "header",
8435
8596
  {
8436
8597
  className: cn(
@@ -8442,10 +8603,10 @@ function StnHeaderTitleDual({
8442
8603
  ),
8443
8604
  ...rest,
8444
8605
  children: [
8445
- framed ? /* @__PURE__ */ jsx68(HeaderTitleFrame, {}) : null,
8446
- /* @__PURE__ */ jsxs50("div", { className: "stn-header-title__content", children: [
8447
- subText != null ? /* @__PURE__ */ jsx68("span", { className: "stn-header-title__sub-text", children: subText }) : null,
8448
- resolvedMain != null ? typeof resolvedMain === "string" || typeof resolvedMain === "number" ? /* @__PURE__ */ jsx68("h1", { className: "stn-header-title__text", children: resolvedMain }) : resolvedMain : null
8606
+ framed ? /* @__PURE__ */ jsx69(HeaderTitleFrame, {}) : null,
8607
+ /* @__PURE__ */ jsxs51("div", { className: "stn-header-title__content", children: [
8608
+ subText != null ? /* @__PURE__ */ jsx69("span", { className: "stn-header-title__sub-text", children: subText }) : null,
8609
+ resolvedMain != null ? typeof resolvedMain === "string" || typeof resolvedMain === "number" ? /* @__PURE__ */ jsx69("h1", { className: "stn-header-title__text", children: resolvedMain }) : resolvedMain : null
8449
8610
  ] })
8450
8611
  ]
8451
8612
  }
@@ -8460,7 +8621,7 @@ function StnHeaderTitleText({
8460
8621
  ...rest
8461
8622
  }) {
8462
8623
  const resolved = title ?? children;
8463
- return /* @__PURE__ */ jsxs50(
8624
+ return /* @__PURE__ */ jsxs51(
8464
8625
  "header",
8465
8626
  {
8466
8627
  className: cn(
@@ -8472,20 +8633,20 @@ function StnHeaderTitleText({
8472
8633
  ),
8473
8634
  ...rest,
8474
8635
  children: [
8475
- framed ? /* @__PURE__ */ jsx68(HeaderTitleFrame, {}) : null,
8476
- /* @__PURE__ */ jsx68("div", { className: "stn-header-title__content", children: typeof resolved === "string" || typeof resolved === "number" ? /* @__PURE__ */ jsx68("h1", { className: "stn-header-title__text", children: resolved }) : resolved })
8636
+ framed ? /* @__PURE__ */ jsx69(HeaderTitleFrame, {}) : null,
8637
+ /* @__PURE__ */ jsx69("div", { className: "stn-header-title__content", children: typeof resolved === "string" || typeof resolved === "number" ? /* @__PURE__ */ jsx69("h1", { className: "stn-header-title__text", children: resolved }) : resolved })
8477
8638
  ]
8478
8639
  }
8479
8640
  );
8480
8641
  }
8481
8642
  function StnHeaderTitleRoot(props) {
8482
8643
  if (props.variant === "clock") {
8483
- return /* @__PURE__ */ jsx68(StnHeaderTitleClock, { ...props });
8644
+ return /* @__PURE__ */ jsx69(StnHeaderTitleClock, { ...props });
8484
8645
  }
8485
8646
  if (props.variant === "dual" || "subText" in props && props.subText != null) {
8486
- return /* @__PURE__ */ jsx68(StnHeaderTitleDual, { ...props });
8647
+ return /* @__PURE__ */ jsx69(StnHeaderTitleDual, { ...props });
8487
8648
  }
8488
- return /* @__PURE__ */ jsx68(StnHeaderTitleText, { ...props });
8649
+ return /* @__PURE__ */ jsx69(StnHeaderTitleText, { ...props });
8489
8650
  }
8490
8651
  var StnHeaderTitle = Object.assign(StnHeaderTitleRoot, {
8491
8652
  Text: StnHeaderTitleMainText,
@@ -8498,10 +8659,10 @@ var StnHeaderTitle = Object.assign(StnHeaderTitleRoot, {
8498
8659
 
8499
8660
  // src/layouts/StnContainer.tsx
8500
8661
  import {
8501
- forwardRef as forwardRef39
8662
+ forwardRef as forwardRef40
8502
8663
  } from "react";
8503
- import { jsx as jsx69 } from "react/jsx-runtime";
8504
- var StnContainer = forwardRef39(function StnContainer2({
8664
+ import { jsx as jsx70 } from "react/jsx-runtime";
8665
+ var StnContainer = forwardRef40(function StnContainer2({
8505
8666
  component,
8506
8667
  as,
8507
8668
  maxWidth = "lg",
@@ -8516,7 +8677,7 @@ var StnContainer = forwardRef39(function StnContainer2({
8516
8677
  const Component = component ?? as ?? "div";
8517
8678
  const maxWidthClass = maxWidth ? `stn-container--${maxWidth} stn-container--max-width-${maxWidth}` : "stn-container--fluid stn-container--max-width-false";
8518
8679
  const classKey = maxWidth ? `maxWidth${maxWidth.charAt(0).toUpperCase() + maxWidth.slice(1)}` : "maxWidthFalse";
8519
- return /* @__PURE__ */ jsx69(
8680
+ return /* @__PURE__ */ jsx70(
8520
8681
  Component,
8521
8682
  {
8522
8683
  ref,
@@ -8539,8 +8700,8 @@ var StnContainer = forwardRef39(function StnContainer2({
8539
8700
  });
8540
8701
 
8541
8702
  // src/layouts/StnGrid.tsx
8542
- import { forwardRef as forwardRef40 } from "react";
8543
- import { jsx as jsx70 } from "react/jsx-runtime";
8703
+ import { forwardRef as forwardRef41 } from "react";
8704
+ import { jsx as jsx71 } from "react/jsx-runtime";
8544
8705
  var BREAKPOINTS2 = ["xs", "sm", "md", "lg", "xl"];
8545
8706
  var SPACING_CLASS = {
8546
8707
  "0": "0",
@@ -8606,7 +8767,7 @@ function sizeClasses(size) {
8606
8767
  }
8607
8768
  return classes;
8608
8769
  }
8609
- var StnGrid = forwardRef40(function StnGrid2({
8770
+ var StnGrid = forwardRef41(function StnGrid2({
8610
8771
  component,
8611
8772
  as,
8612
8773
  container = false,
@@ -8626,7 +8787,7 @@ var StnGrid = forwardRef40(function StnGrid2({
8626
8787
  const Component = component ?? as ?? "div";
8627
8788
  const justify = typeof justifyContent === "string" && JUSTIFY_CLASS2.has(justifyContent) ? justifyContent : void 0;
8628
8789
  const align = typeof alignItems === "string" && ALIGN_CLASS2.has(alignItems) ? alignItems : void 0;
8629
- return /* @__PURE__ */ jsx70(
8790
+ return /* @__PURE__ */ jsx71(
8630
8791
  Component,
8631
8792
  {
8632
8793
  ref,
@@ -8650,7 +8811,7 @@ var StnGrid = forwardRef40(function StnGrid2({
8650
8811
  });
8651
8812
 
8652
8813
  // src/layouts/StnLayerShell.tsx
8653
- import { jsx as jsx71, jsxs as jsxs51 } from "react/jsx-runtime";
8814
+ import { jsx as jsx72, jsxs as jsxs52 } from "react/jsx-runtime";
8654
8815
  function StnLayerShell({
8655
8816
  gnb,
8656
8817
  gnbSide = "left",
@@ -8671,7 +8832,7 @@ function StnLayerShell({
8671
8832
  const resolvedMainContent = layer1 ?? children;
8672
8833
  const resolvedModal = layer2;
8673
8834
  const isGnbRight = gnbSide === "right";
8674
- return /* @__PURE__ */ jsxs51(
8835
+ return /* @__PURE__ */ jsxs52(
8675
8836
  "div",
8676
8837
  {
8677
8838
  id: wrapId,
@@ -8680,8 +8841,8 @@ function StnLayerShell({
8680
8841
  className: cn("stn-wrap", isGnbRight && "stn-wrap--gnb-right", wrapClassName),
8681
8842
  children: [
8682
8843
  layer0,
8683
- utilities ? /* @__PURE__ */ jsx71("div", { className: "stn-page-utilities", "data-stn-layer-role": "utility", children: utilities }) : null,
8684
- /* @__PURE__ */ jsxs51(
8844
+ utilities ? /* @__PURE__ */ jsx72("div", { className: "stn-page-utilities", "data-stn-layer-role": "utility", children: utilities }) : null,
8845
+ /* @__PURE__ */ jsxs52(
8685
8846
  "main",
8686
8847
  {
8687
8848
  id: containerId,
@@ -8690,9 +8851,9 @@ function StnLayerShell({
8690
8851
  className: cn("stn-layer-1", scrollable && "scroll", containerClassName),
8691
8852
  children: [
8692
8853
  !isGnbRight && gnb,
8693
- /* @__PURE__ */ jsxs51("div", { className: "stn-layer-1__main", children: [
8694
- header ? /* @__PURE__ */ jsx71("header", { className: "stn-layer-1__header", children: header }) : null,
8695
- /* @__PURE__ */ jsx71("div", { className: cn("stn-layer-1__body", scrollable && "stn-scroll", contentClassName), children: resolvedMainContent })
8854
+ /* @__PURE__ */ jsxs52("div", { className: "stn-layer-1__main", children: [
8855
+ header ? /* @__PURE__ */ jsx72("header", { className: "stn-layer-1__header", children: header }) : null,
8856
+ /* @__PURE__ */ jsx72("div", { className: cn("stn-layer-1__body", scrollable && "stn-scroll", contentClassName), children: resolvedMainContent })
8696
8857
  ] }),
8697
8858
  isGnbRight && gnb
8698
8859
  ]
@@ -8705,7 +8866,7 @@ function StnLayerShell({
8705
8866
  }
8706
8867
 
8707
8868
  // src/layouts/StnListViewLayout.tsx
8708
- import { jsx as jsx72, jsxs as jsxs52 } from "react/jsx-runtime";
8869
+ import { jsx as jsx73, jsxs as jsxs53 } from "react/jsx-runtime";
8709
8870
  function StnListViewLayoutBody({
8710
8871
  search,
8711
8872
  sidebar,
@@ -8716,13 +8877,13 @@ function StnListViewLayoutBody({
8716
8877
  className
8717
8878
  }) {
8718
8879
  const lnbClass = lnbSide === "right" ? "stn-page-scaffold__lnb lnb_box lnb_box_right" : "stn-page-scaffold__lnb lnb_box";
8719
- const sidebarAside = sidebar ? /* @__PURE__ */ jsx72("aside", { className: lnbClass, children: sidebar }) : null;
8720
- return /* @__PURE__ */ jsx72(
8880
+ const sidebarAside = sidebar ? /* @__PURE__ */ jsx73("aside", { className: lnbClass, children: sidebar }) : null;
8881
+ return /* @__PURE__ */ jsx73(
8721
8882
  StnContainer,
8722
8883
  {
8723
8884
  maxWidth: false,
8724
8885
  className: cn("stn-list-view-layout__body", className),
8725
- children: /* @__PURE__ */ jsxs52(
8886
+ children: /* @__PURE__ */ jsxs53(
8726
8887
  StnStack,
8727
8888
  {
8728
8889
  direction: "row",
@@ -8730,19 +8891,19 @@ function StnListViewLayoutBody({
8730
8891
  className: "stn-list-view__main",
8731
8892
  children: [
8732
8893
  lnbSide === "left" ? sidebarAside : null,
8733
- /* @__PURE__ */ jsxs52(
8894
+ /* @__PURE__ */ jsxs53(
8734
8895
  StnStack,
8735
8896
  {
8736
8897
  direction: "column",
8737
8898
  spacing: 2,
8738
8899
  className: "stn-list-view__content-stack",
8739
8900
  children: [
8740
- search ? /* @__PURE__ */ jsx72("div", { className: "stn-page-scaffold__search search_area", children: search }) : null,
8741
- /* @__PURE__ */ jsx72(
8901
+ search ? /* @__PURE__ */ jsx73("div", { className: "stn-page-scaffold__search search_area", children: search }) : null,
8902
+ /* @__PURE__ */ jsx73(
8742
8903
  "div",
8743
8904
  {
8744
8905
  className: "stn-page-scaffold__content content_box",
8745
- children: children ?? /* @__PURE__ */ jsxs52("div", { className: "stn-table stn-table--fill", children: [
8906
+ children: children ?? /* @__PURE__ */ jsxs53("div", { className: "stn-table stn-table--fill", children: [
8746
8907
  table,
8747
8908
  pagination
8748
8909
  ] })
@@ -8774,7 +8935,7 @@ function StnListViewLayoutRoot({
8774
8935
  }) {
8775
8936
  const bare = bareProp ?? noShell ?? false;
8776
8937
  const hasLnbClass = lnbSide === "right" ? "has_lnb_right" : "has_lnb";
8777
- const body = /* @__PURE__ */ jsx72(
8938
+ const body = /* @__PURE__ */ jsx73(
8778
8939
  StnListViewLayoutBody,
8779
8940
  {
8780
8941
  search,
@@ -8789,10 +8950,10 @@ function StnListViewLayoutRoot({
8789
8950
  if (bare) {
8790
8951
  return body;
8791
8952
  }
8792
- const renderedHeader = header === null ? null : header !== void 0 ? header : /* @__PURE__ */ jsx72("div", { className: "stn-layer-1__header", children: /* @__PURE__ */ jsx72(StnHeader, { variant: "page", children: /* @__PURE__ */ jsx72(StnHeader.Left, { children: /* @__PURE__ */ jsx72(StnHeaderPageTitle, { children: title }) }) }) });
8793
- return /* @__PURE__ */ jsxs52("div", { className: cn("stn-list-view-layout", "stn-layer-1", className), ...rest, children: [
8953
+ const renderedHeader = header === null ? null : header !== void 0 ? header : /* @__PURE__ */ jsx73("div", { className: "stn-layer-1__header", children: /* @__PURE__ */ jsx73(StnHeader, { variant: "page", children: /* @__PURE__ */ jsx73(StnHeader.Left, { children: /* @__PURE__ */ jsx73(StnHeaderPageTitle, { children: title }) }) }) });
8954
+ return /* @__PURE__ */ jsxs53("div", { className: cn("stn-list-view-layout", "stn-layer-1", className), ...rest, children: [
8794
8955
  renderedHeader,
8795
- /* @__PURE__ */ jsx72(
8956
+ /* @__PURE__ */ jsx73(
8796
8957
  "div",
8797
8958
  {
8798
8959
  className: cn("stn-content-area", sidebar ? hasLnbClass : null, search ? "has_sch" : null),
@@ -8802,10 +8963,10 @@ function StnListViewLayoutRoot({
8802
8963
  ] });
8803
8964
  }
8804
8965
  function StnListViewLayoutHeader({ className, children, ...rest }) {
8805
- return /* @__PURE__ */ jsx72("div", { className: cn("stn-layer-1__header", className), ...rest, children });
8966
+ return /* @__PURE__ */ jsx73("div", { className: cn("stn-layer-1__header", className), ...rest, children });
8806
8967
  }
8807
8968
  function StnListViewLayoutSearch({ className, children, ...rest }) {
8808
- return /* @__PURE__ */ jsx72("div", { className: cn("search_area", className), ...rest, children });
8969
+ return /* @__PURE__ */ jsx73("div", { className: cn("search_area", className), ...rest, children });
8809
8970
  }
8810
8971
  function StnListViewLayoutSidebar({
8811
8972
  side = "left",
@@ -8814,16 +8975,16 @@ function StnListViewLayoutSidebar({
8814
8975
  ...rest
8815
8976
  }) {
8816
8977
  const lnbClass = side === "right" ? "lnb_box_right" : "lnb_box";
8817
- return /* @__PURE__ */ jsx72("aside", { className: cn(lnbClass, className), ...rest, children });
8978
+ return /* @__PURE__ */ jsx73("aside", { className: cn(lnbClass, className), ...rest, children });
8818
8979
  }
8819
8980
  function StnListViewLayoutContent({ className, children, ...rest }) {
8820
- return /* @__PURE__ */ jsx72("div", { className: cn("content_box", className), ...rest, children });
8981
+ return /* @__PURE__ */ jsx73("div", { className: cn("content_box", className), ...rest, children });
8821
8982
  }
8822
8983
  function StnListViewLayoutTable({ className, children, ...rest }) {
8823
- return /* @__PURE__ */ jsx72("div", { className: cn("stn-table", className), ...rest, children });
8984
+ return /* @__PURE__ */ jsx73("div", { className: cn("stn-table", className), ...rest, children });
8824
8985
  }
8825
8986
  function StnListViewLayoutPagination({ className, children, ...rest }) {
8826
- return /* @__PURE__ */ jsx72("div", { className: cn("stn-list-view-layout__pagination-wrap", className), ...rest, children });
8987
+ return /* @__PURE__ */ jsx73("div", { className: cn("stn-list-view-layout__pagination-wrap", className), ...rest, children });
8827
8988
  }
8828
8989
  var StnListViewLayout = Object.assign(StnListViewLayoutRoot, {
8829
8990
  Body: StnListViewLayoutBody,
@@ -8857,13 +9018,13 @@ import {
8857
9018
  } from "@stn-uiux/pub-ui/data/stnLayout";
8858
9019
 
8859
9020
  // src/patterns/dashboard/StnMapCanvas.tsx
8860
- import { jsx as jsx73 } from "react/jsx-runtime";
9021
+ import { jsx as jsx74 } from "react/jsx-runtime";
8861
9022
  function StnMapCanvas({
8862
9023
  children,
8863
9024
  className,
8864
9025
  ...rest
8865
9026
  }) {
8866
- return /* @__PURE__ */ jsx73(
9027
+ return /* @__PURE__ */ jsx74(
8867
9028
  "div",
8868
9029
  {
8869
9030
  className: cn("stn-map-canvas", className),
@@ -8875,7 +9036,7 @@ function StnMapCanvas({
8875
9036
  }
8876
9037
 
8877
9038
  // src/patterns/dashboard/StnDashboard.tsx
8878
- import { jsx as jsx74 } from "react/jsx-runtime";
9039
+ import { jsx as jsx75 } from "react/jsx-runtime";
8879
9040
  var fillStyle = {
8880
9041
  flex: "1 1 0%",
8881
9042
  minHeight: 0,
@@ -8894,7 +9055,7 @@ function StnDashboardRoot({
8894
9055
  }) {
8895
9056
  const isLeft = widgetPosition === "left";
8896
9057
  const isBoth = widgetPosition === "both";
8897
- return /* @__PURE__ */ jsx74(
9058
+ return /* @__PURE__ */ jsx75(
8898
9059
  "div",
8899
9060
  {
8900
9061
  className: cn(
@@ -8923,7 +9084,7 @@ function StnDashboardLeft({
8923
9084
  style,
8924
9085
  ...rest
8925
9086
  }) {
8926
- return /* @__PURE__ */ jsx74(
9087
+ return /* @__PURE__ */ jsx75(
8927
9088
  "div",
8928
9089
  {
8929
9090
  className: cn("stn-dashboard__left", className),
@@ -8949,7 +9110,7 @@ function StnDashboardRight({
8949
9110
  style,
8950
9111
  ...rest
8951
9112
  }) {
8952
- return /* @__PURE__ */ jsx74(
9113
+ return /* @__PURE__ */ jsx75(
8953
9114
  "div",
8954
9115
  {
8955
9116
  className: cn("stn-dashboard__right", className),
@@ -8977,7 +9138,7 @@ function StnDashboardTopRight({
8977
9138
  className,
8978
9139
  ...rest
8979
9140
  }) {
8980
- return /* @__PURE__ */ jsx74(
9141
+ return /* @__PURE__ */ jsx75(
8981
9142
  "div",
8982
9143
  {
8983
9144
  className: cn("stn-dashboard__top-right", className),
@@ -8996,9 +9157,9 @@ var StnDashboard = Object.assign(StnDashboardRoot, {
8996
9157
  });
8997
9158
 
8998
9159
  // src/patterns/scaffold/StnPageScaffold.tsx
8999
- import { jsx as jsx75, jsxs as jsxs53 } from "react/jsx-runtime";
9160
+ import { jsx as jsx76, jsxs as jsxs54 } from "react/jsx-runtime";
9000
9161
  function StnPageScaffoldRoot({ children, className, ...rest }) {
9001
- return /* @__PURE__ */ jsx75(
9162
+ return /* @__PURE__ */ jsx76(
9002
9163
  "div",
9003
9164
  {
9004
9165
  className: cn("stn-page-scaffold", className),
@@ -9015,9 +9176,9 @@ function StnPageScaffoldRegion({
9015
9176
  className,
9016
9177
  ...rest
9017
9178
  }) {
9018
- return /* @__PURE__ */ jsxs53("div", { className: cn("stn-page-scaffold__region", className), "data-stn-page-scaffold": "region", ...rest, children: [
9019
- /* @__PURE__ */ jsx75("span", { className: "stn-page-scaffold__region-label", children: label }),
9020
- hint ? /* @__PURE__ */ jsx75("span", { className: "stn-page-scaffold__region-hint", children: hint }) : null,
9179
+ return /* @__PURE__ */ jsxs54("div", { className: cn("stn-page-scaffold__region", className), "data-stn-page-scaffold": "region", ...rest, children: [
9180
+ /* @__PURE__ */ jsx76("span", { className: "stn-page-scaffold__region-label", children: label }),
9181
+ hint ? /* @__PURE__ */ jsx76("span", { className: "stn-page-scaffold__region-hint", children: hint }) : null,
9021
9182
  children
9022
9183
  ] });
9023
9184
  }
@@ -9028,7 +9189,7 @@ function StnPageScaffoldMapPlaceholder({
9028
9189
  children,
9029
9190
  ...rest
9030
9191
  }) {
9031
- return /* @__PURE__ */ jsx75("div", { className: "stn-widget shell-canvas stn-map-canvas", "data-stn-dashboard": "canvas", children: /* @__PURE__ */ jsxs53(
9192
+ return /* @__PURE__ */ jsx76("div", { className: "stn-widget shell-canvas stn-map-canvas", "data-stn-dashboard": "canvas", children: /* @__PURE__ */ jsxs54(
9032
9193
  "div",
9033
9194
  {
9034
9195
  className: cn("stn-page-scaffold__canvas-placeholder", className),
@@ -9036,8 +9197,8 @@ function StnPageScaffoldMapPlaceholder({
9036
9197
  role: "status",
9037
9198
  ...rest,
9038
9199
  children: [
9039
- /* @__PURE__ */ jsx75("p", { className: "stn-page-scaffold__canvas-placeholder-title", children: message }),
9040
- note ? /* @__PURE__ */ jsx75("p", { className: "stn-page-scaffold__canvas-placeholder-note", children: note }) : null,
9200
+ /* @__PURE__ */ jsx76("p", { className: "stn-page-scaffold__canvas-placeholder-title", children: message }),
9201
+ note ? /* @__PURE__ */ jsx76("p", { className: "stn-page-scaffold__canvas-placeholder-note", children: note }) : null,
9041
9202
  children
9042
9203
  ]
9043
9204
  }
@@ -9048,7 +9209,7 @@ function StnPageScaffoldMapCanvas({
9048
9209
  children,
9049
9210
  ...rest
9050
9211
  }) {
9051
- return /* @__PURE__ */ jsx75(
9212
+ return /* @__PURE__ */ jsx76(
9052
9213
  "div",
9053
9214
  {
9054
9215
  className: cn("stn-widget", "shell-canvas", "stn-map-canvas", "stn-page-scaffold__canvas", className),
@@ -9061,7 +9222,7 @@ function StnPageScaffoldMapCanvas({
9061
9222
  }
9062
9223
  function StnPageScaffoldLayer({ label, hint, children, className, ...layerProps }) {
9063
9224
  const labelText = label ? hint ? `${label} \xB7 ${hint}` : label : void 0;
9064
- return /* @__PURE__ */ jsx75(
9225
+ return /* @__PURE__ */ jsx76(
9065
9226
  StnLayer2,
9066
9227
  {
9067
9228
  className: cn(
@@ -9108,25 +9269,25 @@ function DashboardPageScaffold({
9108
9269
  const isLeft = widgetPosition === "left";
9109
9270
  const isBoth = widgetPosition === "both";
9110
9271
  const isNone = widgetPosition === "none" || !showRightRegion;
9111
- const mapColumn = /* @__PURE__ */ jsxs53(StnDashboard.Left, { children: [
9112
- /* @__PURE__ */ jsx75(StnPageScaffold.MapPlaceholder, { message: finalMapMessage, note: finalMapNote }),
9272
+ const mapColumn = /* @__PURE__ */ jsxs54(StnDashboard.Left, { children: [
9273
+ /* @__PURE__ */ jsx76(StnPageScaffold.MapPlaceholder, { message: finalMapMessage, note: finalMapNote }),
9113
9274
  faultPanel
9114
9275
  ] });
9115
- const rightWidgets = right ?? /* @__PURE__ */ jsx75(StnPageScaffold.Region, { label: "dashboard_right", hint: "\uC704\uC82F\xB7\uC7A5\uC560 \uD328\uB110" });
9116
- const leftWidgets = left ?? right ?? /* @__PURE__ */ jsx75(StnPageScaffold.Region, { label: "dashboard_right", hint: "\uC88C\uCE21 \uC704\uC82F\xB7\uC7A5\uC560 \uD328\uB110" });
9117
- const dashboardGrid = bodyEmpty ? /* @__PURE__ */ jsx75(StnDashboard, { empty: true, widgetPosition, "data-stn-page-scaffold": "dashboard-empty" }) : isBoth ? /* @__PURE__ */ jsxs53(StnDashboard, { widgetPosition: "both", children: [
9118
- /* @__PURE__ */ jsx75(StnDashboard.Right, { children: leftWidgets }),
9276
+ const rightWidgets = right ?? /* @__PURE__ */ jsx76(StnPageScaffold.Region, { label: "dashboard_right", hint: "\uC704\uC82F\xB7\uC7A5\uC560 \uD328\uB110" });
9277
+ const leftWidgets = left ?? right ?? /* @__PURE__ */ jsx76(StnPageScaffold.Region, { label: "dashboard_right", hint: "\uC88C\uCE21 \uC704\uC82F\xB7\uC7A5\uC560 \uD328\uB110" });
9278
+ const dashboardGrid = bodyEmpty ? /* @__PURE__ */ jsx76(StnDashboard, { empty: true, widgetPosition, "data-stn-page-scaffold": "dashboard-empty" }) : isBoth ? /* @__PURE__ */ jsxs54(StnDashboard, { widgetPosition: "both", children: [
9279
+ /* @__PURE__ */ jsx76(StnDashboard.Right, { children: leftWidgets }),
9119
9280
  mapColumn,
9120
- /* @__PURE__ */ jsx75(StnDashboard.Right, { children: rightWidgets })
9121
- ] }) : isLeft ? /* @__PURE__ */ jsxs53(StnDashboard, { widgetPosition: "left", children: [
9122
- /* @__PURE__ */ jsx75(StnDashboard.Right, { children: leftWidgets }),
9281
+ /* @__PURE__ */ jsx76(StnDashboard.Right, { children: rightWidgets })
9282
+ ] }) : isLeft ? /* @__PURE__ */ jsxs54(StnDashboard, { widgetPosition: "left", children: [
9283
+ /* @__PURE__ */ jsx76(StnDashboard.Right, { children: leftWidgets }),
9123
9284
  mapColumn
9124
- ] }) : /* @__PURE__ */ jsxs53(StnDashboard, { widgetPosition: isNone ? "none" : "right", children: [
9285
+ ] }) : /* @__PURE__ */ jsxs54(StnDashboard, { widgetPosition: isNone ? "none" : "right", children: [
9125
9286
  mapColumn,
9126
- !isNone ? /* @__PURE__ */ jsx75(StnDashboard.Right, { children: rightWidgets }) : null
9287
+ !isNone ? /* @__PURE__ */ jsx76(StnDashboard.Right, { children: rightWidgets }) : null
9127
9288
  ] });
9128
9289
  const contentNode = children ?? dashboardGrid;
9129
- return /* @__PURE__ */ jsx75(
9290
+ return /* @__PURE__ */ jsx76(
9130
9291
  StnLayerShell,
9131
9292
  {
9132
9293
  gnb,
@@ -9135,7 +9296,7 @@ function DashboardPageScaffold({
9135
9296
  layer0,
9136
9297
  layer2,
9137
9298
  ...shellProps,
9138
- children: /* @__PURE__ */ jsx75(
9299
+ children: /* @__PURE__ */ jsx76(
9139
9300
  StnContainer,
9140
9301
  {
9141
9302
  maxWidth: false,
@@ -9149,16 +9310,16 @@ function DashboardPageScaffold({
9149
9310
  }
9150
9311
 
9151
9312
  // src/patterns/scaffold/AlertCenterPageScaffold.tsx
9152
- import { useMemo as useMemo5, useState as useState19 } from "react";
9313
+ import { useMemo as useMemo5, useState as useState20 } from "react";
9153
9314
  import {
9154
9315
  STN_ALERT_CENTER_DEMO_ALERTS,
9155
9316
  STN_ALERT_CENTER_DEMO_DEPLOY,
9156
9317
  STN_ALERT_CENTER_DEMO_WORK
9157
9318
  } from "@stn-uiux/pub-ui/data/stnAlertCenter";
9158
9319
  import { systemIconSrc } from "@stn-uiux/pub-ui/data/stnSystemIcons";
9159
- import { Fragment as Fragment10, jsx as jsx76, jsxs as jsxs54 } from "react/jsx-runtime";
9320
+ import { Fragment as Fragment10, jsx as jsx77, jsxs as jsxs55 } from "react/jsx-runtime";
9160
9321
  function defaultTopologyHeader(_clock) {
9161
- return /* @__PURE__ */ jsx76(StnHeader, { variant: "widget" });
9322
+ return /* @__PURE__ */ jsx77(StnHeader, { variant: "widget" });
9162
9323
  }
9163
9324
  function AlertCenterPageScaffold({
9164
9325
  gnbAlertPanel,
@@ -9175,9 +9336,9 @@ function AlertCenterPageScaffold({
9175
9336
  defaultGnbOpen = true,
9176
9337
  ...shellProps
9177
9338
  }) {
9178
- const [gnbOpen, setGnbOpen] = useState19(defaultGnbOpen);
9339
+ const [gnbOpen, setGnbOpen] = useState20(defaultGnbOpen);
9179
9340
  const panel = useMemo5(
9180
- () => gnbAlertPanel ?? /* @__PURE__ */ jsx76(
9341
+ () => gnbAlertPanel ?? /* @__PURE__ */ jsx77(
9181
9342
  StnAlertCenterPanel,
9182
9343
  {
9183
9344
  alerts: STN_ALERT_CENTER_DEMO_ALERTS,
@@ -9188,26 +9349,26 @@ function AlertCenterPageScaffold({
9188
9349
  [gnbAlertPanel]
9189
9350
  );
9190
9351
  const sideNav = useMemo5(
9191
- () => gnbProp ?? /* @__PURE__ */ jsxs54(Fragment10, { children: [
9192
- /* @__PURE__ */ jsxs54(
9352
+ () => gnbProp ?? /* @__PURE__ */ jsxs55(Fragment10, { children: [
9353
+ /* @__PURE__ */ jsxs55(
9193
9354
  StnSideNavigation,
9194
9355
  {
9195
9356
  collapsed: !gnbOpen,
9196
9357
  onCollapseChange: (col) => setGnbOpen(!col),
9197
9358
  children: [
9198
- /* @__PURE__ */ jsxs54(StnSideNavigation.Header, { children: [
9199
- /* @__PURE__ */ jsx76(StnSideNavigation.Logo, {}),
9200
- /* @__PURE__ */ jsx76(StnSideNavigation.Toggle, {})
9359
+ /* @__PURE__ */ jsxs55(StnSideNavigation.Header, { children: [
9360
+ /* @__PURE__ */ jsx77(StnSideNavigation.Logo, {}),
9361
+ /* @__PURE__ */ jsx77(StnSideNavigation.Toggle, {})
9201
9362
  ] }),
9202
- /* @__PURE__ */ jsxs54(StnSideNavigation.Menu, { children: [
9203
- /* @__PURE__ */ jsx76(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/layout-grid"), label: "\uBA54\uC778 \uB300\uC2DC\uBCF4\uB4DC", active: true }),
9204
- /* @__PURE__ */ jsx76(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/server_2"), label: "\uC11C\uBC84 \uBAA8\uB2C8\uD130\uB9C1" }),
9205
- /* @__PURE__ */ jsx76(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/activity"), label: "\uB124\uD2B8\uC6CC\uD06C \uBD84\uC11D" })
9363
+ /* @__PURE__ */ jsxs55(StnSideNavigation.Menu, { children: [
9364
+ /* @__PURE__ */ jsx77(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/layout-grid"), label: "\uBA54\uC778 \uB300\uC2DC\uBCF4\uB4DC", active: true }),
9365
+ /* @__PURE__ */ jsx77(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/server_2"), label: "\uC11C\uBC84 \uBAA8\uB2C8\uD130\uB9C1" }),
9366
+ /* @__PURE__ */ jsx77(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/activity"), label: "\uB124\uD2B8\uC6CC\uD06C \uBD84\uC11D" })
9206
9367
  ] }),
9207
- /* @__PURE__ */ jsx76(StnSideNavigation.Spacer, {}),
9208
- /* @__PURE__ */ jsxs54(StnSideNavigation.Footer, { curved: true, children: [
9209
- /* @__PURE__ */ jsx76(StnSideNavigation.Watermark, {}),
9210
- /* @__PURE__ */ jsx76(
9368
+ /* @__PURE__ */ jsx77(StnSideNavigation.Spacer, {}),
9369
+ /* @__PURE__ */ jsxs55(StnSideNavigation.Footer, { curved: true, children: [
9370
+ /* @__PURE__ */ jsx77(StnSideNavigation.Watermark, {}),
9371
+ /* @__PURE__ */ jsx77(
9211
9372
  StnSideNavigation.Item,
9212
9373
  {
9213
9374
  iconSrc: systemIconSrc("line/bell"),
@@ -9216,7 +9377,7 @@ function AlertCenterPageScaffold({
9216
9377
  onClick: void 0
9217
9378
  }
9218
9379
  ),
9219
- /* @__PURE__ */ jsx76(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/settings"), label: "\uC124\uC815" })
9380
+ /* @__PURE__ */ jsx77(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/settings"), label: "\uC124\uC815" })
9220
9381
  ] })
9221
9382
  ]
9222
9383
  }
@@ -9225,8 +9386,8 @@ function AlertCenterPageScaffold({
9225
9386
  ] }),
9226
9387
  [gnbProp, gnbOpen, panel]
9227
9388
  );
9228
- const faultSlot = faultPanel ?? (showFaultPanelPlaceholder ? /* @__PURE__ */ jsx76("div", { className: "wrap_real_time stn-page-scaffold__fault-ph", children: /* @__PURE__ */ jsx76(StnPageScaffold.Region, { label: "\uC2E4\uC2DC\uAC04 \uC7A5\uC560 \uD604\uD669", hint: "StnWidget shell=fault-panel \xB7 \uC120\uD0DD" }) }) : null);
9229
- return /* @__PURE__ */ jsx76(
9389
+ const faultSlot = faultPanel ?? (showFaultPanelPlaceholder ? /* @__PURE__ */ jsx77("div", { className: "wrap_real_time stn-page-scaffold__fault-ph", children: /* @__PURE__ */ jsx77(StnPageScaffold.Region, { label: "\uC2E4\uC2DC\uAC04 \uC7A5\uC560 \uD604\uD669", hint: "StnWidget shell=fault-panel \xB7 \uC120\uD0DD" }) }) : null);
9390
+ return /* @__PURE__ */ jsx77(
9230
9391
  DashboardPageScaffold,
9231
9392
  {
9232
9393
  gnb: sideNav,
@@ -9234,7 +9395,7 @@ function AlertCenterPageScaffold({
9234
9395
  mapMessage,
9235
9396
  mapNote,
9236
9397
  faultPanel: faultSlot,
9237
- right: right ?? /* @__PURE__ */ jsx76(AlertCenterDashboard, {}),
9398
+ right: right ?? /* @__PURE__ */ jsx77(AlertCenterDashboard, {}),
9238
9399
  wrapId,
9239
9400
  wrapClassName: "stn-page--map-bg",
9240
9401
  ...shellProps
@@ -9243,8 +9404,8 @@ function AlertCenterPageScaffold({
9243
9404
  }
9244
9405
 
9245
9406
  // src/patterns/scaffold/LoginPageScaffold.tsx
9246
- import { useState as useState20 } from "react";
9247
- import { jsx as jsx77, jsxs as jsxs55 } from "react/jsx-runtime";
9407
+ import { useState as useState21 } from "react";
9408
+ import { jsx as jsx78, jsxs as jsxs56 } from "react/jsx-runtime";
9248
9409
  var LOGIN_TABS = [
9249
9410
  { value: "normal", label: "\uC77C\uBC18 \uB85C\uADF8\uC778" },
9250
9411
  { value: "social", label: "\uC18C\uC15C \uB85C\uADF8\uC778" }
@@ -9255,15 +9416,15 @@ function DefaultLoginForm({
9255
9416
  signUpHref = "#",
9256
9417
  recoverHref = "#"
9257
9418
  }) {
9258
- const [mode, setMode] = useState20("normal");
9259
- const [userId, setUserId] = useState20("");
9260
- const [password, setPassword] = useState20("");
9419
+ const [mode, setMode] = useState21("normal");
9420
+ const [userId, setUserId] = useState21("");
9421
+ const [password, setPassword] = useState21("");
9261
9422
  function handleSubmit(e) {
9262
9423
  e.preventDefault();
9263
9424
  onLogin?.(userId, password);
9264
9425
  }
9265
- return /* @__PURE__ */ jsxs55(StnLoginFormStack, { onSubmit: handleSubmit, children: [
9266
- /* @__PURE__ */ jsx77(
9426
+ return /* @__PURE__ */ jsxs56(StnLoginFormStack, { onSubmit: handleSubmit, children: [
9427
+ /* @__PURE__ */ jsx78(
9267
9428
  StnSegmented,
9268
9429
  {
9269
9430
  "aria-label": "\uB85C\uADF8\uC778 \uBC29\uC2DD",
@@ -9272,8 +9433,8 @@ function DefaultLoginForm({
9272
9433
  options: LOGIN_TABS
9273
9434
  }
9274
9435
  ),
9275
- mode === "normal" ? /* @__PURE__ */ jsxs55(StnLoginFormFields, { children: [
9276
- /* @__PURE__ */ jsx77(
9436
+ mode === "normal" ? /* @__PURE__ */ jsxs56(StnLoginFormFields, { children: [
9437
+ /* @__PURE__ */ jsx78(
9277
9438
  StnLoginTextField,
9278
9439
  {
9279
9440
  icon: "line/user",
@@ -9285,7 +9446,7 @@ function DefaultLoginForm({
9285
9446
  "aria-label": "\uC544\uC774\uB514"
9286
9447
  }
9287
9448
  ),
9288
- /* @__PURE__ */ jsx77(
9449
+ /* @__PURE__ */ jsx78(
9289
9450
  StnLoginTextField,
9290
9451
  {
9291
9452
  icon: "line/lock",
@@ -9298,11 +9459,11 @@ function DefaultLoginForm({
9298
9459
  "aria-label": "\uBE44\uBC00\uBC88\uD638"
9299
9460
  }
9300
9461
  )
9301
- ] }) : socialContent ?? /* @__PURE__ */ jsx77(StnLoginPlaceholder, {}),
9302
- /* @__PURE__ */ jsx77(StnButton, { type: "submit", size: "xl", fullWidth: true, children: "\uB85C\uADF8\uC778" }),
9303
- /* @__PURE__ */ jsxs55(StnLoginFormLinks, { children: [
9304
- /* @__PURE__ */ jsx77("a", { href: signUpHref, children: "\uD68C\uC6D0\uAC00\uC785" }),
9305
- /* @__PURE__ */ jsx77("a", { href: recoverHref, children: "\uC544\uC774\uB514 / \uBE44\uBC00\uBC88\uD638 \uCC3E\uAE30" })
9462
+ ] }) : socialContent ?? /* @__PURE__ */ jsx78(StnLoginPlaceholder, {}),
9463
+ /* @__PURE__ */ jsx78(StnButton, { type: "submit", size: "xl", fullWidth: true, children: "\uB85C\uADF8\uC778" }),
9464
+ /* @__PURE__ */ jsxs56(StnLoginFormLinks, { children: [
9465
+ /* @__PURE__ */ jsx78("a", { href: signUpHref, children: "\uD68C\uC6D0\uAC00\uC785" }),
9466
+ /* @__PURE__ */ jsx78("a", { href: recoverHref, children: "\uC544\uC774\uB514 / \uBE44\uBC00\uBC88\uD638 \uCC3E\uAE30" })
9306
9467
  ] })
9307
9468
  ] });
9308
9469
  }
@@ -9316,16 +9477,16 @@ function DefaultLoginCard({
9316
9477
  signUpHref,
9317
9478
  recoverHref
9318
9479
  }) {
9319
- return /* @__PURE__ */ jsx77(
9480
+ return /* @__PURE__ */ jsx78(
9320
9481
  StnLoginCard,
9321
9482
  {
9322
9483
  glow,
9323
9484
  variant,
9324
- brand: /* @__PURE__ */ jsxs55(StnLoginBrandStack, { children: [
9325
- logo ?? /* @__PURE__ */ jsx77(StnLogo, { variant: "vertical", size: "xl" }),
9326
- /* @__PURE__ */ jsx77("p", { className: "stn-login-card__caption", children: productCaption })
9485
+ brand: /* @__PURE__ */ jsxs56(StnLoginBrandStack, { children: [
9486
+ logo ?? /* @__PURE__ */ jsx78(StnLogo, { variant: "vertical", size: "xl" }),
9487
+ /* @__PURE__ */ jsx78("p", { className: "stn-login-card__caption", children: productCaption })
9327
9488
  ] }),
9328
- children: /* @__PURE__ */ jsx77(
9489
+ children: /* @__PURE__ */ jsx78(
9329
9490
  DefaultLoginForm,
9330
9491
  {
9331
9492
  onLogin,
@@ -9351,8 +9512,8 @@ function LoginPageScaffold({
9351
9512
  recoverHref,
9352
9513
  ...shellProps
9353
9514
  }) {
9354
- const resolvedLayer0 = layer0 ?? /* @__PURE__ */ jsx77(StnLayer0Background, { variant: "login" });
9355
- const resolvedCard = children ?? /* @__PURE__ */ jsx77(
9515
+ const resolvedLayer0 = layer0 ?? /* @__PURE__ */ jsx78(StnLayer0Background, { variant: "login" });
9516
+ const resolvedCard = children ?? /* @__PURE__ */ jsx78(
9356
9517
  DefaultLoginCard,
9357
9518
  {
9358
9519
  logo,
@@ -9365,7 +9526,7 @@ function LoginPageScaffold({
9365
9526
  recoverHref
9366
9527
  }
9367
9528
  );
9368
- return /* @__PURE__ */ jsxs55(
9529
+ return /* @__PURE__ */ jsxs56(
9369
9530
  "div",
9370
9531
  {
9371
9532
  className: cn("stn-wrap stn-page--login", wrapClassName),
@@ -9373,7 +9534,7 @@ function LoginPageScaffold({
9373
9534
  ...shellProps,
9374
9535
  children: [
9375
9536
  resolvedLayer0,
9376
- /* @__PURE__ */ jsx77("div", { className: "stn-login", children: resolvedCard })
9537
+ /* @__PURE__ */ jsx78("div", { className: "stn-login", children: resolvedCard })
9377
9538
  ]
9378
9539
  }
9379
9540
  );
@@ -9402,7 +9563,7 @@ import {
9402
9563
 
9403
9564
  // src/patterns/toolbar/StnFloatingToolbar.tsx
9404
9565
  import React3 from "react";
9405
- import { jsx as jsx78, jsxs as jsxs56 } from "react/jsx-runtime";
9566
+ import { jsx as jsx79, jsxs as jsxs57 } from "react/jsx-runtime";
9406
9567
  var DEFAULT_MAP_MODES = [
9407
9568
  { value: "sphere", label: "\uAD6C\uBA74" },
9408
9569
  { value: "plane", label: "\uD3C9\uBA74" },
@@ -9412,7 +9573,7 @@ var StnFloatingToolbar = React3.forwardRef(
9412
9573
  ({ placement = "none", orientation = "horizontal", className, children, ...restProps }, ref) => {
9413
9574
  const placementClass = placement !== "none" ? `stn-floating-toolbar--${placement}` : "";
9414
9575
  const orientationClass = orientation === "vertical" ? "stn-floating-toolbar--vertical" : "";
9415
- return /* @__PURE__ */ jsx78(
9576
+ return /* @__PURE__ */ jsx79(
9416
9577
  "div",
9417
9578
  {
9418
9579
  ref,
@@ -9445,7 +9606,7 @@ var StnMapToolbar = React3.forwardRef(
9445
9606
  children,
9446
9607
  ...restProps
9447
9608
  }, ref) => {
9448
- return /* @__PURE__ */ jsxs56(
9609
+ return /* @__PURE__ */ jsxs57(
9449
9610
  StnFloatingToolbar,
9450
9611
  {
9451
9612
  ref,
@@ -9455,7 +9616,7 @@ var StnMapToolbar = React3.forwardRef(
9455
9616
  "aria-label": "\uC9C0\uB3C4 \uBC0F \uD1A0\uD3F4\uB85C\uC9C0 \uB3C4\uAD6C \uBAA8\uC74C",
9456
9617
  ...restProps,
9457
9618
  children: [
9458
- modeOptions && modeOptions.length > 0 && /* @__PURE__ */ jsx78(
9619
+ modeOptions && modeOptions.length > 0 && /* @__PURE__ */ jsx79(
9459
9620
  StnDropdown,
9460
9621
  {
9461
9622
  size: "md",
@@ -9466,75 +9627,75 @@ var StnMapToolbar = React3.forwardRef(
9466
9627
  "aria-label": "\uD22C\uC601 \uBAA8\uB4DC \uC120\uD0DD"
9467
9628
  }
9468
9629
  ),
9469
- onRestore && /* @__PURE__ */ jsx78(
9630
+ onRestore && /* @__PURE__ */ jsx79(
9470
9631
  StnButton,
9471
9632
  {
9472
9633
  variant: buttonVariant,
9473
9634
  size: "md",
9474
9635
  shape: "square",
9475
- icon: /* @__PURE__ */ jsxs56("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.6", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
9476
- /* @__PURE__ */ jsx78("path", { d: "M3.06006 13C3.30547 15.1939 4.34865 17.221 5.9912 18.696C7.63374 20.1709 9.76108 20.9907 11.9686 20.9994C14.1762 21.0081 16.3099 20.2052 17.9641 18.7434C19.6183 17.2815 20.6775 15.2627 20.9403 13.0708C21.2031 10.879 20.6511 8.66696 19.3894 6.85551C18.1276 5.04406 16.2441 3.75951 14.0971 3.24618C11.95 2.73284 9.68922 3.02652 7.74457 4.07135C5.79993 5.11619 4.30712 6.83931 3.55006 8.913" }),
9477
- /* @__PURE__ */ jsx78("path", { d: "M3 4.00098V9.00098H8" }),
9478
- /* @__PURE__ */ jsx78("circle", { cx: "12", cy: "12", r: "1", fill: "currentColor" })
9636
+ icon: /* @__PURE__ */ jsxs57("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.6", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
9637
+ /* @__PURE__ */ jsx79("path", { d: "M3.06006 13C3.30547 15.1939 4.34865 17.221 5.9912 18.696C7.63374 20.1709 9.76108 20.9907 11.9686 20.9994C14.1762 21.0081 16.3099 20.2052 17.9641 18.7434C19.6183 17.2815 20.6775 15.2627 20.9403 13.0708C21.2031 10.879 20.6511 8.66696 19.3894 6.85551C18.1276 5.04406 16.2441 3.75951 14.0971 3.24618C11.95 2.73284 9.68922 3.02652 7.74457 4.07135C5.79993 5.11619 4.30712 6.83931 3.55006 8.913" }),
9638
+ /* @__PURE__ */ jsx79("path", { d: "M3 4.00098V9.00098H8" }),
9639
+ /* @__PURE__ */ jsx79("circle", { cx: "12", cy: "12", r: "1", fill: "currentColor" })
9479
9640
  ] }),
9480
9641
  "aria-label": "\uCD08\uAE30\uD654 (Restore)",
9481
9642
  title: "\uCD08\uAE30\uD654 (Restore)",
9482
9643
  onClick: onRestore
9483
9644
  }
9484
9645
  ),
9485
- onFullscreen && /* @__PURE__ */ jsx78(
9646
+ onFullscreen && /* @__PURE__ */ jsx79(
9486
9647
  StnButton,
9487
9648
  {
9488
9649
  variant: buttonVariant,
9489
9650
  size: "md",
9490
9651
  shape: "square",
9491
- icon: /* @__PURE__ */ jsxs56("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.6", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
9492
- /* @__PURE__ */ jsx78("path", { d: "M16 4H20V8" }),
9493
- /* @__PURE__ */ jsx78("path", { d: "M14 10L20 4" }),
9494
- /* @__PURE__ */ jsx78("path", { d: "M8 20H4V16" }),
9495
- /* @__PURE__ */ jsx78("path", { d: "M4 20L10 14" })
9652
+ icon: /* @__PURE__ */ jsxs57("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.6", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
9653
+ /* @__PURE__ */ jsx79("path", { d: "M16 4H20V8" }),
9654
+ /* @__PURE__ */ jsx79("path", { d: "M14 10L20 4" }),
9655
+ /* @__PURE__ */ jsx79("path", { d: "M8 20H4V16" }),
9656
+ /* @__PURE__ */ jsx79("path", { d: "M4 20L10 14" })
9496
9657
  ] }),
9497
9658
  "aria-label": "\uC804\uCCB4\uD654\uBA74",
9498
9659
  title: "\uC804\uCCB4\uD654\uBA74",
9499
9660
  onClick: onFullscreen
9500
9661
  }
9501
9662
  ),
9502
- onZoomIn && /* @__PURE__ */ jsx78(
9663
+ onZoomIn && /* @__PURE__ */ jsx79(
9503
9664
  StnButton,
9504
9665
  {
9505
9666
  variant: buttonVariant,
9506
9667
  size: "md",
9507
9668
  shape: "square",
9508
- icon: /* @__PURE__ */ jsxs56("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
9509
- /* @__PURE__ */ jsx78("path", { d: "M12 5V19" }),
9510
- /* @__PURE__ */ jsx78("path", { d: "M5 12H19" })
9669
+ icon: /* @__PURE__ */ jsxs57("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
9670
+ /* @__PURE__ */ jsx79("path", { d: "M12 5V19" }),
9671
+ /* @__PURE__ */ jsx79("path", { d: "M5 12H19" })
9511
9672
  ] }),
9512
9673
  "aria-label": "\uD655\uB300",
9513
9674
  title: "\uD655\uB300",
9514
9675
  onClick: onZoomIn
9515
9676
  }
9516
9677
  ),
9517
- onZoomOut && /* @__PURE__ */ jsx78(
9678
+ onZoomOut && /* @__PURE__ */ jsx79(
9518
9679
  StnButton,
9519
9680
  {
9520
9681
  variant: buttonVariant,
9521
9682
  size: "md",
9522
9683
  shape: "square",
9523
- icon: /* @__PURE__ */ jsx78("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ jsx78("path", { d: "M5 12H19" }) }),
9684
+ icon: /* @__PURE__ */ jsx79("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ jsx79("path", { d: "M5 12H19" }) }),
9524
9685
  "aria-label": "\uCD95\uC18C",
9525
9686
  title: "\uCD95\uC18C",
9526
9687
  onClick: onZoomOut
9527
9688
  }
9528
9689
  ),
9529
- onRefresh && /* @__PURE__ */ jsx78(
9690
+ onRefresh && /* @__PURE__ */ jsx79(
9530
9691
  StnButton,
9531
9692
  {
9532
9693
  variant: buttonVariant,
9533
9694
  size: "md",
9534
9695
  shape: "square",
9535
- icon: /* @__PURE__ */ jsxs56("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.6", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
9536
- /* @__PURE__ */ jsx78("path", { d: "M20 11C19.7554 9.24023 18.9391 7.60967 17.6766 6.35951C16.4142 5.10934 14.7758 4.30893 13.0137 4.08156C11.2516 3.8542 9.46362 4.21249 7.9252 5.10126C6.38678 5.99002 5.18325 7.35995 4.5 9.00001M4 5.00001V9.00001H8" }),
9537
- /* @__PURE__ */ jsx78("path", { d: "M4 13C4.24456 14.7598 5.06093 16.3903 6.32336 17.6405C7.58579 18.8907 9.22424 19.6911 10.9863 19.9184C12.7484 20.1458 14.5364 19.7875 16.0748 18.8988C17.6132 18.01 18.8168 16.6401 19.5 15M20 19V15H16" })
9696
+ icon: /* @__PURE__ */ jsxs57("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.6", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
9697
+ /* @__PURE__ */ jsx79("path", { d: "M20 11C19.7554 9.24023 18.9391 7.60967 17.6766 6.35951C16.4142 5.10934 14.7758 4.30893 13.0137 4.08156C11.2516 3.8542 9.46362 4.21249 7.9252 5.10126C6.38678 5.99002 5.18325 7.35995 4.5 9.00001M4 5.00001V9.00001H8" }),
9698
+ /* @__PURE__ */ jsx79("path", { d: "M4 13C4.24456 14.7598 5.06093 16.3903 6.32336 17.6405C7.58579 18.8907 9.22424 19.6911 10.9863 19.9184C12.7484 20.1458 14.5364 19.7875 16.0748 18.8988C17.6132 18.01 18.8168 16.6401 19.5 15M20 19V15H16" })
9538
9699
  ] }),
9539
9700
  "aria-label": "\uC0C8\uB85C\uACE0\uCE68",
9540
9701
  title: "\uC0C8\uB85C\uACE0\uCE68",
@@ -9788,7 +9949,6 @@ export {
9788
9949
  StnStatusDotGroup,
9789
9950
  StnStatusFlow,
9790
9951
  StnStatusSeverity,
9791
- StnStatusSeverityFilter,
9792
9952
  StnStatusSwitch,
9793
9953
  StnSwitch,
9794
9954
  StnTable,
@@ -9801,6 +9961,7 @@ export {
9801
9961
  StnTableTdCheck,
9802
9962
  StnTableTh,
9803
9963
  StnTableThCheck,
9964
+ StnTextArea,
9804
9965
  StnTextField,
9805
9966
  StnToastCloseButton,
9806
9967
  StnToastIcon,