@stn-uiux/pub-ui-react 0.1.77 → 0.1.79

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
@@ -997,23 +997,24 @@ var StnModal = forwardRef6(function StnModal2({
997
997
  ...rest,
998
998
  children: /* @__PURE__ */ jsx9("div", { className: "stn-pop__cont", children: /* @__PURE__ */ jsxs5("div", { className: "stn-pop__panel", children: [
999
999
  /* @__PURE__ */ jsxs5("div", { className: "stn-pop__head", id: titleId, children: [
1000
- /* @__PURE__ */ jsxs5("div", { className: "stn-pop__head-row", children: [
1001
- /* @__PURE__ */ jsx9("h4", { children: title }),
1002
- headerExtra ? /* @__PURE__ */ jsx9("div", { className: "stn-pop__head-extra", children: headerExtra }) : null
1000
+ /* @__PURE__ */ jsxs5("div", { className: "stn-pop__head-start", children: [
1001
+ /* @__PURE__ */ jsxs5("div", { className: "stn-pop__head-row", children: [
1002
+ /* @__PURE__ */ jsx9("h4", { children: title }),
1003
+ headerExtra ? /* @__PURE__ */ jsx9("div", { className: "stn-pop__head-extra", children: headerExtra }) : null
1004
+ ] }),
1005
+ subtitle ? /* @__PURE__ */ jsx9("p", { className: "stn-pop__subtitle", children: subtitle }) : null
1003
1006
  ] }),
1004
- subtitle ? /* @__PURE__ */ jsx9("p", { className: "stn-pop__subtitle", children: subtitle }) : null
1007
+ onClose ? /* @__PURE__ */ jsx9(
1008
+ StnButton,
1009
+ {
1010
+ icon: "line/x",
1011
+ variant: "ghost",
1012
+ size: "sm",
1013
+ "aria-label": "\uB2EB\uAE30",
1014
+ onClick: onClose
1015
+ }
1016
+ ) : null
1005
1017
  ] }),
1006
- /* @__PURE__ */ jsx9(
1007
- StnButton,
1008
- {
1009
- icon: "line/x",
1010
- variant: "ghost",
1011
- size: "sm",
1012
- className: "stn-pop__close",
1013
- "aria-label": "\uB2EB\uAE30",
1014
- onClick: onClose
1015
- }
1016
- ),
1017
1018
  /* @__PURE__ */ jsx9("div", { className: cn("stn-pop__body", bodyClassName), children }),
1018
1019
  actions ? /* @__PURE__ */ jsx9(
1019
1020
  "div",
@@ -3144,7 +3145,6 @@ var StnSectionSide = forwardRef18(function StnSectionSide2({
3144
3145
  header,
3145
3146
  footer,
3146
3147
  className,
3147
- variant = "solid",
3148
3148
  fill = true,
3149
3149
  fullWidth = false,
3150
3150
  collapsed = false,
@@ -3158,7 +3158,6 @@ var StnSectionSide = forwardRef18(function StnSectionSide2({
3158
3158
  ref,
3159
3159
  className: cn(
3160
3160
  "stn-section-side",
3161
- variant === "translucent" && "stn-section-side--translucent",
3162
3161
  fill && "stn-section-side--fill",
3163
3162
  fullWidth && "is-full-width",
3164
3163
  collapsed && "is-collapsed",
@@ -3592,13 +3591,62 @@ function StnChip(props) {
3592
3591
  ] });
3593
3592
  }
3594
3593
 
3594
+ // src/components/StnDivider.tsx
3595
+ import {
3596
+ createElement as createElement2,
3597
+ forwardRef as forwardRef22
3598
+ } from "react";
3599
+ import { jsx as jsx28 } from "react/jsx-runtime";
3600
+ var StnDivider = forwardRef22(function StnDivider2({
3601
+ orientation = "horizontal",
3602
+ variant = "fullWidth",
3603
+ flexItem = false,
3604
+ textAlign = "center",
3605
+ component,
3606
+ as,
3607
+ className,
3608
+ children,
3609
+ role,
3610
+ ...rest
3611
+ }, ref) {
3612
+ const hasChildren = Boolean(children);
3613
+ const isVertical = orientation === "vertical";
3614
+ const Tag = component ?? as ?? (hasChildren ? "div" : isVertical ? "div" : "hr");
3615
+ const isHr = Tag === "hr";
3616
+ const computedRole = isHr ? role : role ?? "separator";
3617
+ const computedAriaOrientation = isVertical ? "vertical" : void 0;
3618
+ const classes = cn(
3619
+ "stn-divider",
3620
+ isVertical ? "stn-divider--vertical" : "stn-divider--horizontal",
3621
+ variant === "inset" && "stn-divider--inset",
3622
+ variant === "middle" && "stn-divider--middle",
3623
+ variant === "fullWidth" && "stn-divider--full-width",
3624
+ flexItem && "stn-divider--flex-item",
3625
+ hasChildren && "stn-divider--with-children",
3626
+ hasChildren && `stn-divider--text-${textAlign}`,
3627
+ className
3628
+ );
3629
+ return createElement2(
3630
+ Tag,
3631
+ {
3632
+ ref,
3633
+ className: classes,
3634
+ role: computedRole,
3635
+ "aria-orientation": computedAriaOrientation,
3636
+ ...rest
3637
+ },
3638
+ hasChildren ? /* @__PURE__ */ jsx28("span", { className: "stn-divider__wrapper", children }) : null
3639
+ );
3640
+ });
3641
+ var Divider = StnDivider;
3642
+
3595
3643
  // src/components/StnToggleButton.tsx
3596
3644
  import {
3597
- forwardRef as forwardRef22,
3645
+ forwardRef as forwardRef23,
3598
3646
  useState as useState8
3599
3647
  } from "react";
3600
- import { Fragment as Fragment3, jsx as jsx28, jsxs as jsxs22 } from "react/jsx-runtime";
3601
- var StnToggleButton = forwardRef22(
3648
+ import { Fragment as Fragment3, jsx as jsx29, jsxs as jsxs22 } from "react/jsx-runtime";
3649
+ var StnToggleButton = forwardRef23(
3602
3650
  function StnToggleButton2({
3603
3651
  pressed: pressedProp,
3604
3652
  defaultPressed = false,
@@ -3652,7 +3700,7 @@ var StnToggleButton = forwardRef22(
3652
3700
  } : void 0;
3653
3701
  const isIconOnly = iconOnlyProp !== void 0 ? iconOnlyProp : Boolean(icon && !children);
3654
3702
  const iconPx = size === "sm" ? 14 : size === "lg" ? 18 : 16;
3655
- const renderedIcon = typeof icon === "string" ? /* @__PURE__ */ jsx28(StnIcon, { name: icon, size: iconPx, color: "currentColor" }) : icon;
3703
+ const renderedIcon = typeof icon === "string" ? /* @__PURE__ */ jsx29(StnIcon, { name: icon, size: iconPx, color: "currentColor" }) : icon;
3656
3704
  const handleClick = (e) => {
3657
3705
  if (disabled) return;
3658
3706
  onClick?.(e);
@@ -3662,7 +3710,7 @@ var StnToggleButton = forwardRef22(
3662
3710
  }
3663
3711
  onChange?.(nextPressed);
3664
3712
  };
3665
- return /* @__PURE__ */ jsx28(
3713
+ return /* @__PURE__ */ jsx29(
3666
3714
  "button",
3667
3715
  {
3668
3716
  ref,
@@ -3697,9 +3745,9 @@ var StnToggleButton = forwardRef22(
3697
3745
  );
3698
3746
 
3699
3747
  // src/components/StnSwitch.tsx
3700
- import { forwardRef as forwardRef23, useId as useId6 } from "react";
3701
- import { jsx as jsx29, jsxs as jsxs23 } from "react/jsx-runtime";
3702
- var StnSwitch = forwardRef23(function StnSwitch2({
3748
+ import { forwardRef as forwardRef24, useId as useId6 } from "react";
3749
+ import { jsx as jsx30, jsxs as jsxs23 } from "react/jsx-runtime";
3750
+ var StnSwitch = forwardRef24(function StnSwitch2({
3703
3751
  label,
3704
3752
  size = "md",
3705
3753
  color,
@@ -3766,7 +3814,7 @@ var StnSwitch = forwardRef23(function StnSwitch2({
3766
3814
  style: inlineStyle,
3767
3815
  htmlFor: id,
3768
3816
  children: [
3769
- /* @__PURE__ */ jsx29(
3817
+ /* @__PURE__ */ jsx30(
3770
3818
  "input",
3771
3819
  {
3772
3820
  ref,
@@ -3779,10 +3827,10 @@ var StnSwitch = forwardRef23(function StnSwitch2({
3779
3827
  ...rest
3780
3828
  }
3781
3829
  ),
3782
- /* @__PURE__ */ jsx29("span", { className: "stn-switch__control", "aria-hidden": "true", children: /* @__PURE__ */ jsx29("span", { className: "stn-switch__thumb" }) }),
3830
+ /* @__PURE__ */ jsx30("span", { className: "stn-switch__control", "aria-hidden": "true", children: /* @__PURE__ */ jsx30("span", { className: "stn-switch__thumb" }) }),
3783
3831
  label != null && label !== "" ? /* @__PURE__ */ jsxs23("span", { className: "stn-switch__label", children: [
3784
3832
  label,
3785
- required && /* @__PURE__ */ jsx29("span", { className: "stn-switch__required", "aria-hidden": "true", children: "*" })
3833
+ required && /* @__PURE__ */ jsx30("span", { className: "stn-switch__required", "aria-hidden": "true", children: "*" })
3786
3834
  ] }) : null
3787
3835
  ]
3788
3836
  }
@@ -3790,9 +3838,9 @@ var StnSwitch = forwardRef23(function StnSwitch2({
3790
3838
  });
3791
3839
 
3792
3840
  // src/components/StnRadio.tsx
3793
- import { forwardRef as forwardRef24, useId as useId7 } from "react";
3794
- import { jsx as jsx30, jsxs as jsxs24 } from "react/jsx-runtime";
3795
- var StnRadio = forwardRef24(function StnRadio2({
3841
+ import { forwardRef as forwardRef25, useId as useId7 } from "react";
3842
+ import { jsx as jsx31, jsxs as jsxs24 } from "react/jsx-runtime";
3843
+ var StnRadio = forwardRef25(function StnRadio2({
3796
3844
  label,
3797
3845
  size = "md",
3798
3846
  color,
@@ -3838,10 +3886,10 @@ var StnRadio = forwardRef24(function StnRadio2({
3838
3886
  ),
3839
3887
  style: inlineStyle,
3840
3888
  children: [
3841
- /* @__PURE__ */ jsx30("input", { ref, type: "radio", id, disabled, required, ...rest }),
3889
+ /* @__PURE__ */ jsx31("input", { ref, type: "radio", id, disabled, required, ...rest }),
3842
3890
  /* @__PURE__ */ jsxs24("label", { htmlFor: id, "aria-hidden": isControlOnly ? true : void 0, children: [
3843
3891
  label,
3844
- required && !isControlOnly && /* @__PURE__ */ jsx30("span", { className: "stn-radio__required", "aria-hidden": "true", children: "*" })
3892
+ required && !isControlOnly && /* @__PURE__ */ jsx31("span", { className: "stn-radio__required", "aria-hidden": "true", children: "*" })
3845
3893
  ] })
3846
3894
  ]
3847
3895
  }
@@ -3850,7 +3898,7 @@ var StnRadio = forwardRef24(function StnRadio2({
3850
3898
 
3851
3899
  // src/components/StnRadioGroup.tsx
3852
3900
  import { useId as useId8 } from "react";
3853
- import { jsx as jsx31 } from "react/jsx-runtime";
3901
+ import { jsx as jsx32 } from "react/jsx-runtime";
3854
3902
  function StnRadioGroup({
3855
3903
  name: nameProp,
3856
3904
  value,
@@ -3868,7 +3916,7 @@ function StnRadioGroup({
3868
3916
  const autoName = useId8().replace(/:/g, "");
3869
3917
  const name = nameProp ?? `stn-radio-${autoName}`;
3870
3918
  const isRow = orientation === "horizontal" || layout === "row";
3871
- const items = options.map((opt) => /* @__PURE__ */ jsx31(
3919
+ const items = options.map((opt) => /* @__PURE__ */ jsx32(
3872
3920
  StnRadio,
3873
3921
  {
3874
3922
  name,
@@ -3883,7 +3931,7 @@ function StnRadioGroup({
3883
3931
  },
3884
3932
  opt.value
3885
3933
  ));
3886
- return /* @__PURE__ */ jsx31(
3934
+ return /* @__PURE__ */ jsx32(
3887
3935
  "div",
3888
3936
  {
3889
3937
  className: cn(
@@ -3901,12 +3949,12 @@ function StnRadioGroup({
3901
3949
 
3902
3950
  // src/components/StnSegmented.tsx
3903
3951
  import { useId as useId9 } from "react";
3904
- import { jsx as jsx32, jsxs as jsxs25 } from "react/jsx-runtime";
3952
+ import { jsx as jsx33, jsxs as jsxs25 } from "react/jsx-runtime";
3905
3953
  function renderSegmentedIcon(icon, size) {
3906
3954
  if (!icon) return null;
3907
3955
  if (typeof icon === "string") {
3908
3956
  const iconPx = size === "sm" ? 14 : size === "lg" ? 18 : 16;
3909
- return /* @__PURE__ */ jsx32(StnIcon, { name: icon, size: iconPx, color: "currentColor" });
3957
+ return /* @__PURE__ */ jsx33(StnIcon, { name: icon, size: iconPx, color: "currentColor" });
3910
3958
  }
3911
3959
  return icon;
3912
3960
  }
@@ -3943,7 +3991,7 @@ function StnSegmented(props) {
3943
3991
  }
3944
3992
  props.onChange(optionValue);
3945
3993
  }
3946
- return /* @__PURE__ */ jsx32(
3994
+ return /* @__PURE__ */ jsx33(
3947
3995
  "div",
3948
3996
  {
3949
3997
  className: cn(
@@ -3984,7 +4032,7 @@ function StnSegmented(props) {
3984
4032
  },
3985
4033
  children: [
3986
4034
  renderSegmentedIcon(opt.icon, size),
3987
- opt.label && /* @__PURE__ */ jsx32("span", { children: opt.label })
4035
+ opt.label && /* @__PURE__ */ jsx33("span", { children: opt.label })
3988
4036
  ]
3989
4037
  },
3990
4038
  opt.value
@@ -3996,7 +4044,7 @@ function StnSegmented(props) {
3996
4044
 
3997
4045
  // src/components/tabs/StnTabs.tsx
3998
4046
  import {
3999
- forwardRef as forwardRef27,
4047
+ forwardRef as forwardRef28,
4000
4048
  useState as useState9,
4001
4049
  useRef as useRef5,
4002
4050
  useEffect as useEffect8,
@@ -4006,7 +4054,7 @@ import {
4006
4054
 
4007
4055
  // src/components/tabs/StnTabContext.tsx
4008
4056
  import { createContext as createContext3, useContext as useContext3 } from "react";
4009
- import { jsx as jsx33 } from "react/jsx-runtime";
4057
+ import { jsx as jsx34 } from "react/jsx-runtime";
4010
4058
  var StnTabsContext = createContext3(null);
4011
4059
  function useStnTabsContext() {
4012
4060
  return useContext3(StnTabsContext);
@@ -4018,13 +4066,13 @@ function StnTabContextProvider({
4018
4066
  variant = "line",
4019
4067
  children
4020
4068
  }) {
4021
- return /* @__PURE__ */ jsx33(StnTabsContext.Provider, { value: { value, onChange, size, variant }, children });
4069
+ return /* @__PURE__ */ jsx34(StnTabsContext.Provider, { value: { value, onChange, size, variant }, children });
4022
4070
  }
4023
4071
 
4024
4072
  // src/components/tabs/StnTab.tsx
4025
- import { forwardRef as forwardRef25 } from "react";
4026
- import { jsx as jsx34, jsxs as jsxs26 } from "react/jsx-runtime";
4027
- var StnTab = forwardRef25(function StnTab2({
4073
+ import { forwardRef as forwardRef26 } from "react";
4074
+ import { jsx as jsx35, jsxs as jsxs26 } from "react/jsx-runtime";
4075
+ var StnTab = forwardRef26(function StnTab2({
4028
4076
  value,
4029
4077
  label,
4030
4078
  icon,
@@ -4061,7 +4109,7 @@ var StnTab = forwardRef25(function StnTab2({
4061
4109
  ].filter(Boolean).join(" ");
4062
4110
  const iconSizeClass = typeof iconSize === "string" ? `icon-${iconSize}` : void 0;
4063
4111
  const iconStyle = typeof iconSize === "number" ? { width: `${iconSize}px`, height: `${iconSize}px` } : void 0;
4064
- const renderedIcon = icon ? /* @__PURE__ */ jsx34(
4112
+ const renderedIcon = icon ? /* @__PURE__ */ jsx35(
4065
4113
  "span",
4066
4114
  {
4067
4115
  className: ["stn-tab__icon", iconSizeClass].filter(Boolean).join(" "),
@@ -4086,19 +4134,19 @@ var StnTab = forwardRef25(function StnTab2({
4086
4134
  ...rest,
4087
4135
  children: [
4088
4136
  iconPosition !== "end" && iconPosition !== "bottom" && renderedIcon,
4089
- content && /* @__PURE__ */ jsx34("span", { className: "stn-tab__label", children: content }),
4137
+ content && /* @__PURE__ */ jsx35("span", { className: "stn-tab__label", children: content }),
4090
4138
  (iconPosition === "end" || iconPosition === "bottom") && renderedIcon,
4091
- count !== void 0 && /* @__PURE__ */ jsx34("span", { className: "stn-tab__badge", children: count }),
4092
- badge && /* @__PURE__ */ jsx34("span", { className: "stn-tab__extra", children: badge })
4139
+ count !== void 0 && /* @__PURE__ */ jsx35("span", { className: "stn-tab__badge", children: count }),
4140
+ badge && /* @__PURE__ */ jsx35("span", { className: "stn-tab__extra", children: badge })
4093
4141
  ]
4094
4142
  }
4095
4143
  );
4096
4144
  });
4097
4145
 
4098
4146
  // src/components/tabs/StnTabPanel.tsx
4099
- import { forwardRef as forwardRef26 } from "react";
4100
- import { jsx as jsx35 } from "react/jsx-runtime";
4101
- var StnTabPanel = forwardRef26(function StnTabPanel2({
4147
+ import { forwardRef as forwardRef27 } from "react";
4148
+ import { jsx as jsx36 } from "react/jsx-runtime";
4149
+ var StnTabPanel = forwardRef27(function StnTabPanel2({
4102
4150
  value,
4103
4151
  current,
4104
4152
  padding = "md",
@@ -4118,7 +4166,7 @@ var StnTabPanel = forwardRef26(function StnTabPanel2({
4118
4166
  padding && `padding-${padding}`,
4119
4167
  className
4120
4168
  ].filter(Boolean).join(" ");
4121
- return /* @__PURE__ */ jsx35(
4169
+ return /* @__PURE__ */ jsx36(
4122
4170
  "div",
4123
4171
  {
4124
4172
  ref,
@@ -4133,9 +4181,9 @@ var StnTabPanel = forwardRef26(function StnTabPanel2({
4133
4181
  });
4134
4182
 
4135
4183
  // src/components/tabs/StnTabs.tsx
4136
- import { jsx as jsx36, jsxs as jsxs27 } from "react/jsx-runtime";
4184
+ import { jsx as jsx37, jsxs as jsxs27 } from "react/jsx-runtime";
4137
4185
  var useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect8;
4138
- var StnTabsRoot = forwardRef27(function StnTabs({
4186
+ var StnTabsRoot = forwardRef28(function StnTabs({
4139
4187
  value: controlledValue,
4140
4188
  defaultValue,
4141
4189
  onChange,
@@ -4258,7 +4306,7 @@ var StnTabsRoot = forwardRef27(function StnTabs({
4258
4306
  className
4259
4307
  ].filter(Boolean).join(" ");
4260
4308
  const content = /* @__PURE__ */ jsxs27("div", { ref, className: classList, ...rest, children: [
4261
- showScrollButtons && /* @__PURE__ */ jsx36(
4309
+ showScrollButtons && /* @__PURE__ */ jsx37(
4262
4310
  "button",
4263
4311
  {
4264
4312
  type: "button",
@@ -4266,7 +4314,7 @@ var StnTabsRoot = forwardRef27(function StnTabs({
4266
4314
  disabled: !canScrollStart,
4267
4315
  className: "stn-tabs__scroll-button start",
4268
4316
  onClick: handleScrollLeft,
4269
- children: /* @__PURE__ */ jsx36(
4317
+ children: /* @__PURE__ */ jsx37(
4270
4318
  "svg",
4271
4319
  {
4272
4320
  width: "16",
@@ -4277,19 +4325,19 @@ var StnTabsRoot = forwardRef27(function StnTabs({
4277
4325
  strokeWidth: "2",
4278
4326
  strokeLinecap: "round",
4279
4327
  strokeLinejoin: "round",
4280
- children: /* @__PURE__ */ jsx36("polyline", { points: "15 18 9 12 15 6" })
4328
+ children: /* @__PURE__ */ jsx37("polyline", { points: "15 18 9 12 15 6" })
4281
4329
  }
4282
4330
  )
4283
4331
  }
4284
4332
  ),
4285
- /* @__PURE__ */ jsx36(
4333
+ /* @__PURE__ */ jsx37(
4286
4334
  "div",
4287
4335
  {
4288
4336
  ref: scrollerRef,
4289
4337
  className: "stn-tabs__scroller",
4290
4338
  onScroll: updateScrollState,
4291
4339
  children: /* @__PURE__ */ jsxs27("ul", { ref: listRef, role: "tablist", className: "stn-tabs__list", children: [
4292
- /* @__PURE__ */ jsx36(
4340
+ /* @__PURE__ */ jsx37(
4293
4341
  "div",
4294
4342
  {
4295
4343
  className: "stn-tabs__indicator",
@@ -4300,7 +4348,7 @@ var StnTabsRoot = forwardRef27(function StnTabs({
4300
4348
  }
4301
4349
  }
4302
4350
  ),
4303
- items && items.length > 0 ? items.map((item) => /* @__PURE__ */ jsx36(
4351
+ items && items.length > 0 ? items.map((item) => /* @__PURE__ */ jsx37(
4304
4352
  StnTab,
4305
4353
  {
4306
4354
  value: item.value,
@@ -4318,7 +4366,7 @@ var StnTabsRoot = forwardRef27(function StnTabs({
4318
4366
  ] })
4319
4367
  }
4320
4368
  ),
4321
- showScrollButtons && /* @__PURE__ */ jsx36(
4369
+ showScrollButtons && /* @__PURE__ */ jsx37(
4322
4370
  "button",
4323
4371
  {
4324
4372
  type: "button",
@@ -4326,7 +4374,7 @@ var StnTabsRoot = forwardRef27(function StnTabs({
4326
4374
  disabled: !canScrollEnd,
4327
4375
  className: "stn-tabs__scroll-button end",
4328
4376
  onClick: handleScrollRight,
4329
- children: /* @__PURE__ */ jsx36(
4377
+ children: /* @__PURE__ */ jsx37(
4330
4378
  "svg",
4331
4379
  {
4332
4380
  width: "16",
@@ -4337,14 +4385,14 @@ var StnTabsRoot = forwardRef27(function StnTabs({
4337
4385
  strokeWidth: "2",
4338
4386
  strokeLinecap: "round",
4339
4387
  strokeLinejoin: "round",
4340
- children: /* @__PURE__ */ jsx36("polyline", { points: "9 18 15 12 9 6" })
4388
+ children: /* @__PURE__ */ jsx37("polyline", { points: "9 18 15 12 9 6" })
4341
4389
  }
4342
4390
  )
4343
4391
  }
4344
4392
  )
4345
4393
  ] });
4346
4394
  if (!context) {
4347
- return /* @__PURE__ */ jsx36(
4395
+ return /* @__PURE__ */ jsx37(
4348
4396
  StnTabContextProvider,
4349
4397
  {
4350
4398
  value: activeValue,
@@ -4371,9 +4419,9 @@ import {
4371
4419
  useRef as useRef6,
4372
4420
  useState as useState10
4373
4421
  } from "react";
4374
- import { jsx as jsx37, jsxs as jsxs28 } from "react/jsx-runtime";
4422
+ import { jsx as jsx38, jsxs as jsxs28 } from "react/jsx-runtime";
4375
4423
  function resolveGlyph(node) {
4376
- if (typeof node === "string") return /* @__PURE__ */ jsx37(StnIcon, { name: node, size: 16, color: "currentColor" });
4424
+ if (typeof node === "string") return /* @__PURE__ */ jsx38(StnIcon, { name: node, size: 16, color: "currentColor" });
4377
4425
  return node;
4378
4426
  }
4379
4427
  function modifierClass(modifier) {
@@ -4527,7 +4575,7 @@ function StnDropdown({
4527
4575
  "aria-invalid": error || void 0,
4528
4576
  ...!hasHelper ? divRest : {},
4529
4577
  children: [
4530
- /* @__PURE__ */ jsx37(
4578
+ /* @__PURE__ */ jsx38(
4531
4579
  "div",
4532
4580
  {
4533
4581
  className: cn("selected", !hasValue && placeholder && "is-placeholder"),
@@ -4544,7 +4592,7 @@ function StnDropdown({
4544
4592
  children: displayLabel
4545
4593
  }
4546
4594
  ),
4547
- /* @__PURE__ */ jsx37(
4595
+ /* @__PURE__ */ jsx38(
4548
4596
  "ul",
4549
4597
  {
4550
4598
  className: cn("select_option", "stn-scroll", "vertical", "thin"),
@@ -4567,15 +4615,15 @@ function StnDropdown({
4567
4615
  if (e.key === "Enter" && !opt.disabled) pick(opt.value);
4568
4616
  },
4569
4617
  children: [
4570
- /* @__PURE__ */ jsx37(
4618
+ /* @__PURE__ */ jsx38(
4571
4619
  "span",
4572
4620
  {
4573
4621
  className: cn("stn-dropdown__check", isSelected && "is-checked"),
4574
4622
  "aria-hidden": "true",
4575
- children: isSelected ? /* @__PURE__ */ jsx37(StnIcon, { name: "line/check", size: 14, color: "currentColor" }) : null
4623
+ children: isSelected ? /* @__PURE__ */ jsx38(StnIcon, { name: "line/check", size: 14, color: "currentColor" }) : null
4576
4624
  }
4577
4625
  ),
4578
- /* @__PURE__ */ jsx37("span", { className: "stn-dropdown__item-label", children: opt.label })
4626
+ /* @__PURE__ */ jsx38("span", { className: "stn-dropdown__item-label", children: opt.label })
4579
4627
  ]
4580
4628
  },
4581
4629
  opt.value
@@ -4591,9 +4639,9 @@ function StnDropdown({
4591
4639
  if (!hasWrap) return dropdownNode;
4592
4640
  const resolvedLabelIcon = labelIcon ?? icon;
4593
4641
  const labelElement = hasLabel ? /* @__PURE__ */ jsxs28("label", { htmlFor: rootId, className: "stn-dropdown__label", children: [
4594
- resolvedLabelIcon ? /* @__PURE__ */ jsx37("span", { className: "stn-dropdown__label-icon", "aria-hidden": "true", children: resolveGlyph(resolvedLabelIcon) }) : null,
4595
- /* @__PURE__ */ jsx37("span", { className: "stn-dropdown__label-text", children: label }),
4596
- required && /* @__PURE__ */ jsx37("span", { className: "stn-dropdown__required", "aria-hidden": "true", children: "*" })
4642
+ resolvedLabelIcon ? /* @__PURE__ */ jsx38("span", { className: "stn-dropdown__label-icon", "aria-hidden": "true", children: resolveGlyph(resolvedLabelIcon) }) : null,
4643
+ /* @__PURE__ */ jsx38("span", { className: "stn-dropdown__label-text", children: label }),
4644
+ required && /* @__PURE__ */ jsx38("span", { className: "stn-dropdown__required", "aria-hidden": "true", children: "*" })
4597
4645
  ] }) : null;
4598
4646
  const isRow = labelPosition === "left" || labelPosition === "right";
4599
4647
  return /* @__PURE__ */ jsxs28(
@@ -4616,7 +4664,7 @@ function StnDropdown({
4616
4664
  hasLabel && (labelPosition === "left" || labelPosition === "top") ? labelElement : null,
4617
4665
  /* @__PURE__ */ jsxs28("div", { className: "stn-dropdown-wrap__body", children: [
4618
4666
  dropdownNode,
4619
- hasHelper && /* @__PURE__ */ jsx37(
4667
+ hasHelper && /* @__PURE__ */ jsx38(
4620
4668
  "span",
4621
4669
  {
4622
4670
  id: helperId,
@@ -4632,12 +4680,12 @@ function StnDropdown({
4632
4680
  }
4633
4681
 
4634
4682
  // src/components/StnDropdownMenu.tsx
4635
- import { jsx as jsx38 } from "react/jsx-runtime";
4683
+ import { jsx as jsx39 } from "react/jsx-runtime";
4636
4684
  function StnDropdownMenu({
4637
4685
  className,
4638
4686
  ...rest
4639
4687
  }) {
4640
- return /* @__PURE__ */ jsx38(
4688
+ return /* @__PURE__ */ jsx39(
4641
4689
  StnDropdown,
4642
4690
  {
4643
4691
  size: "xl",
@@ -4648,8 +4696,8 @@ function StnDropdownMenu({
4648
4696
  }
4649
4697
 
4650
4698
  // src/components/StnTextField.tsx
4651
- import { forwardRef as forwardRef28, useId as useId11 } from "react";
4652
- import { jsx as jsx39, jsxs as jsxs29 } from "react/jsx-runtime";
4699
+ import { forwardRef as forwardRef29, useId as useId11 } from "react";
4700
+ import { jsx as jsx40, jsxs as jsxs29 } from "react/jsx-runtime";
4653
4701
  function normalizeSize(size) {
4654
4702
  if (!size) return "md";
4655
4703
  const l = String(size).toLowerCase();
@@ -4673,10 +4721,10 @@ function colorClass(color) {
4673
4721
  return color;
4674
4722
  }
4675
4723
  function resolveGlyph2(node) {
4676
- if (typeof node === "string") return /* @__PURE__ */ jsx39(StnIcon, { name: node, size: 16, color: "currentColor" });
4724
+ if (typeof node === "string") return /* @__PURE__ */ jsx40(StnIcon, { name: node, size: 16, color: "currentColor" });
4677
4725
  return node;
4678
4726
  }
4679
- var StnTextField = forwardRef28(function StnTextField2({
4727
+ var StnTextField = forwardRef29(function StnTextField2({
4680
4728
  size = "M",
4681
4729
  variant = "outlined",
4682
4730
  color,
@@ -4722,7 +4770,7 @@ var StnTextField = forwardRef28(function StnTextField2({
4722
4770
  hasSlot && "with-icon",
4723
4771
  className
4724
4772
  );
4725
- const input = /* @__PURE__ */ jsx39(
4773
+ const input = /* @__PURE__ */ jsx40(
4726
4774
  "input",
4727
4775
  {
4728
4776
  ref,
@@ -4738,15 +4786,15 @@ var StnTextField = forwardRef28(function StnTextField2({
4738
4786
  }
4739
4787
  );
4740
4788
  const field = hasSlot ? /* @__PURE__ */ jsxs29("div", { className: fieldClass, style: hasWrap ? void 0 : widthProps.style, children: [
4741
- hasLeft ? /* @__PURE__ */ jsx39("span", { className: "stn-text-field__icon-left", "aria-hidden": true, children: /* @__PURE__ */ jsx39("span", { className: "stn-text-field__icon-box", children: resolveGlyph2(leftNode) }) }) : null,
4789
+ hasLeft ? /* @__PURE__ */ jsx40("span", { className: "stn-text-field__icon-left", "aria-hidden": true, children: /* @__PURE__ */ jsx40("span", { className: "stn-text-field__icon-box", children: resolveGlyph2(leftNode) }) }) : null,
4742
4790
  input,
4743
- hasRight ? /* @__PURE__ */ jsx39("span", { className: "stn-text-field__icon-right", "aria-hidden": true, children: /* @__PURE__ */ jsx39("span", { className: "stn-text-field__icon-box", children: resolveGlyph2(rightNode) }) }) : null
4791
+ hasRight ? /* @__PURE__ */ jsx40("span", { className: "stn-text-field__icon-right", "aria-hidden": true, children: /* @__PURE__ */ jsx40("span", { className: "stn-text-field__icon-box", children: resolveGlyph2(rightNode) }) }) : null
4744
4792
  ] }) : input;
4745
4793
  if (!hasWrap) return field;
4746
4794
  const labelElement = hasLabel ? /* @__PURE__ */ jsxs29("label", { htmlFor: id, className: "stn-text-field__label", children: [
4747
- labelIcon ? /* @__PURE__ */ jsx39("span", { className: "stn-text-field__label-icon", "aria-hidden": "true", children: resolveGlyph2(labelIcon) }) : null,
4748
- /* @__PURE__ */ jsx39("span", { className: "stn-text-field__label-text", children: label }),
4749
- required && /* @__PURE__ */ jsx39("span", { className: "stn-text-field__required", "aria-hidden": "true", children: "*" })
4795
+ labelIcon ? /* @__PURE__ */ jsx40("span", { className: "stn-text-field__label-icon", "aria-hidden": "true", children: resolveGlyph2(labelIcon) }) : null,
4796
+ /* @__PURE__ */ jsx40("span", { className: "stn-text-field__label-text", children: label }),
4797
+ required && /* @__PURE__ */ jsx40("span", { className: "stn-text-field__required", "aria-hidden": "true", children: "*" })
4750
4798
  ] }) : null;
4751
4799
  const isRow = labelPosition === "left" || labelPosition === "right";
4752
4800
  return /* @__PURE__ */ jsxs29(
@@ -4765,7 +4813,7 @@ var StnTextField = forwardRef28(function StnTextField2({
4765
4813
  hasLabel && (labelPosition === "left" || labelPosition === "top") ? labelElement : null,
4766
4814
  /* @__PURE__ */ jsxs29("div", { className: "stn-text-field-wrap__body", children: [
4767
4815
  field,
4768
- hasHelper && /* @__PURE__ */ jsx39(
4816
+ hasHelper && /* @__PURE__ */ jsx40(
4769
4817
  "p",
4770
4818
  {
4771
4819
  id: helperId,
@@ -4782,11 +4830,11 @@ var StnTextField = forwardRef28(function StnTextField2({
4782
4830
 
4783
4831
  // src/components/StnTextArea.tsx
4784
4832
  import {
4785
- forwardRef as forwardRef29,
4833
+ forwardRef as forwardRef30,
4786
4834
  useId as useId12,
4787
4835
  useState as useState11
4788
4836
  } from "react";
4789
- import { jsx as jsx40, jsxs as jsxs30 } from "react/jsx-runtime";
4837
+ import { jsx as jsx41, jsxs as jsxs30 } from "react/jsx-runtime";
4790
4838
  function normalizeSize2(size) {
4791
4839
  return size ?? "md";
4792
4840
  }
@@ -4807,10 +4855,10 @@ function resizeClass(resize) {
4807
4855
  return "resize-vertical";
4808
4856
  }
4809
4857
  function resolveGlyph3(node) {
4810
- if (typeof node === "string") return /* @__PURE__ */ jsx40(StnIcon, { name: node, size: 16, color: "currentColor" });
4858
+ if (typeof node === "string") return /* @__PURE__ */ jsx41(StnIcon, { name: node, size: 16, color: "currentColor" });
4811
4859
  return node;
4812
4860
  }
4813
- var StnTextArea = forwardRef29(function StnTextArea2({
4861
+ var StnTextArea = forwardRef30(function StnTextArea2({
4814
4862
  size = "md",
4815
4863
  variant = "outlined",
4816
4864
  color,
@@ -4867,7 +4915,7 @@ var StnTextArea = forwardRef29(function StnTextArea2({
4867
4915
  invalid && "invalid",
4868
4916
  className
4869
4917
  );
4870
- const textareaElement = /* @__PURE__ */ jsx40(
4918
+ const textareaElement = /* @__PURE__ */ jsx41(
4871
4919
  "textarea",
4872
4920
  {
4873
4921
  ref,
@@ -4890,9 +4938,9 @@ var StnTextArea = forwardRef29(function StnTextArea2({
4890
4938
  return textareaElement;
4891
4939
  }
4892
4940
  const labelElement = hasLabel ? /* @__PURE__ */ jsxs30("label", { htmlFor: id, className: "stn-text-area__label", children: [
4893
- labelIcon ? /* @__PURE__ */ jsx40("span", { className: "stn-text-area__label-icon", "aria-hidden": "true", children: resolveGlyph3(labelIcon) }) : null,
4894
- /* @__PURE__ */ jsx40("span", { className: "stn-text-area__label-text", children: label }),
4895
- required && /* @__PURE__ */ jsx40("span", { className: "stn-text-area__required", "aria-hidden": "true", children: "*" })
4941
+ labelIcon ? /* @__PURE__ */ jsx41("span", { className: "stn-text-area__label-icon", "aria-hidden": "true", children: resolveGlyph3(labelIcon) }) : null,
4942
+ /* @__PURE__ */ jsx41("span", { className: "stn-text-area__label-text", children: label }),
4943
+ required && /* @__PURE__ */ jsx41("span", { className: "stn-text-area__required", "aria-hidden": "true", children: "*" })
4896
4944
  ] }) : null;
4897
4945
  const isRow = labelPosition === "left" || labelPosition === "right";
4898
4946
  return /* @__PURE__ */ jsxs30(
@@ -4912,14 +4960,14 @@ var StnTextArea = forwardRef29(function StnTextArea2({
4912
4960
  /* @__PURE__ */ jsxs30("div", { className: "stn-text-area-wrap__body", children: [
4913
4961
  textareaElement,
4914
4962
  hasFooter && /* @__PURE__ */ jsxs30("div", { className: "stn-text-area__footer", children: [
4915
- hasHelper ? /* @__PURE__ */ jsx40(
4963
+ hasHelper ? /* @__PURE__ */ jsx41(
4916
4964
  "p",
4917
4965
  {
4918
4966
  id: helperId,
4919
4967
  className: cn("stn-text-area__helper", invalid && "stn-text-area__helper--error"),
4920
4968
  children: helperText
4921
4969
  }
4922
- ) : /* @__PURE__ */ jsx40("span", {}),
4970
+ ) : /* @__PURE__ */ jsx41("span", {}),
4923
4971
  showCount && /* @__PURE__ */ jsxs30("span", { className: "stn-text-area__count", children: [
4924
4972
  currentLength,
4925
4973
  maxLength != null ? ` / ${maxLength}` : ""
@@ -4934,13 +4982,13 @@ var StnTextArea = forwardRef29(function StnTextArea2({
4934
4982
  StnTextArea.displayName = "StnTextArea";
4935
4983
 
4936
4984
  // src/components/StnDateRangeField.tsx
4937
- import { forwardRef as forwardRef30, useId as useId13 } from "react";
4985
+ import { forwardRef as forwardRef31, useId as useId13 } from "react";
4938
4986
  import {
4939
4987
  formatStnDateRangeFieldValue
4940
4988
  } from "@stn-uiux/pub-ui/data/stnDateRangeField";
4941
- import { jsx as jsx41, jsxs as jsxs31 } from "react/jsx-runtime";
4989
+ import { jsx as jsx42, jsxs as jsxs31 } from "react/jsx-runtime";
4942
4990
  function resolveGlyph4(node) {
4943
- if (typeof node === "string") return /* @__PURE__ */ jsx41(StnIcon, { name: node, size: 16, color: "currentColor" });
4991
+ if (typeof node === "string") return /* @__PURE__ */ jsx42(StnIcon, { name: node, size: 16, color: "currentColor" });
4944
4992
  return node;
4945
4993
  }
4946
4994
  function normalizeSize3(size) {
@@ -4964,7 +5012,7 @@ function resolveValue(value, format) {
4964
5012
  const trimmed = value.trim();
4965
5013
  return trimmed || null;
4966
5014
  }
4967
- var StnDateRangeField = forwardRef30(function StnDateRangeField2({
5015
+ var StnDateRangeField = forwardRef31(function StnDateRangeField2({
4968
5016
  size = "md",
4969
5017
  variant = "outline",
4970
5018
  start,
@@ -4998,7 +5046,7 @@ var StnDateRangeField = forwardRef30(function StnDateRangeField2({
4998
5046
  const hasLabel = label != null && label !== "";
4999
5047
  const hasHelper = helperText != null && helperText !== "";
5000
5048
  const hasWrap = hasLabel || hasHelper;
5001
- const buttonNode = /* @__PURE__ */ jsx41(
5049
+ const buttonNode = /* @__PURE__ */ jsx42(
5002
5050
  "button",
5003
5051
  {
5004
5052
  ref,
@@ -5020,20 +5068,20 @@ var StnDateRangeField = forwardRef30(function StnDateRangeField2({
5020
5068
  ...rest,
5021
5069
  children: /* @__PURE__ */ jsxs31("span", { className: "stn-date-range-field__inner", children: [
5022
5070
  /* @__PURE__ */ jsxs31("span", { className: "stn-date-range-field__text", children: [
5023
- /* @__PURE__ */ jsx41("span", { className: cn("stn-date-range-field__value", !startText && "is-placeholder"), children: startText ?? startPlaceholder }),
5024
- /* @__PURE__ */ jsx41("span", { className: "stn-date-range-field__sep", "aria-hidden": "true", children: "~" }),
5025
- /* @__PURE__ */ jsx41("span", { className: cn("stn-date-range-field__value", !endText && "is-placeholder"), children: endText ?? endPlaceholder })
5071
+ /* @__PURE__ */ jsx42("span", { className: cn("stn-date-range-field__value", !startText && "is-placeholder"), children: startText ?? startPlaceholder }),
5072
+ /* @__PURE__ */ jsx42("span", { className: "stn-date-range-field__sep", "aria-hidden": "true", children: "~" }),
5073
+ /* @__PURE__ */ jsx42("span", { className: cn("stn-date-range-field__value", !endText && "is-placeholder"), children: endText ?? endPlaceholder })
5026
5074
  ] }),
5027
- /* @__PURE__ */ jsx41("span", { className: "stn-date-range-field__icon", "aria-hidden": "true" })
5075
+ /* @__PURE__ */ jsx42("span", { className: "stn-date-range-field__icon", "aria-hidden": "true" })
5028
5076
  ] })
5029
5077
  }
5030
5078
  );
5031
5079
  if (!hasWrap) return buttonNode;
5032
5080
  const resolvedLabelIcon = labelIcon ?? icon;
5033
5081
  const labelElement = hasLabel ? /* @__PURE__ */ jsxs31("label", { htmlFor: rootId, className: "stn-date-range-field__label", children: [
5034
- resolvedLabelIcon ? /* @__PURE__ */ jsx41("span", { className: "stn-date-range-field__label-icon", "aria-hidden": "true", children: resolveGlyph4(resolvedLabelIcon) }) : null,
5035
- /* @__PURE__ */ jsx41("span", { className: "stn-date-range-field__label-text", children: label }),
5036
- required && /* @__PURE__ */ jsx41("span", { className: "stn-date-range-field__required", "aria-hidden": "true", children: "*" })
5082
+ resolvedLabelIcon ? /* @__PURE__ */ jsx42("span", { className: "stn-date-range-field__label-icon", "aria-hidden": "true", children: resolveGlyph4(resolvedLabelIcon) }) : null,
5083
+ /* @__PURE__ */ jsx42("span", { className: "stn-date-range-field__label-text", children: label }),
5084
+ required && /* @__PURE__ */ jsx42("span", { className: "stn-date-range-field__required", "aria-hidden": "true", children: "*" })
5037
5085
  ] }) : null;
5038
5086
  const isRow = labelPosition === "left" || labelPosition === "right";
5039
5087
  return /* @__PURE__ */ jsxs31(
@@ -5054,7 +5102,7 @@ var StnDateRangeField = forwardRef30(function StnDateRangeField2({
5054
5102
  hasLabel && (labelPosition === "left" || labelPosition === "top") ? labelElement : null,
5055
5103
  /* @__PURE__ */ jsxs31("div", { className: "stn-date-range-field-wrap__body", children: [
5056
5104
  buttonNode,
5057
- hasHelper && /* @__PURE__ */ jsx41(
5105
+ hasHelper && /* @__PURE__ */ jsx42(
5058
5106
  "span",
5059
5107
  {
5060
5108
  id: `${rootId}-helper`,
@@ -5079,7 +5127,7 @@ import {
5079
5127
  isValidElement as isValidElement4,
5080
5128
  cloneElement as cloneElement4
5081
5129
  } from "react";
5082
- import { jsx as jsx42, jsxs as jsxs32 } from "react/jsx-runtime";
5130
+ import { jsx as jsx43, jsxs as jsxs32 } from "react/jsx-runtime";
5083
5131
  function sizeClass4(size) {
5084
5132
  return size;
5085
5133
  }
@@ -5144,7 +5192,7 @@ function StnLabelPrefix({
5144
5192
  );
5145
5193
  const defaultCheckboxSize = size === "lg" ? "md" : "sm";
5146
5194
  const resolvedCheckboxSize = checkboxSize ?? defaultCheckboxSize;
5147
- const checkboxNode = checkboxSlot ?? (checkbox ? /* @__PURE__ */ jsx42("span", { className: "stn-label-prefix__checkbox", children: /* @__PURE__ */ jsx42(
5195
+ const checkboxNode = checkboxSlot ?? (checkbox ? /* @__PURE__ */ jsx43("span", { className: "stn-label-prefix__checkbox", children: /* @__PURE__ */ jsx43(
5148
5196
  StnCheckbox,
5149
5197
  {
5150
5198
  size: resolvedCheckboxSize,
@@ -5158,12 +5206,12 @@ function StnLabelPrefix({
5158
5206
  ) }) : null);
5159
5207
  const labelSection = /* @__PURE__ */ jsxs32("span", { className: "stn-label-prefix__label", children: [
5160
5208
  checkboxNode,
5161
- labelIcon != null && /* @__PURE__ */ jsx42("span", { className: "stn-label-prefix__icon", "aria-hidden": "true", children: labelIcon }),
5209
+ labelIcon != null && /* @__PURE__ */ jsx43("span", { className: "stn-label-prefix__icon", "aria-hidden": "true", children: labelIcon }),
5162
5210
  /* @__PURE__ */ jsxs32("span", { className: "stn-label-prefix__text", children: [
5163
5211
  label,
5164
- required && /* @__PURE__ */ jsx42("span", { className: "stn-label-prefix__required", "aria-hidden": "true", children: "*" })
5212
+ required && /* @__PURE__ */ jsx43("span", { className: "stn-label-prefix__required", "aria-hidden": "true", children: "*" })
5165
5213
  ] }),
5166
- /* @__PURE__ */ jsx42("span", { className: "stn-label-prefix__divider", "aria-hidden": "true" })
5214
+ /* @__PURE__ */ jsx43("span", { className: "stn-label-prefix__divider", "aria-hidden": "true" })
5167
5215
  ] });
5168
5216
  let renderedControl = children;
5169
5217
  if (isControlDisabled && isValidElement4(children) && typeof children.type !== "string") {
@@ -5183,7 +5231,7 @@ function StnLabelPrefix({
5183
5231
  ...!hasHelper ? rest : {},
5184
5232
  children: [
5185
5233
  labelSection,
5186
- /* @__PURE__ */ jsx42("span", { className: "stn-label-prefix__control", children: renderedControl })
5234
+ /* @__PURE__ */ jsx43("span", { className: "stn-label-prefix__control", children: renderedControl })
5187
5235
  ]
5188
5236
  }
5189
5237
  );
@@ -5204,7 +5252,7 @@ function StnLabelPrefix({
5204
5252
  ...rest,
5205
5253
  children: [
5206
5254
  prefixNode,
5207
- /* @__PURE__ */ jsx42(
5255
+ /* @__PURE__ */ jsx43(
5208
5256
  "p",
5209
5257
  {
5210
5258
  id: helperId,
@@ -5270,14 +5318,14 @@ import {
5270
5318
  } from "@stn-uiux/pub-ui/data/stnSearchRequirement";
5271
5319
 
5272
5320
  // src/patterns/search/StnSearchRequirementBar.tsx
5273
- import { jsx as jsx43, jsxs as jsxs33 } from "react/jsx-runtime";
5321
+ import { jsx as jsx44, jsxs as jsxs33 } from "react/jsx-runtime";
5274
5322
  function StnSearchRequirementBar({
5275
5323
  children,
5276
5324
  className,
5277
5325
  density = "default",
5278
5326
  ...rest
5279
5327
  }) {
5280
- return /* @__PURE__ */ jsx43(
5328
+ return /* @__PURE__ */ jsx44(
5281
5329
  "div",
5282
5330
  {
5283
5331
  className: cn(
@@ -5293,7 +5341,7 @@ function StnSearchRequirementBar({
5293
5341
  );
5294
5342
  }
5295
5343
  function StnSearchRequirementBarFields({ children, className, ...rest }) {
5296
- return /* @__PURE__ */ jsx43("div", { className: cn("stn-search-requirement__fields", className), "data-stn-search-requirement": "fields", ...rest, children });
5344
+ return /* @__PURE__ */ jsx44("div", { className: cn("stn-search-requirement__fields", className), "data-stn-search-requirement": "fields", ...rest, children });
5297
5345
  }
5298
5346
  function StnSearchRequirementBarField({
5299
5347
  label,
@@ -5304,19 +5352,19 @@ function StnSearchRequirementBarField({
5304
5352
  ...rest
5305
5353
  }) {
5306
5354
  return /* @__PURE__ */ jsxs33("div", { className: cn("stn-search-requirement__field", className), "data-stn-search-requirement": "field", ...rest, children: [
5307
- /* @__PURE__ */ jsx43("span", { className: cn("stn-search-requirement__label", labelClassName), children: label }),
5308
- /* @__PURE__ */ jsx43("div", { className: cn("stn-search-requirement__control", controlClassName), children })
5355
+ /* @__PURE__ */ jsx44("span", { className: cn("stn-search-requirement__label", labelClassName), children: label }),
5356
+ /* @__PURE__ */ jsx44("div", { className: cn("stn-search-requirement__control", controlClassName), children })
5309
5357
  ] });
5310
5358
  }
5311
5359
  function StnSearchRequirementBarSearchButton({
5312
5360
  children = "\uAC80\uC0C9",
5313
5361
  size = "md",
5314
5362
  variant = "outlined",
5315
- icon = /* @__PURE__ */ jsx43(StnIcon, { name: "line/search", size: 16, color: "currentColor" }),
5363
+ icon = /* @__PURE__ */ jsx44(StnIcon, { name: "line/search", size: 16, color: "currentColor" }),
5316
5364
  className,
5317
5365
  ...rest
5318
5366
  }) {
5319
- return /* @__PURE__ */ jsx43(
5367
+ return /* @__PURE__ */ jsx44(
5320
5368
  StnButton,
5321
5369
  {
5322
5370
  size,
@@ -5338,10 +5386,10 @@ function StnSearchRequirementBarExport({
5338
5386
  "aria-label": ariaLabel = "Excel\uBCF4\uB0B4\uAE30",
5339
5387
  ...rest
5340
5388
  }) {
5341
- return /* @__PURE__ */ jsx43(
5389
+ return /* @__PURE__ */ jsx44(
5342
5390
  StnButton,
5343
5391
  {
5344
- icon: icon ?? /* @__PURE__ */ jsx43(StnIcon, { name, size: 24, color: "currentColor" }),
5392
+ icon: icon ?? /* @__PURE__ */ jsx44(StnIcon, { name, size: 24, color: "currentColor" }),
5345
5393
  variant,
5346
5394
  size,
5347
5395
  "aria-label": ariaLabel,
@@ -5352,7 +5400,7 @@ function StnSearchRequirementBarExport({
5352
5400
  );
5353
5401
  }
5354
5402
  function StnSearchRequirementBarDivider({ className, ...rest }) {
5355
- return /* @__PURE__ */ jsx43(
5403
+ return /* @__PURE__ */ jsx44(
5356
5404
  "span",
5357
5405
  {
5358
5406
  className: cn("stn-search-requirement__divider", className),
@@ -5444,7 +5492,7 @@ function normalizeRange(start, end) {
5444
5492
  }
5445
5493
 
5446
5494
  // src/components/datePicker/StnDateRangePicker.tsx
5447
- import { jsx as jsx44, jsxs as jsxs34 } from "react/jsx-runtime";
5495
+ import { jsx as jsx45, jsxs as jsxs34 } from "react/jsx-runtime";
5448
5496
  function useDraftRange(value, open) {
5449
5497
  const [draft, setDraft] = useState13(value);
5450
5498
  useEffect10(() => {
@@ -5457,17 +5505,17 @@ function CalendarPanel({ month, range, onPick, onPrev, onNext, showPrev = true,
5457
5505
  const { start, end } = range;
5458
5506
  return /* @__PURE__ */ jsxs34("div", { className: "stn-date-picker-panel", children: [
5459
5507
  /* @__PURE__ */ jsxs34("div", { className: "stn-date-picker-panel__header", children: [
5460
- showPrev ? /* @__PURE__ */ jsx44("button", { type: "button", className: "stn-date-picker-panel__nav", onClick: onPrev, "aria-label": "Previous month", children: "\u2039" }) : /* @__PURE__ */ jsx44("span", { className: "stn-date-picker-panel__nav", "aria-hidden": "true" }),
5461
- /* @__PURE__ */ jsx44("p", { className: "stn-date-picker-panel__title", children: formatMonthTitle(month) }),
5462
- showNext ? /* @__PURE__ */ jsx44("button", { type: "button", className: "stn-date-picker-panel__nav", onClick: onNext, "aria-label": "Next month", children: "\u203A" }) : /* @__PURE__ */ jsx44("span", { className: "stn-date-picker-panel__nav", "aria-hidden": "true" })
5508
+ showPrev ? /* @__PURE__ */ jsx45("button", { type: "button", className: "stn-date-picker-panel__nav", onClick: onPrev, "aria-label": "Previous month", children: "\u2039" }) : /* @__PURE__ */ jsx45("span", { className: "stn-date-picker-panel__nav", "aria-hidden": "true" }),
5509
+ /* @__PURE__ */ jsx45("p", { className: "stn-date-picker-panel__title", children: formatMonthTitle(month) }),
5510
+ showNext ? /* @__PURE__ */ jsx45("button", { type: "button", className: "stn-date-picker-panel__nav", onClick: onNext, "aria-label": "Next month", children: "\u203A" }) : /* @__PURE__ */ jsx45("span", { className: "stn-date-picker-panel__nav", "aria-hidden": "true" })
5463
5511
  ] }),
5464
5512
  /* @__PURE__ */ jsxs34("table", { className: "stn-date-picker-content", children: [
5465
- /* @__PURE__ */ jsx44("thead", { children: /* @__PURE__ */ jsx44("tr", { children: STN_DATE_PICKER_WEEKDAYS.map((label) => /* @__PURE__ */ jsx44("th", { scope: "col", children: label }, label)) }) }),
5466
- /* @__PURE__ */ jsx44("tbody", { children: Array.from({ length: 6 }, (_, row) => /* @__PURE__ */ jsx44("tr", { children: days.slice(row * 7, row * 7 + 7).map((cell) => {
5513
+ /* @__PURE__ */ jsx45("thead", { children: /* @__PURE__ */ jsx45("tr", { children: STN_DATE_PICKER_WEEKDAYS.map((label) => /* @__PURE__ */ jsx45("th", { scope: "col", children: label }, label)) }) }),
5514
+ /* @__PURE__ */ jsx45("tbody", { children: Array.from({ length: 6 }, (_, row) => /* @__PURE__ */ jsx45("tr", { children: days.slice(row * 7, row * 7 + 7).map((cell) => {
5467
5515
  const inRange = start && end && isBetweenDays(cell.date, start, end);
5468
5516
  const isStart = start ? isSameDay(cell.date, start) : false;
5469
5517
  const isEnd = end ? isSameDay(cell.date, end) : false;
5470
- return /* @__PURE__ */ jsx44(
5518
+ return /* @__PURE__ */ jsx45(
5471
5519
  "td",
5472
5520
  {
5473
5521
  className: cn(
@@ -5477,7 +5525,7 @@ function CalendarPanel({ month, range, onPick, onPrev, onNext, showPrev = true,
5477
5525
  isStart && "stn-date-picker-cell--range-start",
5478
5526
  isEnd && "stn-date-picker-cell--range-end"
5479
5527
  ),
5480
- children: /* @__PURE__ */ jsx44(
5528
+ children: /* @__PURE__ */ jsx45(
5481
5529
  "button",
5482
5530
  {
5483
5531
  type: "button",
@@ -5500,15 +5548,15 @@ function TimeColumns({ label, value, onChange }) {
5500
5548
  const base = value ?? /* @__PURE__ */ new Date();
5501
5549
  const patch = (h, m, s) => onChange(setTimePart(base, h, m, s));
5502
5550
  return /* @__PURE__ */ jsxs34("div", { className: "stn-date-picker-time__side", children: [
5503
- /* @__PURE__ */ jsx44("span", { className: "stn-date-picker-time__label", children: label }),
5551
+ /* @__PURE__ */ jsx45("span", { className: "stn-date-picker-time__label", children: label }),
5504
5552
  /* @__PURE__ */ jsxs34("div", { className: "stn-date-picker-time__columns", children: [
5505
- /* @__PURE__ */ jsx44(
5553
+ /* @__PURE__ */ jsx45(
5506
5554
  StnScroll,
5507
5555
  {
5508
5556
  variant: "arrows",
5509
5557
  size: "thin",
5510
5558
  className: "stn-date-picker-time__scroll",
5511
- children: /* @__PURE__ */ jsx44("ul", { className: "stn-date-picker-time__column", "aria-label": `${label} hour`, children: Array.from({ length: 24 }, (_, h) => /* @__PURE__ */ jsx44("li", { children: /* @__PURE__ */ jsx44(
5559
+ children: /* @__PURE__ */ jsx45("ul", { className: "stn-date-picker-time__column", "aria-label": `${label} hour`, children: Array.from({ length: 24 }, (_, h) => /* @__PURE__ */ jsx45("li", { children: /* @__PURE__ */ jsx45(
5512
5560
  "button",
5513
5561
  {
5514
5562
  type: "button",
@@ -5519,13 +5567,13 @@ function TimeColumns({ label, value, onChange }) {
5519
5567
  ) }, h)) })
5520
5568
  }
5521
5569
  ),
5522
- /* @__PURE__ */ jsx44(
5570
+ /* @__PURE__ */ jsx45(
5523
5571
  StnScroll,
5524
5572
  {
5525
5573
  variant: "arrows",
5526
5574
  size: "thin",
5527
5575
  className: "stn-date-picker-time__scroll",
5528
- children: /* @__PURE__ */ jsx44("ul", { className: "stn-date-picker-time__column", "aria-label": `${label} minute`, children: Array.from({ length: 60 }, (_, m) => /* @__PURE__ */ jsx44("li", { children: /* @__PURE__ */ jsx44(
5576
+ children: /* @__PURE__ */ jsx45("ul", { className: "stn-date-picker-time__column", "aria-label": `${label} minute`, children: Array.from({ length: 60 }, (_, m) => /* @__PURE__ */ jsx45("li", { children: /* @__PURE__ */ jsx45(
5529
5577
  "button",
5530
5578
  {
5531
5579
  type: "button",
@@ -5536,13 +5584,13 @@ function TimeColumns({ label, value, onChange }) {
5536
5584
  ) }, m)) })
5537
5585
  }
5538
5586
  ),
5539
- /* @__PURE__ */ jsx44(
5587
+ /* @__PURE__ */ jsx45(
5540
5588
  StnScroll,
5541
5589
  {
5542
5590
  variant: "arrows",
5543
5591
  size: "thin",
5544
5592
  className: "stn-date-picker-time__scroll",
5545
- children: /* @__PURE__ */ jsx44("ul", { className: "stn-date-picker-time__column", "aria-label": `${label} second`, children: Array.from({ length: 60 }, (_, s) => /* @__PURE__ */ jsx44("li", { children: /* @__PURE__ */ jsx44(
5593
+ children: /* @__PURE__ */ jsx45("ul", { className: "stn-date-picker-time__column", "aria-label": `${label} second`, children: Array.from({ length: 60 }, (_, s) => /* @__PURE__ */ jsx45("li", { children: /* @__PURE__ */ jsx45(
5546
5594
  "button",
5547
5595
  {
5548
5596
  type: "button",
@@ -5621,7 +5669,7 @@ function StnDateRangePicker({
5621
5669
  left: anchorRect.left,
5622
5670
  ...style
5623
5671
  } : style ?? {};
5624
- return /* @__PURE__ */ jsx44(
5672
+ return /* @__PURE__ */ jsx45(
5625
5673
  "div",
5626
5674
  {
5627
5675
  className: cn("stn-date-picker-dropdown", className),
@@ -5630,9 +5678,9 @@ function StnDateRangePicker({
5630
5678
  "aria-modal": "false",
5631
5679
  "aria-labelledby": titleId,
5632
5680
  children: /* @__PURE__ */ jsxs34("div", { className: "stn-date-picker-dropdown__body", children: [
5633
- /* @__PURE__ */ jsx44("span", { id: titleId, className: "stn-sf__visually-hidden", children: "Date range picker" }),
5681
+ /* @__PURE__ */ jsx45("span", { id: titleId, className: "stn-sf__visually-hidden", children: "Date range picker" }),
5634
5682
  /* @__PURE__ */ jsxs34("div", { className: "stn-date-picker-dropdown__panels", children: [
5635
- /* @__PURE__ */ jsx44(
5683
+ /* @__PURE__ */ jsx45(
5636
5684
  CalendarPanel,
5637
5685
  {
5638
5686
  month: leftMonth,
@@ -5643,7 +5691,7 @@ function StnDateRangePicker({
5643
5691
  showNext: false
5644
5692
  }
5645
5693
  ),
5646
- /* @__PURE__ */ jsx44(
5694
+ /* @__PURE__ */ jsx45(
5647
5695
  CalendarPanel,
5648
5696
  {
5649
5697
  month: rightMonth,
@@ -5656,7 +5704,7 @@ function StnDateRangePicker({
5656
5704
  )
5657
5705
  ] }),
5658
5706
  showTime ? /* @__PURE__ */ jsxs34("div", { className: "stn-date-picker-time", children: [
5659
- /* @__PURE__ */ jsx44(
5707
+ /* @__PURE__ */ jsx45(
5660
5708
  TimeColumns,
5661
5709
  {
5662
5710
  label: "\uC2DC\uC791",
@@ -5664,7 +5712,7 @@ function StnDateRangePicker({
5664
5712
  onChange: (start) => updateDraft({ ...draft, start })
5665
5713
  }
5666
5714
  ),
5667
- /* @__PURE__ */ jsx44(
5715
+ /* @__PURE__ */ jsx45(
5668
5716
  TimeColumns,
5669
5717
  {
5670
5718
  label: "\uC885\uB8CC",
@@ -5673,14 +5721,14 @@ function StnDateRangePicker({
5673
5721
  }
5674
5722
  )
5675
5723
  ] }) : null,
5676
- /* @__PURE__ */ jsx44("div", { className: "stn-date-picker-footer", children: /* @__PURE__ */ jsx44(StnButton, { size: "md", variant: "contained", onClick: handleApply, disabled: !draft.start || !draft.end, children: "\uD655\uC778" }) })
5724
+ /* @__PURE__ */ jsx45("div", { className: "stn-date-picker-footer", children: /* @__PURE__ */ jsx45(StnButton, { size: "md", variant: "contained", onClick: handleApply, disabled: !draft.start || !draft.end, children: "\uD655\uC778" }) })
5677
5725
  ] })
5678
5726
  }
5679
5727
  );
5680
5728
  }
5681
5729
 
5682
5730
  // src/components/datePicker/StnDateRangePickerField.tsx
5683
- import { jsx as jsx45, jsxs as jsxs35 } from "react/jsx-runtime";
5731
+ import { jsx as jsx46, jsxs as jsxs35 } from "react/jsx-runtime";
5684
5732
  function useControllableRange(controlled, defaultValue, onChange) {
5685
5733
  const [internal, setInternal] = useState14(defaultValue);
5686
5734
  const value = controlled ?? internal;
@@ -5753,7 +5801,7 @@ function StnDateRangePickerField({
5753
5801
  return () => document.removeEventListener("keydown", onKeyDown);
5754
5802
  }, [open]);
5755
5803
  return /* @__PURE__ */ jsxs35("div", { ref: rootRef, className: cn("stn-date-picker-field", className), children: [
5756
- /* @__PURE__ */ jsx45(
5804
+ /* @__PURE__ */ jsx46(
5757
5805
  StnDateRangeField,
5758
5806
  {
5759
5807
  ref: triggerRef,
@@ -5773,7 +5821,7 @@ function StnDateRangePickerField({
5773
5821
  }
5774
5822
  ),
5775
5823
  open && typeof document !== "undefined" ? createPortal3(
5776
- /* @__PURE__ */ jsx45("div", { ref: panelRef, children: /* @__PURE__ */ jsx45(
5824
+ /* @__PURE__ */ jsx46("div", { ref: panelRef, children: /* @__PURE__ */ jsx46(
5777
5825
  StnDateRangePicker,
5778
5826
  {
5779
5827
  open: true,
@@ -5792,13 +5840,13 @@ function StnDateRangePickerField({
5792
5840
  }
5793
5841
 
5794
5842
  // src/patterns/search/StnSearchRequirementBarDemo.tsx
5795
- import { jsx as jsx46, jsxs as jsxs36 } from "react/jsx-runtime";
5843
+ import { jsx as jsx47, jsxs as jsxs36 } from "react/jsx-runtime";
5796
5844
  var ALL_OPTIONS = [{ value: "", label: "\uC804\uCCB4" }];
5797
5845
  function StnSearchRequirementBarDemo({ onSearch, onExport, className }) {
5798
5846
  const demo = STN_SEARCH_REQUIREMENT_DEMO_FIELDS;
5799
5847
  return /* @__PURE__ */ jsxs36(StnSearchRequirementBar, { className, children: [
5800
5848
  /* @__PURE__ */ jsxs36(StnSearchRequirementBar.Fields, { children: [
5801
- /* @__PURE__ */ jsx46(
5849
+ /* @__PURE__ */ jsx47(
5802
5850
  StnTextField,
5803
5851
  {
5804
5852
  label: demo.reportTypeText.label,
@@ -5808,7 +5856,7 @@ function StnSearchRequirementBarDemo({ onSearch, onExport, className }) {
5808
5856
  "aria-label": demo.reportTypeText.label
5809
5857
  }
5810
5858
  ),
5811
- /* @__PURE__ */ jsx46(
5859
+ /* @__PURE__ */ jsx47(
5812
5860
  StnDropdown,
5813
5861
  {
5814
5862
  label: demo.reportTypeSelect.label,
@@ -5819,7 +5867,7 @@ function StnSearchRequirementBarDemo({ onSearch, onExport, className }) {
5819
5867
  "aria-label": demo.reportTypeSelect.label
5820
5868
  }
5821
5869
  ),
5822
- /* @__PURE__ */ jsx46(
5870
+ /* @__PURE__ */ jsx47(
5823
5871
  StnDropdown,
5824
5872
  {
5825
5873
  label: demo.periodType.label,
@@ -5830,7 +5878,7 @@ function StnSearchRequirementBarDemo({ onSearch, onExport, className }) {
5830
5878
  "aria-label": demo.periodType.label
5831
5879
  }
5832
5880
  ),
5833
- /* @__PURE__ */ jsx46(
5881
+ /* @__PURE__ */ jsx47(
5834
5882
  StnDateRangePickerField,
5835
5883
  {
5836
5884
  label: demo.period.label,
@@ -5844,8 +5892,8 @@ function StnSearchRequirementBarDemo({ onSearch, onExport, className }) {
5844
5892
  }
5845
5893
  )
5846
5894
  ] }),
5847
- /* @__PURE__ */ jsx46(StnSearchRequirementBar.SearchButton, { onClick: onSearch }),
5848
- /* @__PURE__ */ jsx46(StnSearchRequirementBar.Export, { onClick: onExport })
5895
+ /* @__PURE__ */ jsx47(StnSearchRequirementBar.SearchButton, { onClick: onSearch }),
5896
+ /* @__PURE__ */ jsx47(StnSearchRequirementBar.Export, { onClick: onExport })
5849
5897
  ] });
5850
5898
  }
5851
5899
 
@@ -5859,7 +5907,7 @@ import {
5859
5907
  } from "@stn-uiux/pub-ui/data/stnHeader";
5860
5908
 
5861
5909
  // src/patterns/header/StnHeader.tsx
5862
- import { jsx as jsx47 } from "react/jsx-runtime";
5910
+ import { jsx as jsx48 } from "react/jsx-runtime";
5863
5911
  function variantClass6(variant) {
5864
5912
  if (variant === "page") return "stn-header--page";
5865
5913
  return void 0;
@@ -5886,7 +5934,7 @@ function StnHeader({
5886
5934
  ...dynamicStyles,
5887
5935
  ...style
5888
5936
  };
5889
- return /* @__PURE__ */ jsx47(
5937
+ return /* @__PURE__ */ jsx48(
5890
5938
  "header",
5891
5939
  {
5892
5940
  className: cn(
@@ -5904,20 +5952,20 @@ function StnHeader({
5904
5952
  );
5905
5953
  }
5906
5954
  function StnHeaderLeft({ children, className, ...rest }) {
5907
- return /* @__PURE__ */ jsx47("div", { className: cn("stn-header__left", className), "data-stn-header-region": "left", ...rest, children });
5955
+ return /* @__PURE__ */ jsx48("div", { className: cn("stn-header__left", className), "data-stn-header-region": "left", ...rest, children });
5908
5956
  }
5909
5957
  function StnHeaderCenter({ children, className, ...rest }) {
5910
- return /* @__PURE__ */ jsx47("div", { className: cn("stn-header__center", className), "data-stn-header-region": "center", ...rest, children });
5958
+ return /* @__PURE__ */ jsx48("div", { className: cn("stn-header__center", className), "data-stn-header-region": "center", ...rest, children });
5911
5959
  }
5912
5960
  function StnHeaderRight({ children, className, ...rest }) {
5913
- return /* @__PURE__ */ jsx47("div", { className: cn("stn-header__right", className), "data-stn-header-region": "right", ...rest, children });
5961
+ return /* @__PURE__ */ jsx48("div", { className: cn("stn-header__right", className), "data-stn-header-region": "right", ...rest, children });
5914
5962
  }
5915
5963
  StnHeader.Left = StnHeaderLeft;
5916
5964
  StnHeader.Center = StnHeaderCenter;
5917
5965
  StnHeader.Right = StnHeaderRight;
5918
5966
  function StnHeaderPageTitle({ children, className, title, ...rest }) {
5919
5967
  const autoTitle = typeof children === "string" ? children : void 0;
5920
- return /* @__PURE__ */ jsx47(
5968
+ return /* @__PURE__ */ jsx48(
5921
5969
  "h1",
5922
5970
  {
5923
5971
  className: cn("stn-header__page-title", className),
@@ -5929,7 +5977,7 @@ function StnHeaderPageTitle({ children, className, title, ...rest }) {
5929
5977
  }
5930
5978
  function StnHeaderSubTitle({ children, className, title, ...rest }) {
5931
5979
  const autoTitle = typeof children === "string" ? children : void 0;
5932
- return /* @__PURE__ */ jsx47(
5980
+ return /* @__PURE__ */ jsx48(
5933
5981
  "span",
5934
5982
  {
5935
5983
  className: cn("stn-header__subtitle", className),
@@ -5941,7 +5989,7 @@ function StnHeaderSubTitle({ children, className, title, ...rest }) {
5941
5989
  }
5942
5990
  function StnHeaderContextTitle({ children, className, title, ...rest }) {
5943
5991
  const autoTitle = typeof children === "string" ? children : void 0;
5944
- return /* @__PURE__ */ jsx47(
5992
+ return /* @__PURE__ */ jsx48(
5945
5993
  "span",
5946
5994
  {
5947
5995
  className: cn("stn-header__context-title", className),
@@ -5952,36 +6000,43 @@ function StnHeaderContextTitle({ children, className, title, ...rest }) {
5952
6000
  );
5953
6001
  }
5954
6002
  function StnHeaderToolbar({ children, className, ...rest }) {
5955
- return /* @__PURE__ */ jsx47("div", { className: cn("stn-header-toolbar", className), "data-stn-header-toolbar": true, ...rest, children });
6003
+ return /* @__PURE__ */ jsx48("div", { className: cn("stn-header-toolbar", className), "data-stn-header-toolbar": true, ...rest, children });
5956
6004
  }
5957
6005
 
5958
6006
  // src/index.ts
5959
6007
  import {
5960
- STN_LAYER0_BACKGROUND_FIGMA,
5961
6008
  STN_LAYER0_BACKGROUND_INTRO,
5962
6009
  STN_LAYER0_BACKGROUND_USAGE,
5963
6010
  STN_LAYER0_BACKGROUND_VARIANT_ROWS,
5964
- STN_LAYER0_BACKGROUND_DEMO_IMAGES as STN_LAYER0_BACKGROUND_DEMO_IMAGES2,
6011
+ STN_LAYER0_BACKGROUND_DEMO_IMAGES,
5965
6012
  STN_LAYER0_MAP_LIGHT_OVERLAY as STN_LAYER0_MAP_LIGHT_OVERLAY2
5966
6013
  } from "@stn-uiux/pub-ui/data/stnLayer0Background";
5967
6014
 
5968
6015
  // src/patterns/background/StnLayer0Background.tsx
5969
6016
  import {
5970
- STN_LAYER0_BACKGROUND_DEMO_IMAGES,
5971
6017
  STN_LAYER0_MAP_LIGHT_OVERLAY
5972
6018
  } from "@stn-uiux/pub-ui/data/stnLayer0Background";
5973
- import { jsx as jsx48, jsxs as jsxs37 } from "react/jsx-runtime";
6019
+ import { jsx as jsx49, jsxs as jsxs37 } from "react/jsx-runtime";
5974
6020
  function overlayStyle(overlay) {
5975
6021
  if (overlay == null || overlay <= 0) return void 0;
5976
6022
  const pct = `${Math.min(100, Math.max(0, overlay * 100))}%`;
5977
6023
  return { "--stn-layer0-overlay-opacity": pct };
5978
6024
  }
6025
+ function handleImageError(e) {
6026
+ const currentSrc = e.currentTarget.src;
6027
+ if (currentSrc && currentSrc.startsWith("http") && currentSrc.includes("/images/layer0/")) {
6028
+ const fallback = currentSrc.substring(currentSrc.indexOf("/images/layer0/"));
6029
+ if (typeof window !== "undefined" && currentSrc !== window.location.origin + fallback) {
6030
+ e.currentTarget.src = fallback;
6031
+ }
6032
+ }
6033
+ }
5979
6034
  function StnLayer0Background({
5980
6035
  variant,
5981
6036
  kind: kindProp,
5982
6037
  color = "default",
5983
- src: srcProp,
5984
- srcDark: srcDarkProp,
6038
+ src,
6039
+ srcDark,
5985
6040
  overlay: overlayProp,
5986
6041
  overlayDarkRadial: overlayDarkRadialProp,
5987
6042
  alt = "",
@@ -5989,93 +6044,24 @@ function StnLayer0Background({
5989
6044
  style,
5990
6045
  ...rest
5991
6046
  }) {
5992
- let src = srcProp;
5993
- let srcDark = srcDarkProp;
5994
6047
  let overlay = overlayProp;
5995
6048
  let overlayDarkRadial = overlayDarkRadialProp;
5996
- let isPresetImage = false;
5997
- if (variant && variant !== "none" && variant !== "color" && variant !== "gradient") {
5998
- isPresetImage = true;
5999
- if (variant === "dashboard") {
6000
- src = src ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.dashboard;
6001
- srcDark = srcDark ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.dashboardDark;
6002
- } else if (variant === "infomap") {
6003
- src = src ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.infomap;
6004
- srcDark = srcDark ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.infomapDark;
6005
- } else if (variant === "infomap-none") {
6006
- src = src ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.infomapNone;
6007
- srcDark = srcDark ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.infomapNoneDark;
6008
- } else if (variant === "showroom-a") {
6009
- src = src ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.showroomA;
6010
- srcDark = srcDark ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.showroomADark;
6011
- } else if (variant === "showroom-b") {
6012
- src = src ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.showroomB;
6013
- srcDark = srcDark ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.showroomBDark;
6014
- overlayDarkRadial = overlayDarkRadial ?? true;
6015
- } else if (variant === "login") {
6016
- src = src ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.login;
6017
- srcDark = srcDark ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.loginDark;
6018
- } else if (variant === "map-light") {
6019
- src = src ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.mapLight;
6020
- srcDark = srcDark ?? STN_LAYER0_BACKGROUND_DEMO_IMAGES.mapDark;
6021
- overlay = overlay ?? STN_LAYER0_MAP_LIGHT_OVERLAY;
6022
- }
6049
+ if (variant === "none") {
6050
+ return null;
6023
6051
  }
6024
- const kind = kindProp ?? (isPresetImage ? "image" : void 0);
6025
- const isImage = kind === "image" || Boolean(src || srcDark);
6026
- if (isImage) {
6027
- const paired = Boolean(src && srcDark);
6028
- return /* @__PURE__ */ jsx48(
6052
+ if (variant === "color" || kindProp === "color") {
6053
+ return /* @__PURE__ */ jsx49(
6029
6054
  "div",
6030
6055
  {
6031
- className: cn("stn-layer0-bg", "image", className),
6032
- "aria-hidden": alt === "" ? true : void 0,
6033
- style: { ...overlayStyle(overlay), ...style },
6034
- ...rest,
6035
- children: /* @__PURE__ */ jsxs37("div", { className: "stn-layer0-bg__media", children: [
6036
- src ? /* @__PURE__ */ jsx48(
6037
- "img",
6038
- {
6039
- className: cn("stn-layer0-bg__img", paired && "light"),
6040
- src,
6041
- alt,
6042
- decoding: "async",
6043
- onError: (e) => {
6044
- if (src && src.startsWith("http") && src.includes("/images/layer0/")) {
6045
- const fallback = src.substring(src.indexOf("/images/layer0/"));
6046
- if (typeof window !== "undefined" && e.currentTarget.src !== window.location.origin + fallback) {
6047
- e.currentTarget.src = fallback;
6048
- }
6049
- }
6050
- }
6051
- }
6052
- ) : null,
6053
- srcDark ? /* @__PURE__ */ jsx48(
6054
- "img",
6055
- {
6056
- className: cn("stn-layer0-bg__img", paired ? "dark" : void 0),
6057
- src: srcDark,
6058
- alt,
6059
- decoding: "async",
6060
- onError: (e) => {
6061
- if (srcDark && srcDark.startsWith("http") && srcDark.includes("/images/layer0/")) {
6062
- const fallback = srcDark.substring(srcDark.indexOf("/images/layer0/"));
6063
- if (typeof window !== "undefined" && e.currentTarget.src !== window.location.origin + fallback) {
6064
- e.currentTarget.src = fallback;
6065
- }
6066
- }
6067
- }
6068
- }
6069
- ) : null,
6070
- overlay != null && overlay > 0 ? /* @__PURE__ */ jsx48("div", { className: "stn-layer0-bg__overlay", "aria-hidden": "true" }) : null,
6071
- overlayDarkRadial ? /* @__PURE__ */ jsx48("div", { className: "stn-layer0-bg__overlay radial", "aria-hidden": "true" }) : null
6072
- ] })
6056
+ className: cn("stn-layer0-bg", "color", color, className),
6057
+ "aria-hidden": "true",
6058
+ style,
6059
+ ...rest
6073
6060
  }
6074
6061
  );
6075
6062
  }
6076
- const isGradient = kind === "gradient" || variant === "gradient";
6077
- if (isGradient) {
6078
- return /* @__PURE__ */ jsx48(
6063
+ if (variant === "gradient" || kindProp === "gradient") {
6064
+ return /* @__PURE__ */ jsx49(
6079
6065
  "div",
6080
6066
  {
6081
6067
  className: cn("stn-layer0-bg", "gradient", className),
@@ -6085,13 +6071,61 @@ function StnLayer0Background({
6085
6071
  }
6086
6072
  );
6087
6073
  }
6088
- return /* @__PURE__ */ jsx48(
6074
+ if (src || srcDark) {
6075
+ const paired = Boolean(src && srcDark);
6076
+ return /* @__PURE__ */ jsxs37(
6077
+ "div",
6078
+ {
6079
+ className: cn("stn-layer0-bg", "image", className),
6080
+ "aria-hidden": alt === "" ? true : void 0,
6081
+ style: { ...overlayStyle(overlay), ...style },
6082
+ ...rest,
6083
+ children: [
6084
+ /* @__PURE__ */ jsxs37("div", { className: "stn-layer0-bg__media", children: [
6085
+ src ? /* @__PURE__ */ jsx49(
6086
+ "img",
6087
+ {
6088
+ className: cn("stn-layer0-bg__img", paired && "light"),
6089
+ src,
6090
+ alt,
6091
+ decoding: "async",
6092
+ onError: handleImageError
6093
+ }
6094
+ ) : null,
6095
+ srcDark ? /* @__PURE__ */ jsx49(
6096
+ "img",
6097
+ {
6098
+ className: cn("stn-layer0-bg__img", paired ? "dark" : void 0),
6099
+ src: srcDark,
6100
+ alt,
6101
+ decoding: "async",
6102
+ onError: handleImageError
6103
+ }
6104
+ ) : null
6105
+ ] }),
6106
+ overlay != null && overlay > 0 ? /* @__PURE__ */ jsx49("div", { className: "stn-layer0-bg__overlay", "aria-hidden": "true" }) : null,
6107
+ overlayDarkRadial ? /* @__PURE__ */ jsx49("div", { className: "stn-layer0-bg__overlay radial", "aria-hidden": "true" }) : null
6108
+ ]
6109
+ }
6110
+ );
6111
+ }
6112
+ const presetKey = variant ?? "dashboard";
6113
+ if (presetKey === "map-light") {
6114
+ overlay = overlay ?? STN_LAYER0_MAP_LIGHT_OVERLAY;
6115
+ } else if (presetKey === "showroom-b") {
6116
+ overlayDarkRadial = overlayDarkRadial ?? true;
6117
+ }
6118
+ return /* @__PURE__ */ jsxs37(
6089
6119
  "div",
6090
6120
  {
6091
- className: cn("stn-layer0-bg", "color", color, className),
6092
- "aria-hidden": "true",
6093
- style,
6094
- ...rest
6121
+ className: cn("stn-layer0-bg", presetKey, className),
6122
+ "aria-hidden": alt === "" ? true : void 0,
6123
+ style: { ...overlayStyle(overlay), ...style },
6124
+ ...rest,
6125
+ children: [
6126
+ overlay != null && overlay > 0 ? /* @__PURE__ */ jsx49("div", { className: "stn-layer0-bg__overlay", "aria-hidden": "true" }) : null,
6127
+ overlayDarkRadial ? /* @__PURE__ */ jsx49("div", { className: "stn-layer0-bg__overlay radial", "aria-hidden": "true" }) : null
6128
+ ]
6095
6129
  }
6096
6130
  );
6097
6131
  }
@@ -6122,7 +6156,7 @@ import {
6122
6156
 
6123
6157
  // src/components/StnEventBanner.tsx
6124
6158
  import React2 from "react";
6125
- import { jsx as jsx49, jsxs as jsxs38 } from "react/jsx-runtime";
6159
+ import { jsx as jsx50, jsxs as jsxs38 } from "react/jsx-runtime";
6126
6160
  var SEVERITY_ICONS2 = {
6127
6161
  critical: "fill/alert4",
6128
6162
  major: "fill/alert3",
@@ -6140,7 +6174,7 @@ function DefaultTriangleIcon() {
6140
6174
  xmlns: "http://www.w3.org/2000/svg",
6141
6175
  "aria-hidden": "true",
6142
6176
  children: [
6143
- /* @__PURE__ */ jsx49(
6177
+ /* @__PURE__ */ jsx50(
6144
6178
  "path",
6145
6179
  {
6146
6180
  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",
@@ -6150,17 +6184,17 @@ function DefaultTriangleIcon() {
6150
6184
  strokeLinejoin: "round"
6151
6185
  }
6152
6186
  ),
6153
- /* @__PURE__ */ jsx49("line", { x1: "12", y1: "9", x2: "12", y2: "13", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }),
6154
- /* @__PURE__ */ jsx49("circle", { cx: "12", cy: "17", r: "1", fill: "currentColor" })
6187
+ /* @__PURE__ */ jsx50("line", { x1: "12", y1: "9", x2: "12", y2: "13", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }),
6188
+ /* @__PURE__ */ jsx50("circle", { cx: "12", cy: "17", r: "1", fill: "currentColor" })
6155
6189
  ]
6156
6190
  }
6157
6191
  );
6158
6192
  }
6159
6193
  function resolveDefaultIcon(severity) {
6160
6194
  if (severity === "critical") {
6161
- return /* @__PURE__ */ jsx49(DefaultTriangleIcon, {});
6195
+ return /* @__PURE__ */ jsx50(DefaultTriangleIcon, {});
6162
6196
  }
6163
- return /* @__PURE__ */ jsx49(StnIcon, { name: SEVERITY_ICONS2[severity] || "fill/alert4", size: 20 });
6197
+ return /* @__PURE__ */ jsx50(StnIcon, { name: SEVERITY_ICONS2[severity] || "fill/alert4", size: 20 });
6164
6198
  }
6165
6199
  var StnEventBanner = React2.forwardRef(
6166
6200
  ({
@@ -6197,15 +6231,15 @@ var StnEventBanner = React2.forwardRef(
6197
6231
  ...restProps,
6198
6232
  children: [
6199
6233
  /* @__PURE__ */ jsxs38("div", { className: "stn-event-banner__left", children: [
6200
- /* @__PURE__ */ jsx49("div", { className: "stn-event-banner__icon-wrap", children: icon ?? resolveDefaultIcon(severity) }),
6234
+ /* @__PURE__ */ jsx50("div", { className: "stn-event-banner__icon-wrap", children: icon ?? resolveDefaultIcon(severity) }),
6201
6235
  /* @__PURE__ */ jsxs38("div", { className: "stn-event-banner__text", children: [
6202
- title && /* @__PURE__ */ jsx49("span", { className: "stn-event-banner__title", title: typeof title === "string" ? title : void 0, children: title }),
6203
- time && /* @__PURE__ */ jsx49("span", { className: "stn-event-banner__time", title: typeof time === "string" ? time : void 0, children: time })
6236
+ title && /* @__PURE__ */ jsx50("span", { className: "stn-event-banner__title", title: typeof title === "string" ? title : void 0, children: title }),
6237
+ time && /* @__PURE__ */ jsx50("span", { className: "stn-event-banner__time", title: typeof time === "string" ? time : void 0, children: time })
6204
6238
  ] })
6205
6239
  ] }),
6206
6240
  /* @__PURE__ */ jsxs38("div", { className: "stn-event-banner__actions", children: [
6207
6241
  actions,
6208
- actionText && /* @__PURE__ */ jsx49(
6242
+ actionText && /* @__PURE__ */ jsx50(
6209
6243
  "button",
6210
6244
  {
6211
6245
  type: "button",
@@ -6214,7 +6248,7 @@ var StnEventBanner = React2.forwardRef(
6214
6248
  children: actionText
6215
6249
  }
6216
6250
  ),
6217
- onClose && /* @__PURE__ */ jsx49(
6251
+ onClose && /* @__PURE__ */ jsx50(
6218
6252
  "button",
6219
6253
  {
6220
6254
  type: "button",
@@ -6233,9 +6267,9 @@ var StnEventBanner = React2.forwardRef(
6233
6267
  StnEventBanner.displayName = "StnEventBanner";
6234
6268
 
6235
6269
  // src/patterns/scaffold/StnLoadingSkeleton.tsx
6236
- import { jsx as jsx50, jsxs as jsxs39 } from "react/jsx-runtime";
6270
+ import { jsx as jsx51, jsxs as jsxs39 } from "react/jsx-runtime";
6237
6271
  function StnLoadingSkeletonLine({ width = "full", className, style, ...rest }) {
6238
- return /* @__PURE__ */ jsx50(
6272
+ return /* @__PURE__ */ jsx51(
6239
6273
  "div",
6240
6274
  {
6241
6275
  className: cn(
@@ -6251,7 +6285,7 @@ function StnLoadingSkeletonLine({ width = "full", className, style, ...rest }) {
6251
6285
  );
6252
6286
  }
6253
6287
  function StnLoadingSkeletonBlock({ minHeight = 48, className, style, ...rest }) {
6254
- return /* @__PURE__ */ jsx50(
6288
+ return /* @__PURE__ */ jsx51(
6255
6289
  "div",
6256
6290
  {
6257
6291
  className: cn("stn-loading-skeleton__block", className),
@@ -6262,7 +6296,7 @@ function StnLoadingSkeletonBlock({ minHeight = 48, className, style, ...rest })
6262
6296
  );
6263
6297
  }
6264
6298
  function StnLoadingSkeletonCircle({ size = 40, className, style, ...rest }) {
6265
- return /* @__PURE__ */ jsx50(
6299
+ return /* @__PURE__ */ jsx51(
6266
6300
  "div",
6267
6301
  {
6268
6302
  className: cn("stn-loading-skeleton__circle", className),
@@ -6282,17 +6316,17 @@ function StnLoadingSkeletonProfile({ avatarSize = 40, className, style, ...rest
6282
6316
  "aria-label": "\uD504\uB85C\uD544 \uB85C\uB529 \uC911",
6283
6317
  ...rest,
6284
6318
  children: [
6285
- /* @__PURE__ */ jsx50(StnLoadingSkeletonCircle, { size: avatarSize }),
6319
+ /* @__PURE__ */ jsx51(StnLoadingSkeletonCircle, { size: avatarSize }),
6286
6320
  /* @__PURE__ */ jsxs39("div", { className: "stn-loading-skeleton__profile-content", children: [
6287
- /* @__PURE__ */ jsx50(StnLoadingSkeletonLine, { width: "medium" }),
6288
- /* @__PURE__ */ jsx50(StnLoadingSkeletonLine, { width: "short" })
6321
+ /* @__PURE__ */ jsx51(StnLoadingSkeletonLine, { width: "medium" }),
6322
+ /* @__PURE__ */ jsx51(StnLoadingSkeletonLine, { width: "short" })
6289
6323
  ] })
6290
6324
  ]
6291
6325
  }
6292
6326
  );
6293
6327
  }
6294
6328
  function StnLoadingSkeletonWidget({ lines = 4, className, style, ...rest }) {
6295
- return /* @__PURE__ */ jsx50(
6329
+ return /* @__PURE__ */ jsx51(
6296
6330
  "div",
6297
6331
  {
6298
6332
  className: cn("stn-loading-skeleton", "stn-loading-skeleton--widget", className),
@@ -6300,12 +6334,12 @@ function StnLoadingSkeletonWidget({ lines = 4, className, style, ...rest }) {
6300
6334
  "aria-busy": "true",
6301
6335
  "aria-label": "\uB85C\uB529 \uC911",
6302
6336
  ...rest,
6303
- children: Array.from({ length: lines }, (_, i) => /* @__PURE__ */ jsx50(StnLoadingSkeletonLine, { width: i % 3 === 0 ? "short" : i % 2 === 0 ? "medium" : "full" }, i))
6337
+ children: Array.from({ length: lines }, (_, i) => /* @__PURE__ */ jsx51(StnLoadingSkeletonLine, { width: i % 3 === 0 ? "short" : i % 2 === 0 ? "medium" : "full" }, i))
6304
6338
  }
6305
6339
  );
6306
6340
  }
6307
6341
  function StnLoadingSkeletonTable({ rows = 5, cols = 4, className, style, ...rest }) {
6308
- return /* @__PURE__ */ jsx50(
6342
+ return /* @__PURE__ */ jsx51(
6309
6343
  "div",
6310
6344
  {
6311
6345
  className: cn("stn-loading-skeleton", "stn-loading-skeleton--table", className),
@@ -6313,7 +6347,7 @@ function StnLoadingSkeletonTable({ rows = 5, cols = 4, className, style, ...rest
6313
6347
  "aria-busy": "true",
6314
6348
  "aria-label": "\uD14C\uC774\uBE14 \uB85C\uB529 \uC911",
6315
6349
  ...rest,
6316
- children: Array.from({ length: rows }, (_, row) => /* @__PURE__ */ jsx50("div", { className: "stn-loading-skeleton__table-row", children: Array.from({ length: cols }, (_2, col) => /* @__PURE__ */ jsx50(StnLoadingSkeletonLine, {}, col)) }, row))
6350
+ children: Array.from({ length: rows }, (_, row) => /* @__PURE__ */ jsx51("div", { className: "stn-loading-skeleton__table-row", children: Array.from({ length: cols }, (_2, col) => /* @__PURE__ */ jsx51(StnLoadingSkeletonLine, {}, col)) }, row))
6317
6351
  }
6318
6352
  );
6319
6353
  }
@@ -6332,23 +6366,23 @@ function StnLoadingSkeletonRoot({
6332
6366
  ...rest
6333
6367
  }) {
6334
6368
  if (children != null) {
6335
- return /* @__PURE__ */ jsx50("div", { className: cn("stn-loading-skeleton", className), style, "aria-busy": "true", ...rest, children });
6369
+ return /* @__PURE__ */ jsx51("div", { className: cn("stn-loading-skeleton", className), style, "aria-busy": "true", ...rest, children });
6336
6370
  }
6337
6371
  const resolvedVariant = variant ?? "line";
6338
6372
  switch (resolvedVariant) {
6339
6373
  case "circle":
6340
- return /* @__PURE__ */ jsx50(StnLoadingSkeletonCircle, { size, className, style, ...rest });
6374
+ return /* @__PURE__ */ jsx51(StnLoadingSkeletonCircle, { size, className, style, ...rest });
6341
6375
  case "block":
6342
- return /* @__PURE__ */ jsx50(StnLoadingSkeletonBlock, { minHeight, className, style, ...rest });
6376
+ return /* @__PURE__ */ jsx51(StnLoadingSkeletonBlock, { minHeight, className, style, ...rest });
6343
6377
  case "profile":
6344
- return /* @__PURE__ */ jsx50(StnLoadingSkeletonProfile, { avatarSize: avatarSize ?? size, className, style, ...rest });
6378
+ return /* @__PURE__ */ jsx51(StnLoadingSkeletonProfile, { avatarSize: avatarSize ?? size, className, style, ...rest });
6345
6379
  case "widget":
6346
- return /* @__PURE__ */ jsx50(StnLoadingSkeletonWidget, { lines, className, style, ...rest });
6380
+ return /* @__PURE__ */ jsx51(StnLoadingSkeletonWidget, { lines, className, style, ...rest });
6347
6381
  case "table":
6348
- return /* @__PURE__ */ jsx50(StnLoadingSkeletonTable, { rows, cols, className, style, ...rest });
6382
+ return /* @__PURE__ */ jsx51(StnLoadingSkeletonTable, { rows, cols, className, style, ...rest });
6349
6383
  case "line":
6350
6384
  default:
6351
- return /* @__PURE__ */ jsx50(StnLoadingSkeletonLine, { width, className, style, ...rest });
6385
+ return /* @__PURE__ */ jsx51(StnLoadingSkeletonLine, { width, className, style, ...rest });
6352
6386
  }
6353
6387
  }
6354
6388
  var StnLoadingSkeleton = Object.assign(StnLoadingSkeletonRoot, {
@@ -6469,7 +6503,7 @@ function ringOrbitRadius(orbit, ringCount, baseRadius, gap = 36) {
6469
6503
  }
6470
6504
 
6471
6505
  // src/components/topology/StnTopologyNodeMark.tsx
6472
- import { jsx as jsx51, jsxs as jsxs40 } from "react/jsx-runtime";
6506
+ import { jsx as jsx52, jsxs as jsxs40 } from "react/jsx-runtime";
6473
6507
  function renderTopologyIcon(icon, color, px) {
6474
6508
  if (!icon) return null;
6475
6509
  if (typeof icon !== "string") return icon;
@@ -6486,55 +6520,55 @@ function renderTopologyIcon(icon, color, px) {
6486
6520
  switch (icon) {
6487
6521
  case "server":
6488
6522
  return /* @__PURE__ */ jsxs40("svg", { ...iconProps, children: [
6489
- /* @__PURE__ */ jsx51("rect", { x: "2", y: "2", width: "20", height: "8", rx: "2", ry: "2" }),
6490
- /* @__PURE__ */ jsx51("rect", { x: "2", y: "14", width: "20", height: "8", rx: "2", ry: "2" }),
6491
- /* @__PURE__ */ jsx51("line", { x1: "6", y1: "6", x2: "6.01", y2: "6" }),
6492
- /* @__PURE__ */ jsx51("line", { x1: "6", y1: "18", x2: "6.01", y2: "18" })
6523
+ /* @__PURE__ */ jsx52("rect", { x: "2", y: "2", width: "20", height: "8", rx: "2", ry: "2" }),
6524
+ /* @__PURE__ */ jsx52("rect", { x: "2", y: "14", width: "20", height: "8", rx: "2", ry: "2" }),
6525
+ /* @__PURE__ */ jsx52("line", { x1: "6", y1: "6", x2: "6.01", y2: "6" }),
6526
+ /* @__PURE__ */ jsx52("line", { x1: "6", y1: "18", x2: "6.01", y2: "18" })
6493
6527
  ] });
6494
6528
  case "cloud":
6495
- return /* @__PURE__ */ jsx51("svg", { ...iconProps, children: /* @__PURE__ */ jsx51("path", { d: "M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z" }) });
6529
+ return /* @__PURE__ */ jsx52("svg", { ...iconProps, children: /* @__PURE__ */ jsx52("path", { d: "M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z" }) });
6496
6530
  case "ai":
6497
6531
  return /* @__PURE__ */ jsxs40("svg", { ...iconProps, children: [
6498
- /* @__PURE__ */ jsx51("rect", { x: "4", y: "4", width: "16", height: "16", rx: "2" }),
6499
- /* @__PURE__ */ jsx51("rect", { x: "9", y: "9", width: "6", height: "6" }),
6500
- /* @__PURE__ */ jsx51("line", { x1: "9", y1: "1", x2: "9", y2: "4" }),
6501
- /* @__PURE__ */ jsx51("line", { x1: "15", y1: "1", x2: "15", y2: "4" }),
6502
- /* @__PURE__ */ jsx51("line", { x1: "9", y1: "20", x2: "9", y2: "23" }),
6503
- /* @__PURE__ */ jsx51("line", { x1: "15", y1: "20", x2: "15", y2: "23" }),
6504
- /* @__PURE__ */ jsx51("line", { x1: "20", y1: "9", x2: "23", y2: "9" }),
6505
- /* @__PURE__ */ jsx51("line", { x1: "20", y1: "14", x2: "23", y2: "14" }),
6506
- /* @__PURE__ */ jsx51("line", { x1: "1", y1: "9", x2: "4", y2: "9" }),
6507
- /* @__PURE__ */ jsx51("line", { x1: "1", y1: "14", x2: "4", y2: "14" })
6532
+ /* @__PURE__ */ jsx52("rect", { x: "4", y: "4", width: "16", height: "16", rx: "2" }),
6533
+ /* @__PURE__ */ jsx52("rect", { x: "9", y: "9", width: "6", height: "6" }),
6534
+ /* @__PURE__ */ jsx52("line", { x1: "9", y1: "1", x2: "9", y2: "4" }),
6535
+ /* @__PURE__ */ jsx52("line", { x1: "15", y1: "1", x2: "15", y2: "4" }),
6536
+ /* @__PURE__ */ jsx52("line", { x1: "9", y1: "20", x2: "9", y2: "23" }),
6537
+ /* @__PURE__ */ jsx52("line", { x1: "15", y1: "20", x2: "15", y2: "23" }),
6538
+ /* @__PURE__ */ jsx52("line", { x1: "20", y1: "9", x2: "23", y2: "9" }),
6539
+ /* @__PURE__ */ jsx52("line", { x1: "20", y1: "14", x2: "23", y2: "14" }),
6540
+ /* @__PURE__ */ jsx52("line", { x1: "1", y1: "9", x2: "4", y2: "9" }),
6541
+ /* @__PURE__ */ jsx52("line", { x1: "1", y1: "14", x2: "4", y2: "14" })
6508
6542
  ] });
6509
6543
  case "network":
6510
6544
  return /* @__PURE__ */ jsxs40("svg", { ...iconProps, children: [
6511
- /* @__PURE__ */ jsx51("rect", { x: "2", y: "2", width: "6", height: "6", rx: "1" }),
6512
- /* @__PURE__ */ jsx51("rect", { x: "16", y: "2", width: "6", height: "6", rx: "1" }),
6513
- /* @__PURE__ */ jsx51("rect", { x: "9", y: "16", width: "6", height: "6", rx: "1" }),
6514
- /* @__PURE__ */ jsx51("line", { x1: "5", y1: "8", x2: "5", y2: "12" }),
6515
- /* @__PURE__ */ jsx51("line", { x1: "19", y1: "8", x2: "19", y2: "12" }),
6516
- /* @__PURE__ */ jsx51("line", { x1: "5", y1: "12", x2: "19", y2: "12" }),
6517
- /* @__PURE__ */ jsx51("line", { x1: "12", y1: "12", x2: "12", y2: "16" })
6545
+ /* @__PURE__ */ jsx52("rect", { x: "2", y: "2", width: "6", height: "6", rx: "1" }),
6546
+ /* @__PURE__ */ jsx52("rect", { x: "16", y: "2", width: "6", height: "6", rx: "1" }),
6547
+ /* @__PURE__ */ jsx52("rect", { x: "9", y: "16", width: "6", height: "6", rx: "1" }),
6548
+ /* @__PURE__ */ jsx52("line", { x1: "5", y1: "8", x2: "5", y2: "12" }),
6549
+ /* @__PURE__ */ jsx52("line", { x1: "19", y1: "8", x2: "19", y2: "12" }),
6550
+ /* @__PURE__ */ jsx52("line", { x1: "5", y1: "12", x2: "19", y2: "12" }),
6551
+ /* @__PURE__ */ jsx52("line", { x1: "12", y1: "12", x2: "12", y2: "16" })
6518
6552
  ] });
6519
6553
  case "shield":
6520
- return /* @__PURE__ */ jsx51("svg", { ...iconProps, children: /* @__PURE__ */ jsx51("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" }) });
6554
+ return /* @__PURE__ */ jsx52("svg", { ...iconProps, children: /* @__PURE__ */ jsx52("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" }) });
6521
6555
  case "user":
6522
6556
  return /* @__PURE__ */ jsxs40("svg", { ...iconProps, children: [
6523
- /* @__PURE__ */ jsx51("path", { d: "M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2" }),
6524
- /* @__PURE__ */ jsx51("circle", { cx: "12", cy: "7", r: "4" })
6557
+ /* @__PURE__ */ jsx52("path", { d: "M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2" }),
6558
+ /* @__PURE__ */ jsx52("circle", { cx: "12", cy: "7", r: "4" })
6525
6559
  ] });
6526
6560
  case "database":
6527
6561
  return /* @__PURE__ */ jsxs40("svg", { ...iconProps, children: [
6528
- /* @__PURE__ */ jsx51("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3" }),
6529
- /* @__PURE__ */ jsx51("path", { d: "M21 12c0 1.66-4 3-9 3s-9-1.34-9-3" }),
6530
- /* @__PURE__ */ jsx51("path", { d: "M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5" })
6562
+ /* @__PURE__ */ jsx52("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3" }),
6563
+ /* @__PURE__ */ jsx52("path", { d: "M21 12c0 1.66-4 3-9 3s-9-1.34-9-3" }),
6564
+ /* @__PURE__ */ jsx52("path", { d: "M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5" })
6531
6565
  ] });
6532
6566
  case "wifi":
6533
6567
  return /* @__PURE__ */ jsxs40("svg", { ...iconProps, children: [
6534
- /* @__PURE__ */ jsx51("path", { d: "M5 12.55a11 11 0 0 1 14.08 0" }),
6535
- /* @__PURE__ */ jsx51("path", { d: "M1.42 9a16 16 0 0 1 21.16 0" }),
6536
- /* @__PURE__ */ jsx51("path", { d: "M8.53 16.11a6 6 0 0 1 6.95 0" }),
6537
- /* @__PURE__ */ jsx51("line", { x1: "12", y1: "20", x2: "12.01", y2: "20" })
6568
+ /* @__PURE__ */ jsx52("path", { d: "M5 12.55a11 11 0 0 1 14.08 0" }),
6569
+ /* @__PURE__ */ jsx52("path", { d: "M1.42 9a16 16 0 0 1 21.16 0" }),
6570
+ /* @__PURE__ */ jsx52("path", { d: "M8.53 16.11a6 6 0 0 1 6.95 0" }),
6571
+ /* @__PURE__ */ jsx52("line", { x1: "12", y1: "20", x2: "12.01", y2: "20" })
6538
6572
  ] });
6539
6573
  default:
6540
6574
  return null;
@@ -6552,11 +6586,11 @@ function NodeShape({
6552
6586
  }) {
6553
6587
  const filter = glow ? `drop-shadow(0 0 8px ${glow})` : "drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4))";
6554
6588
  if (shape === "circle") {
6555
- return /* @__PURE__ */ jsx51("circle", { cx: x, cy: y, r, fill, stroke, strokeWidth, style: { filter } });
6589
+ return /* @__PURE__ */ jsx52("circle", { cx: x, cy: y, r, fill, stroke, strokeWidth, style: { filter } });
6556
6590
  }
6557
6591
  if (shape === "square") {
6558
6592
  const size = r * 2;
6559
- return /* @__PURE__ */ jsx51(
6593
+ return /* @__PURE__ */ jsx52(
6560
6594
  "rect",
6561
6595
  {
6562
6596
  x: x - r,
@@ -6571,7 +6605,7 @@ function NodeShape({
6571
6605
  }
6572
6606
  );
6573
6607
  }
6574
- return /* @__PURE__ */ jsx51(
6608
+ return /* @__PURE__ */ jsx52(
6575
6609
  "polygon",
6576
6610
  {
6577
6611
  points: topologyShapePoints(shape, x, y, r),
@@ -6638,13 +6672,13 @@ function StnTopologyNodeMark({
6638
6672
  strokeWidth: "1.5",
6639
6673
  opacity: "0.55",
6640
6674
  children: [
6641
- /* @__PURE__ */ jsx51("animate", { attributeName: "r", values: `${r + 4};${r + 12};${r + 4}`, dur: "2s", repeatCount: "indefinite" }),
6642
- /* @__PURE__ */ jsx51("animate", { attributeName: "opacity", values: "0.75;0.15;0.75", dur: "2s", repeatCount: "indefinite" })
6675
+ /* @__PURE__ */ jsx52("animate", { attributeName: "r", values: `${r + 4};${r + 12};${r + 4}`, dur: "2s", repeatCount: "indefinite" }),
6676
+ /* @__PURE__ */ jsx52("animate", { attributeName: "opacity", values: "0.75;0.15;0.75", dur: "2s", repeatCount: "indefinite" })
6643
6677
  ]
6644
6678
  }
6645
6679
  ),
6646
- selected && /* @__PURE__ */ jsx51("circle", { cx: x, cy: y, r: r + 6, fill: "none", stroke: "#00e5ff", strokeWidth: "1.5", strokeDasharray: "3 3" }),
6647
- /* @__PURE__ */ jsx51(
6680
+ selected && /* @__PURE__ */ jsx52("circle", { cx: x, cy: y, r: r + 6, fill: "none", stroke: "#00e5ff", strokeWidth: "1.5", strokeDasharray: "3 3" }),
6681
+ /* @__PURE__ */ jsx52(
6648
6682
  NodeShape,
6649
6683
  {
6650
6684
  shape,
@@ -6657,7 +6691,7 @@ function StnTopologyNodeMark({
6657
6691
  glow: isAlert || isCount ? tone.glow : ""
6658
6692
  }
6659
6693
  ),
6660
- isCount ? /* @__PURE__ */ jsx51(
6694
+ isCount ? /* @__PURE__ */ jsx52(
6661
6695
  "text",
6662
6696
  {
6663
6697
  x,
@@ -6670,10 +6704,10 @@ function StnTopologyNodeMark({
6670
6704
  style: { textShadow: "0 1px 2px rgba(0, 0, 0, 0.85)" },
6671
6705
  children: countText
6672
6706
  }
6673
- ) : /* @__PURE__ */ jsx51("g", { transform: `translate(${x - iconPx / 2}, ${y - iconPx / 2})`, children: renderTopologyIcon(icon, stroke, iconPx) }),
6707
+ ) : /* @__PURE__ */ jsx52("g", { transform: `translate(${x - iconPx / 2}, ${y - iconPx / 2})`, children: renderTopologyIcon(icon, stroke, iconPx) }),
6674
6708
  showCornerBadge && /* @__PURE__ */ jsxs40("g", { className: "stn-topology-node__badge", children: [
6675
- /* @__PURE__ */ jsx51("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" }),
6676
- /* @__PURE__ */ jsx51(
6709
+ /* @__PURE__ */ jsx52("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" }),
6710
+ /* @__PURE__ */ jsx52(
6677
6711
  "text",
6678
6712
  {
6679
6713
  x: x + r * 0.72,
@@ -6687,7 +6721,7 @@ function StnTopologyNodeMark({
6687
6721
  }
6688
6722
  )
6689
6723
  ] }),
6690
- showLabel && label && /* @__PURE__ */ jsx51(
6724
+ showLabel && label && /* @__PURE__ */ jsx52(
6691
6725
  "text",
6692
6726
  {
6693
6727
  x,
@@ -6731,11 +6765,11 @@ function StnTopologyNodePreview({
6731
6765
  const r = STN_TOPOLOGY_NODE_SIZE[size].r;
6732
6766
  const w = width ?? r * 2 + (showLabel ? 88 : 28);
6733
6767
  const h = height ?? r * 2 + (showLabel || showStatus ? 56 : 28);
6734
- return /* @__PURE__ */ jsx51("svg", { className: "stn-topology-node-preview", width: w, height: h, viewBox: `0 0 ${w} ${h}`, overflow: "visible", children: /* @__PURE__ */ jsx51(StnTopologyNodeMark, { x: w / 2, y: h / 2, size, showLabel, showStatus, ...rest }) });
6768
+ return /* @__PURE__ */ jsx52("svg", { className: "stn-topology-node-preview", width: w, height: h, viewBox: `0 0 ${w} ${h}`, overflow: "visible", children: /* @__PURE__ */ jsx52(StnTopologyNodeMark, { x: w / 2, y: h / 2, size, showLabel, showStatus, ...rest }) });
6735
6769
  }
6736
6770
 
6737
6771
  // src/components/topology/StnTopologyRing.tsx
6738
- import { jsx as jsx52, jsxs as jsxs41 } from "react/jsx-runtime";
6772
+ import { jsx as jsx53, jsxs as jsxs41 } from "react/jsx-runtime";
6739
6773
  function StnTopologyRing({
6740
6774
  core = {
6741
6775
  title: "\uC5D0\uC2A4\uD2F0\uC5D4\uC778\uD3EC\uD14D",
@@ -6794,17 +6828,17 @@ function StnTopologyRing({
6794
6828
  };
6795
6829
  });
6796
6830
  if (loading) {
6797
- return /* @__PURE__ */ jsx52(
6831
+ return /* @__PURE__ */ jsx53(
6798
6832
  "div",
6799
6833
  {
6800
6834
  className: cn("stn-topology-ring", "stn-topology-ring--loading", className),
6801
6835
  style,
6802
6836
  ...rest,
6803
- children: /* @__PURE__ */ jsx52("div", { className: "stn-topology-ring__loading-label", children: "\uD1A0\uD3F4\uB85C\uC9C0 \uB9C1 \uB370\uC774\uD130\uB97C \uBD88\uB7EC\uC624\uB294 \uC911..." })
6837
+ children: /* @__PURE__ */ jsx53("div", { className: "stn-topology-ring__loading-label", children: "\uD1A0\uD3F4\uB85C\uC9C0 \uB9C1 \uB370\uC774\uD130\uB97C \uBD88\uB7EC\uC624\uB294 \uC911..." })
6804
6838
  }
6805
6839
  );
6806
6840
  }
6807
- return /* @__PURE__ */ jsx52(
6841
+ return /* @__PURE__ */ jsx53(
6808
6842
  "div",
6809
6843
  {
6810
6844
  className: cn("stn-topology-ring", className),
@@ -6823,17 +6857,17 @@ function StnTopologyRing({
6823
6857
  children: [
6824
6858
  /* @__PURE__ */ jsxs41("defs", { children: [
6825
6859
  /* @__PURE__ */ jsxs41("radialGradient", { id: coreGlowId, cx: "50%", cy: "50%", r: "50%", children: [
6826
- /* @__PURE__ */ jsx52("stop", { offset: "0%", stopColor: "#722ed1", stopOpacity: "0.8" }),
6827
- /* @__PURE__ */ jsx52("stop", { offset: "100%", stopColor: "#120338", stopOpacity: "0" })
6860
+ /* @__PURE__ */ jsx53("stop", { offset: "0%", stopColor: "#722ed1", stopOpacity: "0.8" }),
6861
+ /* @__PURE__ */ jsx53("stop", { offset: "100%", stopColor: "#120338", stopOpacity: "0" })
6828
6862
  ] }),
6829
6863
  /* @__PURE__ */ jsxs41("linearGradient", { id: gradientId, x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
6830
- /* @__PURE__ */ jsx52("stop", { offset: "0%", stopColor: "#00e5ff", stopOpacity: "0.4" }),
6831
- /* @__PURE__ */ jsx52("stop", { offset: "100%", stopColor: "#722ed1", stopOpacity: "0.4" })
6864
+ /* @__PURE__ */ jsx53("stop", { offset: "0%", stopColor: "#00e5ff", stopOpacity: "0.4" }),
6865
+ /* @__PURE__ */ jsx53("stop", { offset: "100%", stopColor: "#722ed1", stopOpacity: "0.4" })
6832
6866
  ] })
6833
6867
  ] }),
6834
6868
  radii.map((r, idx) => {
6835
6869
  const isMain = idx + 1 === mainOrbit;
6836
- return /* @__PURE__ */ jsx52(
6870
+ return /* @__PURE__ */ jsx53(
6837
6871
  "circle",
6838
6872
  {
6839
6873
  cx: centerX,
@@ -6847,7 +6881,7 @@ function StnTopologyRing({
6847
6881
  `orbit-${idx}`
6848
6882
  );
6849
6883
  }),
6850
- connectionLineStyle !== "none" && calculatedNodes.map((node) => /* @__PURE__ */ jsx52(
6884
+ connectionLineStyle !== "none" && calculatedNodes.map((node) => /* @__PURE__ */ jsx53(
6851
6885
  "line",
6852
6886
  {
6853
6887
  x1: centerX,
@@ -6861,8 +6895,8 @@ function StnTopologyRing({
6861
6895
  `line-${node.id}`
6862
6896
  )),
6863
6897
  /* @__PURE__ */ jsxs41("g", { className: "stn-topology-ring__core", children: [
6864
- /* @__PURE__ */ jsx52("circle", { cx: centerX, cy: centerY, r: 54, fill: `url(#${coreGlowId})` }),
6865
- /* @__PURE__ */ jsx52(
6898
+ /* @__PURE__ */ jsx53("circle", { cx: centerX, cy: centerY, r: 54, fill: `url(#${coreGlowId})` }),
6899
+ /* @__PURE__ */ jsx53(
6866
6900
  "circle",
6867
6901
  {
6868
6902
  cx: centerX,
@@ -6874,7 +6908,7 @@ function StnTopologyRing({
6874
6908
  style: { filter: "drop-shadow(0 0 12px rgba(114, 46, 209, 0.6))" }
6875
6909
  }
6876
6910
  ),
6877
- core.subTitle && /* @__PURE__ */ jsx52(
6911
+ core.subTitle && /* @__PURE__ */ jsx53(
6878
6912
  "text",
6879
6913
  {
6880
6914
  x: centerX,
@@ -6887,13 +6921,13 @@ function StnTopologyRing({
6887
6921
  children: core.subTitle
6888
6922
  }
6889
6923
  ),
6890
- core.title && /* @__PURE__ */ jsx52("text", { x: centerX, y: centerY + 8, textAnchor: "middle", fill: "#f0f2f5", fontSize: "10", fontWeight: "600", children: core.title }),
6924
+ core.title && /* @__PURE__ */ jsx53("text", { x: centerX, y: centerY + 8, textAnchor: "middle", fill: "#f0f2f5", fontSize: "10", fontWeight: "600", children: core.title }),
6891
6925
  /* @__PURE__ */ jsxs41("text", { x: centerX, y: centerY + 22, textAnchor: "middle", fill: coreColor, fontSize: "9", fontWeight: "500", children: [
6892
6926
  "\u25CF ",
6893
6927
  coreStatusLabel
6894
6928
  ] })
6895
6929
  ] }),
6896
- calculatedNodes.map((node) => /* @__PURE__ */ jsx52(
6930
+ calculatedNodes.map((node) => /* @__PURE__ */ jsx53(
6897
6931
  StnTopologyNodeMark,
6898
6932
  {
6899
6933
  x: node.x,
@@ -6922,7 +6956,7 @@ function StnTopologyRing({
6922
6956
 
6923
6957
  // src/components/topology/StnTopologyGraph.tsx
6924
6958
  import { useState as useState15 } from "react";
6925
- import { jsx as jsx53, jsxs as jsxs42 } from "react/jsx-runtime";
6959
+ import { jsx as jsx54, jsxs as jsxs42 } from "react/jsx-runtime";
6926
6960
  var DEFAULT_GRAPH_NODES = [
6927
6961
  { id: "n1", x: 200, y: 58, status: "minor", label: "GW-01", shape: "circle", content: "icon", icon: "wifi" },
6928
6962
  { id: "n2", x: 118, y: 118, status: "critical", label: "BACKUP", shape: "hexagon", content: "count", count: 4, pulse: true },
@@ -6958,7 +6992,7 @@ function StnTopologyGraph({
6958
6992
  }) {
6959
6993
  const [viewMode, setViewMode] = useState15(defaultMode);
6960
6994
  if (loading) {
6961
- return /* @__PURE__ */ jsx53("div", { className: cn("stn-topology-graph", "stn-topology-graph--loading", className), style, ...rest, children: /* @__PURE__ */ jsx53("div", { className: "stn-topology-graph__loading-label", children: "\uD1A0\uD3F4\uB85C\uC9C0 \uCE94\uBC84\uC2A4 \uB370\uC774\uD130\uB97C \uBD88\uB7EC\uC624\uB294 \uC911..." }) });
6995
+ return /* @__PURE__ */ jsx54("div", { className: cn("stn-topology-graph", "stn-topology-graph--loading", className), style, ...rest, children: /* @__PURE__ */ jsx54("div", { className: "stn-topology-graph__loading-label", children: "\uD1A0\uD3F4\uB85C\uC9C0 \uCE94\uBC84\uC2A4 \uB370\uC774\uD130\uB97C \uBD88\uB7EC\uC624\uB294 \uC911..." }) });
6962
6996
  }
6963
6997
  const nodeMap = new Map(nodes.map((n) => [n.id, n]));
6964
6998
  return /* @__PURE__ */ jsxs42(
@@ -6970,7 +7004,7 @@ function StnTopologyGraph({
6970
7004
  "data-view-mode": viewMode,
6971
7005
  ...rest,
6972
7006
  children: [
6973
- showModeToggle && /* @__PURE__ */ jsx53("div", { className: "stn-topology-graph__mode", children: /* @__PURE__ */ jsx53(
7007
+ showModeToggle && /* @__PURE__ */ jsx54("div", { className: "stn-topology-graph__mode", children: /* @__PURE__ */ jsx54(
6974
7008
  StnSegmented,
6975
7009
  {
6976
7010
  size: "sm",
@@ -6984,21 +7018,21 @@ function StnTopologyGraph({
6984
7018
  ) }),
6985
7019
  /* @__PURE__ */ jsxs42("svg", { className: "stn-topology-graph__svg", width: "100%", height: "100%", viewBox: "0 0 400 300", overflow: "visible", children: [
6986
7020
  viewMode === "3D" ? /* @__PURE__ */ jsxs42("g", { opacity: "0.6", children: [
6987
- /* @__PURE__ */ jsx53("line", { x1: "60", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.06)", strokeDasharray: "3 3" }),
6988
- /* @__PURE__ */ jsx53("line", { x1: "130", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "3 3" }),
6989
- /* @__PURE__ */ jsx53("line", { x1: "200", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.14)", strokeDasharray: "3 3" }),
6990
- /* @__PURE__ */ jsx53("line", { x1: "270", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "3 3" }),
6991
- /* @__PURE__ */ jsx53("line", { x1: "340", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.06)", strokeDasharray: "3 3" }),
6992
- /* @__PURE__ */ jsx53("line", { x1: "100", y1: "230", x2: "300", y2: "230", stroke: "rgba(255,255,255,0.06)" }),
6993
- /* @__PURE__ */ jsx53("line", { x1: "130", y1: "190", x2: "270", y2: "190", stroke: "rgba(255,255,255,0.06)" }),
6994
- /* @__PURE__ */ jsx53("line", { x1: "160", y1: "140", x2: "240", y2: "140", stroke: "rgba(255,255,255,0.06)" })
7021
+ /* @__PURE__ */ jsx54("line", { x1: "60", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.06)", strokeDasharray: "3 3" }),
7022
+ /* @__PURE__ */ jsx54("line", { x1: "130", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "3 3" }),
7023
+ /* @__PURE__ */ jsx54("line", { x1: "200", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.14)", strokeDasharray: "3 3" }),
7024
+ /* @__PURE__ */ jsx54("line", { x1: "270", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "3 3" }),
7025
+ /* @__PURE__ */ jsx54("line", { x1: "340", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.06)", strokeDasharray: "3 3" }),
7026
+ /* @__PURE__ */ jsx54("line", { x1: "100", y1: "230", x2: "300", y2: "230", stroke: "rgba(255,255,255,0.06)" }),
7027
+ /* @__PURE__ */ jsx54("line", { x1: "130", y1: "190", x2: "270", y2: "190", stroke: "rgba(255,255,255,0.06)" }),
7028
+ /* @__PURE__ */ jsx54("line", { x1: "160", y1: "140", x2: "240", y2: "140", stroke: "rgba(255,255,255,0.06)" })
6995
7029
  ] }) : /* @__PURE__ */ jsxs42("g", { opacity: "0.3", children: [
6996
- /* @__PURE__ */ jsx53("line", { x1: "40", y1: "60", x2: "360", y2: "60", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
6997
- /* @__PURE__ */ jsx53("line", { x1: "40", y1: "150", x2: "360", y2: "150", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
6998
- /* @__PURE__ */ jsx53("line", { x1: "40", y1: "240", x2: "360", y2: "240", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
6999
- /* @__PURE__ */ jsx53("line", { x1: "100", y1: "20", x2: "100", y2: "280", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
7000
- /* @__PURE__ */ jsx53("line", { x1: "200", y1: "20", x2: "200", y2: "280", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
7001
- /* @__PURE__ */ jsx53("line", { x1: "300", y1: "20", x2: "300", y2: "280", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" })
7030
+ /* @__PURE__ */ jsx54("line", { x1: "40", y1: "60", x2: "360", y2: "60", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
7031
+ /* @__PURE__ */ jsx54("line", { x1: "40", y1: "150", x2: "360", y2: "150", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
7032
+ /* @__PURE__ */ jsx54("line", { x1: "40", y1: "240", x2: "360", y2: "240", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
7033
+ /* @__PURE__ */ jsx54("line", { x1: "100", y1: "20", x2: "100", y2: "280", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
7034
+ /* @__PURE__ */ jsx54("line", { x1: "200", y1: "20", x2: "200", y2: "280", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
7035
+ /* @__PURE__ */ jsx54("line", { x1: "300", y1: "20", x2: "300", y2: "280", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" })
7002
7036
  ] }),
7003
7037
  links.map((link, idx) => {
7004
7038
  const s = nodeMap.get(link.source);
@@ -7006,7 +7040,7 @@ function StnTopologyGraph({
7006
7040
  if (!s || !t) return null;
7007
7041
  const isAlert = s.status === "critical" || t.status === "critical" || link.status === "critical";
7008
7042
  const strokeColor = isAlert ? "rgba(255, 77, 79, 0.65)" : "rgba(255, 255, 255, 0.2)";
7009
- return /* @__PURE__ */ jsx53(
7043
+ return /* @__PURE__ */ jsx54(
7010
7044
  "line",
7011
7045
  {
7012
7046
  x1: s.x,
@@ -7023,7 +7057,7 @@ function StnTopologyGraph({
7023
7057
  nodes.map((node) => {
7024
7058
  const status = node.status ?? "normal";
7025
7059
  const isCore = Boolean(node.isCore);
7026
- return /* @__PURE__ */ jsx53(
7060
+ return /* @__PURE__ */ jsx54(
7027
7061
  StnTopologyNodeMark,
7028
7062
  {
7029
7063
  x: node.x,
@@ -7048,15 +7082,15 @@ function StnTopologyGraph({
7048
7082
  ] }),
7049
7083
  showMinimap && /* @__PURE__ */ jsxs42("div", { className: "stn-topology-graph__minimap", children: [
7050
7084
  /* @__PURE__ */ jsxs42("div", { className: "stn-topology-graph__minimap-head", children: [
7051
- /* @__PURE__ */ jsx53("span", { children: "\uBBF8\uB9AC\uBCF4\uAE30" }),
7052
- /* @__PURE__ */ jsx53("span", { children: "\u2014" })
7085
+ /* @__PURE__ */ jsx54("span", { children: "\uBBF8\uB9AC\uBCF4\uAE30" }),
7086
+ /* @__PURE__ */ jsx54("span", { children: "\u2014" })
7053
7087
  ] }),
7054
7088
  /* @__PURE__ */ jsxs42("svg", { width: "100%", height: "40", viewBox: "0 0 100 50", children: [
7055
- /* @__PURE__ */ jsx53("polyline", { points: "50,10 40,25 50,40 60,30", fill: "none", stroke: "rgba(255,77,79,0.5)", strokeWidth: "1" }),
7056
- /* @__PURE__ */ jsx53("circle", { cx: "50", cy: "10", r: "2", fill: STN_TOPOLOGY_STATUS_COLORS.critical.main }),
7057
- /* @__PURE__ */ jsx53("circle", { cx: "40", cy: "25", r: "2.5", fill: STN_TOPOLOGY_STATUS_COLORS.critical.main }),
7058
- /* @__PURE__ */ jsx53("circle", { cx: "50", cy: "40", r: "2", fill: "#00e5ff" }),
7059
- /* @__PURE__ */ jsx53("circle", { cx: "60", cy: "30", r: "2", fill: STN_TOPOLOGY_STATUS_COLORS.normal.main })
7089
+ /* @__PURE__ */ jsx54("polyline", { points: "50,10 40,25 50,40 60,30", fill: "none", stroke: "rgba(255,77,79,0.5)", strokeWidth: "1" }),
7090
+ /* @__PURE__ */ jsx54("circle", { cx: "50", cy: "10", r: "2", fill: STN_TOPOLOGY_STATUS_COLORS.critical.main }),
7091
+ /* @__PURE__ */ jsx54("circle", { cx: "40", cy: "25", r: "2.5", fill: STN_TOPOLOGY_STATUS_COLORS.critical.main }),
7092
+ /* @__PURE__ */ jsx54("circle", { cx: "50", cy: "40", r: "2", fill: "#00e5ff" }),
7093
+ /* @__PURE__ */ jsx54("circle", { cx: "60", cy: "30", r: "2", fill: STN_TOPOLOGY_STATUS_COLORS.normal.main })
7060
7094
  ] })
7061
7095
  ] })
7062
7096
  ]
@@ -7065,7 +7099,7 @@ function StnTopologyGraph({
7065
7099
  }
7066
7100
 
7067
7101
  // src/components/StnWidget.tsx
7068
- import { Fragment as Fragment5, jsx as jsx54, jsxs as jsxs43 } from "react/jsx-runtime";
7102
+ import { Fragment as Fragment5, jsx as jsx55, jsxs as jsxs43 } from "react/jsx-runtime";
7069
7103
  var SHELL_PUB_CLASS = {
7070
7104
  card: "",
7071
7105
  "fault-panel": "",
@@ -7148,20 +7182,20 @@ function StnWidgetPeriodText({
7148
7182
  className,
7149
7183
  ...rest
7150
7184
  }) {
7151
- return /* @__PURE__ */ jsx54("span", { className: cn("stn-widget__period-text", className), ...rest, children });
7185
+ return /* @__PURE__ */ jsx55("span", { className: cn("stn-widget__period-text", className), ...rest, children });
7152
7186
  }
7153
7187
  function StnWidgetPeriodSelect({
7154
7188
  label,
7155
7189
  className,
7156
7190
  ...rest
7157
7191
  }) {
7158
- return /* @__PURE__ */ jsx54(
7192
+ return /* @__PURE__ */ jsx55(
7159
7193
  StnButton,
7160
7194
  {
7161
7195
  variant: "ghost",
7162
7196
  size: "sm",
7163
7197
  shape: "square",
7164
- icon: /* @__PURE__ */ jsx54(StnIcon, { name: "line/chevron-down" }),
7198
+ icon: /* @__PURE__ */ jsx55(StnIcon, { name: "line/chevron-down" }),
7165
7199
  iconPosition: "right",
7166
7200
  className,
7167
7201
  ...rest,
@@ -7179,25 +7213,25 @@ function StnWidgetPeriodPager({
7179
7213
  ...rest
7180
7214
  }) {
7181
7215
  return /* @__PURE__ */ jsxs43("div", { className: cn("stn-widget__period-pager", className), ...rest, children: [
7182
- /* @__PURE__ */ jsx54(
7216
+ /* @__PURE__ */ jsx55(
7183
7217
  StnButton,
7184
7218
  {
7185
7219
  variant: "ghost",
7186
7220
  size: "sm",
7187
7221
  shape: "square",
7188
- icon: /* @__PURE__ */ jsx54(StnIcon, { name: "line/arrow-narrow-left" }),
7222
+ icon: /* @__PURE__ */ jsx55(StnIcon, { name: "line/arrow-narrow-left" }),
7189
7223
  onClick: onPrev,
7190
7224
  "aria-label": prevLabel
7191
7225
  }
7192
7226
  ),
7193
- /* @__PURE__ */ jsx54("span", { className: "stn-widget__period-pager-label", children: label }),
7194
- /* @__PURE__ */ jsx54(
7227
+ /* @__PURE__ */ jsx55("span", { className: "stn-widget__period-pager-label", children: label }),
7228
+ /* @__PURE__ */ jsx55(
7195
7229
  StnButton,
7196
7230
  {
7197
7231
  variant: "ghost",
7198
7232
  size: "sm",
7199
7233
  shape: "square",
7200
- icon: /* @__PURE__ */ jsx54(StnIcon, { name: "line/arrow-narrow-right" }),
7234
+ icon: /* @__PURE__ */ jsx55(StnIcon, { name: "line/arrow-narrow-right" }),
7201
7235
  onClick: onNext,
7202
7236
  "aria-label": nextLabel
7203
7237
  }
@@ -7226,16 +7260,16 @@ function StnWidgetHeaderInner({
7226
7260
  const resolvedIconName = headerIconName ?? defaultHeaderIconName(appearance);
7227
7261
  return /* @__PURE__ */ jsxs43("div", { className: cn("stn-widget__head", wrapActions && "stn-widget__head--wrap"), children: [
7228
7262
  /* @__PURE__ */ jsxs43("div", { className: "stn-widget__head-start", children: [
7229
- showHeaderIcon ? headerIcon != null ? /* @__PURE__ */ jsx54(StnWidgetInsetIcon, { size: "sm", children: headerIcon }) : resolvedIconName ? /* @__PURE__ */ jsx54(StnWidgetInsetIcon, { size: "sm", icon: resolvedIconName }) : null : null,
7263
+ showHeaderIcon ? headerIcon != null ? /* @__PURE__ */ jsx55(StnWidgetInsetIcon, { size: "sm", children: headerIcon }) : resolvedIconName ? /* @__PURE__ */ jsx55(StnWidgetInsetIcon, { size: "sm", icon: resolvedIconName }) : null : null,
7230
7264
  title != null || badge != null ? typeof title === "string" || title == null ? /* @__PURE__ */ jsxs43("div", { className: "stn-widget__title-wrap", children: [
7231
- typeof title === "string" ? /* @__PURE__ */ jsx54("p", { className: cn("stn-widget__title", titleSize, titleWeight), title, children: title }) : null,
7265
+ typeof title === "string" ? /* @__PURE__ */ jsx55("p", { className: cn("stn-widget__title", titleSize, titleWeight), title, children: title }) : null,
7232
7266
  badge
7233
7267
  ] }) : /* @__PURE__ */ jsxs43(Fragment5, { children: [
7234
7268
  title,
7235
7269
  badge
7236
7270
  ] }) : null
7237
7271
  ] }),
7238
- titleActions != null || periodActions != null || periodLabel != null && periodLabel !== "" ? /* @__PURE__ */ jsx54("div", { className: "stn-widget__head-end", children: titleActions ?? (periodActions != null ? periodActions : periodLabel != null && periodLabel !== "" ? /* @__PURE__ */ jsx54(StnWidgetPeriodText, { children: periodLabel }) : null) }) : null
7272
+ titleActions != null || periodActions != null || periodLabel != null && periodLabel !== "" ? /* @__PURE__ */ jsx55("div", { className: "stn-widget__head-end", children: titleActions ?? (periodActions != null ? periodActions : periodLabel != null && periodLabel !== "" ? /* @__PURE__ */ jsx55(StnWidgetPeriodText, { children: periodLabel }) : null) }) : null
7239
7273
  ] });
7240
7274
  }
7241
7275
  function StnWidgetRoot({
@@ -7319,9 +7353,9 @@ function StnWidgetRoot({
7319
7353
  };
7320
7354
  const slots = partitionWidgetChildren(children);
7321
7355
  const propHead = shell === "fault-panel" && !isFigmaShell ? title != null || titleActions ? /* @__PURE__ */ jsxs43("div", { className: "app_bar", children: [
7322
- /* @__PURE__ */ jsx54("div", { className: "fault_title_box", children: typeof title === "string" ? /* @__PURE__ */ jsx54("span", { children: title }) : title }),
7356
+ /* @__PURE__ */ jsx55("div", { className: "fault_title_box", children: typeof title === "string" ? /* @__PURE__ */ jsx55("span", { children: title }) : title }),
7323
7357
  titleActions
7324
- ] }) : null : shell === "board" || shell === "board-item" ? title != null ? /* @__PURE__ */ jsx54("div", { className: "stn-widget__head", children: typeof title === "string" ? /* @__PURE__ */ jsx54("p", { children: title }) : title }) : null : isFigmaShell ? /* @__PURE__ */ jsx54(
7358
+ ] }) : null : shell === "board" || shell === "board-item" ? title != null ? /* @__PURE__ */ jsx55("div", { className: "stn-widget__head", children: typeof title === "string" ? /* @__PURE__ */ jsx55("p", { children: title }) : title }) : null : isFigmaShell ? /* @__PURE__ */ jsx55(
7325
7359
  StnWidgetHeaderInner,
7326
7360
  {
7327
7361
  appearance,
@@ -7339,26 +7373,26 @@ function StnWidgetRoot({
7339
7373
  }
7340
7374
  ) : title != null || badge != null || titleActions ? /* @__PURE__ */ jsxs43("div", { className: cn("stn-widget__head", wrapActions && "stn-widget__head--wrap"), children: [
7341
7375
  /* @__PURE__ */ jsxs43("div", { className: "stn-widget__head-start", children: [
7342
- title != null ? typeof title === "string" ? /* @__PURE__ */ jsx54("p", { className: cn("stn-widget__title", titleSize, titleWeight), title, children: title }) : title : null,
7376
+ title != null ? typeof title === "string" ? /* @__PURE__ */ jsx55("p", { className: cn("stn-widget__title", titleSize, titleWeight), title, children: title }) : title : null,
7343
7377
  badge
7344
7378
  ] }),
7345
- titleActions ? /* @__PURE__ */ jsx54("div", { className: "stn-widget__head-end", children: titleActions }) : null
7379
+ titleActions ? /* @__PURE__ */ jsx55("div", { className: "stn-widget__head-end", children: titleActions }) : null
7346
7380
  ] }) : null;
7347
7381
  const head = slots.headers.length > 0 ? slots.headers : propHead;
7348
7382
  const autoBodyClass = shell === "fault-panel" && !isFigmaShell ? "table_area" : void 0;
7349
7383
  let body;
7350
7384
  if (loading) {
7351
- body = /* @__PURE__ */ jsx54("div", { className: cn("stn-widget__body", autoBodyClass, contentClassName), children: /* @__PURE__ */ jsx54(StnWidgetLoading, {}) });
7385
+ body = /* @__PURE__ */ jsx55("div", { className: cn("stn-widget__body", autoBodyClass, contentClassName), children: /* @__PURE__ */ jsx55(StnWidgetLoading, {}) });
7352
7386
  } else if (slots.bodies.length > 0) {
7353
7387
  body = slots.bodies.map(
7354
7388
  (slot, index) => mergeBodySlot(slot, index === 0 ? slots.rest : [], contentClassName, isEmptyState, emptyStyle)
7355
7389
  );
7356
7390
  } else {
7357
- body = /* @__PURE__ */ jsx54("div", { className: cn("stn-widget__body", autoBodyClass, isEmptyState && "empty", contentClassName), style: emptyStyle, children: slots.rest });
7391
+ body = /* @__PURE__ */ jsx55("div", { className: cn("stn-widget__body", autoBodyClass, isEmptyState && "empty", contentClassName), style: emptyStyle, children: slots.rest });
7358
7392
  }
7359
- const footerNode = slots.footers.length > 0 ? slots.footers : footer ? /* @__PURE__ */ jsx54("div", { className: "stn-widget__footer", children: footer }) : null;
7393
+ const footerNode = slots.footers.length > 0 ? slots.footers : footer ? /* @__PURE__ */ jsx55("div", { className: "stn-widget__footer", children: footer }) : null;
7360
7394
  const card = /* @__PURE__ */ jsxs43("div", { ...rootProps, children: [
7361
- isFigmaShell && appearanceShell === "overlay" ? /* @__PURE__ */ jsx54("div", { className: "stn-widget__map-deco", "aria-hidden": true }) : null,
7395
+ isFigmaShell && appearanceShell === "overlay" ? /* @__PURE__ */ jsx55("div", { className: "stn-widget__map-deco", "aria-hidden": true }) : null,
7362
7396
  head,
7363
7397
  body,
7364
7398
  footerNode
@@ -7370,7 +7404,7 @@ function StnWidgetRoot({
7370
7404
  ] });
7371
7405
  }
7372
7406
  function StnWidgetHeader({ className, wrap = false, children, ...rest }) {
7373
- return /* @__PURE__ */ jsx54("div", { className: cn("stn-widget__head", wrap && "stn-widget__head--wrap", className), ...rest, children });
7407
+ return /* @__PURE__ */ jsx55("div", { className: cn("stn-widget__head", wrap && "stn-widget__head--wrap", className), ...rest, children });
7374
7408
  }
7375
7409
  markWidgetSlot(StnWidgetHeader, "header");
7376
7410
  function StnWidgetTitle({
@@ -7382,10 +7416,10 @@ function StnWidgetTitle({
7382
7416
  ...rest
7383
7417
  }) {
7384
7418
  const titleAttr = title ?? (typeof children === "string" ? children : void 0);
7385
- return /* @__PURE__ */ jsx54("p", { className: cn("stn-widget__title", size, weight, className), title: titleAttr, ...rest, children });
7419
+ return /* @__PURE__ */ jsx55("p", { className: cn("stn-widget__title", size, weight, className), title: titleAttr, ...rest, children });
7386
7420
  }
7387
7421
  function StnWidgetActions({ className, children, ...rest }) {
7388
- return /* @__PURE__ */ jsx54("div", { className: cn("stn-widget__head-end", className), ...rest, children });
7422
+ return /* @__PURE__ */ jsx55("div", { className: cn("stn-widget__head-end", className), ...rest, children });
7389
7423
  }
7390
7424
  function StnWidgetBody({
7391
7425
  padding,
@@ -7399,7 +7433,7 @@ function StnWidgetBody({
7399
7433
  }) {
7400
7434
  const emptyText = typeof empty === "string" ? empty : void 0;
7401
7435
  const mergedStyle = emptyText ? { ["--stn-widget-empty-text"]: `"${emptyText}"`, ...style } : style;
7402
- return /* @__PURE__ */ jsx54(
7436
+ return /* @__PURE__ */ jsx55(
7403
7437
  "div",
7404
7438
  {
7405
7439
  className: cn(
@@ -7421,7 +7455,7 @@ function StnWidgetBody({
7421
7455
  }
7422
7456
  markWidgetSlot(StnWidgetBody, "body");
7423
7457
  function StnWidgetChartSlot({ label = "select chart", className, children, ...rest }) {
7424
- return /* @__PURE__ */ jsx54("div", { className: cn("stn-widget__chart-slot", className), "data-stn-widget-chart-slot": true, ...rest, children: children ?? /* @__PURE__ */ jsx54("span", { className: "stn-widget__chart-slot-label", children: label }) });
7458
+ return /* @__PURE__ */ jsx55("div", { className: cn("stn-widget__chart-slot", className), "data-stn-widget-chart-slot": true, ...rest, children: children ?? /* @__PURE__ */ jsx55("span", { className: "stn-widget__chart-slot-label", children: label }) });
7425
7459
  }
7426
7460
  function StnWidgetStatusItem({
7427
7461
  label,
@@ -7435,7 +7469,7 @@ function StnWidgetStatusItem({
7435
7469
  const grade = gradeProp ?? (status === "warning" ? "minor" : status) ?? "normal";
7436
7470
  return /* @__PURE__ */ jsxs43("div", { className: cn("stn-widget__status-item", className), ...rest, children: [
7437
7471
  /* @__PURE__ */ jsxs43("span", { className: "stn-widget__status-label", children: [
7438
- showDot ? /* @__PURE__ */ jsx54(
7472
+ showDot ? /* @__PURE__ */ jsx55(
7439
7473
  "span",
7440
7474
  {
7441
7475
  className: cn("stn-widget__status-dot", `stn-widget__status-dot--${grade}`),
@@ -7444,23 +7478,23 @@ function StnWidgetStatusItem({
7444
7478
  ) : null,
7445
7479
  label
7446
7480
  ] }),
7447
- /* @__PURE__ */ jsx54("span", { className: "stn-widget__status-val", children: value })
7481
+ /* @__PURE__ */ jsx55("span", { className: "stn-widget__status-val", children: value })
7448
7482
  ] });
7449
7483
  }
7450
7484
  function StnWidgetStatusList({ className, children, ...rest }) {
7451
- return /* @__PURE__ */ jsx54("div", { className: cn("stn-widget__status-list", className), ...rest, children });
7485
+ return /* @__PURE__ */ jsx55("div", { className: cn("stn-widget__status-list", className), ...rest, children });
7452
7486
  }
7453
7487
  function StnWidgetStatGroup({ className, children, ...rest }) {
7454
- return /* @__PURE__ */ jsx54("div", { className: cn("stn-widget__stat-group", className), ...rest, children });
7488
+ return /* @__PURE__ */ jsx55("div", { className: cn("stn-widget__stat-group", className), ...rest, children });
7455
7489
  }
7456
7490
  function StnWidgetStatCard({ label, count, className, ...rest }) {
7457
7491
  return /* @__PURE__ */ jsxs43("div", { className: cn("stn-widget__stat-card", className), ...rest, children: [
7458
- /* @__PURE__ */ jsx54("span", { className: "stn-widget__stat-label", children: label }),
7459
- /* @__PURE__ */ jsx54("span", { className: "stn-widget__stat-count", children: count })
7492
+ /* @__PURE__ */ jsx55("span", { className: "stn-widget__stat-label", children: label }),
7493
+ /* @__PURE__ */ jsx55("span", { className: "stn-widget__stat-count", children: count })
7460
7494
  ] });
7461
7495
  }
7462
7496
  function StnWidgetPlaceholder({ label = "\uCF58\uD150\uCE20 \uC601\uC5ED" }) {
7463
- return /* @__PURE__ */ jsx54("div", { className: "stn-widget__placeholder", children: label });
7497
+ return /* @__PURE__ */ jsx55("div", { className: "stn-widget__placeholder", children: label });
7464
7498
  }
7465
7499
  var GRADE_ROW_ICON = {
7466
7500
  critical: "fill/alert4",
@@ -7486,39 +7520,39 @@ function StnWidgetGradeRow({
7486
7520
  return /* @__PURE__ */ jsxs43("div", { className: cn("stn-widget__grade-row", `stn-widget__grade-row--${grade}`, className), ...rest, children: [
7487
7521
  /* @__PURE__ */ jsxs43("div", { className: "stn-widget__grade-row-left", children: [
7488
7522
  /* @__PURE__ */ jsxs43("span", { className: "stn-widget__grade-row-label", children: [
7489
- /* @__PURE__ */ jsx54(StnIcon, { name: GRADE_ROW_ICON[grade], size: 20, className: "stn-widget__grade-row-icon", "aria-hidden": true }),
7523
+ /* @__PURE__ */ jsx55(StnIcon, { name: GRADE_ROW_ICON[grade], size: 20, className: "stn-widget__grade-row-icon", "aria-hidden": true }),
7490
7524
  label
7491
7525
  ] }),
7492
- /* @__PURE__ */ jsx54("div", { className: "stn-widget__grade-row-track", "aria-hidden": true, children: /* @__PURE__ */ jsx54("span", { className: "stn-widget__grade-row-fill", style: { width: `${clamped}%` } }) })
7526
+ /* @__PURE__ */ jsx55("div", { className: "stn-widget__grade-row-track", "aria-hidden": true, children: /* @__PURE__ */ jsx55("span", { className: "stn-widget__grade-row-fill", style: { width: `${clamped}%` } }) })
7493
7527
  ] }),
7494
7528
  /* @__PURE__ */ jsxs43("div", { className: "stn-widget__grade-row-right", children: [
7495
- /* @__PURE__ */ jsx54("span", { className: "stn-widget__grade-row-value", children: value }),
7496
- /* @__PURE__ */ jsx54("span", { className: "stn-widget__grade-row-percent", children: resolvedPercentLabel })
7529
+ /* @__PURE__ */ jsx55("span", { className: "stn-widget__grade-row-value", children: value }),
7530
+ /* @__PURE__ */ jsx55("span", { className: "stn-widget__grade-row-percent", children: resolvedPercentLabel })
7497
7531
  ] })
7498
7532
  ] });
7499
7533
  }
7500
7534
  function StnWidgetGradeRowList({ className, children, ...rest }) {
7501
- return /* @__PURE__ */ jsx54("div", { className: cn("stn-widget__grade-row-list", className), ...rest, children });
7535
+ return /* @__PURE__ */ jsx55("div", { className: cn("stn-widget__grade-row-list", className), ...rest, children });
7502
7536
  }
7503
7537
  function StnWidgetFooter({ className, children, ...rest }) {
7504
- return /* @__PURE__ */ jsx54("div", { className: cn("stn-widget__footer", className), ...rest, children });
7538
+ return /* @__PURE__ */ jsx55("div", { className: cn("stn-widget__footer", className), ...rest, children });
7505
7539
  }
7506
7540
  markWidgetSlot(StnWidgetFooter, "footer");
7507
7541
  function StnWidgetEmpty({ className, children, ...rest }) {
7508
7542
  return /* @__PURE__ */ jsxs43("div", { className: cn("stn-widget__empty", className), ...rest, children: [
7509
7543
  /* @__PURE__ */ jsxs43("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: [
7510
- /* @__PURE__ */ jsx54("circle", { cx: "12", cy: "12", r: "10" }),
7511
- /* @__PURE__ */ jsx54("line", { x1: "12", y1: "8", x2: "12", y2: "12" }),
7512
- /* @__PURE__ */ jsx54("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })
7544
+ /* @__PURE__ */ jsx55("circle", { cx: "12", cy: "12", r: "10" }),
7545
+ /* @__PURE__ */ jsx55("line", { x1: "12", y1: "8", x2: "12", y2: "12" }),
7546
+ /* @__PURE__ */ jsx55("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })
7513
7547
  ] }),
7514
- /* @__PURE__ */ jsx54("div", { children: children ?? "\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4." })
7548
+ /* @__PURE__ */ jsx55("div", { children: children ?? "\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4." })
7515
7549
  ] });
7516
7550
  }
7517
7551
  function StnWidgetLoading({ lines = 3, className, children, ...rest }) {
7518
- return /* @__PURE__ */ jsx54("div", { className: cn("stn-widget__loading", className), ...rest, children: children ?? /* @__PURE__ */ jsx54(StnLoadingSkeleton.Widget, { lines }) });
7552
+ return /* @__PURE__ */ jsx55("div", { className: cn("stn-widget__loading", className), ...rest, children: children ?? /* @__PURE__ */ jsx55(StnLoadingSkeleton.Widget, { lines }) });
7519
7553
  }
7520
7554
  function StnWidgetInsetIcon({ className, size = "sm", ...rest }) {
7521
- return /* @__PURE__ */ jsx54(StnIconBox, { size, className: cn("stn-widget__inset-icon", className), ...rest });
7555
+ return /* @__PURE__ */ jsx55(StnIconBox, { size, className: cn("stn-widget__inset-icon", className), ...rest });
7522
7556
  }
7523
7557
  var StnWidget = Object.assign(StnWidgetRoot, {
7524
7558
  Header: StnWidgetHeader,
@@ -7565,11 +7599,11 @@ import {
7565
7599
  // src/layouts/StnStack.tsx
7566
7600
  import {
7567
7601
  Children as Children3,
7568
- forwardRef as forwardRef31,
7602
+ forwardRef as forwardRef32,
7569
7603
  Fragment as Fragment6,
7570
7604
  isValidElement as isValidElement6
7571
7605
  } from "react";
7572
- import { jsx as jsx55, jsxs as jsxs44 } from "react/jsx-runtime";
7606
+ import { jsx as jsx56, jsxs as jsxs44 } from "react/jsx-runtime";
7573
7607
  var BREAKPOINTS = ["xs", "sm", "md", "lg", "xl"];
7574
7608
  var DIRECTION_CLASS = /* @__PURE__ */ new Set(["row", "row-reverse", "column", "column-reverse"]);
7575
7609
  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]);
@@ -7662,7 +7696,7 @@ function spacingClassesAndStyle(spacing) {
7662
7696
  }
7663
7697
  return { classes, inlineGap };
7664
7698
  }
7665
- var StnStack = forwardRef31(function StnStack2({
7699
+ var StnStack = forwardRef32(function StnStack2({
7666
7700
  component,
7667
7701
  as,
7668
7702
  direction = "column",
@@ -7697,7 +7731,7 @@ var StnStack = forwardRef31(function StnStack2({
7697
7731
  child
7698
7732
  ] }, key);
7699
7733
  }) : children;
7700
- return /* @__PURE__ */ jsx55(
7734
+ return /* @__PURE__ */ jsx56(
7701
7735
  Component,
7702
7736
  {
7703
7737
  ref,
@@ -7721,7 +7755,7 @@ var StnStack = forwardRef31(function StnStack2({
7721
7755
  });
7722
7756
 
7723
7757
  // src/patterns/dashboard/AlertCenterDashboard.tsx
7724
- import { jsx as jsx56, jsxs as jsxs45 } from "react/jsx-runtime";
7758
+ import { jsx as jsx57, jsxs as jsxs45 } from "react/jsx-runtime";
7725
7759
  var TOP5_ROWS = [
7726
7760
  { label: "\uADF8\uB791\uC2DC\uC544", percent: 80, value: "80\uAC74", grade: "critical" },
7727
7761
  { label: "\uC5F0\uB9BD\uC8FC\uD0DD 15\uC138\uB300", percent: 74, value: "74\uAC74", grade: "major" },
@@ -7739,17 +7773,17 @@ function AlertCenterDashboard({ className, appearance = "translucent", loading =
7739
7773
  style: { flex: "1 1 0%", minHeight: 0, height: "100%", width: "100%" },
7740
7774
  "data-stn-dashboard": "alert-widgets",
7741
7775
  children: [
7742
- /* @__PURE__ */ jsx56(StnWidget, { title: "\uC2DC\uC124 \uD604\uD669", appearance, interactive: true, children: loading ? /* @__PURE__ */ jsx56(StnLoadingSkeleton.Widget, { lines: 3 }) : /* @__PURE__ */ jsxs45(StnWidget.StatusList, { children: [
7743
- /* @__PURE__ */ jsx56(StnWidget.StatusItem, { label: "PTN", value: "179", showDot: false }),
7744
- /* @__PURE__ */ jsx56(StnWidget.StatusItem, { label: "MSPP", value: "63", showDot: false }),
7745
- /* @__PURE__ */ jsx56(StnWidget.StatusItem, { label: "L3\uC2A4\uC704\uCE58", value: "27", showDot: false })
7776
+ /* @__PURE__ */ jsx57(StnWidget, { title: "\uC2DC\uC124 \uD604\uD669", appearance, interactive: true, children: loading ? /* @__PURE__ */ jsx57(StnLoadingSkeleton.Widget, { lines: 3 }) : /* @__PURE__ */ jsxs45(StnWidget.StatusList, { children: [
7777
+ /* @__PURE__ */ jsx57(StnWidget.StatusItem, { label: "PTN", value: "179", showDot: false }),
7778
+ /* @__PURE__ */ jsx57(StnWidget.StatusItem, { label: "MSPP", value: "63", showDot: false }),
7779
+ /* @__PURE__ */ jsx57(StnWidget.StatusItem, { label: "L3\uC2A4\uC704\uCE58", value: "27", showDot: false })
7746
7780
  ] }) }),
7747
- /* @__PURE__ */ jsx56(StnWidget, { title: "\uC7A5\uC560 \uD604\uD669", appearance, interactive: true, children: loading ? /* @__PURE__ */ jsx56(StnLoadingSkeleton.Widget, { lines: 3 }) : /* @__PURE__ */ jsxs45(StnWidget.StatusList, { children: [
7748
- /* @__PURE__ */ jsx56(StnWidget.StatusItem, { label: "Critical", value: "43", grade: "critical" }),
7749
- /* @__PURE__ */ jsx56(StnWidget.StatusItem, { label: "Major", value: "79", grade: "major" }),
7750
- /* @__PURE__ */ jsx56(StnWidget.StatusItem, { label: "Minor", value: "3", grade: "minor" })
7781
+ /* @__PURE__ */ jsx57(StnWidget, { title: "\uC7A5\uC560 \uD604\uD669", appearance, interactive: true, children: loading ? /* @__PURE__ */ jsx57(StnLoadingSkeleton.Widget, { lines: 3 }) : /* @__PURE__ */ jsxs45(StnWidget.StatusList, { children: [
7782
+ /* @__PURE__ */ jsx57(StnWidget.StatusItem, { label: "Critical", value: "43", grade: "critical" }),
7783
+ /* @__PURE__ */ jsx57(StnWidget.StatusItem, { label: "Major", value: "79", grade: "major" }),
7784
+ /* @__PURE__ */ jsx57(StnWidget.StatusItem, { label: "Minor", value: "3", grade: "minor" })
7751
7785
  ] }) }),
7752
- /* @__PURE__ */ jsx56(StnWidget, { title: "\uC77C\uC77C \uC7A5\uBE44\uBCC4 \uC7A5\uC560 TOP5", appearance, interactive: true, children: loading ? /* @__PURE__ */ jsx56(StnLoadingSkeleton.Widget, { lines: 4 }) : /* @__PURE__ */ jsx56(StnWidget.GradeRowList, { children: TOP5_ROWS.map((row) => /* @__PURE__ */ jsx56(
7786
+ /* @__PURE__ */ jsx57(StnWidget, { title: "\uC77C\uC77C \uC7A5\uBE44\uBCC4 \uC7A5\uC560 TOP5", appearance, interactive: true, children: loading ? /* @__PURE__ */ jsx57(StnLoadingSkeleton.Widget, { lines: 4 }) : /* @__PURE__ */ jsx57(StnWidget.GradeRowList, { children: TOP5_ROWS.map((row) => /* @__PURE__ */ jsx57(
7753
7787
  StnWidget.GradeRow,
7754
7788
  {
7755
7789
  grade: row.grade,
@@ -7759,50 +7793,50 @@ function AlertCenterDashboard({ className, appearance = "translucent", loading =
7759
7793
  },
7760
7794
  row.label
7761
7795
  )) }) }),
7762
- /* @__PURE__ */ jsx56(StnWidget, { title: "\uC77C\uC77C \uC7A5\uC560 \uD1B5\uACC4", appearance, interactive: true, children: loading ? /* @__PURE__ */ jsx56(StnLoadingSkeleton.Widget, { lines: 3 }) : /* @__PURE__ */ jsx56(StnWidget.ChartSlot, { label: "\uC77C\uC77C \uC7A5\uC560 \uD1B5\uACC4 \uCC28\uD2B8" }) })
7796
+ /* @__PURE__ */ jsx57(StnWidget, { title: "\uC77C\uC77C \uC7A5\uC560 \uD1B5\uACC4", appearance, interactive: true, children: loading ? /* @__PURE__ */ jsx57(StnLoadingSkeleton.Widget, { lines: 3 }) : /* @__PURE__ */ jsx57(StnWidget.ChartSlot, { label: "\uC77C\uC77C \uC7A5\uC560 \uD1B5\uACC4 \uCC28\uD2B8" }) })
7763
7797
  ]
7764
7798
  }
7765
7799
  );
7766
7800
  }
7767
7801
 
7768
7802
  // src/patterns/dashboard/PubDashboardWidgetBodies.tsx
7769
- import { jsx as jsx57, jsxs as jsxs46 } from "react/jsx-runtime";
7803
+ import { jsx as jsx58, jsxs as jsxs46 } from "react/jsx-runtime";
7770
7804
  function PubDisabilityStatusList({ items, summary }) {
7771
7805
  return /* @__PURE__ */ jsxs46("div", { className: "ds-disability-status", children: [
7772
- /* @__PURE__ */ jsx57("ul", { className: "ds-disability-status__list", children: items.map((item, i) => /* @__PURE__ */ jsxs46(
7806
+ /* @__PURE__ */ jsx58("ul", { className: "ds-disability-status__list", children: items.map((item, i) => /* @__PURE__ */ jsxs46(
7773
7807
  "li",
7774
7808
  {
7775
7809
  className: ["ds-disability-status__item", item.grade].filter(Boolean).join(" "),
7776
7810
  children: [
7777
7811
  /* @__PURE__ */ jsxs46("span", { children: [
7778
- item.showDot !== false && item.grade ? /* @__PURE__ */ jsx57("span", { className: "dot", "aria-hidden": true }) : null,
7812
+ item.showDot !== false && item.grade ? /* @__PURE__ */ jsx58("span", { className: "dot", "aria-hidden": true }) : null,
7779
7813
  item.label
7780
7814
  ] }),
7781
- /* @__PURE__ */ jsx57("p", { children: item.value })
7815
+ /* @__PURE__ */ jsx58("p", { children: item.value })
7782
7816
  ]
7783
7817
  },
7784
7818
  i
7785
7819
  )) }),
7786
- summary && summary.length > 0 ? /* @__PURE__ */ jsx57("div", { className: "ds-disability-status__summary", children: summary.map((row, i) => /* @__PURE__ */ jsxs46("p", { className: "ds-disability-status__value", children: [
7820
+ summary && summary.length > 0 ? /* @__PURE__ */ jsx58("div", { className: "ds-disability-status__summary", children: summary.map((row, i) => /* @__PURE__ */ jsxs46("p", { className: "ds-disability-status__value", children: [
7787
7821
  row.label,
7788
- /* @__PURE__ */ jsx57("span", { children: row.value })
7822
+ /* @__PURE__ */ jsx58("span", { children: row.value })
7789
7823
  ] }, i)) }) : null
7790
7824
  ] });
7791
7825
  }
7792
7826
  function PubTrafficTop5Bars({ rows }) {
7793
7827
  const maxPercent = Math.max(...rows.map((row) => row.percent), 0);
7794
- return /* @__PURE__ */ jsx57("div", { className: "ds-bar-group", children: rows.map((row) => /* @__PURE__ */ jsxs46("div", { className: ["ds-bar", row.percent === maxPercent ? "max" : ""].filter(Boolean).join(" "), children: [
7795
- /* @__PURE__ */ jsx57("p", { className: "ds-bar-name", title: row.label, children: row.label }),
7796
- /* @__PURE__ */ jsx57("div", { className: "ds-bar-con", title: `${row.percent}%`, children: /* @__PURE__ */ jsx57("span", { className: "ds-bar-gauge", style: { "--percent": `${row.percent}%` } }) }),
7797
- /* @__PURE__ */ jsx57("p", { className: "ds-bar-value", title: row.value, children: row.value })
7828
+ return /* @__PURE__ */ jsx58("div", { className: "ds-bar-group", children: rows.map((row) => /* @__PURE__ */ jsxs46("div", { className: ["ds-bar", row.percent === maxPercent ? "max" : ""].filter(Boolean).join(" "), children: [
7829
+ /* @__PURE__ */ jsx58("p", { className: "ds-bar-name", title: row.label, children: row.label }),
7830
+ /* @__PURE__ */ jsx58("div", { className: "ds-bar-con", title: `${row.percent}%`, children: /* @__PURE__ */ jsx58("span", { className: "ds-bar-gauge", style: { "--percent": `${row.percent}%` } }) }),
7831
+ /* @__PURE__ */ jsx58("p", { className: "ds-bar-value", title: row.value, children: row.value })
7798
7832
  ] }, row.label)) });
7799
7833
  }
7800
7834
  function PubTop5EquipmentBars({ rows }) {
7801
7835
  return /* @__PURE__ */ jsxs46("div", { className: "ds-group", children: [
7802
- /* @__PURE__ */ jsx57("div", { className: "ds-group-box", children: /* @__PURE__ */ jsx57("div", { className: "ds-equipment-ico", children: /* @__PURE__ */ jsx57("span", { className: "blind", children: "\uC7A5\uBE44 \uC774\uBBF8\uC9C0" }) }) }),
7803
- /* @__PURE__ */ jsx57("div", { className: "ds-group-box", children: /* @__PURE__ */ jsx57("div", { className: "ds-bar-group", children: rows.map((row) => /* @__PURE__ */ jsx57("div", { className: "ds-bar type-2", children: /* @__PURE__ */ jsxs46("div", { className: "ds-bar-con", title: `${row.percent}%`, children: [
7804
- /* @__PURE__ */ jsx57("span", { className: "ds-bar-gauge", style: { "--percent": `${row.percent}%` } }),
7805
- /* @__PURE__ */ jsx57("div", { className: "ds-bar-status", children: row.status })
7836
+ /* @__PURE__ */ jsx58("div", { className: "ds-group-box", children: /* @__PURE__ */ jsx58("div", { className: "ds-equipment-ico", children: /* @__PURE__ */ jsx58("span", { className: "blind", children: "\uC7A5\uBE44 \uC774\uBBF8\uC9C0" }) }) }),
7837
+ /* @__PURE__ */ jsx58("div", { className: "ds-group-box", children: /* @__PURE__ */ jsx58("div", { className: "ds-bar-group", children: rows.map((row) => /* @__PURE__ */ jsx58("div", { className: "ds-bar type-2", children: /* @__PURE__ */ jsxs46("div", { className: "ds-bar-con", title: `${row.percent}%`, children: [
7838
+ /* @__PURE__ */ jsx58("span", { className: "ds-bar-gauge", style: { "--percent": `${row.percent}%` } }),
7839
+ /* @__PURE__ */ jsx58("div", { className: "ds-bar-status", children: row.status })
7806
7840
  ] }) }, row.label)) }) })
7807
7841
  ] });
7808
7842
  }
@@ -7811,7 +7845,7 @@ function PubChartSample({
7811
7845
  alt = "\uCC28\uD2B8",
7812
7846
  onError
7813
7847
  }) {
7814
- return /* @__PURE__ */ jsx57("div", { className: "ds-chart", children: /* @__PURE__ */ jsx57("img", { src, alt, className: "chart_sample", onError }) });
7848
+ return /* @__PURE__ */ jsx58("div", { className: "ds-chart", children: /* @__PURE__ */ jsx58("img", { src, alt, className: "chart_sample", onError }) });
7815
7849
  }
7816
7850
 
7817
7851
  // src/patterns/alertCenter/StnAlertCenterPanel.tsx
@@ -7819,7 +7853,7 @@ import { useState as useState16 } from "react";
7819
7853
  import {
7820
7854
  STN_ALERT_CENTER_TABS
7821
7855
  } from "@stn-uiux/pub-ui/data/stnAlertCenter";
7822
- import { jsx as jsx58, jsxs as jsxs47 } from "react/jsx-runtime";
7856
+ import { jsx as jsx59, jsxs as jsxs47 } from "react/jsx-runtime";
7823
7857
  function resolveAlertIcon(item) {
7824
7858
  if (item.icon) {
7825
7859
  if (item.icon === "line/arrow-down") return "line/arrow-narrow-down";
@@ -7846,7 +7880,7 @@ function StnAlertCard({
7846
7880
  }) {
7847
7881
  const iconNode = resolveAlertIcon(item);
7848
7882
  const gradeLabel = resolveGradeLabel(item.grade);
7849
- return /* @__PURE__ */ jsx58(
7883
+ return /* @__PURE__ */ jsx59(
7850
7884
  StnCard,
7851
7885
  {
7852
7886
  variant: "elevated",
@@ -7856,7 +7890,7 @@ function StnAlertCard({
7856
7890
  className: cn("stn-alert-card", className),
7857
7891
  onClick,
7858
7892
  children: /* @__PURE__ */ jsxs47("div", { className: "stn-alert-card__row", children: [
7859
- /* @__PURE__ */ jsx58(
7893
+ /* @__PURE__ */ jsx59(
7860
7894
  StnIcon,
7861
7895
  {
7862
7896
  name: iconNode,
@@ -7867,7 +7901,7 @@ function StnAlertCard({
7867
7901
  ),
7868
7902
  /* @__PURE__ */ jsxs47("div", { className: "stn-alert-card__body", children: [
7869
7903
  /* @__PURE__ */ jsxs47(StnStack, { direction: "row", alignItems: "center", spacing: 1, className: "stn-alert-card__header-line", children: [
7870
- /* @__PURE__ */ jsx58(
7904
+ /* @__PURE__ */ jsx59(
7871
7905
  StnChip,
7872
7906
  {
7873
7907
  shape: "pill",
@@ -7877,22 +7911,22 @@ function StnAlertCard({
7877
7911
  children: gradeLabel
7878
7912
  }
7879
7913
  ),
7880
- /* @__PURE__ */ jsx58(
7914
+ /* @__PURE__ */ jsx59(
7881
7915
  "span",
7882
7916
  {
7883
7917
  className: cn("stn-alert-card__title", titleOverflow),
7884
7918
  title: item.title,
7885
- children: /* @__PURE__ */ jsx58("span", { className: "stn-alert-card__text-inner", children: item.title })
7919
+ children: /* @__PURE__ */ jsx59("span", { className: "stn-alert-card__text-inner", children: item.title })
7886
7920
  }
7887
7921
  )
7888
7922
  ] }),
7889
7923
  /* @__PURE__ */ jsxs47(StnStack, { direction: "row", alignItems: "center", spacing: 2, wrap: "wrap", className: "stn-alert-card__desc-line", children: [
7890
- /* @__PURE__ */ jsx58(
7924
+ /* @__PURE__ */ jsx59(
7891
7925
  "span",
7892
7926
  {
7893
7927
  className: cn("stn-alert-card__desc", descOverflow),
7894
7928
  title: item.description,
7895
- children: /* @__PURE__ */ jsx58("span", { className: "stn-alert-card__text-inner", children: item.description })
7929
+ children: /* @__PURE__ */ jsx59("span", { className: "stn-alert-card__text-inner", children: item.description })
7896
7930
  }
7897
7931
  ),
7898
7932
  item.occurredAt && /* @__PURE__ */ jsxs47(
@@ -7912,8 +7946,8 @@ function StnAlertCard({
7912
7946
  ] })
7913
7947
  ] }),
7914
7948
  /* @__PURE__ */ jsxs47("div", { className: "stn-alert-card__meta", children: [
7915
- /* @__PURE__ */ jsx58("span", { className: "stn-alert-card__time", children: item.time }),
7916
- item.unread !== false && /* @__PURE__ */ jsx58(
7949
+ /* @__PURE__ */ jsx59("span", { className: "stn-alert-card__time", children: item.time }),
7950
+ item.unread !== false && /* @__PURE__ */ jsx59(
7917
7951
  "span",
7918
7952
  {
7919
7953
  className: cn(
@@ -7965,11 +7999,11 @@ function StnAlertCenterPanel({
7965
7999
  children: [
7966
8000
  /* @__PURE__ */ jsxs47("div", { className: "stn-alert-center__header", children: [
7967
8001
  /* @__PURE__ */ jsxs47("div", { className: "stn-alert-center__header-left", children: [
7968
- /* @__PURE__ */ jsx58(StnIcon, { name: "line/bell", size: 20, color: "var(--stn-primary)" }),
7969
- /* @__PURE__ */ jsx58("span", { className: "stn-alert-center__title", children: title }),
7970
- alertCount > 0 && /* @__PURE__ */ jsx58(StnChip, { shape: "pill", size: "sm", variant: "subtle", color: "primary", children: alertCount })
8002
+ /* @__PURE__ */ jsx59(StnIcon, { name: "line/bell", size: 20, color: "var(--stn-primary)" }),
8003
+ /* @__PURE__ */ jsx59("span", { className: "stn-alert-center__title", children: title }),
8004
+ alertCount > 0 && /* @__PURE__ */ jsx59(StnChip, { shape: "pill", size: "sm", variant: "subtle", color: "primary", children: alertCount })
7971
8005
  ] }),
7972
- /* @__PURE__ */ jsx58(
8006
+ /* @__PURE__ */ jsx59(
7973
8007
  StnSegmented,
7974
8008
  {
7975
8009
  size: "md",
@@ -7983,7 +8017,7 @@ function StnAlertCenterPanel({
7983
8017
  }
7984
8018
  ),
7985
8019
  /* @__PURE__ */ jsxs47("div", { className: "stn-alert-center__header-right", children: [
7986
- /* @__PURE__ */ jsx58(
8020
+ /* @__PURE__ */ jsx59(
7987
8021
  StnButton,
7988
8022
  {
7989
8023
  variant: "text",
@@ -7993,8 +8027,8 @@ function StnAlertCenterPanel({
7993
8027
  children: "\uBAA8\uB450 \uC77D\uC74C"
7994
8028
  }
7995
8029
  ),
7996
- /* @__PURE__ */ jsx58("div", { className: "stn-alert-center__divider", "aria-hidden": true }),
7997
- /* @__PURE__ */ jsx58(
8030
+ /* @__PURE__ */ jsx59("div", { className: "stn-alert-center__divider", "aria-hidden": true }),
8031
+ /* @__PURE__ */ jsx59(
7998
8032
  StnButton,
7999
8033
  {
8000
8034
  icon: "line/x",
@@ -8013,7 +8047,7 @@ function StnAlertCenterPanel({
8013
8047
  size: "thin",
8014
8048
  className: "stn-alert-center__list-wrap",
8015
8049
  children: [
8016
- activeTab === "error" && /* @__PURE__ */ jsx58("ul", { className: "stn-alert-center__list", children: alerts.map((item) => /* @__PURE__ */ jsx58("li", { children: /* @__PURE__ */ jsx58(
8050
+ activeTab === "error" && /* @__PURE__ */ jsx59("ul", { className: "stn-alert-center__list", children: alerts.map((item) => /* @__PURE__ */ jsx59("li", { children: /* @__PURE__ */ jsx59(
8017
8051
  StnAlertCard,
8018
8052
  {
8019
8053
  item,
@@ -8022,35 +8056,35 @@ function StnAlertCenterPanel({
8022
8056
  onClick: () => onItemClick?.(item)
8023
8057
  }
8024
8058
  ) }, item.id ?? item.title)) }),
8025
- activeTab === "work" && /* @__PURE__ */ jsx58("ul", { className: "stn-alert-center__list", children: workItems.map((row) => /* @__PURE__ */ jsx58("li", { children: /* @__PURE__ */ jsx58(StnCard, { variant: "elevated", radius: "md", padding: "md", interactive: true, className: "stn-alert-card", children: /* @__PURE__ */ jsxs47("div", { className: "stn-alert-card__row", children: [
8026
- /* @__PURE__ */ jsx58(StnIcon, { name: "line/clock", size: 24, color: "var(--stn-text-secondary)", className: "stn-alert-card__icon" }),
8059
+ activeTab === "work" && /* @__PURE__ */ jsx59("ul", { className: "stn-alert-center__list", children: workItems.map((row) => /* @__PURE__ */ jsx59("li", { children: /* @__PURE__ */ jsx59(StnCard, { variant: "elevated", radius: "md", padding: "md", interactive: true, className: "stn-alert-card", children: /* @__PURE__ */ jsxs47("div", { className: "stn-alert-card__row", children: [
8060
+ /* @__PURE__ */ jsx59(StnIcon, { name: "line/clock", size: 24, color: "var(--stn-text-secondary)", className: "stn-alert-card__icon" }),
8027
8061
  /* @__PURE__ */ jsxs47("div", { className: "stn-alert-card__body", children: [
8028
- /* @__PURE__ */ jsx58("span", { className: "stn-alert-card__type-label work", children: row.typeLabel }),
8029
- /* @__PURE__ */ jsx58("span", { className: cn("stn-alert-card__desc", resolvedDescOverflow), title: row.text, children: /* @__PURE__ */ jsx58("span", { className: "stn-alert-card__text-inner", children: row.text }) })
8062
+ /* @__PURE__ */ jsx59("span", { className: "stn-alert-card__type-label work", children: row.typeLabel }),
8063
+ /* @__PURE__ */ jsx59("span", { className: cn("stn-alert-card__desc", resolvedDescOverflow), title: row.text, children: /* @__PURE__ */ jsx59("span", { className: "stn-alert-card__text-inner", children: row.text }) })
8030
8064
  ] }),
8031
- /* @__PURE__ */ jsx58("span", { className: "stn-alert-card__time", children: row.time })
8065
+ /* @__PURE__ */ jsx59("span", { className: "stn-alert-card__time", children: row.time })
8032
8066
  ] }) }) }, row.id ?? row.text)) }),
8033
- activeTab === "deploy" && /* @__PURE__ */ jsx58("ul", { className: "stn-alert-center__list", children: deployItems.map((row) => /* @__PURE__ */ jsx58("li", { children: /* @__PURE__ */ jsx58(StnCard, { variant: "elevated", radius: "md", padding: "md", interactive: true, className: "stn-alert-card", children: /* @__PURE__ */ jsxs47("div", { className: "stn-alert-card__row", children: [
8034
- /* @__PURE__ */ jsx58(StnIcon, { name: "line/settings", size: 24, color: "var(--stn-secondary)", className: "stn-alert-card__icon" }),
8067
+ activeTab === "deploy" && /* @__PURE__ */ jsx59("ul", { className: "stn-alert-center__list", children: deployItems.map((row) => /* @__PURE__ */ jsx59("li", { children: /* @__PURE__ */ jsx59(StnCard, { variant: "elevated", radius: "md", padding: "md", interactive: true, className: "stn-alert-card", children: /* @__PURE__ */ jsxs47("div", { className: "stn-alert-card__row", children: [
8068
+ /* @__PURE__ */ jsx59(StnIcon, { name: "line/settings", size: 24, color: "var(--stn-secondary)", className: "stn-alert-card__icon" }),
8035
8069
  /* @__PURE__ */ jsxs47("div", { className: "stn-alert-card__body", children: [
8036
- /* @__PURE__ */ jsx58("span", { className: "stn-alert-card__type-label stn-alert-card__type-label--deploy", children: row.typeLabel }),
8037
- /* @__PURE__ */ jsx58("span", { className: cn("stn-alert-card__desc", resolvedDescOverflow), title: row.text, children: /* @__PURE__ */ jsx58("span", { className: "stn-alert-card__text-inner", children: row.text }) })
8070
+ /* @__PURE__ */ jsx59("span", { className: "stn-alert-card__type-label stn-alert-card__type-label--deploy", children: row.typeLabel }),
8071
+ /* @__PURE__ */ jsx59("span", { className: cn("stn-alert-card__desc", resolvedDescOverflow), title: row.text, children: /* @__PURE__ */ jsx59("span", { className: "stn-alert-card__text-inner", children: row.text }) })
8038
8072
  ] }),
8039
- /* @__PURE__ */ jsx58("span", { className: "stn-alert-card__time", children: row.time })
8073
+ /* @__PURE__ */ jsx59("span", { className: "stn-alert-card__time", children: row.time })
8040
8074
  ] }) }) }, row.id ?? row.text)) })
8041
8075
  ]
8042
8076
  }
8043
8077
  ),
8044
- /* @__PURE__ */ jsx58("div", { className: "stn-alert-center__footer", children: /* @__PURE__ */ jsxs47(
8078
+ /* @__PURE__ */ jsx59("div", { className: "stn-alert-center__footer", children: /* @__PURE__ */ jsxs47(
8045
8079
  "button",
8046
8080
  {
8047
8081
  type: "button",
8048
8082
  className: "stn-alert-center__footer-link",
8049
8083
  onClick: onManageSettings,
8050
8084
  children: [
8051
- /* @__PURE__ */ jsx58("span", { children: "\uC54C\uB9BC \uC124\uC815 \uAD00\uB9AC" }),
8052
- /* @__PURE__ */ jsx58(StnIcon, { name: "line/settings", size: 14 }),
8053
- /* @__PURE__ */ jsx58(StnIcon, { name: "line/chevron-right", size: 14 })
8085
+ /* @__PURE__ */ jsx59("span", { children: "\uC54C\uB9BC \uC124\uC815 \uAD00\uB9AC" }),
8086
+ /* @__PURE__ */ jsx59(StnIcon, { name: "line/settings", size: 14 }),
8087
+ /* @__PURE__ */ jsx59(StnIcon, { name: "line/chevron-right", size: 14 })
8054
8088
  ]
8055
8089
  }
8056
8090
  ) })
@@ -8060,7 +8094,7 @@ function StnAlertCenterPanel({
8060
8094
  }
8061
8095
 
8062
8096
  // src/patterns/alertCenter/StnAlertCenterDocPreview.tsx
8063
- import { jsx as jsx59 } from "react/jsx-runtime";
8097
+ import { jsx as jsx60 } from "react/jsx-runtime";
8064
8098
  function StnAlertCenterDocPreview({
8065
8099
  mode = "light",
8066
8100
  theme,
@@ -8068,11 +8102,11 @@ function StnAlertCenterDocPreview({
8068
8102
  children,
8069
8103
  ...panelProps
8070
8104
  }) {
8071
- const panel = children ?? /* @__PURE__ */ jsx59(StnAlertCenterPanel, { ...panelProps });
8105
+ const panel = children ?? /* @__PURE__ */ jsx60(StnAlertCenterPanel, { ...panelProps });
8072
8106
  if (!withDocChrome) {
8073
- return /* @__PURE__ */ jsx59(StnProvider, { mode, theme, applyModeToDocument: false, children: panel });
8107
+ return /* @__PURE__ */ jsx60(StnProvider, { mode, theme, applyModeToDocument: false, children: panel });
8074
8108
  }
8075
- return /* @__PURE__ */ jsx59("div", { className: "stn-doc-frame stn-doc-frame--alert-center", "data-mode": mode, "data-theme": theme, children: /* @__PURE__ */ jsx59("div", { className: "stn-alert-center-preview-shell", children: panel }) });
8109
+ return /* @__PURE__ */ jsx60("div", { className: "stn-doc-frame stn-doc-frame--alert-center", "data-mode": mode, "data-theme": theme, children: /* @__PURE__ */ jsx60("div", { className: "stn-alert-center-preview-shell", children: panel }) });
8076
8110
  }
8077
8111
 
8078
8112
  // src/index.ts
@@ -8097,13 +8131,13 @@ var SideNavContext = createContext4({
8097
8131
  var useSideNav = () => useContext4(SideNavContext);
8098
8132
 
8099
8133
  // src/components/sideNav/StnSideNavItem.tsx
8100
- import { forwardRef as forwardRef32 } from "react";
8134
+ import { forwardRef as forwardRef33 } from "react";
8101
8135
  import { STN_NAV_MENU_SUB_ICON } from "@stn-uiux/pub-ui/data/stnSideNavItem";
8102
- import { jsx as jsx60, jsxs as jsxs48 } from "react/jsx-runtime";
8136
+ import { jsx as jsx61, jsxs as jsxs48 } from "react/jsx-runtime";
8103
8137
  function maskStyle2(src) {
8104
8138
  return { maskImage: `url('${src}')`, WebkitMaskImage: `url('${src}')` };
8105
8139
  }
8106
- var StnSideNavItem = forwardRef32(function StnSideNavItem2({
8140
+ var StnSideNavItem = forwardRef33(function StnSideNavItem2({
8107
8141
  label,
8108
8142
  id,
8109
8143
  iconSrc,
@@ -8147,12 +8181,12 @@ var StnSideNavItem = forwardRef32(function StnSideNavItem2({
8147
8181
  }
8148
8182
  };
8149
8183
  const iconElement = hasIcon && !isSub ? /* @__PURE__ */ jsxs48("span", { className: "stn-side-nav-item__icon-wrap", children: [
8150
- /* @__PURE__ */ jsx60("span", { className: "stn-side-nav-item__icon", "aria-hidden": "true", children: icon ?? (resolvedIconSrc ? /* @__PURE__ */ jsx60("span", { className: "stn-side-nav-item__icon-glyph", style: maskStyle2(resolvedIconSrc) }) : null) }),
8151
- showDot ? /* @__PURE__ */ jsx60("span", { className: "stn-side-nav-item__dot-wrap", "aria-hidden": "true", children: /* @__PURE__ */ jsx60(StnBadge, { variant: "dot", color: "error" }) }) : null
8184
+ /* @__PURE__ */ jsx61("span", { className: "stn-side-nav-item__icon", "aria-hidden": "true", children: icon ?? (resolvedIconSrc ? /* @__PURE__ */ jsx61("span", { className: "stn-side-nav-item__icon-glyph", style: maskStyle2(resolvedIconSrc) }) : null) }),
8185
+ showDot ? /* @__PURE__ */ jsx61("span", { className: "stn-side-nav-item__dot-wrap", "aria-hidden": "true", children: /* @__PURE__ */ jsx61(StnBadge, { variant: "dot", color: "error" }) }) : null
8152
8186
  ] }) : null;
8153
- const subIconElement = hasIcon && isSub ? /* @__PURE__ */ jsx60("span", { className: "stn-side-nav-item__sub-icon", "aria-hidden": "true", children: icon ?? (resolvedIconSrc ? /* @__PURE__ */ jsx60("span", { className: "stn-side-nav-item__icon-glyph", style: maskStyle2(resolvedIconSrc) }) : null) }) : null;
8187
+ const subIconElement = hasIcon && isSub ? /* @__PURE__ */ jsx61("span", { className: "stn-side-nav-item__sub-icon", "aria-hidden": "true", children: icon ?? (resolvedIconSrc ? /* @__PURE__ */ jsx61("span", { className: "stn-side-nav-item__icon-glyph", style: maskStyle2(resolvedIconSrc) }) : null) }) : null;
8154
8188
  const activeIconElement = isSub ? subIconElement : iconElement;
8155
- return /* @__PURE__ */ jsx60(
8189
+ return /* @__PURE__ */ jsx61(
8156
8190
  "button",
8157
8191
  {
8158
8192
  ref,
@@ -8173,8 +8207,8 @@ var StnSideNavItem = forwardRef32(function StnSideNavItem2({
8173
8207
  ...rest,
8174
8208
  children: /* @__PURE__ */ jsxs48("span", { className: cn("stn-side-nav-item__inner", spreadTrail && "spread"), children: [
8175
8209
  /* @__PURE__ */ jsxs48("span", { className: "stn-side-nav-item__lead", children: [
8176
- isSub && showSubIndent ? /* @__PURE__ */ jsx60("span", { className: "stn-side-nav-item__sub-indent", "aria-hidden": "true" }) : null,
8177
- shouldShowSubDot ? /* @__PURE__ */ jsx60(
8210
+ isSub && showSubIndent ? /* @__PURE__ */ jsx61("span", { className: "stn-side-nav-item__sub-indent", "aria-hidden": "true" }) : null,
8211
+ shouldShowSubDot ? /* @__PURE__ */ jsx61(
8178
8212
  "span",
8179
8213
  {
8180
8214
  className: cn(
@@ -8182,14 +8216,14 @@ var StnSideNavItem = forwardRef32(function StnSideNavItem2({
8182
8216
  hasIcon && iconPosition === "left" && "compact"
8183
8217
  ),
8184
8218
  "aria-hidden": "true",
8185
- children: /* @__PURE__ */ jsx60("span", { className: "stn-side-nav-item__sub-dot-glyph", style: maskStyle2(STN_NAV_MENU_SUB_ICON) })
8219
+ children: /* @__PURE__ */ jsx61("span", { className: "stn-side-nav-item__sub-dot-glyph", style: maskStyle2(STN_NAV_MENU_SUB_ICON) })
8186
8220
  }
8187
8221
  ) : null,
8188
8222
  iconPosition === "left" ? activeIconElement : null,
8189
- /* @__PURE__ */ jsx60("span", { className: "stn-side-nav-item__label", children: label })
8223
+ /* @__PURE__ */ jsx61("span", { className: "stn-side-nav-item__label", children: label })
8190
8224
  ] }),
8191
8225
  iconPosition === "right" ? activeIconElement : null,
8192
- renderBadge ? typeof badge === "string" || typeof badge === "number" ? /* @__PURE__ */ jsx60(
8226
+ renderBadge ? typeof badge === "string" || typeof badge === "number" ? /* @__PURE__ */ jsx61(
8193
8227
  StnBadge,
8194
8228
  {
8195
8229
  badgeContent: badge,
@@ -8197,7 +8231,7 @@ var StnSideNavItem = forwardRef32(function StnSideNavItem2({
8197
8231
  appearance: "subtle",
8198
8232
  className: "stn-side-nav-item__badge"
8199
8233
  }
8200
- ) : badge ? /* @__PURE__ */ jsx60("span", { className: "stn-side-nav-item__badge", children: badge }) : showBadgeDot ? /* @__PURE__ */ jsx60(
8234
+ ) : badge ? /* @__PURE__ */ jsx61("span", { className: "stn-side-nav-item__badge", children: badge }) : showBadgeDot ? /* @__PURE__ */ jsx61(
8201
8235
  StnBadge,
8202
8236
  {
8203
8237
  variant: "dot",
@@ -8205,7 +8239,7 @@ var StnSideNavItem = forwardRef32(function StnSideNavItem2({
8205
8239
  className: "stn-side-nav-item__badge"
8206
8240
  }
8207
8241
  ) : null : null,
8208
- !isSub && showChevron && !collapsed ? /* @__PURE__ */ jsx60(
8242
+ !isSub && showChevron && !collapsed ? /* @__PURE__ */ jsx61(
8209
8243
  "span",
8210
8244
  {
8211
8245
  className: cn(
@@ -8222,15 +8256,15 @@ var StnSideNavItem = forwardRef32(function StnSideNavItem2({
8222
8256
  });
8223
8257
 
8224
8258
  // src/components/sideNav/StnSideNavHeader.tsx
8225
- import { forwardRef as forwardRef34 } from "react";
8259
+ import { forwardRef as forwardRef35 } from "react";
8226
8260
 
8227
8261
  // src/components/sideNav/StnSideNavLogo.tsx
8228
- import { forwardRef as forwardRef33 } from "react";
8229
- import { jsx as jsx61 } from "react/jsx-runtime";
8230
- var StnSideNavLogo = forwardRef33(
8262
+ import { forwardRef as forwardRef34 } from "react";
8263
+ import { jsx as jsx62 } from "react/jsx-runtime";
8264
+ var StnSideNavLogo = forwardRef34(
8231
8265
  function StnSideNavLogo2({ className, logoProps, ...rest }, ref) {
8232
8266
  const { collapsed } = useSideNav();
8233
- return /* @__PURE__ */ jsx61(
8267
+ return /* @__PURE__ */ jsx62(
8234
8268
  "div",
8235
8269
  {
8236
8270
  ref,
@@ -8241,7 +8275,7 @@ var StnSideNavLogo = forwardRef33(
8241
8275
  ),
8242
8276
  title: "InfoMap",
8243
8277
  ...rest,
8244
- children: /* @__PURE__ */ jsx61(
8278
+ children: /* @__PURE__ */ jsx62(
8245
8279
  StnLogo,
8246
8280
  {
8247
8281
  variant: collapsed ? "onlyimg" : "horizontal",
@@ -8255,8 +8289,8 @@ var StnSideNavLogo = forwardRef33(
8255
8289
  );
8256
8290
 
8257
8291
  // src/components/sideNav/StnSideNavHeader.tsx
8258
- import { Fragment as Fragment7, jsx as jsx62, jsxs as jsxs49 } from "react/jsx-runtime";
8259
- var StnSideNavHeader = forwardRef34(function StnSideNavHeader2({
8292
+ import { Fragment as Fragment7, jsx as jsx63, jsxs as jsxs49 } from "react/jsx-runtime";
8293
+ var StnSideNavHeader = forwardRef35(function StnSideNavHeader2({
8260
8294
  children,
8261
8295
  border = false,
8262
8296
  hasBorder = false,
@@ -8268,7 +8302,7 @@ var StnSideNavHeader = forwardRef34(function StnSideNavHeader2({
8268
8302
  const { collapsed, onToggleCollapse, isDrawer, setMobileOpen } = useSideNav();
8269
8303
  const withBorder = Boolean(border || hasBorder);
8270
8304
  const shouldShowClose = showClose ?? Boolean(isDrawer);
8271
- return /* @__PURE__ */ jsx62(
8305
+ return /* @__PURE__ */ jsx63(
8272
8306
  "div",
8273
8307
  {
8274
8308
  ref,
@@ -8280,8 +8314,8 @@ var StnSideNavHeader = forwardRef34(function StnSideNavHeader2({
8280
8314
  ),
8281
8315
  ...rest,
8282
8316
  children: children ?? /* @__PURE__ */ jsxs49(Fragment7, { children: [
8283
- /* @__PURE__ */ jsx62(StnSideNavLogo, {}),
8284
- shouldShowClose ? /* @__PURE__ */ jsx62(
8317
+ /* @__PURE__ */ jsx63(StnSideNavLogo, {}),
8318
+ shouldShowClose ? /* @__PURE__ */ jsx63(
8285
8319
  StnButton,
8286
8320
  {
8287
8321
  size: "sm",
@@ -8293,7 +8327,7 @@ var StnSideNavHeader = forwardRef34(function StnSideNavHeader2({
8293
8327
  className: "stn-side-nav__collapse-btn",
8294
8328
  onClick: () => setMobileOpen?.(false)
8295
8329
  }
8296
- ) : showToggle ? /* @__PURE__ */ jsx62(
8330
+ ) : showToggle ? /* @__PURE__ */ jsx63(
8297
8331
  StnButton,
8298
8332
  {
8299
8333
  size: "sm",
@@ -8312,16 +8346,16 @@ var StnSideNavHeader = forwardRef34(function StnSideNavHeader2({
8312
8346
  });
8313
8347
 
8314
8348
  // src/components/sideNav/StnSideNavMenu.tsx
8315
- import { forwardRef as forwardRef35 } from "react";
8316
- import { jsx as jsx63 } from "react/jsx-runtime";
8317
- var StnSideNavMenu = forwardRef35(function StnSideNavMenu2({
8349
+ import { forwardRef as forwardRef36 } from "react";
8350
+ import { jsx as jsx64 } from "react/jsx-runtime";
8351
+ var StnSideNavMenu = forwardRef36(function StnSideNavMenu2({
8318
8352
  children,
8319
8353
  className,
8320
8354
  scrollSize = "thin",
8321
8355
  scrollColor = "fade",
8322
8356
  ...rest
8323
8357
  }, ref) {
8324
- return /* @__PURE__ */ jsx63(
8358
+ return /* @__PURE__ */ jsx64(
8325
8359
  "nav",
8326
8360
  {
8327
8361
  ref,
@@ -8342,13 +8376,13 @@ var StnSideNavMenu = forwardRef35(function StnSideNavMenu2({
8342
8376
 
8343
8377
  // src/components/sideNav/StnSideNavGroup.tsx
8344
8378
  import {
8345
- forwardRef as forwardRef36,
8379
+ forwardRef as forwardRef37,
8346
8380
  useEffect as useEffect12,
8347
8381
  useRef as useRef8,
8348
8382
  useState as useState17
8349
8383
  } from "react";
8350
- import { jsx as jsx64, jsxs as jsxs50 } from "react/jsx-runtime";
8351
- var StnSideNavGroup = forwardRef36(function StnSideNavGroup2({
8384
+ import { jsx as jsx65, jsxs as jsxs50 } from "react/jsx-runtime";
8385
+ var StnSideNavGroup = forwardRef37(function StnSideNavGroup2({
8352
8386
  label,
8353
8387
  parent,
8354
8388
  direction = "down",
@@ -8392,7 +8426,7 @@ var StnSideNavGroup = forwardRef36(function StnSideNavGroup2({
8392
8426
  }
8393
8427
  onOpenChange?.(next);
8394
8428
  };
8395
- const subnavNode = children && (!collapsed && isOpen) ? /* @__PURE__ */ jsx64(
8429
+ const subnavNode = children && (!collapsed && isOpen) ? /* @__PURE__ */ jsx65(
8396
8430
  "div",
8397
8431
  {
8398
8432
  className: cn(
@@ -8428,7 +8462,7 @@ var StnSideNavGroup = forwardRef36(function StnSideNavGroup2({
8428
8462
  "aria-label": typeof label === "string" ? label : void 0,
8429
8463
  ...rest,
8430
8464
  children: [
8431
- label && !collapsed ? /* @__PURE__ */ jsx64("span", { className: "stn-side-nav__group-label", onClick: handleToggle, children: label }) : null,
8465
+ label && !collapsed ? /* @__PURE__ */ jsx65("span", { className: "stn-side-nav__group-label", onClick: handleToggle, children: label }) : null,
8432
8466
  isUp ? subnavNode : null,
8433
8467
  parent,
8434
8468
  !isUp ? subnavNode : null
@@ -8438,10 +8472,10 @@ var StnSideNavGroup = forwardRef36(function StnSideNavGroup2({
8438
8472
  });
8439
8473
 
8440
8474
  // src/components/sideNav/StnSideNavSpacer.tsx
8441
- import { forwardRef as forwardRef37 } from "react";
8442
- import { jsx as jsx65 } from "react/jsx-runtime";
8443
- var StnSideNavSpacer = forwardRef37(function StnSideNavSpacer2({ className, style, ...rest }, ref) {
8444
- return /* @__PURE__ */ jsx65(
8475
+ import { forwardRef as forwardRef38 } from "react";
8476
+ import { jsx as jsx66 } from "react/jsx-runtime";
8477
+ var StnSideNavSpacer = forwardRef38(function StnSideNavSpacer2({ className, style, ...rest }, ref) {
8478
+ return /* @__PURE__ */ jsx66(
8445
8479
  "div",
8446
8480
  {
8447
8481
  ref,
@@ -8454,10 +8488,10 @@ var StnSideNavSpacer = forwardRef37(function StnSideNavSpacer2({ className, styl
8454
8488
  });
8455
8489
 
8456
8490
  // src/components/sideNav/StnSideNavFooter.tsx
8457
- import { forwardRef as forwardRef38 } from "react";
8458
- import { jsx as jsx66 } from "react/jsx-runtime";
8459
- var StnSideNavFooter = forwardRef38(function StnSideNavFooter2({ curved = false, children, className, ...rest }, ref) {
8460
- return /* @__PURE__ */ jsx66(
8491
+ import { forwardRef as forwardRef39 } from "react";
8492
+ import { jsx as jsx67 } from "react/jsx-runtime";
8493
+ var StnSideNavFooter = forwardRef39(function StnSideNavFooter2({ curved = false, children, className, ...rest }, ref) {
8494
+ return /* @__PURE__ */ jsx67(
8461
8495
  "nav",
8462
8496
  {
8463
8497
  ref,
@@ -8470,12 +8504,12 @@ var StnSideNavFooter = forwardRef38(function StnSideNavFooter2({ curved = false,
8470
8504
  });
8471
8505
 
8472
8506
  // src/components/sideNav/StnSideNavToggle.tsx
8473
- import { forwardRef as forwardRef39 } from "react";
8474
- import { jsx as jsx67 } from "react/jsx-runtime";
8475
- var StnSideNavToggle = forwardRef39(
8507
+ import { forwardRef as forwardRef40 } from "react";
8508
+ import { jsx as jsx68 } from "react/jsx-runtime";
8509
+ var StnSideNavToggle = forwardRef40(
8476
8510
  function StnSideNavToggle2({ className, onClick, ...rest }, ref) {
8477
8511
  const { collapsed, onToggleCollapse } = useSideNav();
8478
- return /* @__PURE__ */ jsx67(
8512
+ return /* @__PURE__ */ jsx68(
8479
8513
  "button",
8480
8514
  {
8481
8515
  ref,
@@ -8488,7 +8522,7 @@ var StnSideNavToggle = forwardRef39(
8488
8522
  "aria-label": collapsed ? "\uC0AC\uC774\uB4DC\uBC14 \uD3BC\uCE58\uAE30" : "\uC0AC\uC774\uB4DC\uBC14 \uC811\uAE30",
8489
8523
  title: collapsed ? "\uC0AC\uC774\uB4DC\uBC14 \uD3BC\uCE58\uAE30" : "\uC0AC\uC774\uB4DC\uBC14 \uC811\uAE30",
8490
8524
  ...rest,
8491
- children: /* @__PURE__ */ jsx67(
8525
+ children: /* @__PURE__ */ jsx68(
8492
8526
  "svg",
8493
8527
  {
8494
8528
  width: "12",
@@ -8499,7 +8533,7 @@ var StnSideNavToggle = forwardRef39(
8499
8533
  strokeWidth: "2.5",
8500
8534
  strokeLinecap: "round",
8501
8535
  strokeLinejoin: "round",
8502
- children: /* @__PURE__ */ jsx67("path", { d: "M9 18l6-6-6-6" })
8536
+ children: /* @__PURE__ */ jsx68("path", { d: "M9 18l6-6-6-6" })
8503
8537
  }
8504
8538
  )
8505
8539
  }
@@ -8508,27 +8542,27 @@ var StnSideNavToggle = forwardRef39(
8508
8542
  );
8509
8543
 
8510
8544
  // src/components/sideNav/StnSideNavWatermark.tsx
8511
- import { forwardRef as forwardRef40 } from "react";
8512
- import { jsx as jsx68 } from "react/jsx-runtime";
8513
- var StnSideNavWatermark = forwardRef40(
8545
+ import { forwardRef as forwardRef41 } from "react";
8546
+ import { jsx as jsx69 } from "react/jsx-runtime";
8547
+ var StnSideNavWatermark = forwardRef41(
8514
8548
  function StnSideNavWatermark2({ size = "xl", mode, theme, className, ...rest }, ref) {
8515
- return /* @__PURE__ */ jsx68(
8549
+ return /* @__PURE__ */ jsx69(
8516
8550
  "div",
8517
8551
  {
8518
8552
  ref,
8519
8553
  className: cn("stn-side-nav__watermark", className),
8520
8554
  "aria-hidden": "true",
8521
8555
  ...rest,
8522
- children: /* @__PURE__ */ jsx68(StnLogo, { variant: "watermark", size, mode: mode ?? theme })
8556
+ children: /* @__PURE__ */ jsx69(StnLogo, { variant: "watermark", size, mode: mode ?? theme })
8523
8557
  }
8524
8558
  );
8525
8559
  }
8526
8560
  );
8527
8561
 
8528
8562
  // src/components/sideNav/StnSideNavMobileTrigger.tsx
8529
- import { forwardRef as forwardRef41, useEffect as useEffect13, useState as useState18 } from "react";
8530
- import { jsx as jsx69, jsxs as jsxs51 } from "react/jsx-runtime";
8531
- var StnSideNavMobileTrigger = forwardRef41(
8563
+ import { forwardRef as forwardRef42, useEffect as useEffect13, useState as useState18 } from "react";
8564
+ import { jsx as jsx70, jsxs as jsxs51 } from "react/jsx-runtime";
8565
+ var StnSideNavMobileTrigger = forwardRef42(
8532
8566
  function StnSideNavMobileTrigger2({ floating = false, className, children, onClick, ...rest }, ref) {
8533
8567
  const { onToggleMobileOpen, mobileOpen: contextMobileOpen } = useSideNav();
8534
8568
  const [fallbackMobileOpen, setFallbackMobileOpen] = useState18(false);
@@ -8546,7 +8580,7 @@ var StnSideNavMobileTrigger = forwardRef41(
8546
8580
  };
8547
8581
  }, [onToggleMobileOpen]);
8548
8582
  const isMobileOpen = onToggleMobileOpen ? contextMobileOpen : fallbackMobileOpen;
8549
- return /* @__PURE__ */ jsx69(
8583
+ return /* @__PURE__ */ jsx70(
8550
8584
  "button",
8551
8585
  {
8552
8586
  ref,
@@ -8569,9 +8603,9 @@ var StnSideNavMobileTrigger = forwardRef41(
8569
8603
  },
8570
8604
  ...rest,
8571
8605
  children: children ?? /* @__PURE__ */ jsxs51("span", { className: "stn-side-nav__hamburger-bars", "aria-hidden": "true", children: [
8572
- /* @__PURE__ */ jsx69("span", {}),
8573
- /* @__PURE__ */ jsx69("span", {}),
8574
- /* @__PURE__ */ jsx69("span", {})
8606
+ /* @__PURE__ */ jsx70("span", {}),
8607
+ /* @__PURE__ */ jsx70("span", {}),
8608
+ /* @__PURE__ */ jsx70("span", {})
8575
8609
  ] })
8576
8610
  }
8577
8611
  );
@@ -8580,12 +8614,12 @@ var StnSideNavMobileTrigger = forwardRef41(
8580
8614
 
8581
8615
  // src/components/sideNav/StnSideNavSub.tsx
8582
8616
  import {
8583
- forwardRef as forwardRef42
8617
+ forwardRef as forwardRef43
8584
8618
  } from "react";
8585
- import { jsx as jsx70 } from "react/jsx-runtime";
8586
- var StnSideNavSub = forwardRef42(
8619
+ import { jsx as jsx71 } from "react/jsx-runtime";
8620
+ var StnSideNavSub = forwardRef43(
8587
8621
  function StnSideNavSub2({ children, className, ...rest }, ref) {
8588
- return /* @__PURE__ */ jsx70(
8622
+ return /* @__PURE__ */ jsx71(
8589
8623
  "div",
8590
8624
  {
8591
8625
  ref,
@@ -8598,7 +8632,7 @@ var StnSideNavSub = forwardRef42(
8598
8632
  );
8599
8633
  }
8600
8634
  );
8601
- var StnSideNavSubItem = forwardRef42(
8635
+ var StnSideNavSubItem = forwardRef43(
8602
8636
  function StnSideNavSubItem2({
8603
8637
  variant = "ghost",
8604
8638
  size = "md",
@@ -8614,14 +8648,14 @@ var StnSideNavSubItem = forwardRef42(
8614
8648
  const { collapsed } = useSideNav();
8615
8649
  const content = children ?? label;
8616
8650
  const computedTitle = title ?? (typeof content === "string" ? content : void 0);
8617
- const resolvedIcon = icon ?? (iconSrc ? /* @__PURE__ */ jsx70("span", { className: "stn-side-nav__sub-icon", children: /* @__PURE__ */ jsx70(
8651
+ const resolvedIcon = icon ?? (iconSrc ? /* @__PURE__ */ jsx71("span", { className: "stn-side-nav__sub-icon", children: /* @__PURE__ */ jsx71(
8618
8652
  "span",
8619
8653
  {
8620
8654
  className: "stn-side-nav__sub-glyph",
8621
8655
  style: { maskImage: `url('${iconSrc}')`, WebkitMaskImage: `url('${iconSrc}')` }
8622
8656
  }
8623
8657
  ) }) : null);
8624
- return /* @__PURE__ */ jsx70(
8658
+ return /* @__PURE__ */ jsx71(
8625
8659
  StnButton,
8626
8660
  {
8627
8661
  ref,
@@ -8640,9 +8674,9 @@ var StnSideNavSubItem = forwardRef42(
8640
8674
  );
8641
8675
 
8642
8676
  // src/components/sideNav/StnSideNavSubNav.tsx
8643
- import { forwardRef as forwardRef43 } from "react";
8644
- import { jsx as jsx71 } from "react/jsx-runtime";
8645
- var StnSideNavSubNav = forwardRef43(
8677
+ import { forwardRef as forwardRef44 } from "react";
8678
+ import { jsx as jsx72 } from "react/jsx-runtime";
8679
+ var StnSideNavSubNav = forwardRef44(
8646
8680
  function StnSideNavSubNav2({
8647
8681
  dropdown = false,
8648
8682
  direction = "down",
@@ -8654,7 +8688,7 @@ var StnSideNavSubNav = forwardRef43(
8654
8688
  }, ref) {
8655
8689
  const isUp = direction === "up";
8656
8690
  const isTransparent = variant === "transparent" || background === false;
8657
- return /* @__PURE__ */ jsx71(
8691
+ return /* @__PURE__ */ jsx72(
8658
8692
  "div",
8659
8693
  {
8660
8694
  ref,
@@ -8677,13 +8711,13 @@ var StnSideNavSubNav = forwardRef43(
8677
8711
 
8678
8712
  // src/patterns/sideNav/StnSideNavigation.tsx
8679
8713
  import {
8680
- forwardRef as forwardRef44,
8714
+ forwardRef as forwardRef45,
8681
8715
  useCallback as useCallback9,
8682
8716
  useEffect as useEffect14,
8683
8717
  useMemo as useMemo4,
8684
8718
  useState as useState19
8685
8719
  } from "react";
8686
- import { jsx as jsx72, jsxs as jsxs52 } from "react/jsx-runtime";
8720
+ import { jsx as jsx73, jsxs as jsxs52 } from "react/jsx-runtime";
8687
8721
  function useControllableState(controlledValue, defaultValue, onChange) {
8688
8722
  const [internalState, setInternalState] = useState19(defaultValue);
8689
8723
  const isControlled = controlledValue !== void 0;
@@ -8699,7 +8733,7 @@ function useControllableState(controlledValue, defaultValue, onChange) {
8699
8733
  );
8700
8734
  return [value, setValue];
8701
8735
  }
8702
- var StnSideNavigationRoot = forwardRef44(function StnSideNavigationRoot2({
8736
+ var StnSideNavigationRoot = forwardRef45(function StnSideNavigationRoot2({
8703
8737
  variant: variantProp,
8704
8738
  appearance,
8705
8739
  drawerVariant: drawerVariantProp,
@@ -8777,8 +8811,8 @@ var StnSideNavigationRoot = forwardRef44(function StnSideNavigationRoot2({
8777
8811
  [isEffectiveCollapsed, activeId, setActiveId, handleToggleCollapse, mobileOpen, handleToggleMobileOpen, setMobileOpen, isDrawerMode]
8778
8812
  );
8779
8813
  return /* @__PURE__ */ jsxs52(SideNavContext.Provider, { value: contextValue, children: [
8780
- showMobileTrigger && /* @__PURE__ */ jsx72(StnSideNavMobileTrigger, { floating: true }),
8781
- (drawer || responsiveDrawer) && /* @__PURE__ */ jsx72(
8814
+ showMobileTrigger && /* @__PURE__ */ jsx73(StnSideNavMobileTrigger, { floating: true }),
8815
+ (drawer || responsiveDrawer) && /* @__PURE__ */ jsx73(
8782
8816
  "div",
8783
8817
  {
8784
8818
  className: cn("stn-side-nav__backdrop", mobileOpen && "is-open"),
@@ -8786,7 +8820,7 @@ var StnSideNavigationRoot = forwardRef44(function StnSideNavigationRoot2({
8786
8820
  "aria-hidden": !mobileOpen
8787
8821
  }
8788
8822
  ),
8789
- /* @__PURE__ */ jsx72(
8823
+ /* @__PURE__ */ jsx73(
8790
8824
  "aside",
8791
8825
  {
8792
8826
  ref,
@@ -8835,7 +8869,7 @@ import {
8835
8869
  import {
8836
8870
  STN_BREADCRUMB_ICON_SRC
8837
8871
  } from "@stn-uiux/pub-ui/data/stnBreadcrumb";
8838
- import { Fragment as Fragment9, jsx as jsx73, jsxs as jsxs53 } from "react/jsx-runtime";
8872
+ import { Fragment as Fragment9, jsx as jsx74, jsxs as jsxs53 } from "react/jsx-runtime";
8839
8873
  function maskStyle3(src) {
8840
8874
  return { maskImage: `url('${src}')`, WebkitMaskImage: `url('${src}')` };
8841
8875
  }
@@ -8848,13 +8882,13 @@ function hasSegmentMenu(item) {
8848
8882
  return Boolean(item.menu || item.menuItems && item.menuItems.length > 0);
8849
8883
  }
8850
8884
  function BreadcrumbSeparator() {
8851
- return /* @__PURE__ */ jsx73("li", { className: "separator", "aria-hidden": "true", children: /* @__PURE__ */ jsx73("span", { style: maskStyle3(STN_BREADCRUMB_ICON_SRC.separator) }) });
8885
+ return /* @__PURE__ */ jsx74("li", { className: "separator", "aria-hidden": "true", children: /* @__PURE__ */ jsx74("span", { style: maskStyle3(STN_BREADCRUMB_ICON_SRC.separator) }) });
8852
8886
  }
8853
8887
  function BreadcrumbIcon({ src }) {
8854
- return /* @__PURE__ */ jsx73("span", { className: "stn-breadcrumb__icon-glyph", style: maskStyle3(src), "aria-hidden": "true" });
8888
+ return /* @__PURE__ */ jsx74("span", { className: "stn-breadcrumb__icon-glyph", style: maskStyle3(src), "aria-hidden": "true" });
8855
8889
  }
8856
8890
  function BreadcrumbCaret() {
8857
- return /* @__PURE__ */ jsx73(
8891
+ return /* @__PURE__ */ jsx74(
8858
8892
  "span",
8859
8893
  {
8860
8894
  className: "stn-breadcrumb__caret",
@@ -8869,9 +8903,9 @@ function SegmentContent({
8869
8903
  menu
8870
8904
  }) {
8871
8905
  return /* @__PURE__ */ jsxs53(Fragment9, { children: [
8872
- iconSrc ? /* @__PURE__ */ jsx73(BreadcrumbIcon, { src: iconSrc }) : null,
8873
- /* @__PURE__ */ jsx73("span", { className: "stn-breadcrumb__label", children: label }),
8874
- menu ? /* @__PURE__ */ jsx73(BreadcrumbCaret, {}) : null
8906
+ iconSrc ? /* @__PURE__ */ jsx74(BreadcrumbIcon, { src: iconSrc }) : null,
8907
+ /* @__PURE__ */ jsx74("span", { className: "stn-breadcrumb__label", children: label }),
8908
+ menu ? /* @__PURE__ */ jsx74(BreadcrumbCaret, {}) : null
8875
8909
  ] });
8876
8910
  }
8877
8911
  function BreadcrumbMenuList({
@@ -8879,7 +8913,7 @@ function BreadcrumbMenuList({
8879
8913
  items,
8880
8914
  onPick
8881
8915
  }) {
8882
- return /* @__PURE__ */ jsx73("ul", { id, className: "stn-breadcrumb__menu", role: "menu", children: items.map((option) => /* @__PURE__ */ jsx73("li", { role: "none", children: option.href ? /* @__PURE__ */ jsx73(
8916
+ return /* @__PURE__ */ jsx74("ul", { id, className: "stn-breadcrumb__menu", role: "menu", children: items.map((option) => /* @__PURE__ */ jsx74("li", { role: "none", children: option.href ? /* @__PURE__ */ jsx74(
8883
8917
  "a",
8884
8918
  {
8885
8919
  role: "menuitem",
@@ -8891,7 +8925,7 @@ function BreadcrumbMenuList({
8891
8925
  },
8892
8926
  children: option.label
8893
8927
  }
8894
- ) : /* @__PURE__ */ jsx73(
8928
+ ) : /* @__PURE__ */ jsx74(
8895
8929
  "button",
8896
8930
  {
8897
8931
  type: "button",
@@ -8935,13 +8969,13 @@ function BreadcrumbSegment({
8935
8969
  const canOpenMenu = showMenu && menuItems.length > 0;
8936
8970
  const rootRef = useDismissibleMenu(open, () => setOpen(false));
8937
8971
  const iconSrc = resolveIconSrc(item);
8938
- const content = /* @__PURE__ */ jsx73(SegmentContent, { iconSrc, label: item.label, menu: showMenu });
8972
+ const content = /* @__PURE__ */ jsx74(SegmentContent, { iconSrc, label: item.label, menu: showMenu });
8939
8973
  if (isCurrent) {
8940
- return /* @__PURE__ */ jsx73("span", { className: "stn-breadcrumb__segment", "aria-current": "page", "aria-label": item.label, children: content });
8974
+ return /* @__PURE__ */ jsx74("span", { className: "stn-breadcrumb__segment", "aria-current": "page", "aria-label": item.label, children: content });
8941
8975
  }
8942
8976
  if (canOpenMenu) {
8943
8977
  return /* @__PURE__ */ jsxs53("span", { ref: rootRef, className: "stn-breadcrumb__segment-wrap", children: [
8944
- /* @__PURE__ */ jsx73(
8978
+ /* @__PURE__ */ jsx74(
8945
8979
  "button",
8946
8980
  {
8947
8981
  type: "button",
@@ -8957,7 +8991,7 @@ function BreadcrumbSegment({
8957
8991
  children: content
8958
8992
  }
8959
8993
  ),
8960
- open ? /* @__PURE__ */ jsx73(BreadcrumbMenuList, { id: menuId, items: menuItems, onPick: () => setOpen(false) }) : null
8994
+ open ? /* @__PURE__ */ jsx74(BreadcrumbMenuList, { id: menuId, items: menuItems, onPick: () => setOpen(false) }) : null
8961
8995
  ] });
8962
8996
  }
8963
8997
  if (item.menu || item.onClick) {
@@ -8969,7 +9003,7 @@ function BreadcrumbSegment({
8969
9003
  "aria-haspopup": item.menu ? "menu" : void 0,
8970
9004
  "aria-expanded": item.menu ? false : void 0
8971
9005
  };
8972
- return /* @__PURE__ */ jsx73("button", { ...buttonProps, children: content });
9006
+ return /* @__PURE__ */ jsx74("button", { ...buttonProps, children: content });
8973
9007
  }
8974
9008
  if (item.href) {
8975
9009
  const linkProps = {
@@ -8978,9 +9012,9 @@ function BreadcrumbSegment({
8978
9012
  onClick: item.onClick,
8979
9013
  "aria-label": item.label
8980
9014
  };
8981
- return /* @__PURE__ */ jsx73("a", { ...linkProps, children: content });
9015
+ return /* @__PURE__ */ jsx74("a", { ...linkProps, children: content });
8982
9016
  }
8983
- return /* @__PURE__ */ jsx73("span", { className: "stn-breadcrumb__segment", "aria-label": item.label, children: content });
9017
+ return /* @__PURE__ */ jsx74("span", { className: "stn-breadcrumb__segment", "aria-label": item.label, children: content });
8984
9018
  }
8985
9019
  function BreadcrumbBack({
8986
9020
  label,
@@ -8988,7 +9022,7 @@ function BreadcrumbBack({
8988
9022
  onClick
8989
9023
  }) {
8990
9024
  const content = /* @__PURE__ */ jsxs53(Fragment9, { children: [
8991
- /* @__PURE__ */ jsx73(
9025
+ /* @__PURE__ */ jsx74(
8992
9026
  "span",
8993
9027
  {
8994
9028
  className: "stn-breadcrumb__back-glyph",
@@ -8996,12 +9030,12 @@ function BreadcrumbBack({
8996
9030
  "aria-hidden": "true"
8997
9031
  }
8998
9032
  ),
8999
- /* @__PURE__ */ jsx73("span", { className: "stn-breadcrumb__label", children: label })
9033
+ /* @__PURE__ */ jsx74("span", { className: "stn-breadcrumb__label", children: label })
9000
9034
  ] });
9001
9035
  if (href) {
9002
- return /* @__PURE__ */ jsx73("a", { className: "stn-breadcrumb__back", href, onClick, "aria-label": `\uB4A4\uB85C: ${label}`, children: content });
9036
+ return /* @__PURE__ */ jsx74("a", { className: "stn-breadcrumb__back", href, onClick, "aria-label": `\uB4A4\uB85C: ${label}`, children: content });
9003
9037
  }
9004
- return /* @__PURE__ */ jsx73("button", { type: "button", className: "stn-breadcrumb__back", onClick, "aria-label": `\uB4A4\uB85C: ${label}`, children: content });
9038
+ return /* @__PURE__ */ jsx74("button", { type: "button", className: "stn-breadcrumb__back", onClick, "aria-label": `\uB4A4\uB85C: ${label}`, children: content });
9005
9039
  }
9006
9040
  function splitCollapsedItems(items, maxItems, itemsBeforeCollapse, itemsAfterCollapse) {
9007
9041
  if (!maxItems || items.length <= maxItems) {
@@ -9033,7 +9067,7 @@ function BreadcrumbCollapsed({
9033
9067
  current: item.current
9034
9068
  }));
9035
9069
  return /* @__PURE__ */ jsxs53("li", { className: "stn-breadcrumb__item", ref: rootRef, children: [
9036
- /* @__PURE__ */ jsx73(
9070
+ /* @__PURE__ */ jsx74(
9037
9071
  "button",
9038
9072
  {
9039
9073
  type: "button",
@@ -9046,7 +9080,7 @@ function BreadcrumbCollapsed({
9046
9080
  children: "\u22EF"
9047
9081
  }
9048
9082
  ),
9049
- open ? /* @__PURE__ */ jsx73(BreadcrumbMenuList, { id: menuId, items: menuItems, onPick: () => setOpen(false) }) : null
9083
+ open ? /* @__PURE__ */ jsx74(BreadcrumbMenuList, { id: menuId, items: menuItems, onPick: () => setOpen(false) }) : null
9050
9084
  ] });
9051
9085
  }
9052
9086
  function StnBreadcrumb({
@@ -9078,8 +9112,8 @@ function StnBreadcrumb({
9078
9112
  const lastId = items[items.length - 1]?.id;
9079
9113
  const renderTrailItem = (item) => {
9080
9114
  const isCurrent = Boolean(item.current) || item.id === lastId;
9081
- const segment = /* @__PURE__ */ jsx73(BreadcrumbSegment, { item, isCurrent });
9082
- return /* @__PURE__ */ jsx73(
9115
+ const segment = /* @__PURE__ */ jsx74(BreadcrumbSegment, { item, isCurrent });
9116
+ return /* @__PURE__ */ jsx74(
9083
9117
  "li",
9084
9118
  {
9085
9119
  className: cn(
@@ -9090,27 +9124,27 @@ function StnBreadcrumb({
9090
9124
  }
9091
9125
  );
9092
9126
  };
9093
- return /* @__PURE__ */ jsx73(
9127
+ return /* @__PURE__ */ jsx74(
9094
9128
  "nav",
9095
9129
  {
9096
9130
  className: cn("stn-breadcrumb", size, variant === "chip" && "chip", className),
9097
9131
  "aria-label": "Breadcrumb",
9098
9132
  children: /* @__PURE__ */ jsxs53("ol", { className: "stn-breadcrumb__list", children: [
9099
- currentItem ? /* @__PURE__ */ jsx73("li", { className: "stn-breadcrumb__item stn-breadcrumb__item--back", children: /* @__PURE__ */ jsx73(BreadcrumbBack, { label: currentItem.label, href: backHref, onClick: backOnClick }) }) : null,
9100
- showHome ? /* @__PURE__ */ jsx73("li", { className: "stn-breadcrumb__item stn-breadcrumb__item--home", children: /* @__PURE__ */ jsxs53("a", { className: "stn-breadcrumb__home", href: homeHref, onClick: onHomeClick, children: [
9101
- /* @__PURE__ */ jsx73(BreadcrumbIcon, { src: STN_BREADCRUMB_ICON_SRC.home }),
9102
- /* @__PURE__ */ jsx73("span", { className: "blind", children: homeLabel })
9133
+ currentItem ? /* @__PURE__ */ jsx74("li", { className: "stn-breadcrumb__item stn-breadcrumb__item--back", children: /* @__PURE__ */ jsx74(BreadcrumbBack, { label: currentItem.label, href: backHref, onClick: backOnClick }) }) : null,
9134
+ showHome ? /* @__PURE__ */ jsx74("li", { className: "stn-breadcrumb__item stn-breadcrumb__item--home", children: /* @__PURE__ */ jsxs53("a", { className: "stn-breadcrumb__home", href: homeHref, onClick: onHomeClick, children: [
9135
+ /* @__PURE__ */ jsx74(BreadcrumbIcon, { src: STN_BREADCRUMB_ICON_SRC.home }),
9136
+ /* @__PURE__ */ jsx74("span", { className: "blind", children: homeLabel })
9103
9137
  ] }) }) : null,
9104
9138
  head.map((item, index) => /* @__PURE__ */ jsxs53(Fragment8, { children: [
9105
- showHome || index > 0 ? /* @__PURE__ */ jsx73(BreadcrumbSeparator, {}) : null,
9139
+ showHome || index > 0 ? /* @__PURE__ */ jsx74(BreadcrumbSeparator, {}) : null,
9106
9140
  renderTrailItem(item)
9107
9141
  ] }, item.id)),
9108
9142
  hidden.length > 0 ? /* @__PURE__ */ jsxs53(Fragment9, { children: [
9109
- /* @__PURE__ */ jsx73(BreadcrumbSeparator, {}),
9110
- /* @__PURE__ */ jsx73(BreadcrumbCollapsed, { items: hidden, menuId })
9143
+ /* @__PURE__ */ jsx74(BreadcrumbSeparator, {}),
9144
+ /* @__PURE__ */ jsx74(BreadcrumbCollapsed, { items: hidden, menuId })
9111
9145
  ] }) : null,
9112
9146
  tail.map((item) => /* @__PURE__ */ jsxs53(Fragment8, { children: [
9113
- /* @__PURE__ */ jsx73(BreadcrumbSeparator, {}),
9147
+ /* @__PURE__ */ jsx74(BreadcrumbSeparator, {}),
9114
9148
  renderTrailItem(item)
9115
9149
  ] }, item.id))
9116
9150
  ] })
@@ -9121,7 +9155,7 @@ function StnBreadcrumb({
9121
9155
  // src/components/StnHeaderTitle.tsx
9122
9156
  import { useEffect as useEffect16, useState as useState21 } from "react";
9123
9157
  import { STN_HEADER_TITLE_FRAME } from "@stn-uiux/pub-ui/data/stnHeaderTitle";
9124
- import { jsx as jsx74, jsxs as jsxs54 } from "react/jsx-runtime";
9158
+ import { jsx as jsx75, jsxs as jsxs54 } from "react/jsx-runtime";
9125
9159
  var KO_WEEKDAY_SHORT = ["\uC77C", "\uC6D4", "\uD654", "\uC218", "\uBAA9", "\uAE08", "\uD1A0"];
9126
9160
  var KO_WEEKDAY_LONG = [
9127
9161
  "\uC77C\uC694\uC77C",
@@ -9161,7 +9195,7 @@ function formatStnHeaderTitleTime(date, options) {
9161
9195
  function HeaderTitleFrame({ preview = false }) {
9162
9196
  const frameClass = preview ? "stn-header-title__frame-preview" : "stn-header-title__frame";
9163
9197
  return /* @__PURE__ */ jsxs54("div", { className: frameClass, "aria-hidden": "true", children: [
9164
- /* @__PURE__ */ jsx74("div", { className: "stn-header-title__frame-bleed stn-header-title__frame-bleed--outer", children: /* @__PURE__ */ jsx74(
9198
+ /* @__PURE__ */ jsx75("div", { className: "stn-header-title__frame-bleed stn-header-title__frame-bleed--outer", children: /* @__PURE__ */ jsx75(
9165
9199
  "img",
9166
9200
  {
9167
9201
  className: "stn-header-title__frame-img",
@@ -9171,7 +9205,7 @@ function HeaderTitleFrame({ preview = false }) {
9171
9205
  }
9172
9206
  ) }),
9173
9207
  /* @__PURE__ */ jsxs54("div", { className: "stn-header-title__frame-bleed stn-header-title__frame-bleed--inner", children: [
9174
- /* @__PURE__ */ jsx74(
9208
+ /* @__PURE__ */ jsx75(
9175
9209
  "img",
9176
9210
  {
9177
9211
  className: "stn-header-title__frame-img stn-header-title__frame-img--dark",
@@ -9180,7 +9214,7 @@ function HeaderTitleFrame({ preview = false }) {
9180
9214
  draggable: false
9181
9215
  }
9182
9216
  ),
9183
- /* @__PURE__ */ jsx74(
9217
+ /* @__PURE__ */ jsx75(
9184
9218
  "img",
9185
9219
  {
9186
9220
  className: "stn-header-title__frame-img stn-header-title__frame-img--light",
@@ -9193,7 +9227,7 @@ function HeaderTitleFrame({ preview = false }) {
9193
9227
  ] });
9194
9228
  }
9195
9229
  function StnHeaderTitleFramePreview({ className }) {
9196
- return /* @__PURE__ */ jsx74("div", { className: cn("stn-header-title__frame-only", className), children: /* @__PURE__ */ jsx74(HeaderTitleFrame, { preview: true }) });
9230
+ return /* @__PURE__ */ jsx75("div", { className: cn("stn-header-title__frame-only", className), children: /* @__PURE__ */ jsx75(HeaderTitleFrame, { preview: true }) });
9197
9231
  }
9198
9232
  function useLiveClock(enabled) {
9199
9233
  const [now, setNow] = useState21(() => /* @__PURE__ */ new Date());
@@ -9209,35 +9243,35 @@ function StnHeaderTitleMainText({
9209
9243
  children,
9210
9244
  ...rest
9211
9245
  }) {
9212
- return /* @__PURE__ */ jsx74("h1", { className: cn("stn-header-title__text", className), ...rest, children });
9246
+ return /* @__PURE__ */ jsx75("h1", { className: cn("stn-header-title__text", className), ...rest, children });
9213
9247
  }
9214
9248
  function StnHeaderTitleSubText({
9215
9249
  className,
9216
9250
  children,
9217
9251
  ...rest
9218
9252
  }) {
9219
- return /* @__PURE__ */ jsx74("span", { className: cn("stn-header-title__sub-text", className), ...rest, children });
9253
+ return /* @__PURE__ */ jsx75("span", { className: cn("stn-header-title__sub-text", className), ...rest, children });
9220
9254
  }
9221
9255
  function StnHeaderTitleDate({
9222
9256
  className,
9223
9257
  children,
9224
9258
  ...rest
9225
9259
  }) {
9226
- return /* @__PURE__ */ jsx74("time", { className: cn("stn-header-title__date", className), ...rest, children });
9260
+ return /* @__PURE__ */ jsx75("time", { className: cn("stn-header-title__date", className), ...rest, children });
9227
9261
  }
9228
9262
  function StnHeaderTitleWeekday({
9229
9263
  className,
9230
9264
  children,
9231
9265
  ...rest
9232
9266
  }) {
9233
- return /* @__PURE__ */ jsx74("span", { className: cn("stn-header-title__weekday", className), ...rest, children });
9267
+ return /* @__PURE__ */ jsx75("span", { className: cn("stn-header-title__weekday", className), ...rest, children });
9234
9268
  }
9235
9269
  function StnHeaderTitleTime({
9236
9270
  className,
9237
9271
  children,
9238
9272
  ...rest
9239
9273
  }) {
9240
- return /* @__PURE__ */ jsx74("span", { className: cn("stn-header-title__time", className), "aria-label": "\uD604\uC7AC \uC2DC\uAC01", ...rest, children });
9274
+ return /* @__PURE__ */ jsx75("span", { className: cn("stn-header-title__time", className), "aria-label": "\uD604\uC7AC \uC2DC\uAC01", ...rest, children });
9241
9275
  }
9242
9276
  function StnHeaderTitleClock({
9243
9277
  className,
@@ -9272,8 +9306,8 @@ function StnHeaderTitleClock({
9272
9306
  ),
9273
9307
  ...rest,
9274
9308
  children: [
9275
- framed ? /* @__PURE__ */ jsx74(HeaderTitleFrame, {}) : null,
9276
- /* @__PURE__ */ jsx74("div", { className: "stn-header-title__content", children })
9309
+ framed ? /* @__PURE__ */ jsx75(HeaderTitleFrame, {}) : null,
9310
+ /* @__PURE__ */ jsx75("div", { className: "stn-header-title__content", children })
9277
9311
  ]
9278
9312
  }
9279
9313
  );
@@ -9315,11 +9349,11 @@ function StnHeaderTitleClock({
9315
9349
  ),
9316
9350
  ...rest,
9317
9351
  children: [
9318
- framed ? /* @__PURE__ */ jsx74(HeaderTitleFrame, {}) : null,
9352
+ framed ? /* @__PURE__ */ jsx75(HeaderTitleFrame, {}) : null,
9319
9353
  /* @__PURE__ */ jsxs54("div", { className: "stn-header-title__content", children: [
9320
- resolvedDate ? /* @__PURE__ */ jsx74("time", { className: "stn-header-title__date", dateTime: resolvedDate, children: resolvedDate }) : null,
9321
- showWeekdayOnly ? /* @__PURE__ */ jsx74("span", { className: "stn-header-title__weekday", children: resolvedWeekday }) : null,
9322
- resolvedTime ? /* @__PURE__ */ jsx74("span", { className: "stn-header-title__time", "aria-label": "\uD604\uC7AC \uC2DC\uAC01", children: resolvedTime }) : null
9354
+ resolvedDate ? /* @__PURE__ */ jsx75("time", { className: "stn-header-title__date", dateTime: resolvedDate, children: resolvedDate }) : null,
9355
+ showWeekdayOnly ? /* @__PURE__ */ jsx75("span", { className: "stn-header-title__weekday", children: resolvedWeekday }) : null,
9356
+ resolvedTime ? /* @__PURE__ */ jsx75("span", { className: "stn-header-title__time", "aria-label": "\uD604\uC7AC \uC2DC\uAC01", children: resolvedTime }) : null
9323
9357
  ] })
9324
9358
  ]
9325
9359
  }
@@ -9348,10 +9382,10 @@ function StnHeaderTitleDual({
9348
9382
  ),
9349
9383
  ...rest,
9350
9384
  children: [
9351
- framed ? /* @__PURE__ */ jsx74(HeaderTitleFrame, {}) : null,
9385
+ framed ? /* @__PURE__ */ jsx75(HeaderTitleFrame, {}) : null,
9352
9386
  /* @__PURE__ */ jsxs54("div", { className: "stn-header-title__content", children: [
9353
- subText != null ? /* @__PURE__ */ jsx74("span", { className: "stn-header-title__sub-text", children: subText }) : null,
9354
- resolvedMain != null ? typeof resolvedMain === "string" || typeof resolvedMain === "number" ? /* @__PURE__ */ jsx74("h1", { className: "stn-header-title__text", children: resolvedMain }) : resolvedMain : null
9387
+ subText != null ? /* @__PURE__ */ jsx75("span", { className: "stn-header-title__sub-text", children: subText }) : null,
9388
+ resolvedMain != null ? typeof resolvedMain === "string" || typeof resolvedMain === "number" ? /* @__PURE__ */ jsx75("h1", { className: "stn-header-title__text", children: resolvedMain }) : resolvedMain : null
9355
9389
  ] })
9356
9390
  ]
9357
9391
  }
@@ -9378,20 +9412,20 @@ function StnHeaderTitleText({
9378
9412
  ),
9379
9413
  ...rest,
9380
9414
  children: [
9381
- framed ? /* @__PURE__ */ jsx74(HeaderTitleFrame, {}) : null,
9382
- /* @__PURE__ */ jsx74("div", { className: "stn-header-title__content", children: typeof resolved === "string" || typeof resolved === "number" ? /* @__PURE__ */ jsx74("h1", { className: "stn-header-title__text", children: resolved }) : resolved })
9415
+ framed ? /* @__PURE__ */ jsx75(HeaderTitleFrame, {}) : null,
9416
+ /* @__PURE__ */ jsx75("div", { className: "stn-header-title__content", children: typeof resolved === "string" || typeof resolved === "number" ? /* @__PURE__ */ jsx75("h1", { className: "stn-header-title__text", children: resolved }) : resolved })
9383
9417
  ]
9384
9418
  }
9385
9419
  );
9386
9420
  }
9387
9421
  function StnHeaderTitleRoot(props) {
9388
9422
  if (props.variant === "clock") {
9389
- return /* @__PURE__ */ jsx74(StnHeaderTitleClock, { ...props });
9423
+ return /* @__PURE__ */ jsx75(StnHeaderTitleClock, { ...props });
9390
9424
  }
9391
9425
  if (props.variant === "dual" || "subText" in props && props.subText != null) {
9392
- return /* @__PURE__ */ jsx74(StnHeaderTitleDual, { ...props });
9426
+ return /* @__PURE__ */ jsx75(StnHeaderTitleDual, { ...props });
9393
9427
  }
9394
- return /* @__PURE__ */ jsx74(StnHeaderTitleText, { ...props });
9428
+ return /* @__PURE__ */ jsx75(StnHeaderTitleText, { ...props });
9395
9429
  }
9396
9430
  var StnHeaderTitle = Object.assign(StnHeaderTitleRoot, {
9397
9431
  Text: StnHeaderTitleMainText,
@@ -9404,10 +9438,10 @@ var StnHeaderTitle = Object.assign(StnHeaderTitleRoot, {
9404
9438
 
9405
9439
  // src/layouts/StnContainer.tsx
9406
9440
  import {
9407
- forwardRef as forwardRef45
9441
+ forwardRef as forwardRef46
9408
9442
  } from "react";
9409
- import { jsx as jsx75 } from "react/jsx-runtime";
9410
- var StnContainer = forwardRef45(function StnContainer2({
9443
+ import { jsx as jsx76 } from "react/jsx-runtime";
9444
+ var StnContainer = forwardRef46(function StnContainer2({
9411
9445
  component,
9412
9446
  as,
9413
9447
  maxWidth = "lg",
@@ -9422,7 +9456,7 @@ var StnContainer = forwardRef45(function StnContainer2({
9422
9456
  const Component = component ?? as ?? "div";
9423
9457
  const maxWidthClass = maxWidth ? `stn-container--${maxWidth} stn-container--max-width-${maxWidth}` : "stn-container--fluid stn-container--max-width-false";
9424
9458
  const classKey = maxWidth ? `maxWidth${maxWidth.charAt(0).toUpperCase() + maxWidth.slice(1)}` : "maxWidthFalse";
9425
- return /* @__PURE__ */ jsx75(
9459
+ return /* @__PURE__ */ jsx76(
9426
9460
  Component,
9427
9461
  {
9428
9462
  ref,
@@ -9445,8 +9479,8 @@ var StnContainer = forwardRef45(function StnContainer2({
9445
9479
  });
9446
9480
 
9447
9481
  // src/layouts/StnGrid.tsx
9448
- import { forwardRef as forwardRef46 } from "react";
9449
- import { jsx as jsx76 } from "react/jsx-runtime";
9482
+ import { forwardRef as forwardRef47 } from "react";
9483
+ import { jsx as jsx77 } from "react/jsx-runtime";
9450
9484
  var BREAKPOINTS2 = ["xs", "sm", "md", "lg", "xl"];
9451
9485
  var SPACING_CLASS = {
9452
9486
  "0": "0",
@@ -9512,7 +9546,7 @@ function sizeClasses(size) {
9512
9546
  }
9513
9547
  return classes;
9514
9548
  }
9515
- var StnGrid = forwardRef46(function StnGrid2({
9549
+ var StnGrid = forwardRef47(function StnGrid2({
9516
9550
  component,
9517
9551
  as,
9518
9552
  container = false,
@@ -9532,7 +9566,7 @@ var StnGrid = forwardRef46(function StnGrid2({
9532
9566
  const Component = component ?? as ?? "div";
9533
9567
  const justify = typeof justifyContent === "string" && JUSTIFY_CLASS2.has(justifyContent) ? justifyContent : void 0;
9534
9568
  const align = typeof alignItems === "string" && ALIGN_CLASS2.has(alignItems) ? alignItems : void 0;
9535
- return /* @__PURE__ */ jsx76(
9569
+ return /* @__PURE__ */ jsx77(
9536
9570
  Component,
9537
9571
  {
9538
9572
  ref,
@@ -9556,7 +9590,7 @@ var StnGrid = forwardRef46(function StnGrid2({
9556
9590
  });
9557
9591
 
9558
9592
  // src/layouts/StnLayerShell.tsx
9559
- import { jsx as jsx77, jsxs as jsxs55 } from "react/jsx-runtime";
9593
+ import { jsx as jsx78, jsxs as jsxs55 } from "react/jsx-runtime";
9560
9594
  function StnLayerShell({
9561
9595
  gnb,
9562
9596
  gnbSide = "left",
@@ -9581,12 +9615,11 @@ function StnLayerShell({
9581
9615
  "div",
9582
9616
  {
9583
9617
  id: wrapId,
9584
- "data-stn-layer-mode": "v2",
9585
9618
  "data-stn-gnb-side": gnbSide,
9586
9619
  className: cn("stn-wrap", isGnbRight && "stn-wrap--gnb-right", wrapClassName),
9587
9620
  children: [
9588
9621
  layer0,
9589
- utilities ? /* @__PURE__ */ jsx77("div", { className: "stn-page-utilities", "data-stn-layer-role": "utility", children: utilities }) : null,
9622
+ utilities ? /* @__PURE__ */ jsx78("div", { className: "stn-page-utilities", "data-stn-layer-role": "utility", children: utilities }) : null,
9590
9623
  /* @__PURE__ */ jsxs55(
9591
9624
  "main",
9592
9625
  {
@@ -9597,8 +9630,8 @@ function StnLayerShell({
9597
9630
  children: [
9598
9631
  !isGnbRight && gnb,
9599
9632
  /* @__PURE__ */ jsxs55("div", { className: "stn-layer-1__main", children: [
9600
- header ? /* @__PURE__ */ jsx77("header", { className: "stn-layer-1__header", children: header }) : null,
9601
- /* @__PURE__ */ jsx77("div", { className: cn("stn-layer-1__body", scrollable && "stn-scroll", contentClassName), children: resolvedMainContent })
9633
+ header ? /* @__PURE__ */ jsx78("header", { className: "stn-layer-1__header", children: header }) : null,
9634
+ /* @__PURE__ */ jsx78("div", { className: cn("stn-layer-1__body", scrollable && "stn-scroll", contentClassName), children: resolvedMainContent })
9602
9635
  ] }),
9603
9636
  isGnbRight && gnb
9604
9637
  ]
@@ -9611,7 +9644,7 @@ function StnLayerShell({
9611
9644
  }
9612
9645
 
9613
9646
  // src/layouts/StnListViewLayout.tsx
9614
- import { jsx as jsx78, jsxs as jsxs56 } from "react/jsx-runtime";
9647
+ import { jsx as jsx79, jsxs as jsxs56 } from "react/jsx-runtime";
9615
9648
  function StnListViewLayoutBody({
9616
9649
  search,
9617
9650
  sidebar,
@@ -9622,8 +9655,8 @@ function StnListViewLayoutBody({
9622
9655
  className
9623
9656
  }) {
9624
9657
  const lnbClass = lnbSide === "right" ? "stn-page-scaffold__lnb lnb_box lnb_box_right" : "stn-page-scaffold__lnb lnb_box";
9625
- const sidebarAside = sidebar ? /* @__PURE__ */ jsx78("aside", { className: lnbClass, children: sidebar }) : null;
9626
- return /* @__PURE__ */ jsx78(
9658
+ const sidebarAside = sidebar ? /* @__PURE__ */ jsx79("aside", { className: lnbClass, children: sidebar }) : null;
9659
+ return /* @__PURE__ */ jsx79(
9627
9660
  StnContainer,
9628
9661
  {
9629
9662
  maxWidth: false,
@@ -9643,8 +9676,8 @@ function StnListViewLayoutBody({
9643
9676
  spacing: 2,
9644
9677
  className: "stn-list-view__content-stack",
9645
9678
  children: [
9646
- search ? /* @__PURE__ */ jsx78("div", { className: "stn-page-scaffold__search search_area", children: search }) : null,
9647
- /* @__PURE__ */ jsx78(
9679
+ search ? /* @__PURE__ */ jsx79("div", { className: "stn-page-scaffold__search search_area", children: search }) : null,
9680
+ /* @__PURE__ */ jsx79(
9648
9681
  "div",
9649
9682
  {
9650
9683
  className: "stn-page-scaffold__content content_box",
@@ -9680,7 +9713,7 @@ function StnListViewLayoutRoot({
9680
9713
  }) {
9681
9714
  const bare = bareProp ?? noShell ?? false;
9682
9715
  const hasLnbClass = lnbSide === "right" ? "has_lnb_right" : "has_lnb";
9683
- const body = /* @__PURE__ */ jsx78(
9716
+ const body = /* @__PURE__ */ jsx79(
9684
9717
  StnListViewLayoutBody,
9685
9718
  {
9686
9719
  search,
@@ -9695,10 +9728,10 @@ function StnListViewLayoutRoot({
9695
9728
  if (bare) {
9696
9729
  return body;
9697
9730
  }
9698
- const renderedHeader = header === null ? null : header !== void 0 ? header : /* @__PURE__ */ jsx78("div", { className: "stn-layer-1__header", children: /* @__PURE__ */ jsx78(StnHeader, { variant: "page", children: /* @__PURE__ */ jsx78(StnHeader.Left, { children: /* @__PURE__ */ jsx78(StnHeaderPageTitle, { children: title }) }) }) });
9731
+ const renderedHeader = header === null ? null : header !== void 0 ? header : /* @__PURE__ */ jsx79("div", { className: "stn-layer-1__header", children: /* @__PURE__ */ jsx79(StnHeader, { variant: "page", children: /* @__PURE__ */ jsx79(StnHeader.Left, { children: /* @__PURE__ */ jsx79(StnHeaderPageTitle, { children: title }) }) }) });
9699
9732
  return /* @__PURE__ */ jsxs56("div", { className: cn("stn-list-view-layout", "stn-layer-1", className), ...rest, children: [
9700
9733
  renderedHeader,
9701
- /* @__PURE__ */ jsx78(
9734
+ /* @__PURE__ */ jsx79(
9702
9735
  "div",
9703
9736
  {
9704
9737
  className: cn("stn-content-area", sidebar ? hasLnbClass : null, search ? "has_sch" : null),
@@ -9708,10 +9741,10 @@ function StnListViewLayoutRoot({
9708
9741
  ] });
9709
9742
  }
9710
9743
  function StnListViewLayoutHeader({ className, children, ...rest }) {
9711
- return /* @__PURE__ */ jsx78("div", { className: cn("stn-layer-1__header", className), ...rest, children });
9744
+ return /* @__PURE__ */ jsx79("div", { className: cn("stn-layer-1__header", className), ...rest, children });
9712
9745
  }
9713
9746
  function StnListViewLayoutSearch({ className, children, ...rest }) {
9714
- return /* @__PURE__ */ jsx78("div", { className: cn("search_area", className), ...rest, children });
9747
+ return /* @__PURE__ */ jsx79("div", { className: cn("search_area", className), ...rest, children });
9715
9748
  }
9716
9749
  function StnListViewLayoutSidebar({
9717
9750
  side = "left",
@@ -9720,16 +9753,16 @@ function StnListViewLayoutSidebar({
9720
9753
  ...rest
9721
9754
  }) {
9722
9755
  const lnbClass = side === "right" ? "lnb_box_right" : "lnb_box";
9723
- return /* @__PURE__ */ jsx78("aside", { className: cn(lnbClass, className), ...rest, children });
9756
+ return /* @__PURE__ */ jsx79("aside", { className: cn(lnbClass, className), ...rest, children });
9724
9757
  }
9725
9758
  function StnListViewLayoutContent({ className, children, ...rest }) {
9726
- return /* @__PURE__ */ jsx78("div", { className: cn("content_box", className), ...rest, children });
9759
+ return /* @__PURE__ */ jsx79("div", { className: cn("content_box", className), ...rest, children });
9727
9760
  }
9728
9761
  function StnListViewLayoutTable({ className, children, ...rest }) {
9729
- return /* @__PURE__ */ jsx78("div", { className: cn("stn-table", className), ...rest, children });
9762
+ return /* @__PURE__ */ jsx79("div", { className: cn("stn-table", className), ...rest, children });
9730
9763
  }
9731
9764
  function StnListViewLayoutPagination({ className, children, ...rest }) {
9732
- return /* @__PURE__ */ jsx78("div", { className: cn("stn-list-view-layout__pagination-wrap", className), ...rest, children });
9765
+ return /* @__PURE__ */ jsx79("div", { className: cn("stn-list-view-layout__pagination-wrap", className), ...rest, children });
9733
9766
  }
9734
9767
  var StnListViewLayout = Object.assign(StnListViewLayoutRoot, {
9735
9768
  Body: StnListViewLayoutBody,
@@ -9763,13 +9796,13 @@ import {
9763
9796
  } from "@stn-uiux/pub-ui/data/stnLayout";
9764
9797
 
9765
9798
  // src/patterns/dashboard/StnMapCanvas.tsx
9766
- import { jsx as jsx79 } from "react/jsx-runtime";
9799
+ import { jsx as jsx80 } from "react/jsx-runtime";
9767
9800
  function StnMapCanvas({
9768
9801
  children,
9769
9802
  className,
9770
9803
  ...rest
9771
9804
  }) {
9772
- return /* @__PURE__ */ jsx79(
9805
+ return /* @__PURE__ */ jsx80(
9773
9806
  "div",
9774
9807
  {
9775
9808
  className: cn("stn-map-canvas", className),
@@ -9781,7 +9814,7 @@ function StnMapCanvas({
9781
9814
  }
9782
9815
 
9783
9816
  // src/patterns/dashboard/StnDashboard.tsx
9784
- import { jsx as jsx80 } from "react/jsx-runtime";
9817
+ import { jsx as jsx81 } from "react/jsx-runtime";
9785
9818
  var fillStyle = {
9786
9819
  flex: "1 1 0%",
9787
9820
  minHeight: 0,
@@ -9800,7 +9833,7 @@ function StnDashboardRoot({
9800
9833
  }) {
9801
9834
  const isLeft = widgetPosition === "left";
9802
9835
  const isBoth = widgetPosition === "both";
9803
- return /* @__PURE__ */ jsx80(
9836
+ return /* @__PURE__ */ jsx81(
9804
9837
  "div",
9805
9838
  {
9806
9839
  className: cn(
@@ -9829,7 +9862,7 @@ function StnDashboardLeft({
9829
9862
  style,
9830
9863
  ...rest
9831
9864
  }) {
9832
- return /* @__PURE__ */ jsx80(
9865
+ return /* @__PURE__ */ jsx81(
9833
9866
  "div",
9834
9867
  {
9835
9868
  className: cn("stn-dashboard__left", className),
@@ -9855,7 +9888,7 @@ function StnDashboardRight({
9855
9888
  style,
9856
9889
  ...rest
9857
9890
  }) {
9858
- return /* @__PURE__ */ jsx80(
9891
+ return /* @__PURE__ */ jsx81(
9859
9892
  "div",
9860
9893
  {
9861
9894
  className: cn("stn-dashboard__right", className),
@@ -9883,7 +9916,7 @@ function StnDashboardTopRight({
9883
9916
  className,
9884
9917
  ...rest
9885
9918
  }) {
9886
- return /* @__PURE__ */ jsx80(
9919
+ return /* @__PURE__ */ jsx81(
9887
9920
  "div",
9888
9921
  {
9889
9922
  className: cn("stn-dashboard__top-right", className),
@@ -9902,9 +9935,9 @@ var StnDashboard = Object.assign(StnDashboardRoot, {
9902
9935
  });
9903
9936
 
9904
9937
  // src/patterns/scaffold/StnPageScaffold.tsx
9905
- import { jsx as jsx81, jsxs as jsxs57 } from "react/jsx-runtime";
9938
+ import { jsx as jsx82, jsxs as jsxs57 } from "react/jsx-runtime";
9906
9939
  function StnPageScaffoldRoot({ children, className, ...rest }) {
9907
- return /* @__PURE__ */ jsx81(
9940
+ return /* @__PURE__ */ jsx82(
9908
9941
  "div",
9909
9942
  {
9910
9943
  className: cn("stn-page-scaffold", className),
@@ -9922,8 +9955,8 @@ function StnPageScaffoldRegion({
9922
9955
  ...rest
9923
9956
  }) {
9924
9957
  return /* @__PURE__ */ jsxs57("div", { className: cn("stn-page-scaffold__region", className), "data-stn-page-scaffold": "region", ...rest, children: [
9925
- /* @__PURE__ */ jsx81("span", { className: "stn-page-scaffold__region-label", children: label }),
9926
- hint ? /* @__PURE__ */ jsx81("span", { className: "stn-page-scaffold__region-hint", children: hint }) : null,
9958
+ /* @__PURE__ */ jsx82("span", { className: "stn-page-scaffold__region-label", children: label }),
9959
+ hint ? /* @__PURE__ */ jsx82("span", { className: "stn-page-scaffold__region-hint", children: hint }) : null,
9927
9960
  children
9928
9961
  ] });
9929
9962
  }
@@ -9934,7 +9967,7 @@ function StnPageScaffoldMapPlaceholder({
9934
9967
  children,
9935
9968
  ...rest
9936
9969
  }) {
9937
- return /* @__PURE__ */ jsx81("div", { className: "stn-widget shell-canvas stn-map-canvas", "data-stn-dashboard": "canvas", children: /* @__PURE__ */ jsxs57(
9970
+ return /* @__PURE__ */ jsx82("div", { className: "stn-widget shell-canvas stn-map-canvas", "data-stn-dashboard": "canvas", children: /* @__PURE__ */ jsxs57(
9938
9971
  "div",
9939
9972
  {
9940
9973
  className: cn("stn-page-scaffold__canvas-placeholder", className),
@@ -9942,8 +9975,8 @@ function StnPageScaffoldMapPlaceholder({
9942
9975
  role: "status",
9943
9976
  ...rest,
9944
9977
  children: [
9945
- /* @__PURE__ */ jsx81("p", { className: "stn-page-scaffold__canvas-placeholder-title", children: message }),
9946
- note ? /* @__PURE__ */ jsx81("p", { className: "stn-page-scaffold__canvas-placeholder-note", children: note }) : null,
9978
+ /* @__PURE__ */ jsx82("p", { className: "stn-page-scaffold__canvas-placeholder-title", children: message }),
9979
+ note ? /* @__PURE__ */ jsx82("p", { className: "stn-page-scaffold__canvas-placeholder-note", children: note }) : null,
9947
9980
  children
9948
9981
  ]
9949
9982
  }
@@ -9954,7 +9987,7 @@ function StnPageScaffoldMapCanvas({
9954
9987
  children,
9955
9988
  ...rest
9956
9989
  }) {
9957
- return /* @__PURE__ */ jsx81(
9990
+ return /* @__PURE__ */ jsx82(
9958
9991
  "div",
9959
9992
  {
9960
9993
  className: cn("stn-widget", "shell-canvas", "stn-map-canvas", "stn-page-scaffold__canvas", className),
@@ -9967,7 +10000,7 @@ function StnPageScaffoldMapCanvas({
9967
10000
  }
9968
10001
  function StnPageScaffoldLayer({ label, hint, children, className, ...layerProps }) {
9969
10002
  const labelText = label ? hint ? `${label} \xB7 ${hint}` : label : void 0;
9970
- return /* @__PURE__ */ jsx81(
10003
+ return /* @__PURE__ */ jsx82(
9971
10004
  StnLayer2,
9972
10005
  {
9973
10006
  className: cn(
@@ -10015,24 +10048,24 @@ function DashboardPageScaffold({
10015
10048
  const isBoth = widgetPosition === "both";
10016
10049
  const isNone = widgetPosition === "none" || !showRightRegion;
10017
10050
  const mapColumn = /* @__PURE__ */ jsxs57(StnDashboard.Left, { children: [
10018
- /* @__PURE__ */ jsx81(StnPageScaffold.MapPlaceholder, { message: finalMapMessage, note: finalMapNote }),
10051
+ /* @__PURE__ */ jsx82(StnPageScaffold.MapPlaceholder, { message: finalMapMessage, note: finalMapNote }),
10019
10052
  faultPanel
10020
10053
  ] });
10021
- const rightWidgets = right ?? /* @__PURE__ */ jsx81(StnPageScaffold.Region, { label: "dashboard_right", hint: "\uC704\uC82F\xB7\uC7A5\uC560 \uD328\uB110" });
10022
- const leftWidgets = left ?? right ?? /* @__PURE__ */ jsx81(StnPageScaffold.Region, { label: "dashboard_right", hint: "\uC88C\uCE21 \uC704\uC82F\xB7\uC7A5\uC560 \uD328\uB110" });
10023
- const dashboardGrid = bodyEmpty ? /* @__PURE__ */ jsx81(StnDashboard, { empty: true, widgetPosition, "data-stn-page-scaffold": "dashboard-empty" }) : isBoth ? /* @__PURE__ */ jsxs57(StnDashboard, { widgetPosition: "both", children: [
10024
- /* @__PURE__ */ jsx81(StnDashboard.Right, { children: leftWidgets }),
10054
+ const rightWidgets = right ?? /* @__PURE__ */ jsx82(StnPageScaffold.Region, { label: "dashboard_right", hint: "\uC704\uC82F\xB7\uC7A5\uC560 \uD328\uB110" });
10055
+ const leftWidgets = left ?? right ?? /* @__PURE__ */ jsx82(StnPageScaffold.Region, { label: "dashboard_right", hint: "\uC88C\uCE21 \uC704\uC82F\xB7\uC7A5\uC560 \uD328\uB110" });
10056
+ const dashboardGrid = bodyEmpty ? /* @__PURE__ */ jsx82(StnDashboard, { empty: true, widgetPosition, "data-stn-page-scaffold": "dashboard-empty" }) : isBoth ? /* @__PURE__ */ jsxs57(StnDashboard, { widgetPosition: "both", children: [
10057
+ /* @__PURE__ */ jsx82(StnDashboard.Right, { children: leftWidgets }),
10025
10058
  mapColumn,
10026
- /* @__PURE__ */ jsx81(StnDashboard.Right, { children: rightWidgets })
10059
+ /* @__PURE__ */ jsx82(StnDashboard.Right, { children: rightWidgets })
10027
10060
  ] }) : isLeft ? /* @__PURE__ */ jsxs57(StnDashboard, { widgetPosition: "left", children: [
10028
- /* @__PURE__ */ jsx81(StnDashboard.Right, { children: leftWidgets }),
10061
+ /* @__PURE__ */ jsx82(StnDashboard.Right, { children: leftWidgets }),
10029
10062
  mapColumn
10030
10063
  ] }) : /* @__PURE__ */ jsxs57(StnDashboard, { widgetPosition: isNone ? "none" : "right", children: [
10031
10064
  mapColumn,
10032
- !isNone ? /* @__PURE__ */ jsx81(StnDashboard.Right, { children: rightWidgets }) : null
10065
+ !isNone ? /* @__PURE__ */ jsx82(StnDashboard.Right, { children: rightWidgets }) : null
10033
10066
  ] });
10034
10067
  const contentNode = children ?? dashboardGrid;
10035
- return /* @__PURE__ */ jsx81(
10068
+ return /* @__PURE__ */ jsx82(
10036
10069
  StnLayerShell,
10037
10070
  {
10038
10071
  gnb,
@@ -10041,7 +10074,7 @@ function DashboardPageScaffold({
10041
10074
  layer0,
10042
10075
  layer2,
10043
10076
  ...shellProps,
10044
- children: /* @__PURE__ */ jsx81(
10077
+ children: /* @__PURE__ */ jsx82(
10045
10078
  StnContainer,
10046
10079
  {
10047
10080
  maxWidth: false,
@@ -10062,9 +10095,9 @@ import {
10062
10095
  STN_ALERT_CENTER_DEMO_WORK
10063
10096
  } from "@stn-uiux/pub-ui/data/stnAlertCenter";
10064
10097
  import { systemIconSrc } from "@stn-uiux/pub-ui/data/stnSystemIcons";
10065
- import { Fragment as Fragment10, jsx as jsx82, jsxs as jsxs58 } from "react/jsx-runtime";
10098
+ import { Fragment as Fragment10, jsx as jsx83, jsxs as jsxs58 } from "react/jsx-runtime";
10066
10099
  function defaultTopologyHeader(_clock) {
10067
- return /* @__PURE__ */ jsx82(StnHeader, { variant: "widget" });
10100
+ return /* @__PURE__ */ jsx83(StnHeader, { variant: "widget" });
10068
10101
  }
10069
10102
  function AlertCenterPageScaffold({
10070
10103
  gnbAlertPanel,
@@ -10083,7 +10116,7 @@ function AlertCenterPageScaffold({
10083
10116
  }) {
10084
10117
  const [gnbOpen, setGnbOpen] = useState22(defaultGnbOpen);
10085
10118
  const panel = useMemo5(
10086
- () => gnbAlertPanel ?? /* @__PURE__ */ jsx82(
10119
+ () => gnbAlertPanel ?? /* @__PURE__ */ jsx83(
10087
10120
  StnAlertCenterPanel,
10088
10121
  {
10089
10122
  alerts: STN_ALERT_CENTER_DEMO_ALERTS,
@@ -10102,18 +10135,18 @@ function AlertCenterPageScaffold({
10102
10135
  onCollapseChange: (col) => setGnbOpen(!col),
10103
10136
  children: [
10104
10137
  /* @__PURE__ */ jsxs58(StnSideNavigation.Header, { children: [
10105
- /* @__PURE__ */ jsx82(StnSideNavigation.Logo, {}),
10106
- /* @__PURE__ */ jsx82(StnSideNavigation.Toggle, {})
10138
+ /* @__PURE__ */ jsx83(StnSideNavigation.Logo, {}),
10139
+ /* @__PURE__ */ jsx83(StnSideNavigation.Toggle, {})
10107
10140
  ] }),
10108
10141
  /* @__PURE__ */ jsxs58(StnSideNavigation.Menu, { children: [
10109
- /* @__PURE__ */ jsx82(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/layout-grid"), label: "\uBA54\uC778 \uB300\uC2DC\uBCF4\uB4DC", active: true }),
10110
- /* @__PURE__ */ jsx82(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/server_2"), label: "\uC11C\uBC84 \uBAA8\uB2C8\uD130\uB9C1" }),
10111
- /* @__PURE__ */ jsx82(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/activity"), label: "\uB124\uD2B8\uC6CC\uD06C \uBD84\uC11D" })
10142
+ /* @__PURE__ */ jsx83(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/layout-grid"), label: "\uBA54\uC778 \uB300\uC2DC\uBCF4\uB4DC", active: true }),
10143
+ /* @__PURE__ */ jsx83(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/server_2"), label: "\uC11C\uBC84 \uBAA8\uB2C8\uD130\uB9C1" }),
10144
+ /* @__PURE__ */ jsx83(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/activity"), label: "\uB124\uD2B8\uC6CC\uD06C \uBD84\uC11D" })
10112
10145
  ] }),
10113
- /* @__PURE__ */ jsx82(StnSideNavigation.Spacer, {}),
10146
+ /* @__PURE__ */ jsx83(StnSideNavigation.Spacer, {}),
10114
10147
  /* @__PURE__ */ jsxs58(StnSideNavigation.Footer, { curved: true, children: [
10115
- /* @__PURE__ */ jsx82(StnSideNavigation.Watermark, {}),
10116
- /* @__PURE__ */ jsx82(
10148
+ /* @__PURE__ */ jsx83(StnSideNavigation.Watermark, {}),
10149
+ /* @__PURE__ */ jsx83(
10117
10150
  StnSideNavigation.Item,
10118
10151
  {
10119
10152
  iconSrc: systemIconSrc("line/bell"),
@@ -10122,7 +10155,7 @@ function AlertCenterPageScaffold({
10122
10155
  onClick: void 0
10123
10156
  }
10124
10157
  ),
10125
- /* @__PURE__ */ jsx82(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/settings"), label: "\uC124\uC815" })
10158
+ /* @__PURE__ */ jsx83(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/settings"), label: "\uC124\uC815" })
10126
10159
  ] })
10127
10160
  ]
10128
10161
  }
@@ -10131,8 +10164,8 @@ function AlertCenterPageScaffold({
10131
10164
  ] }),
10132
10165
  [gnbProp, gnbOpen, panel]
10133
10166
  );
10134
- const faultSlot = faultPanel ?? (showFaultPanelPlaceholder ? /* @__PURE__ */ jsx82("div", { className: "wrap_real_time stn-page-scaffold__fault-ph", children: /* @__PURE__ */ jsx82(StnPageScaffold.Region, { label: "\uC2E4\uC2DC\uAC04 \uC7A5\uC560 \uD604\uD669", hint: "StnWidget shell=fault-panel \xB7 \uC120\uD0DD" }) }) : null);
10135
- return /* @__PURE__ */ jsx82(
10167
+ const faultSlot = faultPanel ?? (showFaultPanelPlaceholder ? /* @__PURE__ */ jsx83("div", { className: "wrap_real_time stn-page-scaffold__fault-ph", children: /* @__PURE__ */ jsx83(StnPageScaffold.Region, { label: "\uC2E4\uC2DC\uAC04 \uC7A5\uC560 \uD604\uD669", hint: "StnWidget shell=fault-panel \xB7 \uC120\uD0DD" }) }) : null);
10168
+ return /* @__PURE__ */ jsx83(
10136
10169
  DashboardPageScaffold,
10137
10170
  {
10138
10171
  gnb: sideNav,
@@ -10140,7 +10173,7 @@ function AlertCenterPageScaffold({
10140
10173
  mapMessage,
10141
10174
  mapNote,
10142
10175
  faultPanel: faultSlot,
10143
- right: right ?? /* @__PURE__ */ jsx82(AlertCenterDashboard, {}),
10176
+ right: right ?? /* @__PURE__ */ jsx83(AlertCenterDashboard, {}),
10144
10177
  wrapId,
10145
10178
  wrapClassName: "stn-page--map-bg",
10146
10179
  ...shellProps
@@ -10150,7 +10183,7 @@ function AlertCenterPageScaffold({
10150
10183
 
10151
10184
  // src/patterns/scaffold/LoginPageScaffold.tsx
10152
10185
  import { useState as useState23 } from "react";
10153
- import { jsx as jsx83, jsxs as jsxs59 } from "react/jsx-runtime";
10186
+ import { jsx as jsx84, jsxs as jsxs59 } from "react/jsx-runtime";
10154
10187
  var LOGIN_TABS = [
10155
10188
  { value: "normal", label: "\uC77C\uBC18 \uB85C\uADF8\uC778" },
10156
10189
  { value: "social", label: "\uC18C\uC15C \uB85C\uADF8\uC778" }
@@ -10169,7 +10202,7 @@ function DefaultLoginForm({
10169
10202
  onLogin?.(userId, password);
10170
10203
  }
10171
10204
  return /* @__PURE__ */ jsxs59(StnLoginFormStack, { onSubmit: handleSubmit, children: [
10172
- /* @__PURE__ */ jsx83(
10205
+ /* @__PURE__ */ jsx84(
10173
10206
  StnSegmented,
10174
10207
  {
10175
10208
  "aria-label": "\uB85C\uADF8\uC778 \uBC29\uC2DD",
@@ -10179,7 +10212,7 @@ function DefaultLoginForm({
10179
10212
  }
10180
10213
  ),
10181
10214
  mode === "normal" ? /* @__PURE__ */ jsxs59(StnLoginFormFields, { children: [
10182
- /* @__PURE__ */ jsx83(
10215
+ /* @__PURE__ */ jsx84(
10183
10216
  StnLoginTextField,
10184
10217
  {
10185
10218
  icon: "line/user",
@@ -10191,7 +10224,7 @@ function DefaultLoginForm({
10191
10224
  "aria-label": "\uC544\uC774\uB514"
10192
10225
  }
10193
10226
  ),
10194
- /* @__PURE__ */ jsx83(
10227
+ /* @__PURE__ */ jsx84(
10195
10228
  StnLoginTextField,
10196
10229
  {
10197
10230
  icon: "line/lock",
@@ -10204,11 +10237,11 @@ function DefaultLoginForm({
10204
10237
  "aria-label": "\uBE44\uBC00\uBC88\uD638"
10205
10238
  }
10206
10239
  )
10207
- ] }) : socialContent ?? /* @__PURE__ */ jsx83(StnLoginPlaceholder, {}),
10208
- /* @__PURE__ */ jsx83(StnButton, { type: "submit", size: "xl", fullWidth: true, children: "\uB85C\uADF8\uC778" }),
10240
+ ] }) : socialContent ?? /* @__PURE__ */ jsx84(StnLoginPlaceholder, {}),
10241
+ /* @__PURE__ */ jsx84(StnButton, { type: "submit", size: "xl", fullWidth: true, children: "\uB85C\uADF8\uC778" }),
10209
10242
  /* @__PURE__ */ jsxs59(StnLoginFormLinks, { children: [
10210
- /* @__PURE__ */ jsx83("a", { href: signUpHref, children: "\uD68C\uC6D0\uAC00\uC785" }),
10211
- /* @__PURE__ */ jsx83("a", { href: recoverHref, children: "\uC544\uC774\uB514 / \uBE44\uBC00\uBC88\uD638 \uCC3E\uAE30" })
10243
+ /* @__PURE__ */ jsx84("a", { href: signUpHref, children: "\uD68C\uC6D0\uAC00\uC785" }),
10244
+ /* @__PURE__ */ jsx84("a", { href: recoverHref, children: "\uC544\uC774\uB514 / \uBE44\uBC00\uBC88\uD638 \uCC3E\uAE30" })
10212
10245
  ] })
10213
10246
  ] });
10214
10247
  }
@@ -10222,16 +10255,16 @@ function DefaultLoginCard({
10222
10255
  signUpHref,
10223
10256
  recoverHref
10224
10257
  }) {
10225
- return /* @__PURE__ */ jsx83(
10258
+ return /* @__PURE__ */ jsx84(
10226
10259
  StnLoginCard,
10227
10260
  {
10228
10261
  glow,
10229
10262
  variant,
10230
10263
  brand: /* @__PURE__ */ jsxs59(StnLoginBrandStack, { children: [
10231
- logo ?? /* @__PURE__ */ jsx83(StnLogo, { variant: "vertical", size: "xl" }),
10232
- /* @__PURE__ */ jsx83("p", { className: "stn-login-card__caption", children: productCaption })
10264
+ logo ?? /* @__PURE__ */ jsx84(StnLogo, { variant: "vertical", size: "xl" }),
10265
+ /* @__PURE__ */ jsx84("p", { className: "stn-login-card__caption", children: productCaption })
10233
10266
  ] }),
10234
- children: /* @__PURE__ */ jsx83(
10267
+ children: /* @__PURE__ */ jsx84(
10235
10268
  DefaultLoginForm,
10236
10269
  {
10237
10270
  onLogin,
@@ -10257,8 +10290,8 @@ function LoginPageScaffold({
10257
10290
  recoverHref,
10258
10291
  ...shellProps
10259
10292
  }) {
10260
- const resolvedLayer0 = layer0 ?? /* @__PURE__ */ jsx83(StnLayer0Background, { variant: "login" });
10261
- const resolvedCard = children ?? /* @__PURE__ */ jsx83(
10293
+ const resolvedLayer0 = layer0 ?? /* @__PURE__ */ jsx84(StnLayer0Background, { variant: "login" });
10294
+ const resolvedCard = children ?? /* @__PURE__ */ jsx84(
10262
10295
  DefaultLoginCard,
10263
10296
  {
10264
10297
  logo,
@@ -10275,11 +10308,10 @@ function LoginPageScaffold({
10275
10308
  "div",
10276
10309
  {
10277
10310
  className: cn("stn-wrap stn-page--login", wrapClassName),
10278
- "data-stn-layer-mode": "v2",
10279
10311
  ...shellProps,
10280
10312
  children: [
10281
10313
  resolvedLayer0,
10282
- /* @__PURE__ */ jsx83("div", { className: "stn-login", children: resolvedCard })
10314
+ /* @__PURE__ */ jsx84("div", { className: "stn-login", children: resolvedCard })
10283
10315
  ]
10284
10316
  }
10285
10317
  );
@@ -10308,7 +10340,7 @@ import {
10308
10340
 
10309
10341
  // src/patterns/toolbar/StnFloatingToolbar.tsx
10310
10342
  import React3 from "react";
10311
- import { jsx as jsx84, jsxs as jsxs60 } from "react/jsx-runtime";
10343
+ import { jsx as jsx85, jsxs as jsxs60 } from "react/jsx-runtime";
10312
10344
  var DEFAULT_MAP_MODES = [
10313
10345
  { value: "sphere", label: "\uAD6C\uBA74" },
10314
10346
  { value: "plane", label: "\uD3C9\uBA74" },
@@ -10318,7 +10350,7 @@ var StnFloatingToolbar = React3.forwardRef(
10318
10350
  ({ placement = "none", orientation = "horizontal", className, children, ...restProps }, ref) => {
10319
10351
  const placementClass = placement !== "none" ? `stn-floating-toolbar--${placement}` : "";
10320
10352
  const orientationClass = orientation === "vertical" ? "stn-floating-toolbar--vertical" : "";
10321
- return /* @__PURE__ */ jsx84(
10353
+ return /* @__PURE__ */ jsx85(
10322
10354
  "div",
10323
10355
  {
10324
10356
  ref,
@@ -10361,7 +10393,7 @@ var StnMapToolbar = React3.forwardRef(
10361
10393
  "aria-label": "\uC9C0\uB3C4 \uBC0F \uD1A0\uD3F4\uB85C\uC9C0 \uB3C4\uAD6C \uBAA8\uC74C",
10362
10394
  ...restProps,
10363
10395
  children: [
10364
- modeOptions && modeOptions.length > 0 && /* @__PURE__ */ jsx84(
10396
+ modeOptions && modeOptions.length > 0 && /* @__PURE__ */ jsx85(
10365
10397
  StnDropdown,
10366
10398
  {
10367
10399
  size: "md",
@@ -10372,75 +10404,75 @@ var StnMapToolbar = React3.forwardRef(
10372
10404
  "aria-label": "\uD22C\uC601 \uBAA8\uB4DC \uC120\uD0DD"
10373
10405
  }
10374
10406
  ),
10375
- onRestore && /* @__PURE__ */ jsx84(
10407
+ onRestore && /* @__PURE__ */ jsx85(
10376
10408
  StnButton,
10377
10409
  {
10378
10410
  variant: buttonVariant,
10379
10411
  size: "md",
10380
10412
  shape: "square",
10381
10413
  icon: /* @__PURE__ */ jsxs60("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: [
10382
- /* @__PURE__ */ jsx84("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" }),
10383
- /* @__PURE__ */ jsx84("path", { d: "M3 4.00098V9.00098H8" }),
10384
- /* @__PURE__ */ jsx84("circle", { cx: "12", cy: "12", r: "1", fill: "currentColor" })
10414
+ /* @__PURE__ */ jsx85("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" }),
10415
+ /* @__PURE__ */ jsx85("path", { d: "M3 4.00098V9.00098H8" }),
10416
+ /* @__PURE__ */ jsx85("circle", { cx: "12", cy: "12", r: "1", fill: "currentColor" })
10385
10417
  ] }),
10386
10418
  "aria-label": "\uCD08\uAE30\uD654 (Restore)",
10387
10419
  title: "\uCD08\uAE30\uD654 (Restore)",
10388
10420
  onClick: onRestore
10389
10421
  }
10390
10422
  ),
10391
- onFullscreen && /* @__PURE__ */ jsx84(
10423
+ onFullscreen && /* @__PURE__ */ jsx85(
10392
10424
  StnButton,
10393
10425
  {
10394
10426
  variant: buttonVariant,
10395
10427
  size: "md",
10396
10428
  shape: "square",
10397
10429
  icon: /* @__PURE__ */ jsxs60("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: [
10398
- /* @__PURE__ */ jsx84("path", { d: "M16 4H20V8" }),
10399
- /* @__PURE__ */ jsx84("path", { d: "M14 10L20 4" }),
10400
- /* @__PURE__ */ jsx84("path", { d: "M8 20H4V16" }),
10401
- /* @__PURE__ */ jsx84("path", { d: "M4 20L10 14" })
10430
+ /* @__PURE__ */ jsx85("path", { d: "M16 4H20V8" }),
10431
+ /* @__PURE__ */ jsx85("path", { d: "M14 10L20 4" }),
10432
+ /* @__PURE__ */ jsx85("path", { d: "M8 20H4V16" }),
10433
+ /* @__PURE__ */ jsx85("path", { d: "M4 20L10 14" })
10402
10434
  ] }),
10403
10435
  "aria-label": "\uC804\uCCB4\uD654\uBA74",
10404
10436
  title: "\uC804\uCCB4\uD654\uBA74",
10405
10437
  onClick: onFullscreen
10406
10438
  }
10407
10439
  ),
10408
- onZoomIn && /* @__PURE__ */ jsx84(
10440
+ onZoomIn && /* @__PURE__ */ jsx85(
10409
10441
  StnButton,
10410
10442
  {
10411
10443
  variant: buttonVariant,
10412
10444
  size: "md",
10413
10445
  shape: "square",
10414
10446
  icon: /* @__PURE__ */ jsxs60("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: [
10415
- /* @__PURE__ */ jsx84("path", { d: "M12 5V19" }),
10416
- /* @__PURE__ */ jsx84("path", { d: "M5 12H19" })
10447
+ /* @__PURE__ */ jsx85("path", { d: "M12 5V19" }),
10448
+ /* @__PURE__ */ jsx85("path", { d: "M5 12H19" })
10417
10449
  ] }),
10418
10450
  "aria-label": "\uD655\uB300",
10419
10451
  title: "\uD655\uB300",
10420
10452
  onClick: onZoomIn
10421
10453
  }
10422
10454
  ),
10423
- onZoomOut && /* @__PURE__ */ jsx84(
10455
+ onZoomOut && /* @__PURE__ */ jsx85(
10424
10456
  StnButton,
10425
10457
  {
10426
10458
  variant: buttonVariant,
10427
10459
  size: "md",
10428
10460
  shape: "square",
10429
- icon: /* @__PURE__ */ jsx84("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__ */ jsx84("path", { d: "M5 12H19" }) }),
10461
+ icon: /* @__PURE__ */ jsx85("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__ */ jsx85("path", { d: "M5 12H19" }) }),
10430
10462
  "aria-label": "\uCD95\uC18C",
10431
10463
  title: "\uCD95\uC18C",
10432
10464
  onClick: onZoomOut
10433
10465
  }
10434
10466
  ),
10435
- onRefresh && /* @__PURE__ */ jsx84(
10467
+ onRefresh && /* @__PURE__ */ jsx85(
10436
10468
  StnButton,
10437
10469
  {
10438
10470
  variant: buttonVariant,
10439
10471
  size: "md",
10440
10472
  shape: "square",
10441
10473
  icon: /* @__PURE__ */ jsxs60("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: [
10442
- /* @__PURE__ */ jsx84("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" }),
10443
- /* @__PURE__ */ jsx84("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" })
10474
+ /* @__PURE__ */ jsx85("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" }),
10475
+ /* @__PURE__ */ jsx85("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" })
10444
10476
  ] }),
10445
10477
  "aria-label": "\uC0C8\uB85C\uACE0\uCE68",
10446
10478
  title: "\uC0C8\uB85C\uACE0\uCE68",
@@ -10460,6 +10492,7 @@ export {
10460
10492
  AlertCenterDashboard,
10461
10493
  AlertCenterPageScaffold,
10462
10494
  DashboardPageScaffold,
10495
+ Divider,
10463
10496
  LoginPageScaffold,
10464
10497
  PubChartSample,
10465
10498
  PubDisabilityStatusList,
@@ -10504,8 +10537,7 @@ export {
10504
10537
  STN_HEADER_PAGE_TITLE_DEMO,
10505
10538
  STN_HEADER_USAGE,
10506
10539
  STN_HEADER_VARIANT_ROWS,
10507
- STN_LAYER0_BACKGROUND_DEMO_IMAGES2 as STN_LAYER0_BACKGROUND_DEMO_IMAGES,
10508
- STN_LAYER0_BACKGROUND_FIGMA,
10540
+ STN_LAYER0_BACKGROUND_DEMO_IMAGES,
10509
10541
  STN_LAYER0_BACKGROUND_INTRO,
10510
10542
  STN_LAYER0_BACKGROUND_USAGE,
10511
10543
  STN_LAYER0_BACKGROUND_VARIANT_ROWS,
@@ -10600,6 +10632,7 @@ export {
10600
10632
  StnDateRangeField,
10601
10633
  StnDateRangePicker,
10602
10634
  StnDateRangePickerField,
10635
+ StnDivider,
10603
10636
  StnDrawer2 as StnDrawer,
10604
10637
  StnDrawerBody,
10605
10638
  StnDrawerFooter,