@stn-uiux/pub-ui-react 0.1.63 → 0.1.64
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.d.ts +75 -22
- package/dist/index.js +895 -774
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -177,13 +177,12 @@ function resolveButtonWidthProps(fullWidth, width, defaultPreset) {
|
|
|
177
177
|
// src/components/StnIcon.tsx
|
|
178
178
|
import { resolveSystemIconSrcFromName } from "@stn-uiux/pub-ui/data/stnSystemIcons";
|
|
179
179
|
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
180
|
-
function StnIcon({ name, src, color, size
|
|
180
|
+
function StnIcon({ name, src, color, size, className, style }) {
|
|
181
181
|
if (name && src) {
|
|
182
182
|
console.warn("[StnIcon] `name` and `src` cannot be used together. Using `src`.");
|
|
183
183
|
}
|
|
184
184
|
const sizeStyle = {
|
|
185
|
-
width: size,
|
|
186
|
-
height: size,
|
|
185
|
+
...size !== void 0 ? { width: size, height: size } : void 0,
|
|
187
186
|
...style
|
|
188
187
|
};
|
|
189
188
|
const resolvedSrc = src ?? (name ? resolveSystemIconSrcFromName(name) : null);
|
|
@@ -358,6 +357,7 @@ var StnTooltip = forwardRef2(
|
|
|
358
357
|
iconPosition = "left",
|
|
359
358
|
leadingIcon,
|
|
360
359
|
trailingIcon,
|
|
360
|
+
offset,
|
|
361
361
|
open,
|
|
362
362
|
alwaysVisible,
|
|
363
363
|
tooltipClassName,
|
|
@@ -368,11 +368,16 @@ var StnTooltip = forwardRef2(
|
|
|
368
368
|
const glyphPx = TOOLTIP_ICON_PX[size] ?? 14;
|
|
369
369
|
const finalLeadingIcon = leadingIcon != null ? resolveIconNode2(leadingIcon, glyphPx) : icon != null && iconPosition !== "right" ? resolveIconNode2(icon, glyphPx) : null;
|
|
370
370
|
const finalTrailingIcon = trailingIcon != null ? resolveIconNode2(trailingIcon, glyphPx) : icon != null && iconPosition === "right" ? resolveIconNode2(icon, glyphPx) : null;
|
|
371
|
+
const resolvedOffset = offset !== void 0 ? typeof offset === "number" ? `${offset}px` : /^space[-_]\d+$/.test(String(offset).trim()) ? `var(--stn-${String(offset).trim().replace("_", "-")})` : /^\d+$/.test(String(offset).trim()) ? `${String(offset).trim()}px` : String(offset).trim() : void 0;
|
|
372
|
+
const tooltipStyle = resolvedOffset !== void 0 ? {
|
|
373
|
+
"--stn-tooltip-offset": resolvedOffset
|
|
374
|
+
} : void 0;
|
|
371
375
|
const tooltipElement = /* @__PURE__ */ jsxs2(
|
|
372
376
|
"div",
|
|
373
377
|
{
|
|
374
378
|
ref: !children ? ref : void 0,
|
|
375
379
|
role: "tooltip",
|
|
380
|
+
style: tooltipStyle,
|
|
376
381
|
className: cn(
|
|
377
382
|
"stn-tooltip",
|
|
378
383
|
variant,
|
|
@@ -1926,38 +1931,6 @@ var StnStatusSeverity = forwardRef11(function StnStatusSeverity2({
|
|
|
1926
1931
|
] });
|
|
1927
1932
|
});
|
|
1928
1933
|
StnStatusSeverity.displayName = "StnStatusSeverity";
|
|
1929
|
-
var ALL_SEVERITIES = ["critical", "major", "minor", "warning"];
|
|
1930
|
-
function StnStatusSeverityFilter({
|
|
1931
|
-
value = ALL_SEVERITIES,
|
|
1932
|
-
onChange,
|
|
1933
|
-
disabledSeverities = [],
|
|
1934
|
-
showIcon = true,
|
|
1935
|
-
className = ""
|
|
1936
|
-
}) {
|
|
1937
|
-
const handleToggle = (sev) => {
|
|
1938
|
-
if (!onChange) return;
|
|
1939
|
-
const exists = value.includes(sev);
|
|
1940
|
-
const next = exists ? value.filter((item) => item !== sev) : [...value, sev];
|
|
1941
|
-
onChange(next);
|
|
1942
|
-
};
|
|
1943
|
-
return /* @__PURE__ */ jsx16("div", { className: `stn-status-severity-filter-group ${className}`.trim(), role: "group", "aria-label": "\uC2EC\uAC01\uB3C4 \uD544\uD130", children: ALL_SEVERITIES.map((sev) => {
|
|
1944
|
-
const isActive = value.includes(sev);
|
|
1945
|
-
const isDisabled = disabledSeverities.includes(sev);
|
|
1946
|
-
return /* @__PURE__ */ jsx16(
|
|
1947
|
-
StnStatusSeverity,
|
|
1948
|
-
{
|
|
1949
|
-
severity: sev,
|
|
1950
|
-
variant: "filter",
|
|
1951
|
-
showIcon,
|
|
1952
|
-
active: isActive,
|
|
1953
|
-
disabled: isDisabled,
|
|
1954
|
-
onClick: () => !isDisabled && handleToggle(sev)
|
|
1955
|
-
},
|
|
1956
|
-
sev
|
|
1957
|
-
);
|
|
1958
|
-
}) });
|
|
1959
|
-
}
|
|
1960
|
-
StnStatusSeverityFilter.displayName = "StnStatusSeverityFilter";
|
|
1961
1934
|
function StnStatus(props) {
|
|
1962
1935
|
switch (props.type) {
|
|
1963
1936
|
case "dot-group": {
|
|
@@ -1972,10 +1945,6 @@ function StnStatus(props) {
|
|
|
1972
1945
|
const { type: _, ...rest } = props;
|
|
1973
1946
|
return /* @__PURE__ */ jsx16(StnStatusSeverity, { ...rest });
|
|
1974
1947
|
}
|
|
1975
|
-
case "severity-filter": {
|
|
1976
|
-
const { type: _, ...rest } = props;
|
|
1977
|
-
return /* @__PURE__ */ jsx16(StnStatusSeverityFilter, { ...rest });
|
|
1978
|
-
}
|
|
1979
1948
|
case "flow": {
|
|
1980
1949
|
const { type: _, ...rest } = props;
|
|
1981
1950
|
return /* @__PURE__ */ jsx16(StnStatusFlow, { ...rest });
|
|
@@ -1990,7 +1959,6 @@ function StnStatus(props) {
|
|
|
1990
1959
|
StnStatus.Dot = StnStatusDot;
|
|
1991
1960
|
StnStatus.DotGroup = StnStatusDotGroup;
|
|
1992
1961
|
StnStatus.Severity = StnStatusSeverity;
|
|
1993
|
-
StnStatus.SeverityFilter = StnStatusSeverityFilter;
|
|
1994
1962
|
StnStatus.Switch = StnStatusSwitch;
|
|
1995
1963
|
StnStatus.Flow = StnStatusFlow;
|
|
1996
1964
|
|
|
@@ -2517,7 +2485,7 @@ function TreeNodeIcon({
|
|
|
2517
2485
|
icon
|
|
2518
2486
|
}) {
|
|
2519
2487
|
if (icon != null) {
|
|
2520
|
-
return /* @__PURE__ */ jsx18("span", { className: "stn-tree__cell stn-tree__cell--icon stn-tree__icon stn-tree__icon--custom", children: typeof icon === "string" ? /* @__PURE__ */ jsx18(StnIcon, { name: icon,
|
|
2488
|
+
return /* @__PURE__ */ jsx18("span", { className: "stn-tree__cell stn-tree__cell--icon stn-tree__icon stn-tree__icon--custom", children: typeof icon === "string" ? /* @__PURE__ */ jsx18(StnIcon, { name: icon, className: "stn-tree__icon-glyph" }) : icon });
|
|
2521
2489
|
}
|
|
2522
2490
|
if (kind === "server") {
|
|
2523
2491
|
return /* @__PURE__ */ jsxs12("span", { className: "stn-tree__cell stn-tree__cell--icon stn-tree__icon stn-tree__icon--server", children: [
|
|
@@ -2525,7 +2493,6 @@ function TreeNodeIcon({
|
|
|
2525
2493
|
StnIcon,
|
|
2526
2494
|
{
|
|
2527
2495
|
name: "fill/server_2_tree_light",
|
|
2528
|
-
size: 16,
|
|
2529
2496
|
className: "stn-tree__icon-glyph stn-tree__server-icon stn-tree__server-icon--light stn-icon--color"
|
|
2530
2497
|
}
|
|
2531
2498
|
),
|
|
@@ -2533,7 +2500,6 @@ function TreeNodeIcon({
|
|
|
2533
2500
|
StnIcon,
|
|
2534
2501
|
{
|
|
2535
2502
|
name: "fill/server_2",
|
|
2536
|
-
size: 16,
|
|
2537
2503
|
className: "stn-tree__icon-glyph stn-tree__server-icon stn-tree__server-icon--dark stn-icon--color"
|
|
2538
2504
|
}
|
|
2539
2505
|
)
|
|
@@ -3165,7 +3131,7 @@ var StnBadge = React.forwardRef(
|
|
|
3165
3131
|
displayContent = `${max}+`;
|
|
3166
3132
|
}
|
|
3167
3133
|
const positionClass = `${anchorOrigin.vertical}-${anchorOrigin.horizontal}`;
|
|
3168
|
-
const
|
|
3134
|
+
const colorClass3 = color;
|
|
3169
3135
|
const appearanceClass = appearance;
|
|
3170
3136
|
const isStandalone = !children;
|
|
3171
3137
|
const customBadgeStyle = {
|
|
@@ -3182,7 +3148,7 @@ var StnBadge = React.forwardRef(
|
|
|
3182
3148
|
"stn-badge",
|
|
3183
3149
|
isDot ? "dot" : "standard",
|
|
3184
3150
|
appearanceClass,
|
|
3185
|
-
|
|
3151
|
+
colorClass3,
|
|
3186
3152
|
!isStandalone && positionClass,
|
|
3187
3153
|
isStandalone && "standalone",
|
|
3188
3154
|
invisible && "is-invisible",
|
|
@@ -3238,6 +3204,7 @@ function StnChip(props) {
|
|
|
3238
3204
|
children,
|
|
3239
3205
|
grade,
|
|
3240
3206
|
accent,
|
|
3207
|
+
dashed = false,
|
|
3241
3208
|
onClick,
|
|
3242
3209
|
onKeyDown,
|
|
3243
3210
|
role: roleProp,
|
|
@@ -3248,7 +3215,7 @@ function StnChip(props) {
|
|
|
3248
3215
|
const resolvedShape = rawShape === "rounded" || rawShape === "square" ? "square" : rawShape;
|
|
3249
3216
|
const isOutline = variant === "outline" || variant === "outlined" || variant === "border";
|
|
3250
3217
|
const isSubtle = bgOpacity === 50 || bgOpacity === "50" || bgOpacity === "50%" || bgOpacity === 0.5 || variant === "subtle" || variant === "soft" || variant === "tinted" || variant === "contained-50" || variant === "filled-50";
|
|
3251
|
-
const
|
|
3218
|
+
const variantClass7 = isOutline ? "outline" : isSubtle ? "subtle contained-50 bg-50" : "filled";
|
|
3252
3219
|
const resolvedColor = color ?? grade;
|
|
3253
3220
|
let content = children ?? label;
|
|
3254
3221
|
if (!content && grade && STN_GRADE_SOURCE[grade]) {
|
|
@@ -3305,10 +3272,11 @@ function StnChip(props) {
|
|
|
3305
3272
|
tabIndex,
|
|
3306
3273
|
className: cn(
|
|
3307
3274
|
"stn-chip",
|
|
3308
|
-
|
|
3275
|
+
variantClass7,
|
|
3309
3276
|
size,
|
|
3310
3277
|
resolvedShape,
|
|
3311
3278
|
resolvedColor,
|
|
3279
|
+
dashed && "dashed",
|
|
3312
3280
|
isClickable && "clickable",
|
|
3313
3281
|
onDelete && "deletable",
|
|
3314
3282
|
accent && `stn-chip--accent-${accent}`,
|
|
@@ -4126,17 +4094,170 @@ var StnTextField = forwardRef23(function StnTextField2({
|
|
|
4126
4094
|
);
|
|
4127
4095
|
});
|
|
4128
4096
|
|
|
4129
|
-
// src/components/
|
|
4130
|
-
import { forwardRef as forwardRef24, useId as useId11 } from "react";
|
|
4097
|
+
// src/components/StnTextArea.tsx
|
|
4131
4098
|
import {
|
|
4132
|
-
|
|
4133
|
-
|
|
4099
|
+
forwardRef as forwardRef24,
|
|
4100
|
+
useId as useId11,
|
|
4101
|
+
useState as useState10
|
|
4102
|
+
} from "react";
|
|
4134
4103
|
import { jsx as jsx35, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
4104
|
+
function normalizeSize2(size) {
|
|
4105
|
+
return size ?? "md";
|
|
4106
|
+
}
|
|
4107
|
+
function variantClass3(variant) {
|
|
4108
|
+
if (variant === "filled") return "filled";
|
|
4109
|
+
if (variant === "standard") return "standard";
|
|
4110
|
+
if (variant === "transparent") return "transparent";
|
|
4111
|
+
return "outlined";
|
|
4112
|
+
}
|
|
4113
|
+
function colorClass2(color) {
|
|
4114
|
+
if (!color || color === "primary" || color === "secondary") return void 0;
|
|
4115
|
+
return color;
|
|
4116
|
+
}
|
|
4117
|
+
function resizeClass(resize) {
|
|
4118
|
+
if (resize === "none") return "resize-none";
|
|
4119
|
+
if (resize === "horizontal") return "resize-horizontal";
|
|
4120
|
+
if (resize === "both") return "resize-both";
|
|
4121
|
+
return "resize-vertical";
|
|
4122
|
+
}
|
|
4135
4123
|
function resolveGlyph3(node) {
|
|
4136
4124
|
if (typeof node === "string") return /* @__PURE__ */ jsx35(StnIcon, { name: node, size: 16, color: "currentColor" });
|
|
4137
4125
|
return node;
|
|
4138
4126
|
}
|
|
4139
|
-
function
|
|
4127
|
+
var StnTextArea = forwardRef24(function StnTextArea2({
|
|
4128
|
+
size = "md",
|
|
4129
|
+
variant = "outlined",
|
|
4130
|
+
color,
|
|
4131
|
+
invalid,
|
|
4132
|
+
fullWidth,
|
|
4133
|
+
width,
|
|
4134
|
+
label,
|
|
4135
|
+
labelIcon,
|
|
4136
|
+
labelPosition = "top",
|
|
4137
|
+
required,
|
|
4138
|
+
helperText,
|
|
4139
|
+
showCount = false,
|
|
4140
|
+
resize = "vertical",
|
|
4141
|
+
rows = 3,
|
|
4142
|
+
maxLength,
|
|
4143
|
+
className,
|
|
4144
|
+
disabled,
|
|
4145
|
+
id: idProp,
|
|
4146
|
+
value,
|
|
4147
|
+
defaultValue,
|
|
4148
|
+
onChange,
|
|
4149
|
+
"aria-invalid": ariaInvalid,
|
|
4150
|
+
"aria-describedby": ariaDescribedBy,
|
|
4151
|
+
...rest
|
|
4152
|
+
}, ref) {
|
|
4153
|
+
const autoId = useId11();
|
|
4154
|
+
const id = idProp ?? autoId;
|
|
4155
|
+
const isControlled = value !== void 0;
|
|
4156
|
+
const [uncontrolledLength, setUncontrolledLength] = useState10(() => {
|
|
4157
|
+
if (defaultValue != null) return String(defaultValue).length;
|
|
4158
|
+
return 0;
|
|
4159
|
+
});
|
|
4160
|
+
const currentLength = isControlled ? String(value ?? "").length : uncontrolledLength;
|
|
4161
|
+
const handleTextChange = (e) => {
|
|
4162
|
+
if (!isControlled) {
|
|
4163
|
+
setUncontrolledLength(e.target.value.length);
|
|
4164
|
+
}
|
|
4165
|
+
onChange?.(e);
|
|
4166
|
+
};
|
|
4167
|
+
const hasLabel = label != null && label !== "";
|
|
4168
|
+
const hasHelper = helperText != null && helperText !== "";
|
|
4169
|
+
const hasFooter = hasHelper || showCount;
|
|
4170
|
+
const hasWrap = hasLabel || hasFooter;
|
|
4171
|
+
const helperId = hasHelper ? `${id}-helper` : void 0;
|
|
4172
|
+
const describedBy = [ariaDescribedBy, helperId].filter(Boolean).join(" ") || void 0;
|
|
4173
|
+
const widthProps = resolveInputWidthProps("stn-text-area", fullWidth, width);
|
|
4174
|
+
const textAreaClass = cn(
|
|
4175
|
+
"stn-text-area",
|
|
4176
|
+
variantClass3(variant),
|
|
4177
|
+
normalizeSize2(size),
|
|
4178
|
+
colorClass2(color),
|
|
4179
|
+
resizeClass(resize),
|
|
4180
|
+
!hasWrap && widthProps.className,
|
|
4181
|
+
invalid && "invalid",
|
|
4182
|
+
className
|
|
4183
|
+
);
|
|
4184
|
+
const textareaElement = /* @__PURE__ */ jsx35(
|
|
4185
|
+
"textarea",
|
|
4186
|
+
{
|
|
4187
|
+
ref,
|
|
4188
|
+
id,
|
|
4189
|
+
rows,
|
|
4190
|
+
disabled,
|
|
4191
|
+
required,
|
|
4192
|
+
maxLength,
|
|
4193
|
+
value,
|
|
4194
|
+
defaultValue,
|
|
4195
|
+
onChange: handleTextChange,
|
|
4196
|
+
"aria-invalid": invalid ? true : ariaInvalid,
|
|
4197
|
+
"aria-describedby": describedBy,
|
|
4198
|
+
className: textAreaClass,
|
|
4199
|
+
style: hasWrap ? void 0 : widthProps.style,
|
|
4200
|
+
...rest
|
|
4201
|
+
}
|
|
4202
|
+
);
|
|
4203
|
+
if (!hasWrap) {
|
|
4204
|
+
return textareaElement;
|
|
4205
|
+
}
|
|
4206
|
+
const labelElement = hasLabel ? /* @__PURE__ */ jsxs27("label", { htmlFor: id, className: "stn-text-area__label", children: [
|
|
4207
|
+
labelIcon ? /* @__PURE__ */ jsx35("span", { className: "stn-text-area__label-icon", "aria-hidden": "true", children: resolveGlyph3(labelIcon) }) : null,
|
|
4208
|
+
/* @__PURE__ */ jsx35("span", { className: "stn-text-area__label-text", children: label }),
|
|
4209
|
+
required && /* @__PURE__ */ jsx35("span", { className: "stn-text-area__required", "aria-hidden": "true", children: "*" })
|
|
4210
|
+
] }) : null;
|
|
4211
|
+
const isRow = labelPosition === "left" || labelPosition === "right";
|
|
4212
|
+
return /* @__PURE__ */ jsxs27(
|
|
4213
|
+
"div",
|
|
4214
|
+
{
|
|
4215
|
+
className: cn(
|
|
4216
|
+
"stn-text-area-wrap",
|
|
4217
|
+
isRow ? "stn-text-area-wrap--row" : "stn-text-area-wrap--col",
|
|
4218
|
+
hasLabel && labelPosition === "left" && "stn-text-area-wrap--label-left",
|
|
4219
|
+
hasLabel && labelPosition === "right" && "stn-text-area-wrap--label-right",
|
|
4220
|
+
hasLabel && labelPosition === "top" && "stn-text-area-wrap--label-top",
|
|
4221
|
+
widthProps.className
|
|
4222
|
+
),
|
|
4223
|
+
style: widthProps.style,
|
|
4224
|
+
children: [
|
|
4225
|
+
hasLabel && (labelPosition === "left" || labelPosition === "top") ? labelElement : null,
|
|
4226
|
+
/* @__PURE__ */ jsxs27("div", { className: "stn-text-area-wrap__body", children: [
|
|
4227
|
+
textareaElement,
|
|
4228
|
+
hasFooter && /* @__PURE__ */ jsxs27("div", { className: "stn-text-area__footer", children: [
|
|
4229
|
+
hasHelper ? /* @__PURE__ */ jsx35(
|
|
4230
|
+
"p",
|
|
4231
|
+
{
|
|
4232
|
+
id: helperId,
|
|
4233
|
+
className: cn("stn-text-area__helper", invalid && "stn-text-area__helper--error"),
|
|
4234
|
+
children: helperText
|
|
4235
|
+
}
|
|
4236
|
+
) : /* @__PURE__ */ jsx35("span", {}),
|
|
4237
|
+
showCount && /* @__PURE__ */ jsxs27("span", { className: "stn-text-area__count", children: [
|
|
4238
|
+
currentLength,
|
|
4239
|
+
maxLength != null ? ` / ${maxLength}` : ""
|
|
4240
|
+
] })
|
|
4241
|
+
] })
|
|
4242
|
+
] }),
|
|
4243
|
+
hasLabel && labelPosition === "right" ? labelElement : null
|
|
4244
|
+
]
|
|
4245
|
+
}
|
|
4246
|
+
);
|
|
4247
|
+
});
|
|
4248
|
+
StnTextArea.displayName = "StnTextArea";
|
|
4249
|
+
|
|
4250
|
+
// src/components/StnDateRangeField.tsx
|
|
4251
|
+
import { forwardRef as forwardRef25, useId as useId12 } from "react";
|
|
4252
|
+
import {
|
|
4253
|
+
formatStnDateRangeFieldValue
|
|
4254
|
+
} from "@stn-uiux/pub-ui/data/stnDateRangeField";
|
|
4255
|
+
import { jsx as jsx36, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
4256
|
+
function resolveGlyph4(node) {
|
|
4257
|
+
if (typeof node === "string") return /* @__PURE__ */ jsx36(StnIcon, { name: node, size: 16, color: "currentColor" });
|
|
4258
|
+
return node;
|
|
4259
|
+
}
|
|
4260
|
+
function normalizeSize3(size) {
|
|
4140
4261
|
if (!size) return "md";
|
|
4141
4262
|
const s = String(size).toLowerCase();
|
|
4142
4263
|
if (s === "s" || s === "sm") return "sm";
|
|
@@ -4145,9 +4266,9 @@ function normalizeSize2(size) {
|
|
|
4145
4266
|
return "md";
|
|
4146
4267
|
}
|
|
4147
4268
|
function sizeClass3(size) {
|
|
4148
|
-
return
|
|
4269
|
+
return normalizeSize3(size);
|
|
4149
4270
|
}
|
|
4150
|
-
function
|
|
4271
|
+
function variantClass4(variant = "outline") {
|
|
4151
4272
|
if (variant === "transparent") return "transparent";
|
|
4152
4273
|
return "";
|
|
4153
4274
|
}
|
|
@@ -4157,7 +4278,7 @@ function resolveValue(value, format) {
|
|
|
4157
4278
|
const trimmed = value.trim();
|
|
4158
4279
|
return trimmed || null;
|
|
4159
4280
|
}
|
|
4160
|
-
var StnDateRangeField =
|
|
4281
|
+
var StnDateRangeField = forwardRef25(function StnDateRangeField2({
|
|
4161
4282
|
size = "md",
|
|
4162
4283
|
variant = "outline",
|
|
4163
4284
|
start,
|
|
@@ -4182,7 +4303,7 @@ var StnDateRangeField = forwardRef24(function StnDateRangeField2({
|
|
|
4182
4303
|
"aria-invalid": ariaInvalid,
|
|
4183
4304
|
...rest
|
|
4184
4305
|
}, ref) {
|
|
4185
|
-
const autoId =
|
|
4306
|
+
const autoId = useId12();
|
|
4186
4307
|
const rootId = idProp ?? `stn-date-range-${autoId.replace(/:/g, "")}`;
|
|
4187
4308
|
const startText = resolveValue(start, format);
|
|
4188
4309
|
const endText = resolveValue(end, format);
|
|
@@ -4191,7 +4312,7 @@ var StnDateRangeField = forwardRef24(function StnDateRangeField2({
|
|
|
4191
4312
|
const hasLabel = label != null && label !== "";
|
|
4192
4313
|
const hasHelper = helperText != null && helperText !== "";
|
|
4193
4314
|
const hasWrap = hasLabel || hasHelper;
|
|
4194
|
-
const buttonNode = /* @__PURE__ */
|
|
4315
|
+
const buttonNode = /* @__PURE__ */ jsx36(
|
|
4195
4316
|
"button",
|
|
4196
4317
|
{
|
|
4197
4318
|
ref,
|
|
@@ -4202,7 +4323,7 @@ var StnDateRangeField = forwardRef24(function StnDateRangeField2({
|
|
|
4202
4323
|
className: cn(
|
|
4203
4324
|
"stn-date-range-field",
|
|
4204
4325
|
sizeClass3(size),
|
|
4205
|
-
|
|
4326
|
+
variantClass4(variant),
|
|
4206
4327
|
!hasWrap && widthProps.className,
|
|
4207
4328
|
fullWidth && "stn-date-range-field--full w100p",
|
|
4208
4329
|
invalid && "stn-date-range-field--invalid",
|
|
@@ -4211,25 +4332,25 @@ var StnDateRangeField = forwardRef24(function StnDateRangeField2({
|
|
|
4211
4332
|
),
|
|
4212
4333
|
style: !hasWrap ? widthProps.style ?? style : void 0,
|
|
4213
4334
|
...rest,
|
|
4214
|
-
children: /* @__PURE__ */
|
|
4215
|
-
/* @__PURE__ */
|
|
4216
|
-
/* @__PURE__ */
|
|
4217
|
-
/* @__PURE__ */
|
|
4218
|
-
/* @__PURE__ */
|
|
4335
|
+
children: /* @__PURE__ */ jsxs28("span", { className: "stn-date-range-field__inner", children: [
|
|
4336
|
+
/* @__PURE__ */ jsxs28("span", { className: "stn-date-range-field__text", children: [
|
|
4337
|
+
/* @__PURE__ */ jsx36("span", { className: cn("stn-date-range-field__value", !startText && "is-placeholder"), children: startText ?? startPlaceholder }),
|
|
4338
|
+
/* @__PURE__ */ jsx36("span", { className: "stn-date-range-field__sep", "aria-hidden": "true", children: "~" }),
|
|
4339
|
+
/* @__PURE__ */ jsx36("span", { className: cn("stn-date-range-field__value", !endText && "is-placeholder"), children: endText ?? endPlaceholder })
|
|
4219
4340
|
] }),
|
|
4220
|
-
/* @__PURE__ */
|
|
4341
|
+
/* @__PURE__ */ jsx36("span", { className: "stn-date-range-field__icon", "aria-hidden": "true" })
|
|
4221
4342
|
] })
|
|
4222
4343
|
}
|
|
4223
4344
|
);
|
|
4224
4345
|
if (!hasWrap) return buttonNode;
|
|
4225
4346
|
const resolvedLabelIcon = labelIcon ?? icon;
|
|
4226
|
-
const labelElement = hasLabel ? /* @__PURE__ */
|
|
4227
|
-
resolvedLabelIcon ? /* @__PURE__ */
|
|
4228
|
-
/* @__PURE__ */
|
|
4229
|
-
required && /* @__PURE__ */
|
|
4347
|
+
const labelElement = hasLabel ? /* @__PURE__ */ jsxs28("label", { htmlFor: rootId, className: "stn-date-range-field__label", children: [
|
|
4348
|
+
resolvedLabelIcon ? /* @__PURE__ */ jsx36("span", { className: "stn-date-range-field__label-icon", "aria-hidden": "true", children: resolveGlyph4(resolvedLabelIcon) }) : null,
|
|
4349
|
+
/* @__PURE__ */ jsx36("span", { className: "stn-date-range-field__label-text", children: label }),
|
|
4350
|
+
required && /* @__PURE__ */ jsx36("span", { className: "stn-date-range-field__required", "aria-hidden": "true", children: "*" })
|
|
4230
4351
|
] }) : null;
|
|
4231
4352
|
const isRow = labelPosition === "left" || labelPosition === "right";
|
|
4232
|
-
return /* @__PURE__ */
|
|
4353
|
+
return /* @__PURE__ */ jsxs28(
|
|
4233
4354
|
"div",
|
|
4234
4355
|
{
|
|
4235
4356
|
className: cn(
|
|
@@ -4245,9 +4366,9 @@ var StnDateRangeField = forwardRef24(function StnDateRangeField2({
|
|
|
4245
4366
|
style: widthProps.style ?? style,
|
|
4246
4367
|
children: [
|
|
4247
4368
|
hasLabel && (labelPosition === "left" || labelPosition === "top") ? labelElement : null,
|
|
4248
|
-
/* @__PURE__ */
|
|
4369
|
+
/* @__PURE__ */ jsxs28("div", { className: "stn-date-range-field-wrap__body", children: [
|
|
4249
4370
|
buttonNode,
|
|
4250
|
-
hasHelper && /* @__PURE__ */
|
|
4371
|
+
hasHelper && /* @__PURE__ */ jsx36(
|
|
4251
4372
|
"span",
|
|
4252
4373
|
{
|
|
4253
4374
|
id: `${rootId}-helper`,
|
|
@@ -4267,16 +4388,16 @@ var StnDateRangeField = forwardRef24(function StnDateRangeField2({
|
|
|
4267
4388
|
|
|
4268
4389
|
// src/components/StnLabelPrefix.tsx
|
|
4269
4390
|
import {
|
|
4270
|
-
useId as
|
|
4271
|
-
useState as
|
|
4391
|
+
useId as useId13,
|
|
4392
|
+
useState as useState11,
|
|
4272
4393
|
isValidElement as isValidElement4,
|
|
4273
4394
|
cloneElement as cloneElement4
|
|
4274
4395
|
} from "react";
|
|
4275
|
-
import { jsx as
|
|
4396
|
+
import { jsx as jsx37, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
4276
4397
|
function sizeClass4(size) {
|
|
4277
4398
|
return size;
|
|
4278
4399
|
}
|
|
4279
|
-
function
|
|
4400
|
+
function variantClass5(variant) {
|
|
4280
4401
|
return variant;
|
|
4281
4402
|
}
|
|
4282
4403
|
function StnLabelPrefix({
|
|
@@ -4307,12 +4428,12 @@ function StnLabelPrefix({
|
|
|
4307
4428
|
id: idProp,
|
|
4308
4429
|
...rest
|
|
4309
4430
|
}) {
|
|
4310
|
-
const autoId =
|
|
4431
|
+
const autoId = useId13();
|
|
4311
4432
|
const id = idProp ?? autoId;
|
|
4312
4433
|
const isError = error || invalid || color === "error";
|
|
4313
4434
|
const hasHelper = helperText != null && helperText !== "";
|
|
4314
4435
|
const helperId = hasHelper ? `${id}-helper` : void 0;
|
|
4315
|
-
const [internalChecked, setInternalChecked] =
|
|
4436
|
+
const [internalChecked, setInternalChecked] = useState11(defaultChecked ?? false);
|
|
4316
4437
|
const isChecked = checked !== void 0 ? checked : internalChecked;
|
|
4317
4438
|
const handleCheckboxChange = (nextChecked) => {
|
|
4318
4439
|
if (checked === void 0) {
|
|
@@ -4325,7 +4446,7 @@ function StnLabelPrefix({
|
|
|
4325
4446
|
const rootClass = cn(
|
|
4326
4447
|
"stn-label-prefix",
|
|
4327
4448
|
sizeClass4(size),
|
|
4328
|
-
|
|
4449
|
+
variantClass5(variant),
|
|
4329
4450
|
color && color !== "error" && color,
|
|
4330
4451
|
labelPosition === "suffix" && "stn-label-prefix--suffix",
|
|
4331
4452
|
radius && `radius-${radius}`,
|
|
@@ -4337,7 +4458,7 @@ function StnLabelPrefix({
|
|
|
4337
4458
|
);
|
|
4338
4459
|
const defaultCheckboxSize = size === "lg" ? "md" : "sm";
|
|
4339
4460
|
const resolvedCheckboxSize = checkboxSize ?? defaultCheckboxSize;
|
|
4340
|
-
const checkboxNode = checkboxSlot ?? (checkbox ? /* @__PURE__ */
|
|
4461
|
+
const checkboxNode = checkboxSlot ?? (checkbox ? /* @__PURE__ */ jsx37("span", { className: "stn-label-prefix__checkbox", children: /* @__PURE__ */ jsx37(
|
|
4341
4462
|
StnCheckbox,
|
|
4342
4463
|
{
|
|
4343
4464
|
size: resolvedCheckboxSize,
|
|
@@ -4348,14 +4469,14 @@ function StnLabelPrefix({
|
|
|
4348
4469
|
"aria-label": typeof label === "string" ? `${label} \uC120\uD0DD` : void 0
|
|
4349
4470
|
}
|
|
4350
4471
|
) }) : null);
|
|
4351
|
-
const labelSection = /* @__PURE__ */
|
|
4472
|
+
const labelSection = /* @__PURE__ */ jsxs29("span", { className: "stn-label-prefix__label", children: [
|
|
4352
4473
|
checkboxNode,
|
|
4353
|
-
labelIcon != null && /* @__PURE__ */
|
|
4354
|
-
/* @__PURE__ */
|
|
4474
|
+
labelIcon != null && /* @__PURE__ */ jsx37("span", { className: "stn-label-prefix__icon", "aria-hidden": "true", children: labelIcon }),
|
|
4475
|
+
/* @__PURE__ */ jsxs29("span", { className: "stn-label-prefix__text", children: [
|
|
4355
4476
|
label,
|
|
4356
|
-
required && /* @__PURE__ */
|
|
4477
|
+
required && /* @__PURE__ */ jsx37("span", { className: "stn-label-prefix__required", "aria-hidden": "true", children: "*" })
|
|
4357
4478
|
] }),
|
|
4358
|
-
/* @__PURE__ */
|
|
4479
|
+
/* @__PURE__ */ jsx37("span", { className: "stn-label-prefix__divider", "aria-hidden": "true" })
|
|
4359
4480
|
] });
|
|
4360
4481
|
let renderedControl = children;
|
|
4361
4482
|
if (isControlDisabled && isValidElement4(children) && typeof children.type !== "string") {
|
|
@@ -4363,7 +4484,7 @@ function StnLabelPrefix({
|
|
|
4363
4484
|
disabled: true
|
|
4364
4485
|
});
|
|
4365
4486
|
}
|
|
4366
|
-
const prefixNode = /* @__PURE__ */
|
|
4487
|
+
const prefixNode = /* @__PURE__ */ jsxs29(
|
|
4367
4488
|
"div",
|
|
4368
4489
|
{
|
|
4369
4490
|
id: !hasHelper ? id : void 0,
|
|
@@ -4375,14 +4496,14 @@ function StnLabelPrefix({
|
|
|
4375
4496
|
...!hasHelper ? rest : {},
|
|
4376
4497
|
children: [
|
|
4377
4498
|
labelSection,
|
|
4378
|
-
/* @__PURE__ */
|
|
4499
|
+
/* @__PURE__ */ jsx37("span", { className: "stn-label-prefix__control", children: renderedControl })
|
|
4379
4500
|
]
|
|
4380
4501
|
}
|
|
4381
4502
|
);
|
|
4382
4503
|
if (!hasHelper) {
|
|
4383
4504
|
return prefixNode;
|
|
4384
4505
|
}
|
|
4385
|
-
return /* @__PURE__ */
|
|
4506
|
+
return /* @__PURE__ */ jsxs29(
|
|
4386
4507
|
"div",
|
|
4387
4508
|
{
|
|
4388
4509
|
id,
|
|
@@ -4396,7 +4517,7 @@ function StnLabelPrefix({
|
|
|
4396
4517
|
...rest,
|
|
4397
4518
|
children: [
|
|
4398
4519
|
prefixNode,
|
|
4399
|
-
/* @__PURE__ */
|
|
4520
|
+
/* @__PURE__ */ jsx37(
|
|
4400
4521
|
"p",
|
|
4401
4522
|
{
|
|
4402
4523
|
id: helperId,
|
|
@@ -4462,14 +4583,14 @@ import {
|
|
|
4462
4583
|
} from "@stn-uiux/pub-ui/data/stnSearchRequirement";
|
|
4463
4584
|
|
|
4464
4585
|
// src/patterns/search/StnSearchRequirementBar.tsx
|
|
4465
|
-
import { jsx as
|
|
4586
|
+
import { jsx as jsx38, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
4466
4587
|
function StnSearchRequirementBar({
|
|
4467
4588
|
children,
|
|
4468
4589
|
className,
|
|
4469
4590
|
density = "default",
|
|
4470
4591
|
...rest
|
|
4471
4592
|
}) {
|
|
4472
|
-
return /* @__PURE__ */
|
|
4593
|
+
return /* @__PURE__ */ jsx38(
|
|
4473
4594
|
"div",
|
|
4474
4595
|
{
|
|
4475
4596
|
className: cn(
|
|
@@ -4485,7 +4606,7 @@ function StnSearchRequirementBar({
|
|
|
4485
4606
|
);
|
|
4486
4607
|
}
|
|
4487
4608
|
function StnSearchRequirementBarFields({ children, className, ...rest }) {
|
|
4488
|
-
return /* @__PURE__ */
|
|
4609
|
+
return /* @__PURE__ */ jsx38("div", { className: cn("stn-search-requirement__fields", className), "data-stn-search-requirement": "fields", ...rest, children });
|
|
4489
4610
|
}
|
|
4490
4611
|
function StnSearchRequirementBarField({
|
|
4491
4612
|
label,
|
|
@@ -4495,20 +4616,20 @@ function StnSearchRequirementBarField({
|
|
|
4495
4616
|
controlClassName,
|
|
4496
4617
|
...rest
|
|
4497
4618
|
}) {
|
|
4498
|
-
return /* @__PURE__ */
|
|
4499
|
-
/* @__PURE__ */
|
|
4500
|
-
/* @__PURE__ */
|
|
4619
|
+
return /* @__PURE__ */ jsxs30("div", { className: cn("stn-search-requirement__field", className), "data-stn-search-requirement": "field", ...rest, children: [
|
|
4620
|
+
/* @__PURE__ */ jsx38("span", { className: cn("stn-search-requirement__label", labelClassName), children: label }),
|
|
4621
|
+
/* @__PURE__ */ jsx38("div", { className: cn("stn-search-requirement__control", controlClassName), children })
|
|
4501
4622
|
] });
|
|
4502
4623
|
}
|
|
4503
4624
|
function StnSearchRequirementBarSearchButton({
|
|
4504
4625
|
children = "\uAC80\uC0C9",
|
|
4505
4626
|
size = "md",
|
|
4506
4627
|
variant = "outlined",
|
|
4507
|
-
icon = /* @__PURE__ */
|
|
4628
|
+
icon = /* @__PURE__ */ jsx38(StnIcon, { name: "line/search", size: 16, color: "currentColor" }),
|
|
4508
4629
|
className,
|
|
4509
4630
|
...rest
|
|
4510
4631
|
}) {
|
|
4511
|
-
return /* @__PURE__ */
|
|
4632
|
+
return /* @__PURE__ */ jsx38(
|
|
4512
4633
|
StnButton,
|
|
4513
4634
|
{
|
|
4514
4635
|
size,
|
|
@@ -4530,10 +4651,10 @@ function StnSearchRequirementBarExport({
|
|
|
4530
4651
|
"aria-label": ariaLabel = "Excel\uBCF4\uB0B4\uAE30",
|
|
4531
4652
|
...rest
|
|
4532
4653
|
}) {
|
|
4533
|
-
return /* @__PURE__ */
|
|
4654
|
+
return /* @__PURE__ */ jsx38(
|
|
4534
4655
|
StnButton,
|
|
4535
4656
|
{
|
|
4536
|
-
icon: icon ?? /* @__PURE__ */
|
|
4657
|
+
icon: icon ?? /* @__PURE__ */ jsx38(StnIcon, { name, size: 24, color: "currentColor" }),
|
|
4537
4658
|
variant,
|
|
4538
4659
|
size,
|
|
4539
4660
|
"aria-label": ariaLabel,
|
|
@@ -4544,7 +4665,7 @@ function StnSearchRequirementBarExport({
|
|
|
4544
4665
|
);
|
|
4545
4666
|
}
|
|
4546
4667
|
function StnSearchRequirementBarDivider({ className, ...rest }) {
|
|
4547
|
-
return /* @__PURE__ */
|
|
4668
|
+
return /* @__PURE__ */ jsx38(
|
|
4548
4669
|
"span",
|
|
4549
4670
|
{
|
|
4550
4671
|
className: cn("stn-search-requirement__divider", className),
|
|
@@ -4570,13 +4691,13 @@ import {
|
|
|
4570
4691
|
useEffect as useEffect9,
|
|
4571
4692
|
useLayoutEffect,
|
|
4572
4693
|
useRef as useRef6,
|
|
4573
|
-
useState as
|
|
4694
|
+
useState as useState13
|
|
4574
4695
|
} from "react";
|
|
4575
4696
|
import { createPortal as createPortal2 } from "react-dom";
|
|
4576
4697
|
import { formatStnDateRangeFieldValue as formatStnDateRangeFieldValue2 } from "@stn-uiux/pub-ui/data/stnDateRangeField";
|
|
4577
4698
|
|
|
4578
4699
|
// src/components/datePicker/StnDateRangePicker.tsx
|
|
4579
|
-
import { useCallback as useCallback6, useEffect as useEffect8, useId as
|
|
4700
|
+
import { useCallback as useCallback6, useEffect as useEffect8, useId as useId14, useMemo as useMemo3, useState as useState12 } from "react";
|
|
4580
4701
|
import {
|
|
4581
4702
|
STN_DATE_PICKER_WEEKDAYS
|
|
4582
4703
|
} from "@stn-uiux/pub-ui/data/stnDatePicker";
|
|
@@ -4636,9 +4757,9 @@ function normalizeRange(start, end) {
|
|
|
4636
4757
|
}
|
|
4637
4758
|
|
|
4638
4759
|
// src/components/datePicker/StnDateRangePicker.tsx
|
|
4639
|
-
import { jsx as
|
|
4760
|
+
import { jsx as jsx39, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
4640
4761
|
function useDraftRange(value, open) {
|
|
4641
|
-
const [draft, setDraft] =
|
|
4762
|
+
const [draft, setDraft] = useState12(value);
|
|
4642
4763
|
useEffect8(() => {
|
|
4643
4764
|
if (open) setDraft(value);
|
|
4644
4765
|
}, [open, value]);
|
|
@@ -4647,19 +4768,19 @@ function useDraftRange(value, open) {
|
|
|
4647
4768
|
function CalendarPanel({ month, range, onPick, onPrev, onNext, showPrev = true, showNext = true }) {
|
|
4648
4769
|
const days = useMemo3(() => buildMonthGrid(month), [month]);
|
|
4649
4770
|
const { start, end } = range;
|
|
4650
|
-
return /* @__PURE__ */
|
|
4651
|
-
/* @__PURE__ */
|
|
4652
|
-
showPrev ? /* @__PURE__ */
|
|
4653
|
-
/* @__PURE__ */
|
|
4654
|
-
showNext ? /* @__PURE__ */
|
|
4771
|
+
return /* @__PURE__ */ jsxs31("div", { className: "stn-date-picker-panel", children: [
|
|
4772
|
+
/* @__PURE__ */ jsxs31("div", { className: "stn-date-picker-panel__header", children: [
|
|
4773
|
+
showPrev ? /* @__PURE__ */ jsx39("button", { type: "button", className: "stn-date-picker-panel__nav", onClick: onPrev, "aria-label": "Previous month", children: "\u2039" }) : /* @__PURE__ */ jsx39("span", { className: "stn-date-picker-panel__nav", "aria-hidden": "true" }),
|
|
4774
|
+
/* @__PURE__ */ jsx39("p", { className: "stn-date-picker-panel__title", children: formatMonthTitle(month) }),
|
|
4775
|
+
showNext ? /* @__PURE__ */ jsx39("button", { type: "button", className: "stn-date-picker-panel__nav", onClick: onNext, "aria-label": "Next month", children: "\u203A" }) : /* @__PURE__ */ jsx39("span", { className: "stn-date-picker-panel__nav", "aria-hidden": "true" })
|
|
4655
4776
|
] }),
|
|
4656
|
-
/* @__PURE__ */
|
|
4657
|
-
/* @__PURE__ */
|
|
4658
|
-
/* @__PURE__ */
|
|
4777
|
+
/* @__PURE__ */ jsxs31("table", { className: "stn-date-picker-content", children: [
|
|
4778
|
+
/* @__PURE__ */ jsx39("thead", { children: /* @__PURE__ */ jsx39("tr", { children: STN_DATE_PICKER_WEEKDAYS.map((label) => /* @__PURE__ */ jsx39("th", { scope: "col", children: label }, label)) }) }),
|
|
4779
|
+
/* @__PURE__ */ jsx39("tbody", { children: Array.from({ length: 6 }, (_, row) => /* @__PURE__ */ jsx39("tr", { children: days.slice(row * 7, row * 7 + 7).map((cell) => {
|
|
4659
4780
|
const inRange = start && end && isBetweenDays(cell.date, start, end);
|
|
4660
4781
|
const isStart = start ? isSameDay(cell.date, start) : false;
|
|
4661
4782
|
const isEnd = end ? isSameDay(cell.date, end) : false;
|
|
4662
|
-
return /* @__PURE__ */
|
|
4783
|
+
return /* @__PURE__ */ jsx39(
|
|
4663
4784
|
"td",
|
|
4664
4785
|
{
|
|
4665
4786
|
className: cn(
|
|
@@ -4669,7 +4790,7 @@ function CalendarPanel({ month, range, onPick, onPrev, onNext, showPrev = true,
|
|
|
4669
4790
|
isStart && "stn-date-picker-cell--range-start",
|
|
4670
4791
|
isEnd && "stn-date-picker-cell--range-end"
|
|
4671
4792
|
),
|
|
4672
|
-
children: /* @__PURE__ */
|
|
4793
|
+
children: /* @__PURE__ */ jsx39(
|
|
4673
4794
|
"button",
|
|
4674
4795
|
{
|
|
4675
4796
|
type: "button",
|
|
@@ -4691,16 +4812,16 @@ function TimeColumns({ label, value, onChange }) {
|
|
|
4691
4812
|
const seconds = value?.getSeconds() ?? 0;
|
|
4692
4813
|
const base = value ?? /* @__PURE__ */ new Date();
|
|
4693
4814
|
const patch = (h, m, s) => onChange(setTimePart(base, h, m, s));
|
|
4694
|
-
return /* @__PURE__ */
|
|
4695
|
-
/* @__PURE__ */
|
|
4696
|
-
/* @__PURE__ */
|
|
4697
|
-
/* @__PURE__ */
|
|
4815
|
+
return /* @__PURE__ */ jsxs31("div", { className: "stn-date-picker-time__side", children: [
|
|
4816
|
+
/* @__PURE__ */ jsx39("span", { className: "stn-date-picker-time__label", children: label }),
|
|
4817
|
+
/* @__PURE__ */ jsxs31("div", { className: "stn-date-picker-time__columns", children: [
|
|
4818
|
+
/* @__PURE__ */ jsx39(
|
|
4698
4819
|
StnScroll,
|
|
4699
4820
|
{
|
|
4700
4821
|
variant: "arrows",
|
|
4701
4822
|
size: "thin",
|
|
4702
4823
|
className: "stn-date-picker-time__scroll",
|
|
4703
|
-
children: /* @__PURE__ */
|
|
4824
|
+
children: /* @__PURE__ */ jsx39("ul", { className: "stn-date-picker-time__column", "aria-label": `${label} hour`, children: Array.from({ length: 24 }, (_, h) => /* @__PURE__ */ jsx39("li", { children: /* @__PURE__ */ jsx39(
|
|
4704
4825
|
"button",
|
|
4705
4826
|
{
|
|
4706
4827
|
type: "button",
|
|
@@ -4711,13 +4832,13 @@ function TimeColumns({ label, value, onChange }) {
|
|
|
4711
4832
|
) }, h)) })
|
|
4712
4833
|
}
|
|
4713
4834
|
),
|
|
4714
|
-
/* @__PURE__ */
|
|
4835
|
+
/* @__PURE__ */ jsx39(
|
|
4715
4836
|
StnScroll,
|
|
4716
4837
|
{
|
|
4717
4838
|
variant: "arrows",
|
|
4718
4839
|
size: "thin",
|
|
4719
4840
|
className: "stn-date-picker-time__scroll",
|
|
4720
|
-
children: /* @__PURE__ */
|
|
4841
|
+
children: /* @__PURE__ */ jsx39("ul", { className: "stn-date-picker-time__column", "aria-label": `${label} minute`, children: Array.from({ length: 60 }, (_, m) => /* @__PURE__ */ jsx39("li", { children: /* @__PURE__ */ jsx39(
|
|
4721
4842
|
"button",
|
|
4722
4843
|
{
|
|
4723
4844
|
type: "button",
|
|
@@ -4728,13 +4849,13 @@ function TimeColumns({ label, value, onChange }) {
|
|
|
4728
4849
|
) }, m)) })
|
|
4729
4850
|
}
|
|
4730
4851
|
),
|
|
4731
|
-
/* @__PURE__ */
|
|
4852
|
+
/* @__PURE__ */ jsx39(
|
|
4732
4853
|
StnScroll,
|
|
4733
4854
|
{
|
|
4734
4855
|
variant: "arrows",
|
|
4735
4856
|
size: "thin",
|
|
4736
4857
|
className: "stn-date-picker-time__scroll",
|
|
4737
|
-
children: /* @__PURE__ */
|
|
4858
|
+
children: /* @__PURE__ */ jsx39("ul", { className: "stn-date-picker-time__column", "aria-label": `${label} second`, children: Array.from({ length: 60 }, (_, s) => /* @__PURE__ */ jsx39("li", { children: /* @__PURE__ */ jsx39(
|
|
4738
4859
|
"button",
|
|
4739
4860
|
{
|
|
4740
4861
|
type: "button",
|
|
@@ -4759,9 +4880,9 @@ function StnDateRangePicker({
|
|
|
4759
4880
|
style,
|
|
4760
4881
|
anchorRect
|
|
4761
4882
|
}) {
|
|
4762
|
-
const titleId =
|
|
4883
|
+
const titleId = useId14();
|
|
4763
4884
|
const [draft, setDraft] = useDraftRange(value, open);
|
|
4764
|
-
const [leftMonth, setLeftMonth] =
|
|
4885
|
+
const [leftMonth, setLeftMonth] = useState12(() => startOfMonth(draft.start ?? draft.end ?? /* @__PURE__ */ new Date()));
|
|
4765
4886
|
useEffect8(() => {
|
|
4766
4887
|
if (!open) return;
|
|
4767
4888
|
const anchor = draft.start ?? draft.end ?? /* @__PURE__ */ new Date();
|
|
@@ -4813,7 +4934,7 @@ function StnDateRangePicker({
|
|
|
4813
4934
|
left: anchorRect.left,
|
|
4814
4935
|
...style
|
|
4815
4936
|
} : style ?? {};
|
|
4816
|
-
return /* @__PURE__ */
|
|
4937
|
+
return /* @__PURE__ */ jsx39(
|
|
4817
4938
|
"div",
|
|
4818
4939
|
{
|
|
4819
4940
|
className: cn("stn-date-picker-dropdown", className),
|
|
@@ -4821,10 +4942,10 @@ function StnDateRangePicker({
|
|
|
4821
4942
|
role: "dialog",
|
|
4822
4943
|
"aria-modal": "false",
|
|
4823
4944
|
"aria-labelledby": titleId,
|
|
4824
|
-
children: /* @__PURE__ */
|
|
4825
|
-
/* @__PURE__ */
|
|
4826
|
-
/* @__PURE__ */
|
|
4827
|
-
/* @__PURE__ */
|
|
4945
|
+
children: /* @__PURE__ */ jsxs31("div", { className: "stn-date-picker-dropdown__body", children: [
|
|
4946
|
+
/* @__PURE__ */ jsx39("span", { id: titleId, className: "stn-sf__visually-hidden", children: "Date range picker" }),
|
|
4947
|
+
/* @__PURE__ */ jsxs31("div", { className: "stn-date-picker-dropdown__panels", children: [
|
|
4948
|
+
/* @__PURE__ */ jsx39(
|
|
4828
4949
|
CalendarPanel,
|
|
4829
4950
|
{
|
|
4830
4951
|
month: leftMonth,
|
|
@@ -4835,7 +4956,7 @@ function StnDateRangePicker({
|
|
|
4835
4956
|
showNext: false
|
|
4836
4957
|
}
|
|
4837
4958
|
),
|
|
4838
|
-
/* @__PURE__ */
|
|
4959
|
+
/* @__PURE__ */ jsx39(
|
|
4839
4960
|
CalendarPanel,
|
|
4840
4961
|
{
|
|
4841
4962
|
month: rightMonth,
|
|
@@ -4847,8 +4968,8 @@ function StnDateRangePicker({
|
|
|
4847
4968
|
}
|
|
4848
4969
|
)
|
|
4849
4970
|
] }),
|
|
4850
|
-
showTime ? /* @__PURE__ */
|
|
4851
|
-
/* @__PURE__ */
|
|
4971
|
+
showTime ? /* @__PURE__ */ jsxs31("div", { className: "stn-date-picker-time", children: [
|
|
4972
|
+
/* @__PURE__ */ jsx39(
|
|
4852
4973
|
TimeColumns,
|
|
4853
4974
|
{
|
|
4854
4975
|
label: "\uC2DC\uC791",
|
|
@@ -4856,7 +4977,7 @@ function StnDateRangePicker({
|
|
|
4856
4977
|
onChange: (start) => updateDraft({ ...draft, start })
|
|
4857
4978
|
}
|
|
4858
4979
|
),
|
|
4859
|
-
/* @__PURE__ */
|
|
4980
|
+
/* @__PURE__ */ jsx39(
|
|
4860
4981
|
TimeColumns,
|
|
4861
4982
|
{
|
|
4862
4983
|
label: "\uC885\uB8CC",
|
|
@@ -4865,16 +4986,16 @@ function StnDateRangePicker({
|
|
|
4865
4986
|
}
|
|
4866
4987
|
)
|
|
4867
4988
|
] }) : null,
|
|
4868
|
-
/* @__PURE__ */
|
|
4989
|
+
/* @__PURE__ */ jsx39("div", { className: "stn-date-picker-footer", children: /* @__PURE__ */ jsx39(StnButton, { size: "md", variant: "contained", onClick: handleApply, disabled: !draft.start || !draft.end, children: "\uD655\uC778" }) })
|
|
4869
4990
|
] })
|
|
4870
4991
|
}
|
|
4871
4992
|
);
|
|
4872
4993
|
}
|
|
4873
4994
|
|
|
4874
4995
|
// src/components/datePicker/StnDateRangePickerField.tsx
|
|
4875
|
-
import { jsx as
|
|
4996
|
+
import { jsx as jsx40, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
4876
4997
|
function useControllableRange(controlled, defaultValue, onChange) {
|
|
4877
|
-
const [internal, setInternal] =
|
|
4998
|
+
const [internal, setInternal] = useState13(defaultValue);
|
|
4878
4999
|
const value = controlled ?? internal;
|
|
4879
5000
|
const setValue = useCallback7(
|
|
4880
5001
|
(next) => {
|
|
@@ -4906,8 +5027,8 @@ function StnDateRangePickerField({
|
|
|
4906
5027
|
}) {
|
|
4907
5028
|
const format = formatProp ?? (showTime ? formatStnDateRangeFieldValue2 : formatDateOnly);
|
|
4908
5029
|
const [value, setValue] = useControllableRange(valueProp, defaultValue, onChange);
|
|
4909
|
-
const [open, setOpen] =
|
|
4910
|
-
const [anchorRect, setAnchorRect] =
|
|
5030
|
+
const [open, setOpen] = useState13(false);
|
|
5031
|
+
const [anchorRect, setAnchorRect] = useState13(null);
|
|
4911
5032
|
const rootRef = useRef6(null);
|
|
4912
5033
|
const triggerRef = useRef6(null);
|
|
4913
5034
|
const panelRef = useRef6(null);
|
|
@@ -4944,8 +5065,8 @@ function StnDateRangePickerField({
|
|
|
4944
5065
|
document.addEventListener("keydown", onKeyDown);
|
|
4945
5066
|
return () => document.removeEventListener("keydown", onKeyDown);
|
|
4946
5067
|
}, [open]);
|
|
4947
|
-
return /* @__PURE__ */
|
|
4948
|
-
/* @__PURE__ */
|
|
5068
|
+
return /* @__PURE__ */ jsxs32("div", { ref: rootRef, className: cn("stn-date-picker-field", className), children: [
|
|
5069
|
+
/* @__PURE__ */ jsx40(
|
|
4949
5070
|
StnDateRangeField,
|
|
4950
5071
|
{
|
|
4951
5072
|
ref: triggerRef,
|
|
@@ -4965,7 +5086,7 @@ function StnDateRangePickerField({
|
|
|
4965
5086
|
}
|
|
4966
5087
|
),
|
|
4967
5088
|
open && typeof document !== "undefined" ? createPortal2(
|
|
4968
|
-
/* @__PURE__ */
|
|
5089
|
+
/* @__PURE__ */ jsx40("div", { ref: panelRef, children: /* @__PURE__ */ jsx40(
|
|
4969
5090
|
StnDateRangePicker,
|
|
4970
5091
|
{
|
|
4971
5092
|
open: true,
|
|
@@ -4984,13 +5105,13 @@ function StnDateRangePickerField({
|
|
|
4984
5105
|
}
|
|
4985
5106
|
|
|
4986
5107
|
// src/patterns/search/StnSearchRequirementBarDemo.tsx
|
|
4987
|
-
import { jsx as
|
|
5108
|
+
import { jsx as jsx41, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
4988
5109
|
var ALL_OPTIONS = [{ value: "", label: "\uC804\uCCB4" }];
|
|
4989
5110
|
function StnSearchRequirementBarDemo({ onSearch, onExport, className }) {
|
|
4990
5111
|
const demo = STN_SEARCH_REQUIREMENT_DEMO_FIELDS;
|
|
4991
|
-
return /* @__PURE__ */
|
|
4992
|
-
/* @__PURE__ */
|
|
4993
|
-
/* @__PURE__ */
|
|
5112
|
+
return /* @__PURE__ */ jsxs33(StnSearchRequirementBar, { className, children: [
|
|
5113
|
+
/* @__PURE__ */ jsxs33(StnSearchRequirementBar.Fields, { children: [
|
|
5114
|
+
/* @__PURE__ */ jsx41(
|
|
4994
5115
|
StnTextField,
|
|
4995
5116
|
{
|
|
4996
5117
|
label: demo.reportTypeText.label,
|
|
@@ -5000,7 +5121,7 @@ function StnSearchRequirementBarDemo({ onSearch, onExport, className }) {
|
|
|
5000
5121
|
"aria-label": demo.reportTypeText.label
|
|
5001
5122
|
}
|
|
5002
5123
|
),
|
|
5003
|
-
/* @__PURE__ */
|
|
5124
|
+
/* @__PURE__ */ jsx41(
|
|
5004
5125
|
StnDropdown,
|
|
5005
5126
|
{
|
|
5006
5127
|
label: demo.reportTypeSelect.label,
|
|
@@ -5011,7 +5132,7 @@ function StnSearchRequirementBarDemo({ onSearch, onExport, className }) {
|
|
|
5011
5132
|
"aria-label": demo.reportTypeSelect.label
|
|
5012
5133
|
}
|
|
5013
5134
|
),
|
|
5014
|
-
/* @__PURE__ */
|
|
5135
|
+
/* @__PURE__ */ jsx41(
|
|
5015
5136
|
StnDropdown,
|
|
5016
5137
|
{
|
|
5017
5138
|
label: demo.periodType.label,
|
|
@@ -5022,7 +5143,7 @@ function StnSearchRequirementBarDemo({ onSearch, onExport, className }) {
|
|
|
5022
5143
|
"aria-label": demo.periodType.label
|
|
5023
5144
|
}
|
|
5024
5145
|
),
|
|
5025
|
-
/* @__PURE__ */
|
|
5146
|
+
/* @__PURE__ */ jsx41(
|
|
5026
5147
|
StnDateRangePickerField,
|
|
5027
5148
|
{
|
|
5028
5149
|
label: demo.period.label,
|
|
@@ -5036,8 +5157,8 @@ function StnSearchRequirementBarDemo({ onSearch, onExport, className }) {
|
|
|
5036
5157
|
}
|
|
5037
5158
|
)
|
|
5038
5159
|
] }),
|
|
5039
|
-
/* @__PURE__ */
|
|
5040
|
-
/* @__PURE__ */
|
|
5160
|
+
/* @__PURE__ */ jsx41(StnSearchRequirementBar.SearchButton, { onClick: onSearch }),
|
|
5161
|
+
/* @__PURE__ */ jsx41(StnSearchRequirementBar.Export, { onClick: onExport })
|
|
5041
5162
|
] });
|
|
5042
5163
|
}
|
|
5043
5164
|
|
|
@@ -5051,8 +5172,8 @@ import {
|
|
|
5051
5172
|
} from "@stn-uiux/pub-ui/data/stnHeader";
|
|
5052
5173
|
|
|
5053
5174
|
// src/patterns/header/StnHeader.tsx
|
|
5054
|
-
import { jsx as
|
|
5055
|
-
function
|
|
5175
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
5176
|
+
function variantClass6(variant) {
|
|
5056
5177
|
if (variant === "page") return "stn-header--page";
|
|
5057
5178
|
return void 0;
|
|
5058
5179
|
}
|
|
@@ -5078,12 +5199,12 @@ function StnHeader({
|
|
|
5078
5199
|
...dynamicStyles,
|
|
5079
5200
|
...style
|
|
5080
5201
|
};
|
|
5081
|
-
return /* @__PURE__ */
|
|
5202
|
+
return /* @__PURE__ */ jsx42(
|
|
5082
5203
|
"header",
|
|
5083
5204
|
{
|
|
5084
5205
|
className: cn(
|
|
5085
5206
|
"stn-header",
|
|
5086
|
-
|
|
5207
|
+
variantClass6(variant),
|
|
5087
5208
|
isNamedPadding ? `padding-${padding}` : void 0,
|
|
5088
5209
|
isNamedGap ? `gap-${gap}` : void 0,
|
|
5089
5210
|
className
|
|
@@ -5096,20 +5217,20 @@ function StnHeader({
|
|
|
5096
5217
|
);
|
|
5097
5218
|
}
|
|
5098
5219
|
function StnHeaderLeft({ children, className, ...rest }) {
|
|
5099
|
-
return /* @__PURE__ */
|
|
5220
|
+
return /* @__PURE__ */ jsx42("div", { className: cn("stn-header__left", className), "data-stn-header-region": "left", ...rest, children });
|
|
5100
5221
|
}
|
|
5101
5222
|
function StnHeaderCenter({ children, className, ...rest }) {
|
|
5102
|
-
return /* @__PURE__ */
|
|
5223
|
+
return /* @__PURE__ */ jsx42("div", { className: cn("stn-header__center", className), "data-stn-header-region": "center", ...rest, children });
|
|
5103
5224
|
}
|
|
5104
5225
|
function StnHeaderRight({ children, className, ...rest }) {
|
|
5105
|
-
return /* @__PURE__ */
|
|
5226
|
+
return /* @__PURE__ */ jsx42("div", { className: cn("stn-header__right", className), "data-stn-header-region": "right", ...rest, children });
|
|
5106
5227
|
}
|
|
5107
5228
|
StnHeader.Left = StnHeaderLeft;
|
|
5108
5229
|
StnHeader.Center = StnHeaderCenter;
|
|
5109
5230
|
StnHeader.Right = StnHeaderRight;
|
|
5110
5231
|
function StnHeaderPageTitle({ children, className, title, ...rest }) {
|
|
5111
5232
|
const autoTitle = typeof children === "string" ? children : void 0;
|
|
5112
|
-
return /* @__PURE__ */
|
|
5233
|
+
return /* @__PURE__ */ jsx42(
|
|
5113
5234
|
"h1",
|
|
5114
5235
|
{
|
|
5115
5236
|
className: cn("stn-header__page-title", className),
|
|
@@ -5121,7 +5242,7 @@ function StnHeaderPageTitle({ children, className, title, ...rest }) {
|
|
|
5121
5242
|
}
|
|
5122
5243
|
function StnHeaderSubTitle({ children, className, title, ...rest }) {
|
|
5123
5244
|
const autoTitle = typeof children === "string" ? children : void 0;
|
|
5124
|
-
return /* @__PURE__ */
|
|
5245
|
+
return /* @__PURE__ */ jsx42(
|
|
5125
5246
|
"span",
|
|
5126
5247
|
{
|
|
5127
5248
|
className: cn("stn-header__subtitle", className),
|
|
@@ -5133,7 +5254,7 @@ function StnHeaderSubTitle({ children, className, title, ...rest }) {
|
|
|
5133
5254
|
}
|
|
5134
5255
|
function StnHeaderContextTitle({ children, className, title, ...rest }) {
|
|
5135
5256
|
const autoTitle = typeof children === "string" ? children : void 0;
|
|
5136
|
-
return /* @__PURE__ */
|
|
5257
|
+
return /* @__PURE__ */ jsx42(
|
|
5137
5258
|
"span",
|
|
5138
5259
|
{
|
|
5139
5260
|
className: cn("stn-header__context-title", className),
|
|
@@ -5144,7 +5265,7 @@ function StnHeaderContextTitle({ children, className, title, ...rest }) {
|
|
|
5144
5265
|
);
|
|
5145
5266
|
}
|
|
5146
5267
|
function StnHeaderToolbar({ children, className, ...rest }) {
|
|
5147
|
-
return /* @__PURE__ */
|
|
5268
|
+
return /* @__PURE__ */ jsx42("div", { className: cn("stn-header-toolbar", className), "data-stn-header-toolbar": true, ...rest, children });
|
|
5148
5269
|
}
|
|
5149
5270
|
|
|
5150
5271
|
// src/index.ts
|
|
@@ -5162,7 +5283,7 @@ import {
|
|
|
5162
5283
|
STN_LAYER0_BACKGROUND_DEMO_IMAGES,
|
|
5163
5284
|
STN_LAYER0_MAP_LIGHT_OVERLAY
|
|
5164
5285
|
} from "@stn-uiux/pub-ui/data/stnLayer0Background";
|
|
5165
|
-
import { jsx as
|
|
5286
|
+
import { jsx as jsx43, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
5166
5287
|
function overlayStyle(overlay) {
|
|
5167
5288
|
if (overlay == null || overlay <= 0) return void 0;
|
|
5168
5289
|
const pct = `${Math.min(100, Math.max(0, overlay * 100))}%`;
|
|
@@ -5211,15 +5332,15 @@ function StnLayer0Background({
|
|
|
5211
5332
|
const isImage = kind === "image" || Boolean(src || srcDark);
|
|
5212
5333
|
if (isImage) {
|
|
5213
5334
|
const paired = Boolean(src && srcDark);
|
|
5214
|
-
return /* @__PURE__ */
|
|
5335
|
+
return /* @__PURE__ */ jsx43(
|
|
5215
5336
|
"div",
|
|
5216
5337
|
{
|
|
5217
5338
|
className: cn("stn-layer0-bg", "image", className),
|
|
5218
5339
|
"aria-hidden": alt === "" ? true : void 0,
|
|
5219
5340
|
style: { ...overlayStyle(overlay), ...style },
|
|
5220
5341
|
...rest,
|
|
5221
|
-
children: /* @__PURE__ */
|
|
5222
|
-
src ? /* @__PURE__ */
|
|
5342
|
+
children: /* @__PURE__ */ jsxs34("div", { className: "stn-layer0-bg__media", children: [
|
|
5343
|
+
src ? /* @__PURE__ */ jsx43(
|
|
5223
5344
|
"img",
|
|
5224
5345
|
{
|
|
5225
5346
|
className: cn("stn-layer0-bg__img", paired && "light"),
|
|
@@ -5228,7 +5349,7 @@ function StnLayer0Background({
|
|
|
5228
5349
|
decoding: "async"
|
|
5229
5350
|
}
|
|
5230
5351
|
) : null,
|
|
5231
|
-
srcDark ? /* @__PURE__ */
|
|
5352
|
+
srcDark ? /* @__PURE__ */ jsx43(
|
|
5232
5353
|
"img",
|
|
5233
5354
|
{
|
|
5234
5355
|
className: cn("stn-layer0-bg__img", paired ? "dark" : void 0),
|
|
@@ -5237,13 +5358,13 @@ function StnLayer0Background({
|
|
|
5237
5358
|
decoding: "async"
|
|
5238
5359
|
}
|
|
5239
5360
|
) : null,
|
|
5240
|
-
overlay != null && overlay > 0 ? /* @__PURE__ */
|
|
5241
|
-
overlayDarkRadial ? /* @__PURE__ */
|
|
5361
|
+
overlay != null && overlay > 0 ? /* @__PURE__ */ jsx43("div", { className: "stn-layer0-bg__overlay", "aria-hidden": "true" }) : null,
|
|
5362
|
+
overlayDarkRadial ? /* @__PURE__ */ jsx43("div", { className: "stn-layer0-bg__overlay radial", "aria-hidden": "true" }) : null
|
|
5242
5363
|
] })
|
|
5243
5364
|
}
|
|
5244
5365
|
);
|
|
5245
5366
|
}
|
|
5246
|
-
return /* @__PURE__ */
|
|
5367
|
+
return /* @__PURE__ */ jsx43(
|
|
5247
5368
|
"div",
|
|
5248
5369
|
{
|
|
5249
5370
|
className: cn("stn-layer0-bg", "color", color, className),
|
|
@@ -5280,7 +5401,7 @@ import {
|
|
|
5280
5401
|
|
|
5281
5402
|
// src/components/StnEventBanner.tsx
|
|
5282
5403
|
import React2 from "react";
|
|
5283
|
-
import { jsx as
|
|
5404
|
+
import { jsx as jsx44, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
5284
5405
|
var SEVERITY_ICONS2 = {
|
|
5285
5406
|
critical: "fill/alert4",
|
|
5286
5407
|
major: "fill/alert3",
|
|
@@ -5288,7 +5409,7 @@ var SEVERITY_ICONS2 = {
|
|
|
5288
5409
|
warning: "fill/alert1"
|
|
5289
5410
|
};
|
|
5290
5411
|
function DefaultTriangleIcon() {
|
|
5291
|
-
return /* @__PURE__ */
|
|
5412
|
+
return /* @__PURE__ */ jsxs35(
|
|
5292
5413
|
"svg",
|
|
5293
5414
|
{
|
|
5294
5415
|
width: "20",
|
|
@@ -5298,7 +5419,7 @@ function DefaultTriangleIcon() {
|
|
|
5298
5419
|
xmlns: "http://www.w3.org/2000/svg",
|
|
5299
5420
|
"aria-hidden": "true",
|
|
5300
5421
|
children: [
|
|
5301
|
-
/* @__PURE__ */
|
|
5422
|
+
/* @__PURE__ */ jsx44(
|
|
5302
5423
|
"path",
|
|
5303
5424
|
{
|
|
5304
5425
|
d: "M10.29 3.86L1.82 18A2 2 0 0 0 3.54 21H20.46A2 2 0 0 0 22.18 18L13.71 3.86A2 2 0 0 0 10.29 3.86Z",
|
|
@@ -5308,17 +5429,17 @@ function DefaultTriangleIcon() {
|
|
|
5308
5429
|
strokeLinejoin: "round"
|
|
5309
5430
|
}
|
|
5310
5431
|
),
|
|
5311
|
-
/* @__PURE__ */
|
|
5312
|
-
/* @__PURE__ */
|
|
5432
|
+
/* @__PURE__ */ jsx44("line", { x1: "12", y1: "9", x2: "12", y2: "13", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }),
|
|
5433
|
+
/* @__PURE__ */ jsx44("circle", { cx: "12", cy: "17", r: "1", fill: "currentColor" })
|
|
5313
5434
|
]
|
|
5314
5435
|
}
|
|
5315
5436
|
);
|
|
5316
5437
|
}
|
|
5317
5438
|
function resolveDefaultIcon(severity) {
|
|
5318
5439
|
if (severity === "critical") {
|
|
5319
|
-
return /* @__PURE__ */
|
|
5440
|
+
return /* @__PURE__ */ jsx44(DefaultTriangleIcon, {});
|
|
5320
5441
|
}
|
|
5321
|
-
return /* @__PURE__ */
|
|
5442
|
+
return /* @__PURE__ */ jsx44(StnIcon, { name: SEVERITY_ICONS2[severity] || "fill/alert4", size: 20 });
|
|
5322
5443
|
}
|
|
5323
5444
|
var StnEventBanner = React2.forwardRef(
|
|
5324
5445
|
({
|
|
@@ -5337,7 +5458,7 @@ var StnEventBanner = React2.forwardRef(
|
|
|
5337
5458
|
id,
|
|
5338
5459
|
...restProps
|
|
5339
5460
|
}, ref) => {
|
|
5340
|
-
return /* @__PURE__ */
|
|
5461
|
+
return /* @__PURE__ */ jsxs35(
|
|
5341
5462
|
"div",
|
|
5342
5463
|
{
|
|
5343
5464
|
ref,
|
|
@@ -5354,16 +5475,16 @@ var StnEventBanner = React2.forwardRef(
|
|
|
5354
5475
|
),
|
|
5355
5476
|
...restProps,
|
|
5356
5477
|
children: [
|
|
5357
|
-
/* @__PURE__ */
|
|
5358
|
-
/* @__PURE__ */
|
|
5359
|
-
/* @__PURE__ */
|
|
5360
|
-
title && /* @__PURE__ */
|
|
5361
|
-
time && /* @__PURE__ */
|
|
5478
|
+
/* @__PURE__ */ jsxs35("div", { className: "stn-event-banner__left", children: [
|
|
5479
|
+
/* @__PURE__ */ jsx44("div", { className: "stn-event-banner__icon-wrap", children: icon ?? resolveDefaultIcon(severity) }),
|
|
5480
|
+
/* @__PURE__ */ jsxs35("div", { className: "stn-event-banner__text", children: [
|
|
5481
|
+
title && /* @__PURE__ */ jsx44("span", { className: "stn-event-banner__title", title: typeof title === "string" ? title : void 0, children: title }),
|
|
5482
|
+
time && /* @__PURE__ */ jsx44("span", { className: "stn-event-banner__time", title: typeof time === "string" ? time : void 0, children: time })
|
|
5362
5483
|
] })
|
|
5363
5484
|
] }),
|
|
5364
|
-
/* @__PURE__ */
|
|
5485
|
+
/* @__PURE__ */ jsxs35("div", { className: "stn-event-banner__actions", children: [
|
|
5365
5486
|
actions,
|
|
5366
|
-
actionText && /* @__PURE__ */
|
|
5487
|
+
actionText && /* @__PURE__ */ jsx44(
|
|
5367
5488
|
"button",
|
|
5368
5489
|
{
|
|
5369
5490
|
type: "button",
|
|
@@ -5372,7 +5493,7 @@ var StnEventBanner = React2.forwardRef(
|
|
|
5372
5493
|
children: actionText
|
|
5373
5494
|
}
|
|
5374
5495
|
),
|
|
5375
|
-
onClose && /* @__PURE__ */
|
|
5496
|
+
onClose && /* @__PURE__ */ jsx44(
|
|
5376
5497
|
"button",
|
|
5377
5498
|
{
|
|
5378
5499
|
type: "button",
|
|
@@ -5391,9 +5512,9 @@ var StnEventBanner = React2.forwardRef(
|
|
|
5391
5512
|
StnEventBanner.displayName = "StnEventBanner";
|
|
5392
5513
|
|
|
5393
5514
|
// src/patterns/scaffold/StnLoadingSkeleton.tsx
|
|
5394
|
-
import { jsx as
|
|
5515
|
+
import { jsx as jsx45, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
5395
5516
|
function StnLoadingSkeletonLine({ width = "full", className, style, ...rest }) {
|
|
5396
|
-
return /* @__PURE__ */
|
|
5517
|
+
return /* @__PURE__ */ jsx45(
|
|
5397
5518
|
"div",
|
|
5398
5519
|
{
|
|
5399
5520
|
className: cn(
|
|
@@ -5409,7 +5530,7 @@ function StnLoadingSkeletonLine({ width = "full", className, style, ...rest }) {
|
|
|
5409
5530
|
);
|
|
5410
5531
|
}
|
|
5411
5532
|
function StnLoadingSkeletonBlock({ minHeight = 48, className, style, ...rest }) {
|
|
5412
|
-
return /* @__PURE__ */
|
|
5533
|
+
return /* @__PURE__ */ jsx45(
|
|
5413
5534
|
"div",
|
|
5414
5535
|
{
|
|
5415
5536
|
className: cn("stn-loading-skeleton__block", className),
|
|
@@ -5420,7 +5541,7 @@ function StnLoadingSkeletonBlock({ minHeight = 48, className, style, ...rest })
|
|
|
5420
5541
|
);
|
|
5421
5542
|
}
|
|
5422
5543
|
function StnLoadingSkeletonCircle({ size = 40, className, style, ...rest }) {
|
|
5423
|
-
return /* @__PURE__ */
|
|
5544
|
+
return /* @__PURE__ */ jsx45(
|
|
5424
5545
|
"div",
|
|
5425
5546
|
{
|
|
5426
5547
|
className: cn("stn-loading-skeleton__circle", className),
|
|
@@ -5431,7 +5552,7 @@ function StnLoadingSkeletonCircle({ size = 40, className, style, ...rest }) {
|
|
|
5431
5552
|
);
|
|
5432
5553
|
}
|
|
5433
5554
|
function StnLoadingSkeletonProfile({ avatarSize = 40, className, style, ...rest }) {
|
|
5434
|
-
return /* @__PURE__ */
|
|
5555
|
+
return /* @__PURE__ */ jsxs36(
|
|
5435
5556
|
"div",
|
|
5436
5557
|
{
|
|
5437
5558
|
className: cn("stn-loading-skeleton--profile", className),
|
|
@@ -5440,17 +5561,17 @@ function StnLoadingSkeletonProfile({ avatarSize = 40, className, style, ...rest
|
|
|
5440
5561
|
"aria-label": "\uD504\uB85C\uD544 \uB85C\uB529 \uC911",
|
|
5441
5562
|
...rest,
|
|
5442
5563
|
children: [
|
|
5443
|
-
/* @__PURE__ */
|
|
5444
|
-
/* @__PURE__ */
|
|
5445
|
-
/* @__PURE__ */
|
|
5446
|
-
/* @__PURE__ */
|
|
5564
|
+
/* @__PURE__ */ jsx45(StnLoadingSkeletonCircle, { size: avatarSize }),
|
|
5565
|
+
/* @__PURE__ */ jsxs36("div", { className: "stn-loading-skeleton__profile-content", children: [
|
|
5566
|
+
/* @__PURE__ */ jsx45(StnLoadingSkeletonLine, { width: "medium" }),
|
|
5567
|
+
/* @__PURE__ */ jsx45(StnLoadingSkeletonLine, { width: "short" })
|
|
5447
5568
|
] })
|
|
5448
5569
|
]
|
|
5449
5570
|
}
|
|
5450
5571
|
);
|
|
5451
5572
|
}
|
|
5452
5573
|
function StnLoadingSkeletonWidget({ lines = 4, className, style, ...rest }) {
|
|
5453
|
-
return /* @__PURE__ */
|
|
5574
|
+
return /* @__PURE__ */ jsx45(
|
|
5454
5575
|
"div",
|
|
5455
5576
|
{
|
|
5456
5577
|
className: cn("stn-loading-skeleton", "stn-loading-skeleton--widget", className),
|
|
@@ -5458,12 +5579,12 @@ function StnLoadingSkeletonWidget({ lines = 4, className, style, ...rest }) {
|
|
|
5458
5579
|
"aria-busy": "true",
|
|
5459
5580
|
"aria-label": "\uB85C\uB529 \uC911",
|
|
5460
5581
|
...rest,
|
|
5461
|
-
children: Array.from({ length: lines }, (_, i) => /* @__PURE__ */
|
|
5582
|
+
children: Array.from({ length: lines }, (_, i) => /* @__PURE__ */ jsx45(StnLoadingSkeletonLine, { width: i % 3 === 0 ? "short" : i % 2 === 0 ? "medium" : "full" }, i))
|
|
5462
5583
|
}
|
|
5463
5584
|
);
|
|
5464
5585
|
}
|
|
5465
5586
|
function StnLoadingSkeletonTable({ rows = 5, cols = 4, className, style, ...rest }) {
|
|
5466
|
-
return /* @__PURE__ */
|
|
5587
|
+
return /* @__PURE__ */ jsx45(
|
|
5467
5588
|
"div",
|
|
5468
5589
|
{
|
|
5469
5590
|
className: cn("stn-loading-skeleton", "stn-loading-skeleton--table", className),
|
|
@@ -5471,7 +5592,7 @@ function StnLoadingSkeletonTable({ rows = 5, cols = 4, className, style, ...rest
|
|
|
5471
5592
|
"aria-busy": "true",
|
|
5472
5593
|
"aria-label": "\uD14C\uC774\uBE14 \uB85C\uB529 \uC911",
|
|
5473
5594
|
...rest,
|
|
5474
|
-
children: Array.from({ length: rows }, (_, row) => /* @__PURE__ */
|
|
5595
|
+
children: Array.from({ length: rows }, (_, row) => /* @__PURE__ */ jsx45("div", { className: "stn-loading-skeleton__table-row", children: Array.from({ length: cols }, (_2, col) => /* @__PURE__ */ jsx45(StnLoadingSkeletonLine, {}, col)) }, row))
|
|
5475
5596
|
}
|
|
5476
5597
|
);
|
|
5477
5598
|
}
|
|
@@ -5490,23 +5611,23 @@ function StnLoadingSkeletonRoot({
|
|
|
5490
5611
|
...rest
|
|
5491
5612
|
}) {
|
|
5492
5613
|
if (children != null) {
|
|
5493
|
-
return /* @__PURE__ */
|
|
5614
|
+
return /* @__PURE__ */ jsx45("div", { className: cn("stn-loading-skeleton", className), style, "aria-busy": "true", ...rest, children });
|
|
5494
5615
|
}
|
|
5495
5616
|
const resolvedVariant = variant ?? "line";
|
|
5496
5617
|
switch (resolvedVariant) {
|
|
5497
5618
|
case "circle":
|
|
5498
|
-
return /* @__PURE__ */
|
|
5619
|
+
return /* @__PURE__ */ jsx45(StnLoadingSkeletonCircle, { size, className, style, ...rest });
|
|
5499
5620
|
case "block":
|
|
5500
|
-
return /* @__PURE__ */
|
|
5621
|
+
return /* @__PURE__ */ jsx45(StnLoadingSkeletonBlock, { minHeight, className, style, ...rest });
|
|
5501
5622
|
case "profile":
|
|
5502
|
-
return /* @__PURE__ */
|
|
5623
|
+
return /* @__PURE__ */ jsx45(StnLoadingSkeletonProfile, { avatarSize: avatarSize ?? size, className, style, ...rest });
|
|
5503
5624
|
case "widget":
|
|
5504
|
-
return /* @__PURE__ */
|
|
5625
|
+
return /* @__PURE__ */ jsx45(StnLoadingSkeletonWidget, { lines, className, style, ...rest });
|
|
5505
5626
|
case "table":
|
|
5506
|
-
return /* @__PURE__ */
|
|
5627
|
+
return /* @__PURE__ */ jsx45(StnLoadingSkeletonTable, { rows, cols, className, style, ...rest });
|
|
5507
5628
|
case "line":
|
|
5508
5629
|
default:
|
|
5509
|
-
return /* @__PURE__ */
|
|
5630
|
+
return /* @__PURE__ */ jsx45(StnLoadingSkeletonLine, { width, className, style, ...rest });
|
|
5510
5631
|
}
|
|
5511
5632
|
}
|
|
5512
5633
|
var StnLoadingSkeleton = Object.assign(StnLoadingSkeletonRoot, {
|
|
@@ -5519,7 +5640,7 @@ var StnLoadingSkeleton = Object.assign(StnLoadingSkeletonRoot, {
|
|
|
5519
5640
|
});
|
|
5520
5641
|
|
|
5521
5642
|
// src/components/topology/StnTopologyRing.tsx
|
|
5522
|
-
import { useId as
|
|
5643
|
+
import { useId as useId15 } from "react";
|
|
5523
5644
|
|
|
5524
5645
|
// src/components/topology/stnTopologyShared.ts
|
|
5525
5646
|
var STN_TOPOLOGY_NODE_SHAPES = [
|
|
@@ -5627,7 +5748,7 @@ function ringOrbitRadius(orbit, ringCount, baseRadius, gap = 36) {
|
|
|
5627
5748
|
}
|
|
5628
5749
|
|
|
5629
5750
|
// src/components/topology/StnTopologyNodeMark.tsx
|
|
5630
|
-
import { jsx as
|
|
5751
|
+
import { jsx as jsx46, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
5631
5752
|
function renderTopologyIcon(icon, color, px) {
|
|
5632
5753
|
if (!icon) return null;
|
|
5633
5754
|
if (typeof icon !== "string") return icon;
|
|
@@ -5643,56 +5764,56 @@ function renderTopologyIcon(icon, color, px) {
|
|
|
5643
5764
|
};
|
|
5644
5765
|
switch (icon) {
|
|
5645
5766
|
case "server":
|
|
5646
|
-
return /* @__PURE__ */
|
|
5647
|
-
/* @__PURE__ */
|
|
5648
|
-
/* @__PURE__ */
|
|
5649
|
-
/* @__PURE__ */
|
|
5650
|
-
/* @__PURE__ */
|
|
5767
|
+
return /* @__PURE__ */ jsxs37("svg", { ...iconProps, children: [
|
|
5768
|
+
/* @__PURE__ */ jsx46("rect", { x: "2", y: "2", width: "20", height: "8", rx: "2", ry: "2" }),
|
|
5769
|
+
/* @__PURE__ */ jsx46("rect", { x: "2", y: "14", width: "20", height: "8", rx: "2", ry: "2" }),
|
|
5770
|
+
/* @__PURE__ */ jsx46("line", { x1: "6", y1: "6", x2: "6.01", y2: "6" }),
|
|
5771
|
+
/* @__PURE__ */ jsx46("line", { x1: "6", y1: "18", x2: "6.01", y2: "18" })
|
|
5651
5772
|
] });
|
|
5652
5773
|
case "cloud":
|
|
5653
|
-
return /* @__PURE__ */
|
|
5774
|
+
return /* @__PURE__ */ jsx46("svg", { ...iconProps, children: /* @__PURE__ */ jsx46("path", { d: "M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z" }) });
|
|
5654
5775
|
case "ai":
|
|
5655
|
-
return /* @__PURE__ */
|
|
5656
|
-
/* @__PURE__ */
|
|
5657
|
-
/* @__PURE__ */
|
|
5658
|
-
/* @__PURE__ */
|
|
5659
|
-
/* @__PURE__ */
|
|
5660
|
-
/* @__PURE__ */
|
|
5661
|
-
/* @__PURE__ */
|
|
5662
|
-
/* @__PURE__ */
|
|
5663
|
-
/* @__PURE__ */
|
|
5664
|
-
/* @__PURE__ */
|
|
5665
|
-
/* @__PURE__ */
|
|
5776
|
+
return /* @__PURE__ */ jsxs37("svg", { ...iconProps, children: [
|
|
5777
|
+
/* @__PURE__ */ jsx46("rect", { x: "4", y: "4", width: "16", height: "16", rx: "2" }),
|
|
5778
|
+
/* @__PURE__ */ jsx46("rect", { x: "9", y: "9", width: "6", height: "6" }),
|
|
5779
|
+
/* @__PURE__ */ jsx46("line", { x1: "9", y1: "1", x2: "9", y2: "4" }),
|
|
5780
|
+
/* @__PURE__ */ jsx46("line", { x1: "15", y1: "1", x2: "15", y2: "4" }),
|
|
5781
|
+
/* @__PURE__ */ jsx46("line", { x1: "9", y1: "20", x2: "9", y2: "23" }),
|
|
5782
|
+
/* @__PURE__ */ jsx46("line", { x1: "15", y1: "20", x2: "15", y2: "23" }),
|
|
5783
|
+
/* @__PURE__ */ jsx46("line", { x1: "20", y1: "9", x2: "23", y2: "9" }),
|
|
5784
|
+
/* @__PURE__ */ jsx46("line", { x1: "20", y1: "14", x2: "23", y2: "14" }),
|
|
5785
|
+
/* @__PURE__ */ jsx46("line", { x1: "1", y1: "9", x2: "4", y2: "9" }),
|
|
5786
|
+
/* @__PURE__ */ jsx46("line", { x1: "1", y1: "14", x2: "4", y2: "14" })
|
|
5666
5787
|
] });
|
|
5667
5788
|
case "network":
|
|
5668
|
-
return /* @__PURE__ */
|
|
5669
|
-
/* @__PURE__ */
|
|
5670
|
-
/* @__PURE__ */
|
|
5671
|
-
/* @__PURE__ */
|
|
5672
|
-
/* @__PURE__ */
|
|
5673
|
-
/* @__PURE__ */
|
|
5674
|
-
/* @__PURE__ */
|
|
5675
|
-
/* @__PURE__ */
|
|
5789
|
+
return /* @__PURE__ */ jsxs37("svg", { ...iconProps, children: [
|
|
5790
|
+
/* @__PURE__ */ jsx46("rect", { x: "2", y: "2", width: "6", height: "6", rx: "1" }),
|
|
5791
|
+
/* @__PURE__ */ jsx46("rect", { x: "16", y: "2", width: "6", height: "6", rx: "1" }),
|
|
5792
|
+
/* @__PURE__ */ jsx46("rect", { x: "9", y: "16", width: "6", height: "6", rx: "1" }),
|
|
5793
|
+
/* @__PURE__ */ jsx46("line", { x1: "5", y1: "8", x2: "5", y2: "12" }),
|
|
5794
|
+
/* @__PURE__ */ jsx46("line", { x1: "19", y1: "8", x2: "19", y2: "12" }),
|
|
5795
|
+
/* @__PURE__ */ jsx46("line", { x1: "5", y1: "12", x2: "19", y2: "12" }),
|
|
5796
|
+
/* @__PURE__ */ jsx46("line", { x1: "12", y1: "12", x2: "12", y2: "16" })
|
|
5676
5797
|
] });
|
|
5677
5798
|
case "shield":
|
|
5678
|
-
return /* @__PURE__ */
|
|
5799
|
+
return /* @__PURE__ */ jsx46("svg", { ...iconProps, children: /* @__PURE__ */ jsx46("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" }) });
|
|
5679
5800
|
case "user":
|
|
5680
|
-
return /* @__PURE__ */
|
|
5681
|
-
/* @__PURE__ */
|
|
5682
|
-
/* @__PURE__ */
|
|
5801
|
+
return /* @__PURE__ */ jsxs37("svg", { ...iconProps, children: [
|
|
5802
|
+
/* @__PURE__ */ jsx46("path", { d: "M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2" }),
|
|
5803
|
+
/* @__PURE__ */ jsx46("circle", { cx: "12", cy: "7", r: "4" })
|
|
5683
5804
|
] });
|
|
5684
5805
|
case "database":
|
|
5685
|
-
return /* @__PURE__ */
|
|
5686
|
-
/* @__PURE__ */
|
|
5687
|
-
/* @__PURE__ */
|
|
5688
|
-
/* @__PURE__ */
|
|
5806
|
+
return /* @__PURE__ */ jsxs37("svg", { ...iconProps, children: [
|
|
5807
|
+
/* @__PURE__ */ jsx46("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3" }),
|
|
5808
|
+
/* @__PURE__ */ jsx46("path", { d: "M21 12c0 1.66-4 3-9 3s-9-1.34-9-3" }),
|
|
5809
|
+
/* @__PURE__ */ jsx46("path", { d: "M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5" })
|
|
5689
5810
|
] });
|
|
5690
5811
|
case "wifi":
|
|
5691
|
-
return /* @__PURE__ */
|
|
5692
|
-
/* @__PURE__ */
|
|
5693
|
-
/* @__PURE__ */
|
|
5694
|
-
/* @__PURE__ */
|
|
5695
|
-
/* @__PURE__ */
|
|
5812
|
+
return /* @__PURE__ */ jsxs37("svg", { ...iconProps, children: [
|
|
5813
|
+
/* @__PURE__ */ jsx46("path", { d: "M5 12.55a11 11 0 0 1 14.08 0" }),
|
|
5814
|
+
/* @__PURE__ */ jsx46("path", { d: "M1.42 9a16 16 0 0 1 21.16 0" }),
|
|
5815
|
+
/* @__PURE__ */ jsx46("path", { d: "M8.53 16.11a6 6 0 0 1 6.95 0" }),
|
|
5816
|
+
/* @__PURE__ */ jsx46("line", { x1: "12", y1: "20", x2: "12.01", y2: "20" })
|
|
5696
5817
|
] });
|
|
5697
5818
|
default:
|
|
5698
5819
|
return null;
|
|
@@ -5710,11 +5831,11 @@ function NodeShape({
|
|
|
5710
5831
|
}) {
|
|
5711
5832
|
const filter = glow ? `drop-shadow(0 0 8px ${glow})` : "drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4))";
|
|
5712
5833
|
if (shape === "circle") {
|
|
5713
|
-
return /* @__PURE__ */
|
|
5834
|
+
return /* @__PURE__ */ jsx46("circle", { cx: x, cy: y, r, fill, stroke, strokeWidth, style: { filter } });
|
|
5714
5835
|
}
|
|
5715
5836
|
if (shape === "square") {
|
|
5716
5837
|
const size = r * 2;
|
|
5717
|
-
return /* @__PURE__ */
|
|
5838
|
+
return /* @__PURE__ */ jsx46(
|
|
5718
5839
|
"rect",
|
|
5719
5840
|
{
|
|
5720
5841
|
x: x - r,
|
|
@@ -5729,7 +5850,7 @@ function NodeShape({
|
|
|
5729
5850
|
}
|
|
5730
5851
|
);
|
|
5731
5852
|
}
|
|
5732
|
-
return /* @__PURE__ */
|
|
5853
|
+
return /* @__PURE__ */ jsx46(
|
|
5733
5854
|
"polygon",
|
|
5734
5855
|
{
|
|
5735
5856
|
points: topologyShapePoints(shape, x, y, r),
|
|
@@ -5772,7 +5893,7 @@ function StnTopologyNodeMark({
|
|
|
5772
5893
|
const countText = formatTopologyCount(count);
|
|
5773
5894
|
const iconPx = metrics.icon;
|
|
5774
5895
|
const showCornerBadge = !isCount && count != null && count !== "";
|
|
5775
|
-
return /* @__PURE__ */
|
|
5896
|
+
return /* @__PURE__ */ jsxs37(
|
|
5776
5897
|
"g",
|
|
5777
5898
|
{
|
|
5778
5899
|
className: cn("stn-topology-node", selected && "stn-topology-node--selected", className),
|
|
@@ -5784,7 +5905,7 @@ function StnTopologyNodeMark({
|
|
|
5784
5905
|
style: { cursor: onClick ? "pointer" : "default" },
|
|
5785
5906
|
...rest,
|
|
5786
5907
|
children: [
|
|
5787
|
-
isAlert && /* @__PURE__ */
|
|
5908
|
+
isAlert && /* @__PURE__ */ jsxs37(
|
|
5788
5909
|
"circle",
|
|
5789
5910
|
{
|
|
5790
5911
|
className: "stn-topology-node__pulse",
|
|
@@ -5796,13 +5917,13 @@ function StnTopologyNodeMark({
|
|
|
5796
5917
|
strokeWidth: "1.5",
|
|
5797
5918
|
opacity: "0.55",
|
|
5798
5919
|
children: [
|
|
5799
|
-
/* @__PURE__ */
|
|
5800
|
-
/* @__PURE__ */
|
|
5920
|
+
/* @__PURE__ */ jsx46("animate", { attributeName: "r", values: `${r + 4};${r + 12};${r + 4}`, dur: "2s", repeatCount: "indefinite" }),
|
|
5921
|
+
/* @__PURE__ */ jsx46("animate", { attributeName: "opacity", values: "0.75;0.15;0.75", dur: "2s", repeatCount: "indefinite" })
|
|
5801
5922
|
]
|
|
5802
5923
|
}
|
|
5803
5924
|
),
|
|
5804
|
-
selected && /* @__PURE__ */
|
|
5805
|
-
/* @__PURE__ */
|
|
5925
|
+
selected && /* @__PURE__ */ jsx46("circle", { cx: x, cy: y, r: r + 6, fill: "none", stroke: "#00e5ff", strokeWidth: "1.5", strokeDasharray: "3 3" }),
|
|
5926
|
+
/* @__PURE__ */ jsx46(
|
|
5806
5927
|
NodeShape,
|
|
5807
5928
|
{
|
|
5808
5929
|
shape,
|
|
@@ -5815,7 +5936,7 @@ function StnTopologyNodeMark({
|
|
|
5815
5936
|
glow: isAlert || isCount ? tone.glow : ""
|
|
5816
5937
|
}
|
|
5817
5938
|
),
|
|
5818
|
-
isCount ? /* @__PURE__ */
|
|
5939
|
+
isCount ? /* @__PURE__ */ jsx46(
|
|
5819
5940
|
"text",
|
|
5820
5941
|
{
|
|
5821
5942
|
x,
|
|
@@ -5828,10 +5949,10 @@ function StnTopologyNodeMark({
|
|
|
5828
5949
|
style: { textShadow: "0 1px 2px rgba(0, 0, 0, 0.85)" },
|
|
5829
5950
|
children: countText
|
|
5830
5951
|
}
|
|
5831
|
-
) : /* @__PURE__ */
|
|
5832
|
-
showCornerBadge && /* @__PURE__ */
|
|
5833
|
-
/* @__PURE__ */
|
|
5834
|
-
/* @__PURE__ */
|
|
5952
|
+
) : /* @__PURE__ */ jsx46("g", { transform: `translate(${x - iconPx / 2}, ${y - iconPx / 2})`, children: renderTopologyIcon(icon, stroke, iconPx) }),
|
|
5953
|
+
showCornerBadge && /* @__PURE__ */ jsxs37("g", { className: "stn-topology-node__badge", children: [
|
|
5954
|
+
/* @__PURE__ */ jsx46("circle", { cx: x + r * 0.72, cy: y - r * 0.72, r: Math.max(6, r * 0.38), fill: stroke, stroke: "rgba(6,7,15,0.9)", strokeWidth: "1" }),
|
|
5955
|
+
/* @__PURE__ */ jsx46(
|
|
5835
5956
|
"text",
|
|
5836
5957
|
{
|
|
5837
5958
|
x: x + r * 0.72,
|
|
@@ -5845,7 +5966,7 @@ function StnTopologyNodeMark({
|
|
|
5845
5966
|
}
|
|
5846
5967
|
)
|
|
5847
5968
|
] }),
|
|
5848
|
-
showLabel && label && /* @__PURE__ */
|
|
5969
|
+
showLabel && label && /* @__PURE__ */ jsx46(
|
|
5849
5970
|
"text",
|
|
5850
5971
|
{
|
|
5851
5972
|
x,
|
|
@@ -5858,7 +5979,7 @@ function StnTopologyNodeMark({
|
|
|
5858
5979
|
children: label
|
|
5859
5980
|
}
|
|
5860
5981
|
),
|
|
5861
|
-
showStatus && resolvedStatusLabel && /* @__PURE__ */
|
|
5982
|
+
showStatus && resolvedStatusLabel && /* @__PURE__ */ jsxs37(
|
|
5862
5983
|
"text",
|
|
5863
5984
|
{
|
|
5864
5985
|
x,
|
|
@@ -5889,11 +6010,11 @@ function StnTopologyNodePreview({
|
|
|
5889
6010
|
const r = STN_TOPOLOGY_NODE_SIZE[size].r;
|
|
5890
6011
|
const w = width ?? r * 2 + (showLabel ? 88 : 28);
|
|
5891
6012
|
const h = height ?? r * 2 + (showLabel || showStatus ? 56 : 28);
|
|
5892
|
-
return /* @__PURE__ */
|
|
6013
|
+
return /* @__PURE__ */ jsx46("svg", { className: "stn-topology-node-preview", width: w, height: h, viewBox: `0 0 ${w} ${h}`, overflow: "visible", children: /* @__PURE__ */ jsx46(StnTopologyNodeMark, { x: w / 2, y: h / 2, size, showLabel, showStatus, ...rest }) });
|
|
5893
6014
|
}
|
|
5894
6015
|
|
|
5895
6016
|
// src/components/topology/StnTopologyRing.tsx
|
|
5896
|
-
import { jsx as
|
|
6017
|
+
import { jsx as jsx47, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
5897
6018
|
function StnTopologyRing({
|
|
5898
6019
|
core = {
|
|
5899
6020
|
title: "\uC5D0\uC2A4\uD2F0\uC5D4\uC778\uD3EC\uD14D",
|
|
@@ -5914,8 +6035,8 @@ function StnTopologyRing({
|
|
|
5914
6035
|
style,
|
|
5915
6036
|
...rest
|
|
5916
6037
|
}) {
|
|
5917
|
-
const gradientId =
|
|
5918
|
-
const coreGlowId =
|
|
6038
|
+
const gradientId = useId15();
|
|
6039
|
+
const coreGlowId = useId15();
|
|
5919
6040
|
const safeRingCount = Math.max(1, ringCount);
|
|
5920
6041
|
const radii = Array.from(
|
|
5921
6042
|
{ length: safeRingCount },
|
|
@@ -5952,17 +6073,17 @@ function StnTopologyRing({
|
|
|
5952
6073
|
};
|
|
5953
6074
|
});
|
|
5954
6075
|
if (loading) {
|
|
5955
|
-
return /* @__PURE__ */
|
|
6076
|
+
return /* @__PURE__ */ jsx47(
|
|
5956
6077
|
"div",
|
|
5957
6078
|
{
|
|
5958
6079
|
className: cn("stn-topology-ring", "stn-topology-ring--loading", className),
|
|
5959
6080
|
style,
|
|
5960
6081
|
...rest,
|
|
5961
|
-
children: /* @__PURE__ */
|
|
6082
|
+
children: /* @__PURE__ */ jsx47("div", { className: "stn-topology-ring__loading-label", children: "\uD1A0\uD3F4\uB85C\uC9C0 \uB9C1 \uB370\uC774\uD130\uB97C \uBD88\uB7EC\uC624\uB294 \uC911..." })
|
|
5962
6083
|
}
|
|
5963
6084
|
);
|
|
5964
6085
|
}
|
|
5965
|
-
return /* @__PURE__ */
|
|
6086
|
+
return /* @__PURE__ */ jsx47(
|
|
5966
6087
|
"div",
|
|
5967
6088
|
{
|
|
5968
6089
|
className: cn("stn-topology-ring", className),
|
|
@@ -5970,7 +6091,7 @@ function StnTopologyRing({
|
|
|
5970
6091
|
"data-stn-topology-ring": true,
|
|
5971
6092
|
"data-ring-count": safeRingCount,
|
|
5972
6093
|
...rest,
|
|
5973
|
-
children: /* @__PURE__ */
|
|
6094
|
+
children: /* @__PURE__ */ jsxs38(
|
|
5974
6095
|
"svg",
|
|
5975
6096
|
{
|
|
5976
6097
|
className: "stn-topology-ring__svg",
|
|
@@ -5979,19 +6100,19 @@ function StnTopologyRing({
|
|
|
5979
6100
|
viewBox: `0 0 ${vb} ${vb}`,
|
|
5980
6101
|
overflow: "visible",
|
|
5981
6102
|
children: [
|
|
5982
|
-
/* @__PURE__ */
|
|
5983
|
-
/* @__PURE__ */
|
|
5984
|
-
/* @__PURE__ */
|
|
5985
|
-
/* @__PURE__ */
|
|
6103
|
+
/* @__PURE__ */ jsxs38("defs", { children: [
|
|
6104
|
+
/* @__PURE__ */ jsxs38("radialGradient", { id: coreGlowId, cx: "50%", cy: "50%", r: "50%", children: [
|
|
6105
|
+
/* @__PURE__ */ jsx47("stop", { offset: "0%", stopColor: "#722ed1", stopOpacity: "0.8" }),
|
|
6106
|
+
/* @__PURE__ */ jsx47("stop", { offset: "100%", stopColor: "#120338", stopOpacity: "0" })
|
|
5986
6107
|
] }),
|
|
5987
|
-
/* @__PURE__ */
|
|
5988
|
-
/* @__PURE__ */
|
|
5989
|
-
/* @__PURE__ */
|
|
6108
|
+
/* @__PURE__ */ jsxs38("linearGradient", { id: gradientId, x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
6109
|
+
/* @__PURE__ */ jsx47("stop", { offset: "0%", stopColor: "#00e5ff", stopOpacity: "0.4" }),
|
|
6110
|
+
/* @__PURE__ */ jsx47("stop", { offset: "100%", stopColor: "#722ed1", stopOpacity: "0.4" })
|
|
5990
6111
|
] })
|
|
5991
6112
|
] }),
|
|
5992
6113
|
radii.map((r, idx) => {
|
|
5993
6114
|
const isMain = idx + 1 === mainOrbit;
|
|
5994
|
-
return /* @__PURE__ */
|
|
6115
|
+
return /* @__PURE__ */ jsx47(
|
|
5995
6116
|
"circle",
|
|
5996
6117
|
{
|
|
5997
6118
|
cx: centerX,
|
|
@@ -6005,7 +6126,7 @@ function StnTopologyRing({
|
|
|
6005
6126
|
`orbit-${idx}`
|
|
6006
6127
|
);
|
|
6007
6128
|
}),
|
|
6008
|
-
connectionLineStyle !== "none" && calculatedNodes.map((node) => /* @__PURE__ */
|
|
6129
|
+
connectionLineStyle !== "none" && calculatedNodes.map((node) => /* @__PURE__ */ jsx47(
|
|
6009
6130
|
"line",
|
|
6010
6131
|
{
|
|
6011
6132
|
x1: centerX,
|
|
@@ -6018,9 +6139,9 @@ function StnTopologyRing({
|
|
|
6018
6139
|
},
|
|
6019
6140
|
`line-${node.id}`
|
|
6020
6141
|
)),
|
|
6021
|
-
/* @__PURE__ */
|
|
6022
|
-
/* @__PURE__ */
|
|
6023
|
-
/* @__PURE__ */
|
|
6142
|
+
/* @__PURE__ */ jsxs38("g", { className: "stn-topology-ring__core", children: [
|
|
6143
|
+
/* @__PURE__ */ jsx47("circle", { cx: centerX, cy: centerY, r: 54, fill: `url(#${coreGlowId})` }),
|
|
6144
|
+
/* @__PURE__ */ jsx47(
|
|
6024
6145
|
"circle",
|
|
6025
6146
|
{
|
|
6026
6147
|
cx: centerX,
|
|
@@ -6032,7 +6153,7 @@ function StnTopologyRing({
|
|
|
6032
6153
|
style: { filter: "drop-shadow(0 0 12px rgba(114, 46, 209, 0.6))" }
|
|
6033
6154
|
}
|
|
6034
6155
|
),
|
|
6035
|
-
core.subTitle && /* @__PURE__ */
|
|
6156
|
+
core.subTitle && /* @__PURE__ */ jsx47(
|
|
6036
6157
|
"text",
|
|
6037
6158
|
{
|
|
6038
6159
|
x: centerX,
|
|
@@ -6045,13 +6166,13 @@ function StnTopologyRing({
|
|
|
6045
6166
|
children: core.subTitle
|
|
6046
6167
|
}
|
|
6047
6168
|
),
|
|
6048
|
-
core.title && /* @__PURE__ */
|
|
6049
|
-
/* @__PURE__ */
|
|
6169
|
+
core.title && /* @__PURE__ */ jsx47("text", { x: centerX, y: centerY + 8, textAnchor: "middle", fill: "#f0f2f5", fontSize: "10", fontWeight: "600", children: core.title }),
|
|
6170
|
+
/* @__PURE__ */ jsxs38("text", { x: centerX, y: centerY + 22, textAnchor: "middle", fill: coreColor, fontSize: "9", fontWeight: "500", children: [
|
|
6050
6171
|
"\u25CF ",
|
|
6051
6172
|
coreStatusLabel
|
|
6052
6173
|
] })
|
|
6053
6174
|
] }),
|
|
6054
|
-
calculatedNodes.map((node) => /* @__PURE__ */
|
|
6175
|
+
calculatedNodes.map((node) => /* @__PURE__ */ jsx47(
|
|
6055
6176
|
StnTopologyNodeMark,
|
|
6056
6177
|
{
|
|
6057
6178
|
x: node.x,
|
|
@@ -6079,8 +6200,8 @@ function StnTopologyRing({
|
|
|
6079
6200
|
}
|
|
6080
6201
|
|
|
6081
6202
|
// src/components/topology/StnTopologyGraph.tsx
|
|
6082
|
-
import { useState as
|
|
6083
|
-
import { jsx as
|
|
6203
|
+
import { useState as useState14 } from "react";
|
|
6204
|
+
import { jsx as jsx48, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
6084
6205
|
var DEFAULT_GRAPH_NODES = [
|
|
6085
6206
|
{ id: "n1", x: 200, y: 58, status: "minor", label: "GW-01", shape: "circle", content: "icon", icon: "wifi" },
|
|
6086
6207
|
{ id: "n2", x: 118, y: 118, status: "critical", label: "BACKUP", shape: "hexagon", content: "count", count: 4, pulse: true },
|
|
@@ -6114,12 +6235,12 @@ function StnTopologyGraph({
|
|
|
6114
6235
|
style,
|
|
6115
6236
|
...rest
|
|
6116
6237
|
}) {
|
|
6117
|
-
const [viewMode, setViewMode] =
|
|
6238
|
+
const [viewMode, setViewMode] = useState14(defaultMode);
|
|
6118
6239
|
if (loading) {
|
|
6119
|
-
return /* @__PURE__ */
|
|
6240
|
+
return /* @__PURE__ */ jsx48("div", { className: cn("stn-topology-graph", "stn-topology-graph--loading", className), style, ...rest, children: /* @__PURE__ */ jsx48("div", { className: "stn-topology-graph__loading-label", children: "\uD1A0\uD3F4\uB85C\uC9C0 \uCE94\uBC84\uC2A4 \uB370\uC774\uD130\uB97C \uBD88\uB7EC\uC624\uB294 \uC911..." }) });
|
|
6120
6241
|
}
|
|
6121
6242
|
const nodeMap = new Map(nodes.map((n) => [n.id, n]));
|
|
6122
|
-
return /* @__PURE__ */
|
|
6243
|
+
return /* @__PURE__ */ jsxs39(
|
|
6123
6244
|
"div",
|
|
6124
6245
|
{
|
|
6125
6246
|
className: cn("stn-topology-graph", className),
|
|
@@ -6128,7 +6249,7 @@ function StnTopologyGraph({
|
|
|
6128
6249
|
"data-view-mode": viewMode,
|
|
6129
6250
|
...rest,
|
|
6130
6251
|
children: [
|
|
6131
|
-
showModeToggle && /* @__PURE__ */
|
|
6252
|
+
showModeToggle && /* @__PURE__ */ jsx48("div", { className: "stn-topology-graph__mode", children: /* @__PURE__ */ jsx48(
|
|
6132
6253
|
StnSegmented,
|
|
6133
6254
|
{
|
|
6134
6255
|
size: "sm",
|
|
@@ -6140,23 +6261,23 @@ function StnTopologyGraph({
|
|
|
6140
6261
|
]
|
|
6141
6262
|
}
|
|
6142
6263
|
) }),
|
|
6143
|
-
/* @__PURE__ */
|
|
6144
|
-
viewMode === "3D" ? /* @__PURE__ */
|
|
6145
|
-
/* @__PURE__ */
|
|
6146
|
-
/* @__PURE__ */
|
|
6147
|
-
/* @__PURE__ */
|
|
6148
|
-
/* @__PURE__ */
|
|
6149
|
-
/* @__PURE__ */
|
|
6150
|
-
/* @__PURE__ */
|
|
6151
|
-
/* @__PURE__ */
|
|
6152
|
-
/* @__PURE__ */
|
|
6153
|
-
] }) : /* @__PURE__ */
|
|
6154
|
-
/* @__PURE__ */
|
|
6155
|
-
/* @__PURE__ */
|
|
6156
|
-
/* @__PURE__ */
|
|
6157
|
-
/* @__PURE__ */
|
|
6158
|
-
/* @__PURE__ */
|
|
6159
|
-
/* @__PURE__ */
|
|
6264
|
+
/* @__PURE__ */ jsxs39("svg", { className: "stn-topology-graph__svg", width: "100%", height: "100%", viewBox: "0 0 400 300", overflow: "visible", children: [
|
|
6265
|
+
viewMode === "3D" ? /* @__PURE__ */ jsxs39("g", { opacity: "0.6", children: [
|
|
6266
|
+
/* @__PURE__ */ jsx48("line", { x1: "60", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.06)", strokeDasharray: "3 3" }),
|
|
6267
|
+
/* @__PURE__ */ jsx48("line", { x1: "130", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "3 3" }),
|
|
6268
|
+
/* @__PURE__ */ jsx48("line", { x1: "200", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.14)", strokeDasharray: "3 3" }),
|
|
6269
|
+
/* @__PURE__ */ jsx48("line", { x1: "270", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "3 3" }),
|
|
6270
|
+
/* @__PURE__ */ jsx48("line", { x1: "340", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.06)", strokeDasharray: "3 3" }),
|
|
6271
|
+
/* @__PURE__ */ jsx48("line", { x1: "100", y1: "230", x2: "300", y2: "230", stroke: "rgba(255,255,255,0.06)" }),
|
|
6272
|
+
/* @__PURE__ */ jsx48("line", { x1: "130", y1: "190", x2: "270", y2: "190", stroke: "rgba(255,255,255,0.06)" }),
|
|
6273
|
+
/* @__PURE__ */ jsx48("line", { x1: "160", y1: "140", x2: "240", y2: "140", stroke: "rgba(255,255,255,0.06)" })
|
|
6274
|
+
] }) : /* @__PURE__ */ jsxs39("g", { opacity: "0.3", children: [
|
|
6275
|
+
/* @__PURE__ */ jsx48("line", { x1: "40", y1: "60", x2: "360", y2: "60", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
|
|
6276
|
+
/* @__PURE__ */ jsx48("line", { x1: "40", y1: "150", x2: "360", y2: "150", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
|
|
6277
|
+
/* @__PURE__ */ jsx48("line", { x1: "40", y1: "240", x2: "360", y2: "240", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
|
|
6278
|
+
/* @__PURE__ */ jsx48("line", { x1: "100", y1: "20", x2: "100", y2: "280", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
|
|
6279
|
+
/* @__PURE__ */ jsx48("line", { x1: "200", y1: "20", x2: "200", y2: "280", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
|
|
6280
|
+
/* @__PURE__ */ jsx48("line", { x1: "300", y1: "20", x2: "300", y2: "280", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" })
|
|
6160
6281
|
] }),
|
|
6161
6282
|
links.map((link, idx) => {
|
|
6162
6283
|
const s = nodeMap.get(link.source);
|
|
@@ -6164,7 +6285,7 @@ function StnTopologyGraph({
|
|
|
6164
6285
|
if (!s || !t) return null;
|
|
6165
6286
|
const isAlert = s.status === "critical" || t.status === "critical" || link.status === "critical";
|
|
6166
6287
|
const strokeColor = isAlert ? "rgba(255, 77, 79, 0.65)" : "rgba(255, 255, 255, 0.2)";
|
|
6167
|
-
return /* @__PURE__ */
|
|
6288
|
+
return /* @__PURE__ */ jsx48(
|
|
6168
6289
|
"line",
|
|
6169
6290
|
{
|
|
6170
6291
|
x1: s.x,
|
|
@@ -6181,7 +6302,7 @@ function StnTopologyGraph({
|
|
|
6181
6302
|
nodes.map((node) => {
|
|
6182
6303
|
const status = node.status ?? "normal";
|
|
6183
6304
|
const isCore = Boolean(node.isCore);
|
|
6184
|
-
return /* @__PURE__ */
|
|
6305
|
+
return /* @__PURE__ */ jsx48(
|
|
6185
6306
|
StnTopologyNodeMark,
|
|
6186
6307
|
{
|
|
6187
6308
|
x: node.x,
|
|
@@ -6204,17 +6325,17 @@ function StnTopologyGraph({
|
|
|
6204
6325
|
);
|
|
6205
6326
|
})
|
|
6206
6327
|
] }),
|
|
6207
|
-
showMinimap && /* @__PURE__ */
|
|
6208
|
-
/* @__PURE__ */
|
|
6209
|
-
/* @__PURE__ */
|
|
6210
|
-
/* @__PURE__ */
|
|
6328
|
+
showMinimap && /* @__PURE__ */ jsxs39("div", { className: "stn-topology-graph__minimap", children: [
|
|
6329
|
+
/* @__PURE__ */ jsxs39("div", { className: "stn-topology-graph__minimap-head", children: [
|
|
6330
|
+
/* @__PURE__ */ jsx48("span", { children: "\uBBF8\uB9AC\uBCF4\uAE30" }),
|
|
6331
|
+
/* @__PURE__ */ jsx48("span", { children: "\u2014" })
|
|
6211
6332
|
] }),
|
|
6212
|
-
/* @__PURE__ */
|
|
6213
|
-
/* @__PURE__ */
|
|
6214
|
-
/* @__PURE__ */
|
|
6215
|
-
/* @__PURE__ */
|
|
6216
|
-
/* @__PURE__ */
|
|
6217
|
-
/* @__PURE__ */
|
|
6333
|
+
/* @__PURE__ */ jsxs39("svg", { width: "100%", height: "40", viewBox: "0 0 100 50", children: [
|
|
6334
|
+
/* @__PURE__ */ jsx48("polyline", { points: "50,10 40,25 50,40 60,30", fill: "none", stroke: "rgba(255,77,79,0.5)", strokeWidth: "1" }),
|
|
6335
|
+
/* @__PURE__ */ jsx48("circle", { cx: "50", cy: "10", r: "2", fill: STN_TOPOLOGY_STATUS_COLORS.critical.main }),
|
|
6336
|
+
/* @__PURE__ */ jsx48("circle", { cx: "40", cy: "25", r: "2.5", fill: STN_TOPOLOGY_STATUS_COLORS.critical.main }),
|
|
6337
|
+
/* @__PURE__ */ jsx48("circle", { cx: "50", cy: "40", r: "2", fill: "#00e5ff" }),
|
|
6338
|
+
/* @__PURE__ */ jsx48("circle", { cx: "60", cy: "30", r: "2", fill: STN_TOPOLOGY_STATUS_COLORS.normal.main })
|
|
6218
6339
|
] })
|
|
6219
6340
|
] })
|
|
6220
6341
|
]
|
|
@@ -6223,7 +6344,7 @@ function StnTopologyGraph({
|
|
|
6223
6344
|
}
|
|
6224
6345
|
|
|
6225
6346
|
// src/components/StnWidget.tsx
|
|
6226
|
-
import { Fragment as Fragment5, jsx as
|
|
6347
|
+
import { Fragment as Fragment5, jsx as jsx49, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
6227
6348
|
var SHELL_PUB_CLASS = {
|
|
6228
6349
|
card: "",
|
|
6229
6350
|
"fault-panel": "",
|
|
@@ -6306,20 +6427,20 @@ function StnWidgetPeriodText({
|
|
|
6306
6427
|
className,
|
|
6307
6428
|
...rest
|
|
6308
6429
|
}) {
|
|
6309
|
-
return /* @__PURE__ */
|
|
6430
|
+
return /* @__PURE__ */ jsx49("span", { className: cn("stn-widget__period-text", className), ...rest, children });
|
|
6310
6431
|
}
|
|
6311
6432
|
function StnWidgetPeriodSelect({
|
|
6312
6433
|
label,
|
|
6313
6434
|
className,
|
|
6314
6435
|
...rest
|
|
6315
6436
|
}) {
|
|
6316
|
-
return /* @__PURE__ */
|
|
6437
|
+
return /* @__PURE__ */ jsx49(
|
|
6317
6438
|
StnButton,
|
|
6318
6439
|
{
|
|
6319
6440
|
variant: "ghost",
|
|
6320
6441
|
size: "sm",
|
|
6321
6442
|
shape: "square",
|
|
6322
|
-
icon: /* @__PURE__ */
|
|
6443
|
+
icon: /* @__PURE__ */ jsx49(StnIcon, { name: "line/chevron-down" }),
|
|
6323
6444
|
iconPosition: "right",
|
|
6324
6445
|
className,
|
|
6325
6446
|
...rest,
|
|
@@ -6336,26 +6457,26 @@ function StnWidgetPeriodPager({
|
|
|
6336
6457
|
nextLabel = "\uB2E4\uC74C",
|
|
6337
6458
|
...rest
|
|
6338
6459
|
}) {
|
|
6339
|
-
return /* @__PURE__ */
|
|
6340
|
-
/* @__PURE__ */
|
|
6460
|
+
return /* @__PURE__ */ jsxs40("div", { className: cn("stn-widget__period-pager", className), ...rest, children: [
|
|
6461
|
+
/* @__PURE__ */ jsx49(
|
|
6341
6462
|
StnButton,
|
|
6342
6463
|
{
|
|
6343
6464
|
variant: "ghost",
|
|
6344
6465
|
size: "sm",
|
|
6345
6466
|
shape: "square",
|
|
6346
|
-
icon: /* @__PURE__ */
|
|
6467
|
+
icon: /* @__PURE__ */ jsx49(StnIcon, { name: "line/arrow-narrow-left" }),
|
|
6347
6468
|
onClick: onPrev,
|
|
6348
6469
|
"aria-label": prevLabel
|
|
6349
6470
|
}
|
|
6350
6471
|
),
|
|
6351
|
-
/* @__PURE__ */
|
|
6352
|
-
/* @__PURE__ */
|
|
6472
|
+
/* @__PURE__ */ jsx49("span", { className: "stn-widget__period-pager-label", children: label }),
|
|
6473
|
+
/* @__PURE__ */ jsx49(
|
|
6353
6474
|
StnButton,
|
|
6354
6475
|
{
|
|
6355
6476
|
variant: "ghost",
|
|
6356
6477
|
size: "sm",
|
|
6357
6478
|
shape: "square",
|
|
6358
|
-
icon: /* @__PURE__ */
|
|
6479
|
+
icon: /* @__PURE__ */ jsx49(StnIcon, { name: "line/arrow-narrow-right" }),
|
|
6359
6480
|
onClick: onNext,
|
|
6360
6481
|
"aria-label": nextLabel
|
|
6361
6482
|
}
|
|
@@ -6375,18 +6496,18 @@ function StnWidgetHeaderInner({
|
|
|
6375
6496
|
wrapActions = false
|
|
6376
6497
|
}) {
|
|
6377
6498
|
const resolvedIconName = headerIconName ?? defaultHeaderIconName(appearance);
|
|
6378
|
-
return /* @__PURE__ */
|
|
6379
|
-
/* @__PURE__ */
|
|
6380
|
-
showHeaderIcon ? headerIcon != null ? /* @__PURE__ */
|
|
6381
|
-
title != null || badge != null ? typeof title === "string" || title == null ? /* @__PURE__ */
|
|
6382
|
-
typeof title === "string" ? /* @__PURE__ */
|
|
6499
|
+
return /* @__PURE__ */ jsxs40("div", { className: cn("stn-widget__head", wrapActions && "stn-widget__head--wrap"), children: [
|
|
6500
|
+
/* @__PURE__ */ jsxs40("div", { className: "stn-widget__head-start", children: [
|
|
6501
|
+
showHeaderIcon ? headerIcon != null ? /* @__PURE__ */ jsx49(StnWidgetInsetIcon, { size: "sm", children: headerIcon }) : resolvedIconName ? /* @__PURE__ */ jsx49(StnWidgetInsetIcon, { size: "sm", icon: resolvedIconName }) : null : null,
|
|
6502
|
+
title != null || badge != null ? typeof title === "string" || title == null ? /* @__PURE__ */ jsxs40("div", { className: "stn-widget__title-wrap", children: [
|
|
6503
|
+
typeof title === "string" ? /* @__PURE__ */ jsx49("p", { className: "stn-widget__title", title, children: title }) : null,
|
|
6383
6504
|
badge
|
|
6384
|
-
] }) : /* @__PURE__ */
|
|
6505
|
+
] }) : /* @__PURE__ */ jsxs40(Fragment5, { children: [
|
|
6385
6506
|
title,
|
|
6386
6507
|
badge
|
|
6387
6508
|
] }) : null
|
|
6388
6509
|
] }),
|
|
6389
|
-
titleActions != null || periodActions != null || periodLabel != null && periodLabel !== "" ? /* @__PURE__ */
|
|
6510
|
+
titleActions != null || periodActions != null || periodLabel != null && periodLabel !== "" ? /* @__PURE__ */ jsx49("div", { className: "stn-widget__head-end", children: titleActions ?? (periodActions != null ? periodActions : periodLabel != null && periodLabel !== "" ? /* @__PURE__ */ jsx49(StnWidgetPeriodText, { children: periodLabel }) : null) }) : null
|
|
6390
6511
|
] });
|
|
6391
6512
|
}
|
|
6392
6513
|
function StnWidgetRoot({
|
|
@@ -6466,10 +6587,10 @@ function StnWidgetRoot({
|
|
|
6466
6587
|
...rest
|
|
6467
6588
|
};
|
|
6468
6589
|
const slots = partitionWidgetChildren(children);
|
|
6469
|
-
const propHead = shell === "fault-panel" && !isFigmaShell ? title != null || titleActions ? /* @__PURE__ */
|
|
6470
|
-
/* @__PURE__ */
|
|
6590
|
+
const propHead = shell === "fault-panel" && !isFigmaShell ? title != null || titleActions ? /* @__PURE__ */ jsxs40("div", { className: "app_bar", children: [
|
|
6591
|
+
/* @__PURE__ */ jsx49("div", { className: "fault_title_box", children: typeof title === "string" ? /* @__PURE__ */ jsx49("span", { children: title }) : title }),
|
|
6471
6592
|
titleActions
|
|
6472
|
-
] }) : null : shell === "board" || shell === "board-item" ? title != null ? /* @__PURE__ */
|
|
6593
|
+
] }) : null : shell === "board" || shell === "board-item" ? title != null ? /* @__PURE__ */ jsx49("div", { className: "stn-widget__head", children: typeof title === "string" ? /* @__PURE__ */ jsx49("p", { children: title }) : title }) : null : isFigmaShell ? /* @__PURE__ */ jsx49(
|
|
6473
6594
|
StnWidgetHeaderInner,
|
|
6474
6595
|
{
|
|
6475
6596
|
appearance,
|
|
@@ -6483,48 +6604,48 @@ function StnWidgetRoot({
|
|
|
6483
6604
|
headerIcon,
|
|
6484
6605
|
wrapActions
|
|
6485
6606
|
}
|
|
6486
|
-
) : title != null || badge != null || titleActions ? /* @__PURE__ */
|
|
6487
|
-
/* @__PURE__ */
|
|
6488
|
-
title != null ? typeof title === "string" ? /* @__PURE__ */
|
|
6607
|
+
) : title != null || badge != null || titleActions ? /* @__PURE__ */ jsxs40("div", { className: cn("stn-widget__head", wrapActions && "stn-widget__head--wrap"), children: [
|
|
6608
|
+
/* @__PURE__ */ jsxs40("div", { className: "stn-widget__head-start", children: [
|
|
6609
|
+
title != null ? typeof title === "string" ? /* @__PURE__ */ jsx49("p", { className: "stn-widget__title", title, children: title }) : title : null,
|
|
6489
6610
|
badge
|
|
6490
6611
|
] }),
|
|
6491
|
-
titleActions ? /* @__PURE__ */
|
|
6612
|
+
titleActions ? /* @__PURE__ */ jsx49("div", { className: "stn-widget__head-end", children: titleActions }) : null
|
|
6492
6613
|
] }) : null;
|
|
6493
6614
|
const head = slots.headers.length > 0 ? slots.headers : propHead;
|
|
6494
6615
|
const autoBodyClass = shell === "fault-panel" && !isFigmaShell ? "table_area" : void 0;
|
|
6495
6616
|
let body;
|
|
6496
6617
|
if (loading) {
|
|
6497
|
-
body = /* @__PURE__ */
|
|
6618
|
+
body = /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__body", autoBodyClass, contentClassName), children: /* @__PURE__ */ jsx49(StnWidgetLoading, {}) });
|
|
6498
6619
|
} else if (slots.bodies.length > 0) {
|
|
6499
6620
|
body = slots.bodies.map(
|
|
6500
6621
|
(slot, index) => mergeBodySlot(slot, index === 0 ? slots.rest : [], contentClassName, isEmptyState, emptyStyle)
|
|
6501
6622
|
);
|
|
6502
6623
|
} else {
|
|
6503
|
-
body = /* @__PURE__ */
|
|
6624
|
+
body = /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__body", autoBodyClass, isEmptyState && "empty", contentClassName), style: emptyStyle, children: slots.rest });
|
|
6504
6625
|
}
|
|
6505
|
-
const footerNode = slots.footers.length > 0 ? slots.footers : footer ? /* @__PURE__ */
|
|
6506
|
-
const card = /* @__PURE__ */
|
|
6507
|
-
isFigmaShell && appearanceShell === "overlay" ? /* @__PURE__ */
|
|
6626
|
+
const footerNode = slots.footers.length > 0 ? slots.footers : footer ? /* @__PURE__ */ jsx49("div", { className: "stn-widget__footer", children: footer }) : null;
|
|
6627
|
+
const card = /* @__PURE__ */ jsxs40("div", { ...rootProps, children: [
|
|
6628
|
+
isFigmaShell && appearanceShell === "overlay" ? /* @__PURE__ */ jsx49("div", { className: "stn-widget__map-deco", "aria-hidden": true }) : null,
|
|
6508
6629
|
head,
|
|
6509
6630
|
body,
|
|
6510
6631
|
footerNode
|
|
6511
6632
|
] });
|
|
6512
6633
|
if (banner == null || banner === false) return card;
|
|
6513
|
-
return /* @__PURE__ */
|
|
6634
|
+
return /* @__PURE__ */ jsxs40("div", { className: "stn-widget-anchor", children: [
|
|
6514
6635
|
withBannerSeverity(banner, bannerSeverityFromStatus(status, isCritical)),
|
|
6515
6636
|
card
|
|
6516
6637
|
] });
|
|
6517
6638
|
}
|
|
6518
6639
|
function StnWidgetHeader({ className, wrap = false, children, ...rest }) {
|
|
6519
|
-
return /* @__PURE__ */
|
|
6640
|
+
return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__head", wrap && "stn-widget__head--wrap", className), ...rest, children });
|
|
6520
6641
|
}
|
|
6521
6642
|
markWidgetSlot(StnWidgetHeader, "header");
|
|
6522
6643
|
function StnWidgetTitle({ className, children, title, ...rest }) {
|
|
6523
6644
|
const titleAttr = title ?? (typeof children === "string" ? children : void 0);
|
|
6524
|
-
return /* @__PURE__ */
|
|
6645
|
+
return /* @__PURE__ */ jsx49("p", { className: cn("stn-widget__title", className), title: titleAttr, ...rest, children });
|
|
6525
6646
|
}
|
|
6526
6647
|
function StnWidgetActions({ className, children, ...rest }) {
|
|
6527
|
-
return /* @__PURE__ */
|
|
6648
|
+
return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__head-end", className), ...rest, children });
|
|
6528
6649
|
}
|
|
6529
6650
|
function StnWidgetBody({
|
|
6530
6651
|
padding,
|
|
@@ -6538,7 +6659,7 @@ function StnWidgetBody({
|
|
|
6538
6659
|
}) {
|
|
6539
6660
|
const emptyText = typeof empty === "string" ? empty : void 0;
|
|
6540
6661
|
const mergedStyle = emptyText ? { ["--stn-widget-empty-text"]: `"${emptyText}"`, ...style } : style;
|
|
6541
|
-
return /* @__PURE__ */
|
|
6662
|
+
return /* @__PURE__ */ jsx49(
|
|
6542
6663
|
"div",
|
|
6543
6664
|
{
|
|
6544
6665
|
className: cn(
|
|
@@ -6560,7 +6681,7 @@ function StnWidgetBody({
|
|
|
6560
6681
|
}
|
|
6561
6682
|
markWidgetSlot(StnWidgetBody, "body");
|
|
6562
6683
|
function StnWidgetChartSlot({ label = "select chart", className, children, ...rest }) {
|
|
6563
|
-
return /* @__PURE__ */
|
|
6684
|
+
return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__chart-slot", className), "data-stn-widget-chart-slot": true, ...rest, children: children ?? /* @__PURE__ */ jsx49("span", { className: "stn-widget__chart-slot-label", children: label }) });
|
|
6564
6685
|
}
|
|
6565
6686
|
function StnWidgetStatusItem({
|
|
6566
6687
|
label,
|
|
@@ -6572,9 +6693,9 @@ function StnWidgetStatusItem({
|
|
|
6572
6693
|
...rest
|
|
6573
6694
|
}) {
|
|
6574
6695
|
const grade = gradeProp ?? (status === "warning" ? "minor" : status) ?? "normal";
|
|
6575
|
-
return /* @__PURE__ */
|
|
6576
|
-
/* @__PURE__ */
|
|
6577
|
-
showDot ? /* @__PURE__ */
|
|
6696
|
+
return /* @__PURE__ */ jsxs40("div", { className: cn("stn-widget__status-item", className), ...rest, children: [
|
|
6697
|
+
/* @__PURE__ */ jsxs40("span", { className: "stn-widget__status-label", children: [
|
|
6698
|
+
showDot ? /* @__PURE__ */ jsx49(
|
|
6578
6699
|
"span",
|
|
6579
6700
|
{
|
|
6580
6701
|
className: cn("stn-widget__status-dot", `stn-widget__status-dot--${grade}`),
|
|
@@ -6583,23 +6704,23 @@ function StnWidgetStatusItem({
|
|
|
6583
6704
|
) : null,
|
|
6584
6705
|
label
|
|
6585
6706
|
] }),
|
|
6586
|
-
/* @__PURE__ */
|
|
6707
|
+
/* @__PURE__ */ jsx49("span", { className: "stn-widget__status-val", children: value })
|
|
6587
6708
|
] });
|
|
6588
6709
|
}
|
|
6589
6710
|
function StnWidgetStatusList({ className, children, ...rest }) {
|
|
6590
|
-
return /* @__PURE__ */
|
|
6711
|
+
return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__status-list", className), ...rest, children });
|
|
6591
6712
|
}
|
|
6592
6713
|
function StnWidgetStatGroup({ className, children, ...rest }) {
|
|
6593
|
-
return /* @__PURE__ */
|
|
6714
|
+
return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__stat-group", className), ...rest, children });
|
|
6594
6715
|
}
|
|
6595
6716
|
function StnWidgetStatCard({ label, count, className, ...rest }) {
|
|
6596
|
-
return /* @__PURE__ */
|
|
6597
|
-
/* @__PURE__ */
|
|
6598
|
-
/* @__PURE__ */
|
|
6717
|
+
return /* @__PURE__ */ jsxs40("div", { className: cn("stn-widget__stat-card", className), ...rest, children: [
|
|
6718
|
+
/* @__PURE__ */ jsx49("span", { className: "stn-widget__stat-label", children: label }),
|
|
6719
|
+
/* @__PURE__ */ jsx49("span", { className: "stn-widget__stat-count", children: count })
|
|
6599
6720
|
] });
|
|
6600
6721
|
}
|
|
6601
6722
|
function StnWidgetPlaceholder({ label = "\uCF58\uD150\uCE20 \uC601\uC5ED" }) {
|
|
6602
|
-
return /* @__PURE__ */
|
|
6723
|
+
return /* @__PURE__ */ jsx49("div", { className: "stn-widget__placeholder", children: label });
|
|
6603
6724
|
}
|
|
6604
6725
|
var GRADE_ROW_ICON = {
|
|
6605
6726
|
critical: "fill/alert4",
|
|
@@ -6622,42 +6743,42 @@ function StnWidgetGradeRow({
|
|
|
6622
6743
|
}) {
|
|
6623
6744
|
const clamped = Math.max(0, Math.min(100, percent));
|
|
6624
6745
|
const resolvedPercentLabel = percentLabel ?? formatGradePercent(clamped);
|
|
6625
|
-
return /* @__PURE__ */
|
|
6626
|
-
/* @__PURE__ */
|
|
6627
|
-
/* @__PURE__ */
|
|
6628
|
-
/* @__PURE__ */
|
|
6746
|
+
return /* @__PURE__ */ jsxs40("div", { className: cn("stn-widget__grade-row", `stn-widget__grade-row--${grade}`, className), ...rest, children: [
|
|
6747
|
+
/* @__PURE__ */ jsxs40("div", { className: "stn-widget__grade-row-left", children: [
|
|
6748
|
+
/* @__PURE__ */ jsxs40("span", { className: "stn-widget__grade-row-label", children: [
|
|
6749
|
+
/* @__PURE__ */ jsx49(StnIcon, { name: GRADE_ROW_ICON[grade], size: 20, className: "stn-widget__grade-row-icon", "aria-hidden": true }),
|
|
6629
6750
|
label
|
|
6630
6751
|
] }),
|
|
6631
|
-
/* @__PURE__ */
|
|
6752
|
+
/* @__PURE__ */ jsx49("div", { className: "stn-widget__grade-row-track", "aria-hidden": true, children: /* @__PURE__ */ jsx49("span", { className: "stn-widget__grade-row-fill", style: { width: `${clamped}%` } }) })
|
|
6632
6753
|
] }),
|
|
6633
|
-
/* @__PURE__ */
|
|
6634
|
-
/* @__PURE__ */
|
|
6635
|
-
/* @__PURE__ */
|
|
6754
|
+
/* @__PURE__ */ jsxs40("div", { className: "stn-widget__grade-row-right", children: [
|
|
6755
|
+
/* @__PURE__ */ jsx49("span", { className: "stn-widget__grade-row-value", children: value }),
|
|
6756
|
+
/* @__PURE__ */ jsx49("span", { className: "stn-widget__grade-row-percent", children: resolvedPercentLabel })
|
|
6636
6757
|
] })
|
|
6637
6758
|
] });
|
|
6638
6759
|
}
|
|
6639
6760
|
function StnWidgetGradeRowList({ className, children, ...rest }) {
|
|
6640
|
-
return /* @__PURE__ */
|
|
6761
|
+
return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__grade-row-list", className), ...rest, children });
|
|
6641
6762
|
}
|
|
6642
6763
|
function StnWidgetFooter({ className, children, ...rest }) {
|
|
6643
|
-
return /* @__PURE__ */
|
|
6764
|
+
return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__footer", className), ...rest, children });
|
|
6644
6765
|
}
|
|
6645
6766
|
markWidgetSlot(StnWidgetFooter, "footer");
|
|
6646
6767
|
function StnWidgetEmpty({ className, children, ...rest }) {
|
|
6647
|
-
return /* @__PURE__ */
|
|
6648
|
-
/* @__PURE__ */
|
|
6649
|
-
/* @__PURE__ */
|
|
6650
|
-
/* @__PURE__ */
|
|
6651
|
-
/* @__PURE__ */
|
|
6768
|
+
return /* @__PURE__ */ jsxs40("div", { className: cn("stn-widget__empty", className), ...rest, children: [
|
|
6769
|
+
/* @__PURE__ */ jsxs40("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", style: { opacity: 0.6 }, children: [
|
|
6770
|
+
/* @__PURE__ */ jsx49("circle", { cx: "12", cy: "12", r: "10" }),
|
|
6771
|
+
/* @__PURE__ */ jsx49("line", { x1: "12", y1: "8", x2: "12", y2: "12" }),
|
|
6772
|
+
/* @__PURE__ */ jsx49("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })
|
|
6652
6773
|
] }),
|
|
6653
|
-
/* @__PURE__ */
|
|
6774
|
+
/* @__PURE__ */ jsx49("div", { children: children ?? "\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4." })
|
|
6654
6775
|
] });
|
|
6655
6776
|
}
|
|
6656
6777
|
function StnWidgetLoading({ lines = 3, className, children, ...rest }) {
|
|
6657
|
-
return /* @__PURE__ */
|
|
6778
|
+
return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__loading", className), ...rest, children: children ?? /* @__PURE__ */ jsx49(StnLoadingSkeleton.Widget, { lines }) });
|
|
6658
6779
|
}
|
|
6659
6780
|
function StnWidgetInsetIcon({ className, size = "sm", ...rest }) {
|
|
6660
|
-
return /* @__PURE__ */
|
|
6781
|
+
return /* @__PURE__ */ jsx49(StnIconBox, { size, className: cn("stn-widget__inset-icon", className), ...rest });
|
|
6661
6782
|
}
|
|
6662
6783
|
var StnWidget = Object.assign(StnWidgetRoot, {
|
|
6663
6784
|
Header: StnWidgetHeader,
|
|
@@ -6704,11 +6825,11 @@ import {
|
|
|
6704
6825
|
// src/layouts/StnStack.tsx
|
|
6705
6826
|
import {
|
|
6706
6827
|
Children as Children3,
|
|
6707
|
-
forwardRef as
|
|
6828
|
+
forwardRef as forwardRef26,
|
|
6708
6829
|
Fragment as Fragment6,
|
|
6709
6830
|
isValidElement as isValidElement6
|
|
6710
6831
|
} from "react";
|
|
6711
|
-
import { jsx as
|
|
6832
|
+
import { jsx as jsx50, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
6712
6833
|
var BREAKPOINTS = ["xs", "sm", "md", "lg", "xl"];
|
|
6713
6834
|
var DIRECTION_CLASS = /* @__PURE__ */ new Set(["row", "row-reverse", "column", "column-reverse"]);
|
|
6714
6835
|
var STACK_SPACE_TOKENS = /* @__PURE__ */ new Set([2, 4, 6, 8, 10, 12, 14, 16, 20, 24, 32, 36, 40, 44, 48, 56, 64, 80, 84]);
|
|
@@ -6801,7 +6922,7 @@ function spacingClassesAndStyle(spacing) {
|
|
|
6801
6922
|
}
|
|
6802
6923
|
return { classes, inlineGap };
|
|
6803
6924
|
}
|
|
6804
|
-
var StnStack =
|
|
6925
|
+
var StnStack = forwardRef26(function StnStack2({
|
|
6805
6926
|
component,
|
|
6806
6927
|
as,
|
|
6807
6928
|
direction = "column",
|
|
@@ -6831,12 +6952,12 @@ var StnStack = forwardRef25(function StnStack2({
|
|
|
6831
6952
|
const validChildren = Children3.toArray(children).filter(Boolean);
|
|
6832
6953
|
const renderedChildren = divider ? validChildren.map((child, index) => {
|
|
6833
6954
|
const key = isValidElement6(child) && child.key != null ? child.key : index;
|
|
6834
|
-
return /* @__PURE__ */
|
|
6955
|
+
return /* @__PURE__ */ jsxs41(Fragment6, { children: [
|
|
6835
6956
|
index > 0 ? divider : null,
|
|
6836
6957
|
child
|
|
6837
6958
|
] }, key);
|
|
6838
6959
|
}) : children;
|
|
6839
|
-
return /* @__PURE__ */
|
|
6960
|
+
return /* @__PURE__ */ jsx50(
|
|
6840
6961
|
Component,
|
|
6841
6962
|
{
|
|
6842
6963
|
ref,
|
|
@@ -6860,7 +6981,7 @@ var StnStack = forwardRef25(function StnStack2({
|
|
|
6860
6981
|
});
|
|
6861
6982
|
|
|
6862
6983
|
// src/patterns/dashboard/AlertCenterDashboard.tsx
|
|
6863
|
-
import { jsx as
|
|
6984
|
+
import { jsx as jsx51, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
6864
6985
|
var TOP5_ROWS = [
|
|
6865
6986
|
{ label: "\uADF8\uB791\uC2DC\uC544", percent: 80, value: "80\uAC74", grade: "critical" },
|
|
6866
6987
|
{ label: "\uC5F0\uB9BD\uC8FC\uD0DD 15\uC138\uB300", percent: 74, value: "74\uAC74", grade: "major" },
|
|
@@ -6869,7 +6990,7 @@ var TOP5_ROWS = [
|
|
|
6869
6990
|
{ label: "PRADA", percent: 68, value: "68\uAC74", grade: "default" }
|
|
6870
6991
|
];
|
|
6871
6992
|
function AlertCenterDashboard({ className, appearance = "translucent", loading = false }) {
|
|
6872
|
-
return /* @__PURE__ */
|
|
6993
|
+
return /* @__PURE__ */ jsxs42(
|
|
6873
6994
|
StnStack,
|
|
6874
6995
|
{
|
|
6875
6996
|
direction: "column",
|
|
@@ -6878,17 +6999,17 @@ function AlertCenterDashboard({ className, appearance = "translucent", loading =
|
|
|
6878
6999
|
style: { flex: "1 1 0%", minHeight: 0, height: "100%", width: "100%" },
|
|
6879
7000
|
"data-stn-dashboard": "alert-widgets",
|
|
6880
7001
|
children: [
|
|
6881
|
-
/* @__PURE__ */
|
|
6882
|
-
/* @__PURE__ */
|
|
6883
|
-
/* @__PURE__ */
|
|
6884
|
-
/* @__PURE__ */
|
|
7002
|
+
/* @__PURE__ */ jsx51(StnWidget, { title: "\uC2DC\uC124 \uD604\uD669", appearance, interactive: true, children: loading ? /* @__PURE__ */ jsx51(StnLoadingSkeleton.Widget, { lines: 3 }) : /* @__PURE__ */ jsxs42(StnWidget.StatusList, { children: [
|
|
7003
|
+
/* @__PURE__ */ jsx51(StnWidget.StatusItem, { label: "PTN", value: "179", showDot: false }),
|
|
7004
|
+
/* @__PURE__ */ jsx51(StnWidget.StatusItem, { label: "MSPP", value: "63", showDot: false }),
|
|
7005
|
+
/* @__PURE__ */ jsx51(StnWidget.StatusItem, { label: "L3\uC2A4\uC704\uCE58", value: "27", showDot: false })
|
|
6885
7006
|
] }) }),
|
|
6886
|
-
/* @__PURE__ */
|
|
6887
|
-
/* @__PURE__ */
|
|
6888
|
-
/* @__PURE__ */
|
|
6889
|
-
/* @__PURE__ */
|
|
7007
|
+
/* @__PURE__ */ jsx51(StnWidget, { title: "\uC7A5\uC560 \uD604\uD669", appearance, interactive: true, children: loading ? /* @__PURE__ */ jsx51(StnLoadingSkeleton.Widget, { lines: 3 }) : /* @__PURE__ */ jsxs42(StnWidget.StatusList, { children: [
|
|
7008
|
+
/* @__PURE__ */ jsx51(StnWidget.StatusItem, { label: "Critical", value: "43", grade: "critical" }),
|
|
7009
|
+
/* @__PURE__ */ jsx51(StnWidget.StatusItem, { label: "Major", value: "79", grade: "major" }),
|
|
7010
|
+
/* @__PURE__ */ jsx51(StnWidget.StatusItem, { label: "Minor", value: "3", grade: "minor" })
|
|
6890
7011
|
] }) }),
|
|
6891
|
-
/* @__PURE__ */
|
|
7012
|
+
/* @__PURE__ */ jsx51(StnWidget, { title: "\uC77C\uC77C \uC7A5\uBE44\uBCC4 \uC7A5\uC560 TOP5", appearance, interactive: true, children: loading ? /* @__PURE__ */ jsx51(StnLoadingSkeleton.Widget, { lines: 4 }) : /* @__PURE__ */ jsx51(StnWidget.GradeRowList, { children: TOP5_ROWS.map((row) => /* @__PURE__ */ jsx51(
|
|
6892
7013
|
StnWidget.GradeRow,
|
|
6893
7014
|
{
|
|
6894
7015
|
grade: row.grade,
|
|
@@ -6898,50 +7019,50 @@ function AlertCenterDashboard({ className, appearance = "translucent", loading =
|
|
|
6898
7019
|
},
|
|
6899
7020
|
row.label
|
|
6900
7021
|
)) }) }),
|
|
6901
|
-
/* @__PURE__ */
|
|
7022
|
+
/* @__PURE__ */ jsx51(StnWidget, { title: "\uC77C\uC77C \uC7A5\uC560 \uD1B5\uACC4", appearance, interactive: true, children: loading ? /* @__PURE__ */ jsx51(StnLoadingSkeleton.Widget, { lines: 3 }) : /* @__PURE__ */ jsx51(StnWidget.ChartSlot, { label: "\uC77C\uC77C \uC7A5\uC560 \uD1B5\uACC4 \uCC28\uD2B8" }) })
|
|
6902
7023
|
]
|
|
6903
7024
|
}
|
|
6904
7025
|
);
|
|
6905
7026
|
}
|
|
6906
7027
|
|
|
6907
7028
|
// src/patterns/dashboard/PubDashboardWidgetBodies.tsx
|
|
6908
|
-
import { jsx as
|
|
7029
|
+
import { jsx as jsx52, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
6909
7030
|
function PubDisabilityStatusList({ items, summary }) {
|
|
6910
|
-
return /* @__PURE__ */
|
|
6911
|
-
/* @__PURE__ */
|
|
7031
|
+
return /* @__PURE__ */ jsxs43("div", { className: "ds-disability-status", children: [
|
|
7032
|
+
/* @__PURE__ */ jsx52("ul", { className: "ds-disability-status__list", children: items.map((item, i) => /* @__PURE__ */ jsxs43(
|
|
6912
7033
|
"li",
|
|
6913
7034
|
{
|
|
6914
7035
|
className: ["ds-disability-status__item", item.grade].filter(Boolean).join(" "),
|
|
6915
7036
|
children: [
|
|
6916
|
-
/* @__PURE__ */
|
|
6917
|
-
item.showDot !== false && item.grade ? /* @__PURE__ */
|
|
7037
|
+
/* @__PURE__ */ jsxs43("span", { children: [
|
|
7038
|
+
item.showDot !== false && item.grade ? /* @__PURE__ */ jsx52("span", { className: "dot", "aria-hidden": true }) : null,
|
|
6918
7039
|
item.label
|
|
6919
7040
|
] }),
|
|
6920
|
-
/* @__PURE__ */
|
|
7041
|
+
/* @__PURE__ */ jsx52("p", { children: item.value })
|
|
6921
7042
|
]
|
|
6922
7043
|
},
|
|
6923
7044
|
i
|
|
6924
7045
|
)) }),
|
|
6925
|
-
summary && summary.length > 0 ? /* @__PURE__ */
|
|
7046
|
+
summary && summary.length > 0 ? /* @__PURE__ */ jsx52("div", { className: "ds-disability-status__summary", children: summary.map((row, i) => /* @__PURE__ */ jsxs43("p", { className: "ds-disability-status__value", children: [
|
|
6926
7047
|
row.label,
|
|
6927
|
-
/* @__PURE__ */
|
|
7048
|
+
/* @__PURE__ */ jsx52("span", { children: row.value })
|
|
6928
7049
|
] }, i)) }) : null
|
|
6929
7050
|
] });
|
|
6930
7051
|
}
|
|
6931
7052
|
function PubTrafficTop5Bars({ rows }) {
|
|
6932
7053
|
const maxPercent = Math.max(...rows.map((row) => row.percent), 0);
|
|
6933
|
-
return /* @__PURE__ */
|
|
6934
|
-
/* @__PURE__ */
|
|
6935
|
-
/* @__PURE__ */
|
|
6936
|
-
/* @__PURE__ */
|
|
7054
|
+
return /* @__PURE__ */ jsx52("div", { className: "ds-bar-group", children: rows.map((row) => /* @__PURE__ */ jsxs43("div", { className: ["ds-bar", row.percent === maxPercent ? "max" : ""].filter(Boolean).join(" "), children: [
|
|
7055
|
+
/* @__PURE__ */ jsx52("p", { className: "ds-bar-name", title: row.label, children: row.label }),
|
|
7056
|
+
/* @__PURE__ */ jsx52("div", { className: "ds-bar-con", title: `${row.percent}%`, children: /* @__PURE__ */ jsx52("span", { className: "ds-bar-gauge", style: { "--percent": `${row.percent}%` } }) }),
|
|
7057
|
+
/* @__PURE__ */ jsx52("p", { className: "ds-bar-value", title: row.value, children: row.value })
|
|
6937
7058
|
] }, row.label)) });
|
|
6938
7059
|
}
|
|
6939
7060
|
function PubTop5EquipmentBars({ rows }) {
|
|
6940
|
-
return /* @__PURE__ */
|
|
6941
|
-
/* @__PURE__ */
|
|
6942
|
-
/* @__PURE__ */
|
|
6943
|
-
/* @__PURE__ */
|
|
6944
|
-
/* @__PURE__ */
|
|
7061
|
+
return /* @__PURE__ */ jsxs43("div", { className: "ds-group", children: [
|
|
7062
|
+
/* @__PURE__ */ jsx52("div", { className: "ds-group-box", children: /* @__PURE__ */ jsx52("div", { className: "ds-equipment-ico", children: /* @__PURE__ */ jsx52("span", { className: "blind", children: "\uC7A5\uBE44 \uC774\uBBF8\uC9C0" }) }) }),
|
|
7063
|
+
/* @__PURE__ */ jsx52("div", { className: "ds-group-box", children: /* @__PURE__ */ jsx52("div", { className: "ds-bar-group", children: rows.map((row) => /* @__PURE__ */ jsx52("div", { className: "ds-bar type-2", children: /* @__PURE__ */ jsxs43("div", { className: "ds-bar-con", title: `${row.percent}%`, children: [
|
|
7064
|
+
/* @__PURE__ */ jsx52("span", { className: "ds-bar-gauge", style: { "--percent": `${row.percent}%` } }),
|
|
7065
|
+
/* @__PURE__ */ jsx52("div", { className: "ds-bar-status", children: row.status })
|
|
6945
7066
|
] }) }, row.label)) }) })
|
|
6946
7067
|
] });
|
|
6947
7068
|
}
|
|
@@ -6950,15 +7071,15 @@ function PubChartSample({
|
|
|
6950
7071
|
alt = "\uCC28\uD2B8",
|
|
6951
7072
|
onError
|
|
6952
7073
|
}) {
|
|
6953
|
-
return /* @__PURE__ */
|
|
7074
|
+
return /* @__PURE__ */ jsx52("div", { className: "ds-chart", children: /* @__PURE__ */ jsx52("img", { src, alt, className: "chart_sample", onError }) });
|
|
6954
7075
|
}
|
|
6955
7076
|
|
|
6956
7077
|
// src/patterns/alertCenter/StnAlertCenterPanel.tsx
|
|
6957
|
-
import { useState as
|
|
7078
|
+
import { useState as useState15 } from "react";
|
|
6958
7079
|
import {
|
|
6959
7080
|
STN_ALERT_CENTER_TABS
|
|
6960
7081
|
} from "@stn-uiux/pub-ui/data/stnAlertCenter";
|
|
6961
|
-
import { jsx as
|
|
7082
|
+
import { jsx as jsx53, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
6962
7083
|
function resolveAlertIcon(item) {
|
|
6963
7084
|
if (item.icon) {
|
|
6964
7085
|
if (item.icon === "line/arrow-down") return "line/arrow-narrow-down";
|
|
@@ -6985,7 +7106,7 @@ function StnAlertCard({
|
|
|
6985
7106
|
}) {
|
|
6986
7107
|
const iconNode = resolveAlertIcon(item);
|
|
6987
7108
|
const gradeLabel = resolveGradeLabel(item.grade);
|
|
6988
|
-
return /* @__PURE__ */
|
|
7109
|
+
return /* @__PURE__ */ jsx53(
|
|
6989
7110
|
StnCard,
|
|
6990
7111
|
{
|
|
6991
7112
|
variant: "elevated",
|
|
@@ -6994,8 +7115,8 @@ function StnAlertCard({
|
|
|
6994
7115
|
interactive: true,
|
|
6995
7116
|
className: cn("stn-alert-card", className),
|
|
6996
7117
|
onClick,
|
|
6997
|
-
children: /* @__PURE__ */
|
|
6998
|
-
/* @__PURE__ */
|
|
7118
|
+
children: /* @__PURE__ */ jsxs44("div", { className: "stn-alert-card__row", children: [
|
|
7119
|
+
/* @__PURE__ */ jsx53(
|
|
6999
7120
|
StnIcon,
|
|
7000
7121
|
{
|
|
7001
7122
|
name: iconNode,
|
|
@@ -7004,9 +7125,9 @@ function StnAlertCard({
|
|
|
7004
7125
|
className: "stn-alert-card__icon"
|
|
7005
7126
|
}
|
|
7006
7127
|
),
|
|
7007
|
-
/* @__PURE__ */
|
|
7008
|
-
/* @__PURE__ */
|
|
7009
|
-
/* @__PURE__ */
|
|
7128
|
+
/* @__PURE__ */ jsxs44("div", { className: "stn-alert-card__body", children: [
|
|
7129
|
+
/* @__PURE__ */ jsxs44(StnStack, { direction: "row", alignItems: "center", spacing: 1, className: "stn-alert-card__header-line", children: [
|
|
7130
|
+
/* @__PURE__ */ jsx53(
|
|
7010
7131
|
StnChip,
|
|
7011
7132
|
{
|
|
7012
7133
|
shape: "pill",
|
|
@@ -7016,25 +7137,25 @@ function StnAlertCard({
|
|
|
7016
7137
|
children: gradeLabel
|
|
7017
7138
|
}
|
|
7018
7139
|
),
|
|
7019
|
-
/* @__PURE__ */
|
|
7140
|
+
/* @__PURE__ */ jsx53(
|
|
7020
7141
|
"span",
|
|
7021
7142
|
{
|
|
7022
7143
|
className: cn("stn-alert-card__title", titleOverflow),
|
|
7023
7144
|
title: item.title,
|
|
7024
|
-
children: /* @__PURE__ */
|
|
7145
|
+
children: /* @__PURE__ */ jsx53("span", { className: "stn-alert-card__text-inner", children: item.title })
|
|
7025
7146
|
}
|
|
7026
7147
|
)
|
|
7027
7148
|
] }),
|
|
7028
|
-
/* @__PURE__ */
|
|
7029
|
-
/* @__PURE__ */
|
|
7149
|
+
/* @__PURE__ */ jsxs44(StnStack, { direction: "row", alignItems: "center", spacing: 2, wrap: "wrap", className: "stn-alert-card__desc-line", children: [
|
|
7150
|
+
/* @__PURE__ */ jsx53(
|
|
7030
7151
|
"span",
|
|
7031
7152
|
{
|
|
7032
7153
|
className: cn("stn-alert-card__desc", descOverflow),
|
|
7033
7154
|
title: item.description,
|
|
7034
|
-
children: /* @__PURE__ */
|
|
7155
|
+
children: /* @__PURE__ */ jsx53("span", { className: "stn-alert-card__text-inner", children: item.description })
|
|
7035
7156
|
}
|
|
7036
7157
|
),
|
|
7037
|
-
item.occurredAt && /* @__PURE__ */
|
|
7158
|
+
item.occurredAt && /* @__PURE__ */ jsxs44(
|
|
7038
7159
|
StnChip,
|
|
7039
7160
|
{
|
|
7040
7161
|
shape: "pill",
|
|
@@ -7050,9 +7171,9 @@ function StnAlertCard({
|
|
|
7050
7171
|
)
|
|
7051
7172
|
] })
|
|
7052
7173
|
] }),
|
|
7053
|
-
/* @__PURE__ */
|
|
7054
|
-
/* @__PURE__ */
|
|
7055
|
-
item.unread !== false && /* @__PURE__ */
|
|
7174
|
+
/* @__PURE__ */ jsxs44("div", { className: "stn-alert-card__meta", children: [
|
|
7175
|
+
/* @__PURE__ */ jsx53("span", { className: "stn-alert-card__time", children: item.time }),
|
|
7176
|
+
item.unread !== false && /* @__PURE__ */ jsx53(
|
|
7056
7177
|
"span",
|
|
7057
7178
|
{
|
|
7058
7179
|
className: cn(
|
|
@@ -7086,11 +7207,11 @@ function StnAlertCenterPanel({
|
|
|
7086
7207
|
closeLabel = "\uB2EB\uAE30",
|
|
7087
7208
|
className
|
|
7088
7209
|
}) {
|
|
7089
|
-
const [activeTab, setActiveTab] =
|
|
7210
|
+
const [activeTab, setActiveTab] = useState15(defaultTab);
|
|
7090
7211
|
const alertCount = alerts.length;
|
|
7091
7212
|
const resolvedTitleOverflow = titleOverflow ?? textOverflow;
|
|
7092
7213
|
const resolvedDescOverflow = descOverflow ?? textOverflow;
|
|
7093
|
-
return /* @__PURE__ */
|
|
7214
|
+
return /* @__PURE__ */ jsxs44(
|
|
7094
7215
|
"div",
|
|
7095
7216
|
{
|
|
7096
7217
|
className: cn(
|
|
@@ -7102,13 +7223,13 @@ function StnAlertCenterPanel({
|
|
|
7102
7223
|
),
|
|
7103
7224
|
"data-stn-alert-center": true,
|
|
7104
7225
|
children: [
|
|
7105
|
-
/* @__PURE__ */
|
|
7106
|
-
/* @__PURE__ */
|
|
7107
|
-
/* @__PURE__ */
|
|
7108
|
-
/* @__PURE__ */
|
|
7109
|
-
alertCount > 0 && /* @__PURE__ */
|
|
7226
|
+
/* @__PURE__ */ jsxs44("div", { className: "stn-alert-center__header", children: [
|
|
7227
|
+
/* @__PURE__ */ jsxs44("div", { className: "stn-alert-center__header-left", children: [
|
|
7228
|
+
/* @__PURE__ */ jsx53(StnIcon, { name: "line/bell", size: 20, color: "var(--stn-primary)" }),
|
|
7229
|
+
/* @__PURE__ */ jsx53("span", { className: "stn-alert-center__title", children: title }),
|
|
7230
|
+
alertCount > 0 && /* @__PURE__ */ jsx53(StnChip, { shape: "pill", size: "sm", variant: "subtle", color: "primary", children: alertCount })
|
|
7110
7231
|
] }),
|
|
7111
|
-
/* @__PURE__ */
|
|
7232
|
+
/* @__PURE__ */ jsx53(
|
|
7112
7233
|
StnSegmented,
|
|
7113
7234
|
{
|
|
7114
7235
|
size: "md",
|
|
@@ -7121,8 +7242,8 @@ function StnAlertCenterPanel({
|
|
|
7121
7242
|
}))
|
|
7122
7243
|
}
|
|
7123
7244
|
),
|
|
7124
|
-
/* @__PURE__ */
|
|
7125
|
-
/* @__PURE__ */
|
|
7245
|
+
/* @__PURE__ */ jsxs44("div", { className: "stn-alert-center__header-right", children: [
|
|
7246
|
+
/* @__PURE__ */ jsx53(
|
|
7126
7247
|
StnButton,
|
|
7127
7248
|
{
|
|
7128
7249
|
variant: "text",
|
|
@@ -7132,8 +7253,8 @@ function StnAlertCenterPanel({
|
|
|
7132
7253
|
children: "\uBAA8\uB450 \uC77D\uC74C"
|
|
7133
7254
|
}
|
|
7134
7255
|
),
|
|
7135
|
-
/* @__PURE__ */
|
|
7136
|
-
/* @__PURE__ */
|
|
7256
|
+
/* @__PURE__ */ jsx53("div", { className: "stn-alert-center__divider", "aria-hidden": true }),
|
|
7257
|
+
/* @__PURE__ */ jsx53(
|
|
7137
7258
|
StnButton,
|
|
7138
7259
|
{
|
|
7139
7260
|
icon: "line/x",
|
|
@@ -7145,8 +7266,8 @@ function StnAlertCenterPanel({
|
|
|
7145
7266
|
)
|
|
7146
7267
|
] })
|
|
7147
7268
|
] }),
|
|
7148
|
-
/* @__PURE__ */
|
|
7149
|
-
activeTab === "error" && /* @__PURE__ */
|
|
7269
|
+
/* @__PURE__ */ jsxs44("div", { className: "stn-alert-center__list-wrap", children: [
|
|
7270
|
+
activeTab === "error" && /* @__PURE__ */ jsx53("ul", { className: "stn-alert-center__list", children: alerts.map((item) => /* @__PURE__ */ jsx53("li", { children: /* @__PURE__ */ jsx53(
|
|
7150
7271
|
StnAlertCard,
|
|
7151
7272
|
{
|
|
7152
7273
|
item,
|
|
@@ -7155,33 +7276,33 @@ function StnAlertCenterPanel({
|
|
|
7155
7276
|
onClick: () => onItemClick?.(item)
|
|
7156
7277
|
}
|
|
7157
7278
|
) }, item.id ?? item.title)) }),
|
|
7158
|
-
activeTab === "work" && /* @__PURE__ */
|
|
7159
|
-
/* @__PURE__ */
|
|
7160
|
-
/* @__PURE__ */
|
|
7161
|
-
/* @__PURE__ */
|
|
7162
|
-
/* @__PURE__ */
|
|
7279
|
+
activeTab === "work" && /* @__PURE__ */ jsx53("ul", { className: "stn-alert-center__list", children: workItems.map((row) => /* @__PURE__ */ jsx53("li", { children: /* @__PURE__ */ jsx53(StnCard, { variant: "elevated", radius: "md", padding: "md", interactive: true, className: "stn-alert-card", children: /* @__PURE__ */ jsxs44("div", { className: "stn-alert-card__row", children: [
|
|
7280
|
+
/* @__PURE__ */ jsx53(StnIcon, { name: "line/clock", size: 24, color: "var(--stn-text-secondary)", className: "stn-alert-card__icon" }),
|
|
7281
|
+
/* @__PURE__ */ jsxs44("div", { className: "stn-alert-card__body", children: [
|
|
7282
|
+
/* @__PURE__ */ jsx53("span", { className: "stn-alert-card__type-label work", children: row.typeLabel }),
|
|
7283
|
+
/* @__PURE__ */ jsx53("span", { className: cn("stn-alert-card__desc", resolvedDescOverflow), title: row.text, children: /* @__PURE__ */ jsx53("span", { className: "stn-alert-card__text-inner", children: row.text }) })
|
|
7163
7284
|
] }),
|
|
7164
|
-
/* @__PURE__ */
|
|
7285
|
+
/* @__PURE__ */ jsx53("span", { className: "stn-alert-card__time", children: row.time })
|
|
7165
7286
|
] }) }) }, row.id ?? row.text)) }),
|
|
7166
|
-
activeTab === "deploy" && /* @__PURE__ */
|
|
7167
|
-
/* @__PURE__ */
|
|
7168
|
-
/* @__PURE__ */
|
|
7169
|
-
/* @__PURE__ */
|
|
7170
|
-
/* @__PURE__ */
|
|
7287
|
+
activeTab === "deploy" && /* @__PURE__ */ jsx53("ul", { className: "stn-alert-center__list", children: deployItems.map((row) => /* @__PURE__ */ jsx53("li", { children: /* @__PURE__ */ jsx53(StnCard, { variant: "elevated", radius: "md", padding: "md", interactive: true, className: "stn-alert-card", children: /* @__PURE__ */ jsxs44("div", { className: "stn-alert-card__row", children: [
|
|
7288
|
+
/* @__PURE__ */ jsx53(StnIcon, { name: "line/settings", size: 24, color: "var(--stn-secondary)", className: "stn-alert-card__icon" }),
|
|
7289
|
+
/* @__PURE__ */ jsxs44("div", { className: "stn-alert-card__body", children: [
|
|
7290
|
+
/* @__PURE__ */ jsx53("span", { className: "stn-alert-card__type-label stn-alert-card__type-label--deploy", children: row.typeLabel }),
|
|
7291
|
+
/* @__PURE__ */ jsx53("span", { className: cn("stn-alert-card__desc", resolvedDescOverflow), title: row.text, children: /* @__PURE__ */ jsx53("span", { className: "stn-alert-card__text-inner", children: row.text }) })
|
|
7171
7292
|
] }),
|
|
7172
|
-
/* @__PURE__ */
|
|
7293
|
+
/* @__PURE__ */ jsx53("span", { className: "stn-alert-card__time", children: row.time })
|
|
7173
7294
|
] }) }) }, row.id ?? row.text)) })
|
|
7174
7295
|
] }),
|
|
7175
|
-
/* @__PURE__ */
|
|
7296
|
+
/* @__PURE__ */ jsx53("div", { className: "stn-alert-center__footer", children: /* @__PURE__ */ jsxs44(
|
|
7176
7297
|
"button",
|
|
7177
7298
|
{
|
|
7178
7299
|
type: "button",
|
|
7179
7300
|
className: "stn-alert-center__footer-link",
|
|
7180
7301
|
onClick: onManageSettings,
|
|
7181
7302
|
children: [
|
|
7182
|
-
/* @__PURE__ */
|
|
7183
|
-
/* @__PURE__ */
|
|
7184
|
-
/* @__PURE__ */
|
|
7303
|
+
/* @__PURE__ */ jsx53("span", { children: "\uC54C\uB9BC \uC124\uC815 \uAD00\uB9AC" }),
|
|
7304
|
+
/* @__PURE__ */ jsx53(StnIcon, { name: "line/settings", size: 14 }),
|
|
7305
|
+
/* @__PURE__ */ jsx53(StnIcon, { name: "line/chevron-right", size: 14 })
|
|
7185
7306
|
]
|
|
7186
7307
|
}
|
|
7187
7308
|
) })
|
|
@@ -7191,18 +7312,18 @@ function StnAlertCenterPanel({
|
|
|
7191
7312
|
}
|
|
7192
7313
|
|
|
7193
7314
|
// src/patterns/alertCenter/StnAlertCenterDocPreview.tsx
|
|
7194
|
-
import { jsx as
|
|
7315
|
+
import { jsx as jsx54 } from "react/jsx-runtime";
|
|
7195
7316
|
function StnAlertCenterDocPreview({
|
|
7196
7317
|
theme = "light",
|
|
7197
7318
|
withDocChrome = true,
|
|
7198
7319
|
children,
|
|
7199
7320
|
...panelProps
|
|
7200
7321
|
}) {
|
|
7201
|
-
const panel = children ?? /* @__PURE__ */
|
|
7322
|
+
const panel = children ?? /* @__PURE__ */ jsx54(StnAlertCenterPanel, { ...panelProps });
|
|
7202
7323
|
if (!withDocChrome) {
|
|
7203
|
-
return /* @__PURE__ */
|
|
7324
|
+
return /* @__PURE__ */ jsx54(StnProvider, { theme, applyThemeToDocument: false, children: panel });
|
|
7204
7325
|
}
|
|
7205
|
-
return /* @__PURE__ */
|
|
7326
|
+
return /* @__PURE__ */ jsx54("div", { className: "stn-doc-frame stn-doc-frame--alert-center", "data-theme": theme, children: /* @__PURE__ */ jsx54("div", { className: "stn-alert-center-preview-shell", children: panel }) });
|
|
7206
7327
|
}
|
|
7207
7328
|
|
|
7208
7329
|
// src/index.ts
|
|
@@ -7227,13 +7348,13 @@ var SideNavContext = createContext3({
|
|
|
7227
7348
|
var useSideNav = () => useContext3(SideNavContext);
|
|
7228
7349
|
|
|
7229
7350
|
// src/components/sideNav/StnSideNavItem.tsx
|
|
7230
|
-
import { forwardRef as
|
|
7351
|
+
import { forwardRef as forwardRef27 } from "react";
|
|
7231
7352
|
import { STN_NAV_MENU_SUB_ICON } from "@stn-uiux/pub-ui/data/stnSideNavItem";
|
|
7232
|
-
import { jsx as
|
|
7353
|
+
import { jsx as jsx55, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
7233
7354
|
function maskStyle2(src) {
|
|
7234
7355
|
return { maskImage: `url('${src}')`, WebkitMaskImage: `url('${src}')` };
|
|
7235
7356
|
}
|
|
7236
|
-
var StnSideNavItem =
|
|
7357
|
+
var StnSideNavItem = forwardRef27(function StnSideNavItem2({
|
|
7237
7358
|
label,
|
|
7238
7359
|
id,
|
|
7239
7360
|
iconSrc,
|
|
@@ -7276,13 +7397,13 @@ var StnSideNavItem = forwardRef26(function StnSideNavItem2({
|
|
|
7276
7397
|
sideNav.onSelect(id);
|
|
7277
7398
|
}
|
|
7278
7399
|
};
|
|
7279
|
-
const iconElement = hasIcon && !isSub ? /* @__PURE__ */
|
|
7280
|
-
/* @__PURE__ */
|
|
7281
|
-
showDot ? /* @__PURE__ */
|
|
7400
|
+
const iconElement = hasIcon && !isSub ? /* @__PURE__ */ jsxs45("span", { className: "stn-side-nav-item__icon-wrap", children: [
|
|
7401
|
+
/* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__icon", "aria-hidden": "true", children: icon ?? (resolvedIconSrc ? /* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__icon-glyph", style: maskStyle2(resolvedIconSrc) }) : null) }),
|
|
7402
|
+
showDot ? /* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__dot-wrap", "aria-hidden": "true", children: /* @__PURE__ */ jsx55(StnBadge, { variant: "dot", color: "error" }) }) : null
|
|
7282
7403
|
] }) : null;
|
|
7283
|
-
const subIconElement = hasIcon && isSub ? /* @__PURE__ */
|
|
7404
|
+
const subIconElement = hasIcon && isSub ? /* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__sub-icon", "aria-hidden": "true", children: icon ?? (resolvedIconSrc ? /* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__icon-glyph", style: maskStyle2(resolvedIconSrc) }) : null) }) : null;
|
|
7284
7405
|
const activeIconElement = isSub ? subIconElement : iconElement;
|
|
7285
|
-
return /* @__PURE__ */
|
|
7406
|
+
return /* @__PURE__ */ jsx55(
|
|
7286
7407
|
"button",
|
|
7287
7408
|
{
|
|
7288
7409
|
ref,
|
|
@@ -7301,10 +7422,10 @@ var StnSideNavItem = forwardRef26(function StnSideNavItem2({
|
|
|
7301
7422
|
title: collapsed ? label : void 0,
|
|
7302
7423
|
onClick: handleClick,
|
|
7303
7424
|
...rest,
|
|
7304
|
-
children: /* @__PURE__ */
|
|
7305
|
-
/* @__PURE__ */
|
|
7306
|
-
isSub && showSubIndent ? /* @__PURE__ */
|
|
7307
|
-
shouldShowSubDot ? /* @__PURE__ */
|
|
7425
|
+
children: /* @__PURE__ */ jsxs45("span", { className: cn("stn-side-nav-item__inner", spreadTrail && "spread"), children: [
|
|
7426
|
+
/* @__PURE__ */ jsxs45("span", { className: "stn-side-nav-item__lead", children: [
|
|
7427
|
+
isSub && showSubIndent ? /* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__sub-indent", "aria-hidden": "true" }) : null,
|
|
7428
|
+
shouldShowSubDot ? /* @__PURE__ */ jsx55(
|
|
7308
7429
|
"span",
|
|
7309
7430
|
{
|
|
7310
7431
|
className: cn(
|
|
@@ -7312,14 +7433,14 @@ var StnSideNavItem = forwardRef26(function StnSideNavItem2({
|
|
|
7312
7433
|
hasIcon && iconPosition === "left" && "compact"
|
|
7313
7434
|
),
|
|
7314
7435
|
"aria-hidden": "true",
|
|
7315
|
-
children: /* @__PURE__ */
|
|
7436
|
+
children: /* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__sub-dot-glyph", style: maskStyle2(STN_NAV_MENU_SUB_ICON) })
|
|
7316
7437
|
}
|
|
7317
7438
|
) : null,
|
|
7318
7439
|
iconPosition === "left" ? activeIconElement : null,
|
|
7319
|
-
/* @__PURE__ */
|
|
7440
|
+
/* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__label", children: label })
|
|
7320
7441
|
] }),
|
|
7321
7442
|
iconPosition === "right" ? activeIconElement : null,
|
|
7322
|
-
renderBadge ? typeof badge === "string" || typeof badge === "number" ? /* @__PURE__ */
|
|
7443
|
+
renderBadge ? typeof badge === "string" || typeof badge === "number" ? /* @__PURE__ */ jsx55(
|
|
7323
7444
|
StnBadge,
|
|
7324
7445
|
{
|
|
7325
7446
|
badgeContent: badge,
|
|
@@ -7327,7 +7448,7 @@ var StnSideNavItem = forwardRef26(function StnSideNavItem2({
|
|
|
7327
7448
|
appearance: "subtle",
|
|
7328
7449
|
className: "stn-side-nav-item__badge"
|
|
7329
7450
|
}
|
|
7330
|
-
) : badge ? /* @__PURE__ */
|
|
7451
|
+
) : badge ? /* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__badge", children: badge }) : showBadgeDot ? /* @__PURE__ */ jsx55(
|
|
7331
7452
|
StnBadge,
|
|
7332
7453
|
{
|
|
7333
7454
|
variant: "dot",
|
|
@@ -7335,7 +7456,7 @@ var StnSideNavItem = forwardRef26(function StnSideNavItem2({
|
|
|
7335
7456
|
className: "stn-side-nav-item__badge"
|
|
7336
7457
|
}
|
|
7337
7458
|
) : null : null,
|
|
7338
|
-
!isSub && showChevron && !collapsed ? /* @__PURE__ */
|
|
7459
|
+
!isSub && showChevron && !collapsed ? /* @__PURE__ */ jsx55(
|
|
7339
7460
|
"span",
|
|
7340
7461
|
{
|
|
7341
7462
|
className: cn(
|
|
@@ -7352,15 +7473,15 @@ var StnSideNavItem = forwardRef26(function StnSideNavItem2({
|
|
|
7352
7473
|
});
|
|
7353
7474
|
|
|
7354
7475
|
// src/components/sideNav/StnSideNavHeader.tsx
|
|
7355
|
-
import { forwardRef as
|
|
7476
|
+
import { forwardRef as forwardRef29 } from "react";
|
|
7356
7477
|
|
|
7357
7478
|
// src/components/sideNav/StnSideNavLogo.tsx
|
|
7358
|
-
import { forwardRef as
|
|
7359
|
-
import { jsx as
|
|
7360
|
-
var StnSideNavLogo =
|
|
7479
|
+
import { forwardRef as forwardRef28 } from "react";
|
|
7480
|
+
import { jsx as jsx56 } from "react/jsx-runtime";
|
|
7481
|
+
var StnSideNavLogo = forwardRef28(
|
|
7361
7482
|
function StnSideNavLogo2({ className, logoProps, ...rest }, ref) {
|
|
7362
7483
|
const { collapsed } = useSideNav();
|
|
7363
|
-
return /* @__PURE__ */
|
|
7484
|
+
return /* @__PURE__ */ jsx56(
|
|
7364
7485
|
"div",
|
|
7365
7486
|
{
|
|
7366
7487
|
ref,
|
|
@@ -7371,7 +7492,7 @@ var StnSideNavLogo = forwardRef27(
|
|
|
7371
7492
|
),
|
|
7372
7493
|
title: "InfoMap",
|
|
7373
7494
|
...rest,
|
|
7374
|
-
children: /* @__PURE__ */
|
|
7495
|
+
children: /* @__PURE__ */ jsx56(
|
|
7375
7496
|
StnLogo,
|
|
7376
7497
|
{
|
|
7377
7498
|
variant: collapsed ? "onlyimg" : "horizontal",
|
|
@@ -7385,8 +7506,8 @@ var StnSideNavLogo = forwardRef27(
|
|
|
7385
7506
|
);
|
|
7386
7507
|
|
|
7387
7508
|
// src/components/sideNav/StnSideNavHeader.tsx
|
|
7388
|
-
import { Fragment as Fragment7, jsx as
|
|
7389
|
-
var StnSideNavHeader =
|
|
7509
|
+
import { Fragment as Fragment7, jsx as jsx57, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
7510
|
+
var StnSideNavHeader = forwardRef29(function StnSideNavHeader2({
|
|
7390
7511
|
children,
|
|
7391
7512
|
border = false,
|
|
7392
7513
|
hasBorder = false,
|
|
@@ -7398,7 +7519,7 @@ var StnSideNavHeader = forwardRef28(function StnSideNavHeader2({
|
|
|
7398
7519
|
const { collapsed, onToggleCollapse, isDrawer, setMobileOpen } = useSideNav();
|
|
7399
7520
|
const withBorder = Boolean(border || hasBorder);
|
|
7400
7521
|
const shouldShowClose = showClose ?? Boolean(isDrawer);
|
|
7401
|
-
return /* @__PURE__ */
|
|
7522
|
+
return /* @__PURE__ */ jsx57(
|
|
7402
7523
|
"div",
|
|
7403
7524
|
{
|
|
7404
7525
|
ref,
|
|
@@ -7409,9 +7530,9 @@ var StnSideNavHeader = forwardRef28(function StnSideNavHeader2({
|
|
|
7409
7530
|
className
|
|
7410
7531
|
),
|
|
7411
7532
|
...rest,
|
|
7412
|
-
children: children ?? /* @__PURE__ */
|
|
7413
|
-
/* @__PURE__ */
|
|
7414
|
-
shouldShowClose ? /* @__PURE__ */
|
|
7533
|
+
children: children ?? /* @__PURE__ */ jsxs46(Fragment7, { children: [
|
|
7534
|
+
/* @__PURE__ */ jsx57(StnSideNavLogo, {}),
|
|
7535
|
+
shouldShowClose ? /* @__PURE__ */ jsx57(
|
|
7415
7536
|
StnButton,
|
|
7416
7537
|
{
|
|
7417
7538
|
size: "sm",
|
|
@@ -7423,7 +7544,7 @@ var StnSideNavHeader = forwardRef28(function StnSideNavHeader2({
|
|
|
7423
7544
|
className: "stn-side-nav__collapse-btn",
|
|
7424
7545
|
onClick: () => setMobileOpen?.(false)
|
|
7425
7546
|
}
|
|
7426
|
-
) : showToggle ? /* @__PURE__ */
|
|
7547
|
+
) : showToggle ? /* @__PURE__ */ jsx57(
|
|
7427
7548
|
StnButton,
|
|
7428
7549
|
{
|
|
7429
7550
|
size: "sm",
|
|
@@ -7442,16 +7563,16 @@ var StnSideNavHeader = forwardRef28(function StnSideNavHeader2({
|
|
|
7442
7563
|
});
|
|
7443
7564
|
|
|
7444
7565
|
// src/components/sideNav/StnSideNavMenu.tsx
|
|
7445
|
-
import { forwardRef as
|
|
7446
|
-
import { jsx as
|
|
7447
|
-
var StnSideNavMenu =
|
|
7566
|
+
import { forwardRef as forwardRef30 } from "react";
|
|
7567
|
+
import { jsx as jsx58 } from "react/jsx-runtime";
|
|
7568
|
+
var StnSideNavMenu = forwardRef30(function StnSideNavMenu2({
|
|
7448
7569
|
children,
|
|
7449
7570
|
className,
|
|
7450
7571
|
scrollSize = "thin",
|
|
7451
7572
|
scrollColor = "fade",
|
|
7452
7573
|
...rest
|
|
7453
7574
|
}, ref) {
|
|
7454
|
-
return /* @__PURE__ */
|
|
7575
|
+
return /* @__PURE__ */ jsx58(
|
|
7455
7576
|
"nav",
|
|
7456
7577
|
{
|
|
7457
7578
|
ref,
|
|
@@ -7472,13 +7593,13 @@ var StnSideNavMenu = forwardRef29(function StnSideNavMenu2({
|
|
|
7472
7593
|
|
|
7473
7594
|
// src/components/sideNav/StnSideNavGroup.tsx
|
|
7474
7595
|
import {
|
|
7475
|
-
forwardRef as
|
|
7596
|
+
forwardRef as forwardRef31,
|
|
7476
7597
|
useEffect as useEffect10,
|
|
7477
7598
|
useRef as useRef7,
|
|
7478
|
-
useState as
|
|
7599
|
+
useState as useState16
|
|
7479
7600
|
} from "react";
|
|
7480
|
-
import { jsx as
|
|
7481
|
-
var StnSideNavGroup =
|
|
7601
|
+
import { jsx as jsx59, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
7602
|
+
var StnSideNavGroup = forwardRef31(function StnSideNavGroup2({
|
|
7482
7603
|
label,
|
|
7483
7604
|
parent,
|
|
7484
7605
|
direction = "down",
|
|
@@ -7494,7 +7615,7 @@ var StnSideNavGroup = forwardRef30(function StnSideNavGroup2({
|
|
|
7494
7615
|
...rest
|
|
7495
7616
|
}, ref) {
|
|
7496
7617
|
const { collapsed } = useSideNav();
|
|
7497
|
-
const [internalOpen, setInternalOpen] =
|
|
7618
|
+
const [internalOpen, setInternalOpen] = useState16(defaultOpen);
|
|
7498
7619
|
const isOpen = openProp ?? internalOpen;
|
|
7499
7620
|
const isDropdown = Boolean(dropdown || variant === "dropdown");
|
|
7500
7621
|
const isTransparent = dropdownVariant === "transparent" || dropdownBackground === false;
|
|
@@ -7522,7 +7643,7 @@ var StnSideNavGroup = forwardRef30(function StnSideNavGroup2({
|
|
|
7522
7643
|
}
|
|
7523
7644
|
onOpenChange?.(next);
|
|
7524
7645
|
};
|
|
7525
|
-
const subnavNode = children && (!collapsed && isOpen) ? /* @__PURE__ */
|
|
7646
|
+
const subnavNode = children && (!collapsed && isOpen) ? /* @__PURE__ */ jsx59(
|
|
7526
7647
|
"div",
|
|
7527
7648
|
{
|
|
7528
7649
|
className: cn(
|
|
@@ -7537,7 +7658,7 @@ var StnSideNavGroup = forwardRef30(function StnSideNavGroup2({
|
|
|
7537
7658
|
children
|
|
7538
7659
|
}
|
|
7539
7660
|
) : null;
|
|
7540
|
-
return /* @__PURE__ */
|
|
7661
|
+
return /* @__PURE__ */ jsxs47(
|
|
7541
7662
|
"div",
|
|
7542
7663
|
{
|
|
7543
7664
|
ref: (node) => {
|
|
@@ -7558,7 +7679,7 @@ var StnSideNavGroup = forwardRef30(function StnSideNavGroup2({
|
|
|
7558
7679
|
"aria-label": typeof label === "string" ? label : void 0,
|
|
7559
7680
|
...rest,
|
|
7560
7681
|
children: [
|
|
7561
|
-
label && !collapsed ? /* @__PURE__ */
|
|
7682
|
+
label && !collapsed ? /* @__PURE__ */ jsx59("span", { className: "stn-side-nav__group-label", onClick: handleToggle, children: label }) : null,
|
|
7562
7683
|
isUp ? subnavNode : null,
|
|
7563
7684
|
parent,
|
|
7564
7685
|
!isUp ? subnavNode : null
|
|
@@ -7568,10 +7689,10 @@ var StnSideNavGroup = forwardRef30(function StnSideNavGroup2({
|
|
|
7568
7689
|
});
|
|
7569
7690
|
|
|
7570
7691
|
// src/components/sideNav/StnSideNavSpacer.tsx
|
|
7571
|
-
import { forwardRef as
|
|
7572
|
-
import { jsx as
|
|
7573
|
-
var StnSideNavSpacer =
|
|
7574
|
-
return /* @__PURE__ */
|
|
7692
|
+
import { forwardRef as forwardRef32 } from "react";
|
|
7693
|
+
import { jsx as jsx60 } from "react/jsx-runtime";
|
|
7694
|
+
var StnSideNavSpacer = forwardRef32(function StnSideNavSpacer2({ className, style, ...rest }, ref) {
|
|
7695
|
+
return /* @__PURE__ */ jsx60(
|
|
7575
7696
|
"div",
|
|
7576
7697
|
{
|
|
7577
7698
|
ref,
|
|
@@ -7584,10 +7705,10 @@ var StnSideNavSpacer = forwardRef31(function StnSideNavSpacer2({ className, styl
|
|
|
7584
7705
|
});
|
|
7585
7706
|
|
|
7586
7707
|
// src/components/sideNav/StnSideNavFooter.tsx
|
|
7587
|
-
import { forwardRef as
|
|
7588
|
-
import { jsx as
|
|
7589
|
-
var StnSideNavFooter =
|
|
7590
|
-
return /* @__PURE__ */
|
|
7708
|
+
import { forwardRef as forwardRef33 } from "react";
|
|
7709
|
+
import { jsx as jsx61 } from "react/jsx-runtime";
|
|
7710
|
+
var StnSideNavFooter = forwardRef33(function StnSideNavFooter2({ curved = false, children, className, ...rest }, ref) {
|
|
7711
|
+
return /* @__PURE__ */ jsx61(
|
|
7591
7712
|
"nav",
|
|
7592
7713
|
{
|
|
7593
7714
|
ref,
|
|
@@ -7600,12 +7721,12 @@ var StnSideNavFooter = forwardRef32(function StnSideNavFooter2({ curved = false,
|
|
|
7600
7721
|
});
|
|
7601
7722
|
|
|
7602
7723
|
// src/components/sideNav/StnSideNavToggle.tsx
|
|
7603
|
-
import { forwardRef as
|
|
7604
|
-
import { jsx as
|
|
7605
|
-
var StnSideNavToggle =
|
|
7724
|
+
import { forwardRef as forwardRef34 } from "react";
|
|
7725
|
+
import { jsx as jsx62 } from "react/jsx-runtime";
|
|
7726
|
+
var StnSideNavToggle = forwardRef34(
|
|
7606
7727
|
function StnSideNavToggle2({ className, onClick, ...rest }, ref) {
|
|
7607
7728
|
const { collapsed, onToggleCollapse } = useSideNav();
|
|
7608
|
-
return /* @__PURE__ */
|
|
7729
|
+
return /* @__PURE__ */ jsx62(
|
|
7609
7730
|
"button",
|
|
7610
7731
|
{
|
|
7611
7732
|
ref,
|
|
@@ -7618,7 +7739,7 @@ var StnSideNavToggle = forwardRef33(
|
|
|
7618
7739
|
"aria-label": collapsed ? "\uC0AC\uC774\uB4DC\uBC14 \uD3BC\uCE58\uAE30" : "\uC0AC\uC774\uB4DC\uBC14 \uC811\uAE30",
|
|
7619
7740
|
title: collapsed ? "\uC0AC\uC774\uB4DC\uBC14 \uD3BC\uCE58\uAE30" : "\uC0AC\uC774\uB4DC\uBC14 \uC811\uAE30",
|
|
7620
7741
|
...rest,
|
|
7621
|
-
children: /* @__PURE__ */
|
|
7742
|
+
children: /* @__PURE__ */ jsx62(
|
|
7622
7743
|
"svg",
|
|
7623
7744
|
{
|
|
7624
7745
|
width: "12",
|
|
@@ -7629,7 +7750,7 @@ var StnSideNavToggle = forwardRef33(
|
|
|
7629
7750
|
strokeWidth: "2.5",
|
|
7630
7751
|
strokeLinecap: "round",
|
|
7631
7752
|
strokeLinejoin: "round",
|
|
7632
|
-
children: /* @__PURE__ */
|
|
7753
|
+
children: /* @__PURE__ */ jsx62("path", { d: "M9 18l6-6-6-6" })
|
|
7633
7754
|
}
|
|
7634
7755
|
)
|
|
7635
7756
|
}
|
|
@@ -7638,30 +7759,30 @@ var StnSideNavToggle = forwardRef33(
|
|
|
7638
7759
|
);
|
|
7639
7760
|
|
|
7640
7761
|
// src/components/sideNav/StnSideNavWatermark.tsx
|
|
7641
|
-
import { forwardRef as
|
|
7642
|
-
import { jsx as
|
|
7643
|
-
var StnSideNavWatermark =
|
|
7762
|
+
import { forwardRef as forwardRef35 } from "react";
|
|
7763
|
+
import { jsx as jsx63 } from "react/jsx-runtime";
|
|
7764
|
+
var StnSideNavWatermark = forwardRef35(
|
|
7644
7765
|
function StnSideNavWatermark2({ size = "xl", theme, className, ...rest }, ref) {
|
|
7645
|
-
return /* @__PURE__ */
|
|
7766
|
+
return /* @__PURE__ */ jsx63(
|
|
7646
7767
|
"div",
|
|
7647
7768
|
{
|
|
7648
7769
|
ref,
|
|
7649
7770
|
className: cn("stn-side-nav__watermark", className),
|
|
7650
7771
|
"aria-hidden": "true",
|
|
7651
7772
|
...rest,
|
|
7652
|
-
children: /* @__PURE__ */
|
|
7773
|
+
children: /* @__PURE__ */ jsx63(StnLogo, { variant: "watermark", size, theme })
|
|
7653
7774
|
}
|
|
7654
7775
|
);
|
|
7655
7776
|
}
|
|
7656
7777
|
);
|
|
7657
7778
|
|
|
7658
7779
|
// src/components/sideNav/StnSideNavMobileTrigger.tsx
|
|
7659
|
-
import { forwardRef as
|
|
7660
|
-
import { jsx as
|
|
7661
|
-
var StnSideNavMobileTrigger =
|
|
7780
|
+
import { forwardRef as forwardRef36 } from "react";
|
|
7781
|
+
import { jsx as jsx64, jsxs as jsxs48 } from "react/jsx-runtime";
|
|
7782
|
+
var StnSideNavMobileTrigger = forwardRef36(
|
|
7662
7783
|
function StnSideNavMobileTrigger2({ floating = false, className, children, onClick, ...rest }, ref) {
|
|
7663
7784
|
const { onToggleMobileOpen, mobileOpen } = useSideNav();
|
|
7664
|
-
return /* @__PURE__ */
|
|
7785
|
+
return /* @__PURE__ */ jsx64(
|
|
7665
7786
|
"button",
|
|
7666
7787
|
{
|
|
7667
7788
|
ref,
|
|
@@ -7679,10 +7800,10 @@ var StnSideNavMobileTrigger = forwardRef35(
|
|
|
7679
7800
|
onToggleMobileOpen?.();
|
|
7680
7801
|
},
|
|
7681
7802
|
...rest,
|
|
7682
|
-
children: children ?? /* @__PURE__ */
|
|
7683
|
-
/* @__PURE__ */
|
|
7684
|
-
/* @__PURE__ */
|
|
7685
|
-
/* @__PURE__ */
|
|
7803
|
+
children: children ?? /* @__PURE__ */ jsxs48("span", { className: "stn-side-nav__hamburger-bars", "aria-hidden": "true", children: [
|
|
7804
|
+
/* @__PURE__ */ jsx64("span", {}),
|
|
7805
|
+
/* @__PURE__ */ jsx64("span", {}),
|
|
7806
|
+
/* @__PURE__ */ jsx64("span", {})
|
|
7686
7807
|
] })
|
|
7687
7808
|
}
|
|
7688
7809
|
);
|
|
@@ -7691,12 +7812,12 @@ var StnSideNavMobileTrigger = forwardRef35(
|
|
|
7691
7812
|
|
|
7692
7813
|
// src/components/sideNav/StnSideNavSub.tsx
|
|
7693
7814
|
import {
|
|
7694
|
-
forwardRef as
|
|
7815
|
+
forwardRef as forwardRef37
|
|
7695
7816
|
} from "react";
|
|
7696
|
-
import { jsx as
|
|
7697
|
-
var StnSideNavSub =
|
|
7817
|
+
import { jsx as jsx65 } from "react/jsx-runtime";
|
|
7818
|
+
var StnSideNavSub = forwardRef37(
|
|
7698
7819
|
function StnSideNavSub2({ children, className, ...rest }, ref) {
|
|
7699
|
-
return /* @__PURE__ */
|
|
7820
|
+
return /* @__PURE__ */ jsx65(
|
|
7700
7821
|
"div",
|
|
7701
7822
|
{
|
|
7702
7823
|
ref,
|
|
@@ -7709,7 +7830,7 @@ var StnSideNavSub = forwardRef36(
|
|
|
7709
7830
|
);
|
|
7710
7831
|
}
|
|
7711
7832
|
);
|
|
7712
|
-
var StnSideNavSubItem =
|
|
7833
|
+
var StnSideNavSubItem = forwardRef37(
|
|
7713
7834
|
function StnSideNavSubItem2({
|
|
7714
7835
|
variant = "ghost",
|
|
7715
7836
|
size = "md",
|
|
@@ -7725,14 +7846,14 @@ var StnSideNavSubItem = forwardRef36(
|
|
|
7725
7846
|
const { collapsed } = useSideNav();
|
|
7726
7847
|
const content = children ?? label;
|
|
7727
7848
|
const computedTitle = title ?? (typeof content === "string" ? content : void 0);
|
|
7728
|
-
const resolvedIcon = icon ?? (iconSrc ? /* @__PURE__ */
|
|
7849
|
+
const resolvedIcon = icon ?? (iconSrc ? /* @__PURE__ */ jsx65("span", { className: "stn-side-nav__sub-icon", children: /* @__PURE__ */ jsx65(
|
|
7729
7850
|
"span",
|
|
7730
7851
|
{
|
|
7731
7852
|
className: "stn-side-nav__sub-glyph",
|
|
7732
7853
|
style: { maskImage: `url('${iconSrc}')`, WebkitMaskImage: `url('${iconSrc}')` }
|
|
7733
7854
|
}
|
|
7734
7855
|
) }) : null);
|
|
7735
|
-
return /* @__PURE__ */
|
|
7856
|
+
return /* @__PURE__ */ jsx65(
|
|
7736
7857
|
StnButton,
|
|
7737
7858
|
{
|
|
7738
7859
|
ref,
|
|
@@ -7751,9 +7872,9 @@ var StnSideNavSubItem = forwardRef36(
|
|
|
7751
7872
|
);
|
|
7752
7873
|
|
|
7753
7874
|
// src/components/sideNav/StnSideNavSubNav.tsx
|
|
7754
|
-
import { forwardRef as
|
|
7755
|
-
import { jsx as
|
|
7756
|
-
var StnSideNavSubNav =
|
|
7875
|
+
import { forwardRef as forwardRef38 } from "react";
|
|
7876
|
+
import { jsx as jsx66 } from "react/jsx-runtime";
|
|
7877
|
+
var StnSideNavSubNav = forwardRef38(
|
|
7757
7878
|
function StnSideNavSubNav2({
|
|
7758
7879
|
dropdown = false,
|
|
7759
7880
|
direction = "down",
|
|
@@ -7765,7 +7886,7 @@ var StnSideNavSubNav = forwardRef37(
|
|
|
7765
7886
|
}, ref) {
|
|
7766
7887
|
const isUp = direction === "up";
|
|
7767
7888
|
const isTransparent = variant === "transparent" || background === false;
|
|
7768
|
-
return /* @__PURE__ */
|
|
7889
|
+
return /* @__PURE__ */ jsx66(
|
|
7769
7890
|
"div",
|
|
7770
7891
|
{
|
|
7771
7892
|
ref,
|
|
@@ -7788,14 +7909,14 @@ var StnSideNavSubNav = forwardRef37(
|
|
|
7788
7909
|
|
|
7789
7910
|
// src/patterns/sideNav/StnSideNavigation.tsx
|
|
7790
7911
|
import {
|
|
7791
|
-
forwardRef as
|
|
7912
|
+
forwardRef as forwardRef39,
|
|
7792
7913
|
useCallback as useCallback8,
|
|
7793
7914
|
useMemo as useMemo4,
|
|
7794
|
-
useState as
|
|
7915
|
+
useState as useState17
|
|
7795
7916
|
} from "react";
|
|
7796
|
-
import { jsx as
|
|
7917
|
+
import { jsx as jsx67, jsxs as jsxs49 } from "react/jsx-runtime";
|
|
7797
7918
|
function useControllableState(controlledValue, defaultValue, onChange) {
|
|
7798
|
-
const [internalState, setInternalState] =
|
|
7919
|
+
const [internalState, setInternalState] = useState17(defaultValue);
|
|
7799
7920
|
const isControlled = controlledValue !== void 0;
|
|
7800
7921
|
const value = isControlled ? controlledValue : internalState;
|
|
7801
7922
|
const setValue = useCallback8(
|
|
@@ -7809,7 +7930,7 @@ function useControllableState(controlledValue, defaultValue, onChange) {
|
|
|
7809
7930
|
);
|
|
7810
7931
|
return [value, setValue];
|
|
7811
7932
|
}
|
|
7812
|
-
var StnSideNavigationRoot =
|
|
7933
|
+
var StnSideNavigationRoot = forwardRef39(function StnSideNavigationRoot2({
|
|
7813
7934
|
variant: variantProp,
|
|
7814
7935
|
appearance,
|
|
7815
7936
|
drawerVariant: drawerVariantProp,
|
|
@@ -7870,9 +7991,9 @@ var StnSideNavigationRoot = forwardRef38(function StnSideNavigationRoot2({
|
|
|
7870
7991
|
}),
|
|
7871
7992
|
[isEffectiveCollapsed, activeId, setActiveId, handleToggleCollapse, mobileOpen, handleToggleMobileOpen, setMobileOpen, isDrawerMode]
|
|
7872
7993
|
);
|
|
7873
|
-
return /* @__PURE__ */
|
|
7874
|
-
showMobileTrigger && /* @__PURE__ */
|
|
7875
|
-
(drawer || responsiveDrawer) && /* @__PURE__ */
|
|
7994
|
+
return /* @__PURE__ */ jsxs49(SideNavContext.Provider, { value: contextValue, children: [
|
|
7995
|
+
showMobileTrigger && /* @__PURE__ */ jsx67(StnSideNavMobileTrigger, { floating: true }),
|
|
7996
|
+
(drawer || responsiveDrawer) && /* @__PURE__ */ jsx67(
|
|
7876
7997
|
"div",
|
|
7877
7998
|
{
|
|
7878
7999
|
className: cn("stn-side-nav__backdrop", mobileOpen && "is-open"),
|
|
@@ -7880,7 +8001,7 @@ var StnSideNavigationRoot = forwardRef38(function StnSideNavigationRoot2({
|
|
|
7880
8001
|
"aria-hidden": !mobileOpen
|
|
7881
8002
|
}
|
|
7882
8003
|
),
|
|
7883
|
-
/* @__PURE__ */
|
|
8004
|
+
/* @__PURE__ */ jsx67(
|
|
7884
8005
|
"aside",
|
|
7885
8006
|
{
|
|
7886
8007
|
ref,
|
|
@@ -7922,14 +8043,14 @@ var StnSideNavigation = Object.assign(StnSideNavigationRoot, {
|
|
|
7922
8043
|
import {
|
|
7923
8044
|
Fragment as Fragment8,
|
|
7924
8045
|
useEffect as useEffect11,
|
|
7925
|
-
useId as
|
|
8046
|
+
useId as useId16,
|
|
7926
8047
|
useRef as useRef8,
|
|
7927
|
-
useState as
|
|
8048
|
+
useState as useState18
|
|
7928
8049
|
} from "react";
|
|
7929
8050
|
import {
|
|
7930
8051
|
STN_BREADCRUMB_ICON_SRC
|
|
7931
8052
|
} from "@stn-uiux/pub-ui/data/stnBreadcrumb";
|
|
7932
|
-
import { Fragment as Fragment9, jsx as
|
|
8053
|
+
import { Fragment as Fragment9, jsx as jsx68, jsxs as jsxs50 } from "react/jsx-runtime";
|
|
7933
8054
|
function maskStyle3(src) {
|
|
7934
8055
|
return { maskImage: `url('${src}')`, WebkitMaskImage: `url('${src}')` };
|
|
7935
8056
|
}
|
|
@@ -7942,13 +8063,13 @@ function hasSegmentMenu(item) {
|
|
|
7942
8063
|
return Boolean(item.menu || item.menuItems && item.menuItems.length > 0);
|
|
7943
8064
|
}
|
|
7944
8065
|
function BreadcrumbSeparator() {
|
|
7945
|
-
return /* @__PURE__ */
|
|
8066
|
+
return /* @__PURE__ */ jsx68("li", { className: "separator", "aria-hidden": "true", children: /* @__PURE__ */ jsx68("span", { style: maskStyle3(STN_BREADCRUMB_ICON_SRC.separator) }) });
|
|
7946
8067
|
}
|
|
7947
8068
|
function BreadcrumbIcon({ src }) {
|
|
7948
|
-
return /* @__PURE__ */
|
|
8069
|
+
return /* @__PURE__ */ jsx68("span", { className: "stn-breadcrumb__icon-glyph", style: maskStyle3(src), "aria-hidden": "true" });
|
|
7949
8070
|
}
|
|
7950
8071
|
function BreadcrumbCaret() {
|
|
7951
|
-
return /* @__PURE__ */
|
|
8072
|
+
return /* @__PURE__ */ jsx68(
|
|
7952
8073
|
"span",
|
|
7953
8074
|
{
|
|
7954
8075
|
className: "stn-breadcrumb__caret",
|
|
@@ -7962,10 +8083,10 @@ function SegmentContent({
|
|
|
7962
8083
|
label,
|
|
7963
8084
|
menu
|
|
7964
8085
|
}) {
|
|
7965
|
-
return /* @__PURE__ */
|
|
7966
|
-
iconSrc ? /* @__PURE__ */
|
|
7967
|
-
/* @__PURE__ */
|
|
7968
|
-
menu ? /* @__PURE__ */
|
|
8086
|
+
return /* @__PURE__ */ jsxs50(Fragment9, { children: [
|
|
8087
|
+
iconSrc ? /* @__PURE__ */ jsx68(BreadcrumbIcon, { src: iconSrc }) : null,
|
|
8088
|
+
/* @__PURE__ */ jsx68("span", { className: "stn-breadcrumb__label", children: label }),
|
|
8089
|
+
menu ? /* @__PURE__ */ jsx68(BreadcrumbCaret, {}) : null
|
|
7969
8090
|
] });
|
|
7970
8091
|
}
|
|
7971
8092
|
function BreadcrumbMenuList({
|
|
@@ -7973,7 +8094,7 @@ function BreadcrumbMenuList({
|
|
|
7973
8094
|
items,
|
|
7974
8095
|
onPick
|
|
7975
8096
|
}) {
|
|
7976
|
-
return /* @__PURE__ */
|
|
8097
|
+
return /* @__PURE__ */ jsx68("ul", { id, className: "stn-breadcrumb__menu", role: "menu", children: items.map((option) => /* @__PURE__ */ jsx68("li", { role: "none", children: option.href ? /* @__PURE__ */ jsx68(
|
|
7977
8098
|
"a",
|
|
7978
8099
|
{
|
|
7979
8100
|
role: "menuitem",
|
|
@@ -7985,7 +8106,7 @@ function BreadcrumbMenuList({
|
|
|
7985
8106
|
},
|
|
7986
8107
|
children: option.label
|
|
7987
8108
|
}
|
|
7988
|
-
) : /* @__PURE__ */
|
|
8109
|
+
) : /* @__PURE__ */ jsx68(
|
|
7989
8110
|
"button",
|
|
7990
8111
|
{
|
|
7991
8112
|
type: "button",
|
|
@@ -8022,20 +8143,20 @@ function BreadcrumbSegment({
|
|
|
8022
8143
|
item,
|
|
8023
8144
|
isCurrent
|
|
8024
8145
|
}) {
|
|
8025
|
-
const menuId =
|
|
8026
|
-
const [open, setOpen] =
|
|
8146
|
+
const menuId = useId16();
|
|
8147
|
+
const [open, setOpen] = useState18(false);
|
|
8027
8148
|
const menuItems = item.menuItems ?? [];
|
|
8028
8149
|
const showMenu = hasSegmentMenu(item) && !isCurrent;
|
|
8029
8150
|
const canOpenMenu = showMenu && menuItems.length > 0;
|
|
8030
8151
|
const rootRef = useDismissibleMenu(open, () => setOpen(false));
|
|
8031
8152
|
const iconSrc = resolveIconSrc(item);
|
|
8032
|
-
const content = /* @__PURE__ */
|
|
8153
|
+
const content = /* @__PURE__ */ jsx68(SegmentContent, { iconSrc, label: item.label, menu: showMenu });
|
|
8033
8154
|
if (isCurrent) {
|
|
8034
|
-
return /* @__PURE__ */
|
|
8155
|
+
return /* @__PURE__ */ jsx68("span", { className: "stn-breadcrumb__segment", "aria-current": "page", "aria-label": item.label, children: content });
|
|
8035
8156
|
}
|
|
8036
8157
|
if (canOpenMenu) {
|
|
8037
|
-
return /* @__PURE__ */
|
|
8038
|
-
/* @__PURE__ */
|
|
8158
|
+
return /* @__PURE__ */ jsxs50("span", { ref: rootRef, className: "stn-breadcrumb__segment-wrap", children: [
|
|
8159
|
+
/* @__PURE__ */ jsx68(
|
|
8039
8160
|
"button",
|
|
8040
8161
|
{
|
|
8041
8162
|
type: "button",
|
|
@@ -8051,7 +8172,7 @@ function BreadcrumbSegment({
|
|
|
8051
8172
|
children: content
|
|
8052
8173
|
}
|
|
8053
8174
|
),
|
|
8054
|
-
open ? /* @__PURE__ */
|
|
8175
|
+
open ? /* @__PURE__ */ jsx68(BreadcrumbMenuList, { id: menuId, items: menuItems, onPick: () => setOpen(false) }) : null
|
|
8055
8176
|
] });
|
|
8056
8177
|
}
|
|
8057
8178
|
if (item.menu || item.onClick) {
|
|
@@ -8063,7 +8184,7 @@ function BreadcrumbSegment({
|
|
|
8063
8184
|
"aria-haspopup": item.menu ? "menu" : void 0,
|
|
8064
8185
|
"aria-expanded": item.menu ? false : void 0
|
|
8065
8186
|
};
|
|
8066
|
-
return /* @__PURE__ */
|
|
8187
|
+
return /* @__PURE__ */ jsx68("button", { ...buttonProps, children: content });
|
|
8067
8188
|
}
|
|
8068
8189
|
if (item.href) {
|
|
8069
8190
|
const linkProps = {
|
|
@@ -8072,17 +8193,17 @@ function BreadcrumbSegment({
|
|
|
8072
8193
|
onClick: item.onClick,
|
|
8073
8194
|
"aria-label": item.label
|
|
8074
8195
|
};
|
|
8075
|
-
return /* @__PURE__ */
|
|
8196
|
+
return /* @__PURE__ */ jsx68("a", { ...linkProps, children: content });
|
|
8076
8197
|
}
|
|
8077
|
-
return /* @__PURE__ */
|
|
8198
|
+
return /* @__PURE__ */ jsx68("span", { className: "stn-breadcrumb__segment", "aria-label": item.label, children: content });
|
|
8078
8199
|
}
|
|
8079
8200
|
function BreadcrumbBack({
|
|
8080
8201
|
label,
|
|
8081
8202
|
href,
|
|
8082
8203
|
onClick
|
|
8083
8204
|
}) {
|
|
8084
|
-
const content = /* @__PURE__ */
|
|
8085
|
-
/* @__PURE__ */
|
|
8205
|
+
const content = /* @__PURE__ */ jsxs50(Fragment9, { children: [
|
|
8206
|
+
/* @__PURE__ */ jsx68(
|
|
8086
8207
|
"span",
|
|
8087
8208
|
{
|
|
8088
8209
|
className: "stn-breadcrumb__back-glyph",
|
|
@@ -8090,12 +8211,12 @@ function BreadcrumbBack({
|
|
|
8090
8211
|
"aria-hidden": "true"
|
|
8091
8212
|
}
|
|
8092
8213
|
),
|
|
8093
|
-
/* @__PURE__ */
|
|
8214
|
+
/* @__PURE__ */ jsx68("span", { className: "stn-breadcrumb__label", children: label })
|
|
8094
8215
|
] });
|
|
8095
8216
|
if (href) {
|
|
8096
|
-
return /* @__PURE__ */
|
|
8217
|
+
return /* @__PURE__ */ jsx68("a", { className: "stn-breadcrumb__back", href, onClick, "aria-label": `\uB4A4\uB85C: ${label}`, children: content });
|
|
8097
8218
|
}
|
|
8098
|
-
return /* @__PURE__ */
|
|
8219
|
+
return /* @__PURE__ */ jsx68("button", { type: "button", className: "stn-breadcrumb__back", onClick, "aria-label": `\uB4A4\uB85C: ${label}`, children: content });
|
|
8099
8220
|
}
|
|
8100
8221
|
function splitCollapsedItems(items, maxItems, itemsBeforeCollapse, itemsAfterCollapse) {
|
|
8101
8222
|
if (!maxItems || items.length <= maxItems) {
|
|
@@ -8117,7 +8238,7 @@ function BreadcrumbCollapsed({
|
|
|
8117
8238
|
items,
|
|
8118
8239
|
menuId
|
|
8119
8240
|
}) {
|
|
8120
|
-
const [open, setOpen] =
|
|
8241
|
+
const [open, setOpen] = useState18(false);
|
|
8121
8242
|
const rootRef = useDismissibleMenu(open, () => setOpen(false));
|
|
8122
8243
|
const menuItems = items.map((item) => ({
|
|
8123
8244
|
id: item.id,
|
|
@@ -8126,8 +8247,8 @@ function BreadcrumbCollapsed({
|
|
|
8126
8247
|
onClick: item.onClick,
|
|
8127
8248
|
current: item.current
|
|
8128
8249
|
}));
|
|
8129
|
-
return /* @__PURE__ */
|
|
8130
|
-
/* @__PURE__ */
|
|
8250
|
+
return /* @__PURE__ */ jsxs50("li", { className: "stn-breadcrumb__item", ref: rootRef, children: [
|
|
8251
|
+
/* @__PURE__ */ jsx68(
|
|
8131
8252
|
"button",
|
|
8132
8253
|
{
|
|
8133
8254
|
type: "button",
|
|
@@ -8140,7 +8261,7 @@ function BreadcrumbCollapsed({
|
|
|
8140
8261
|
children: "\u22EF"
|
|
8141
8262
|
}
|
|
8142
8263
|
),
|
|
8143
|
-
open ? /* @__PURE__ */
|
|
8264
|
+
open ? /* @__PURE__ */ jsx68(BreadcrumbMenuList, { id: menuId, items: menuItems, onPick: () => setOpen(false) }) : null
|
|
8144
8265
|
] });
|
|
8145
8266
|
}
|
|
8146
8267
|
function StnBreadcrumb({
|
|
@@ -8157,7 +8278,7 @@ function StnBreadcrumb({
|
|
|
8157
8278
|
homeLabel = "\uD648",
|
|
8158
8279
|
renderItem
|
|
8159
8280
|
}) {
|
|
8160
|
-
const menuId =
|
|
8281
|
+
const menuId = useId16();
|
|
8161
8282
|
const currentIndex = items.findIndex((item, index) => item.current ?? index === items.length - 1);
|
|
8162
8283
|
const currentItem = currentIndex >= 0 ? items[currentIndex] : items[items.length - 1];
|
|
8163
8284
|
const previousItem = currentIndex > 0 ? items[currentIndex - 1] : null;
|
|
@@ -8172,8 +8293,8 @@ function StnBreadcrumb({
|
|
|
8172
8293
|
const lastId = items[items.length - 1]?.id;
|
|
8173
8294
|
const renderTrailItem = (item) => {
|
|
8174
8295
|
const isCurrent = Boolean(item.current) || item.id === lastId;
|
|
8175
|
-
const segment = /* @__PURE__ */
|
|
8176
|
-
return /* @__PURE__ */
|
|
8296
|
+
const segment = /* @__PURE__ */ jsx68(BreadcrumbSegment, { item, isCurrent });
|
|
8297
|
+
return /* @__PURE__ */ jsx68(
|
|
8177
8298
|
"li",
|
|
8178
8299
|
{
|
|
8179
8300
|
className: cn(
|
|
@@ -8184,27 +8305,27 @@ function StnBreadcrumb({
|
|
|
8184
8305
|
}
|
|
8185
8306
|
);
|
|
8186
8307
|
};
|
|
8187
|
-
return /* @__PURE__ */
|
|
8308
|
+
return /* @__PURE__ */ jsx68(
|
|
8188
8309
|
"nav",
|
|
8189
8310
|
{
|
|
8190
8311
|
className: cn("stn-breadcrumb", size, variant === "chip" && "chip", className),
|
|
8191
8312
|
"aria-label": "Breadcrumb",
|
|
8192
|
-
children: /* @__PURE__ */
|
|
8193
|
-
currentItem ? /* @__PURE__ */
|
|
8194
|
-
showHome ? /* @__PURE__ */
|
|
8195
|
-
/* @__PURE__ */
|
|
8196
|
-
/* @__PURE__ */
|
|
8313
|
+
children: /* @__PURE__ */ jsxs50("ol", { className: "stn-breadcrumb__list", children: [
|
|
8314
|
+
currentItem ? /* @__PURE__ */ jsx68("li", { className: "stn-breadcrumb__item stn-breadcrumb__item--back", children: /* @__PURE__ */ jsx68(BreadcrumbBack, { label: currentItem.label, href: backHref, onClick: backOnClick }) }) : null,
|
|
8315
|
+
showHome ? /* @__PURE__ */ jsx68("li", { className: "stn-breadcrumb__item stn-breadcrumb__item--home", children: /* @__PURE__ */ jsxs50("a", { className: "stn-breadcrumb__home", href: homeHref, onClick: onHomeClick, children: [
|
|
8316
|
+
/* @__PURE__ */ jsx68(BreadcrumbIcon, { src: STN_BREADCRUMB_ICON_SRC.home }),
|
|
8317
|
+
/* @__PURE__ */ jsx68("span", { className: "blind", children: homeLabel })
|
|
8197
8318
|
] }) }) : null,
|
|
8198
|
-
head.map((item, index) => /* @__PURE__ */
|
|
8199
|
-
showHome || index > 0 ? /* @__PURE__ */
|
|
8319
|
+
head.map((item, index) => /* @__PURE__ */ jsxs50(Fragment8, { children: [
|
|
8320
|
+
showHome || index > 0 ? /* @__PURE__ */ jsx68(BreadcrumbSeparator, {}) : null,
|
|
8200
8321
|
renderTrailItem(item)
|
|
8201
8322
|
] }, item.id)),
|
|
8202
|
-
hidden.length > 0 ? /* @__PURE__ */
|
|
8203
|
-
/* @__PURE__ */
|
|
8204
|
-
/* @__PURE__ */
|
|
8323
|
+
hidden.length > 0 ? /* @__PURE__ */ jsxs50(Fragment9, { children: [
|
|
8324
|
+
/* @__PURE__ */ jsx68(BreadcrumbSeparator, {}),
|
|
8325
|
+
/* @__PURE__ */ jsx68(BreadcrumbCollapsed, { items: hidden, menuId })
|
|
8205
8326
|
] }) : null,
|
|
8206
|
-
tail.map((item) => /* @__PURE__ */
|
|
8207
|
-
/* @__PURE__ */
|
|
8327
|
+
tail.map((item) => /* @__PURE__ */ jsxs50(Fragment8, { children: [
|
|
8328
|
+
/* @__PURE__ */ jsx68(BreadcrumbSeparator, {}),
|
|
8208
8329
|
renderTrailItem(item)
|
|
8209
8330
|
] }, item.id))
|
|
8210
8331
|
] })
|
|
@@ -8213,9 +8334,9 @@ function StnBreadcrumb({
|
|
|
8213
8334
|
}
|
|
8214
8335
|
|
|
8215
8336
|
// src/components/StnHeaderTitle.tsx
|
|
8216
|
-
import { useEffect as useEffect12, useState as
|
|
8337
|
+
import { useEffect as useEffect12, useState as useState19 } from "react";
|
|
8217
8338
|
import { STN_HEADER_TITLE_FRAME } from "@stn-uiux/pub-ui/data/stnHeaderTitle";
|
|
8218
|
-
import { jsx as
|
|
8339
|
+
import { jsx as jsx69, jsxs as jsxs51 } from "react/jsx-runtime";
|
|
8219
8340
|
var KO_WEEKDAY_SHORT = ["\uC77C", "\uC6D4", "\uD654", "\uC218", "\uBAA9", "\uAE08", "\uD1A0"];
|
|
8220
8341
|
var KO_WEEKDAY_LONG = [
|
|
8221
8342
|
"\uC77C\uC694\uC77C",
|
|
@@ -8254,8 +8375,8 @@ function formatStnHeaderTitleTime(date, options) {
|
|
|
8254
8375
|
}
|
|
8255
8376
|
function HeaderTitleFrame({ preview = false }) {
|
|
8256
8377
|
const frameClass = preview ? "stn-header-title__frame-preview" : "stn-header-title__frame";
|
|
8257
|
-
return /* @__PURE__ */
|
|
8258
|
-
/* @__PURE__ */
|
|
8378
|
+
return /* @__PURE__ */ jsxs51("div", { className: frameClass, "aria-hidden": "true", children: [
|
|
8379
|
+
/* @__PURE__ */ jsx69("div", { className: "stn-header-title__frame-bleed stn-header-title__frame-bleed--outer", children: /* @__PURE__ */ jsx69(
|
|
8259
8380
|
"img",
|
|
8260
8381
|
{
|
|
8261
8382
|
className: "stn-header-title__frame-img",
|
|
@@ -8264,8 +8385,8 @@ function HeaderTitleFrame({ preview = false }) {
|
|
|
8264
8385
|
draggable: false
|
|
8265
8386
|
}
|
|
8266
8387
|
) }),
|
|
8267
|
-
/* @__PURE__ */
|
|
8268
|
-
/* @__PURE__ */
|
|
8388
|
+
/* @__PURE__ */ jsxs51("div", { className: "stn-header-title__frame-bleed stn-header-title__frame-bleed--inner", children: [
|
|
8389
|
+
/* @__PURE__ */ jsx69(
|
|
8269
8390
|
"img",
|
|
8270
8391
|
{
|
|
8271
8392
|
className: "stn-header-title__frame-img stn-header-title__frame-img--dark",
|
|
@@ -8274,7 +8395,7 @@ function HeaderTitleFrame({ preview = false }) {
|
|
|
8274
8395
|
draggable: false
|
|
8275
8396
|
}
|
|
8276
8397
|
),
|
|
8277
|
-
/* @__PURE__ */
|
|
8398
|
+
/* @__PURE__ */ jsx69(
|
|
8278
8399
|
"img",
|
|
8279
8400
|
{
|
|
8280
8401
|
className: "stn-header-title__frame-img stn-header-title__frame-img--light",
|
|
@@ -8287,10 +8408,10 @@ function HeaderTitleFrame({ preview = false }) {
|
|
|
8287
8408
|
] });
|
|
8288
8409
|
}
|
|
8289
8410
|
function StnHeaderTitleFramePreview({ className }) {
|
|
8290
|
-
return /* @__PURE__ */
|
|
8411
|
+
return /* @__PURE__ */ jsx69("div", { className: cn("stn-header-title__frame-only", className), children: /* @__PURE__ */ jsx69(HeaderTitleFrame, { preview: true }) });
|
|
8291
8412
|
}
|
|
8292
8413
|
function useLiveClock(enabled) {
|
|
8293
|
-
const [now, setNow] =
|
|
8414
|
+
const [now, setNow] = useState19(() => /* @__PURE__ */ new Date());
|
|
8294
8415
|
useEffect12(() => {
|
|
8295
8416
|
if (!enabled) return;
|
|
8296
8417
|
const id = window.setInterval(() => setNow(/* @__PURE__ */ new Date()), 1e3);
|
|
@@ -8303,35 +8424,35 @@ function StnHeaderTitleMainText({
|
|
|
8303
8424
|
children,
|
|
8304
8425
|
...rest
|
|
8305
8426
|
}) {
|
|
8306
|
-
return /* @__PURE__ */
|
|
8427
|
+
return /* @__PURE__ */ jsx69("h1", { className: cn("stn-header-title__text", className), ...rest, children });
|
|
8307
8428
|
}
|
|
8308
8429
|
function StnHeaderTitleSubText({
|
|
8309
8430
|
className,
|
|
8310
8431
|
children,
|
|
8311
8432
|
...rest
|
|
8312
8433
|
}) {
|
|
8313
|
-
return /* @__PURE__ */
|
|
8434
|
+
return /* @__PURE__ */ jsx69("span", { className: cn("stn-header-title__sub-text", className), ...rest, children });
|
|
8314
8435
|
}
|
|
8315
8436
|
function StnHeaderTitleDate({
|
|
8316
8437
|
className,
|
|
8317
8438
|
children,
|
|
8318
8439
|
...rest
|
|
8319
8440
|
}) {
|
|
8320
|
-
return /* @__PURE__ */
|
|
8441
|
+
return /* @__PURE__ */ jsx69("time", { className: cn("stn-header-title__date", className), ...rest, children });
|
|
8321
8442
|
}
|
|
8322
8443
|
function StnHeaderTitleWeekday({
|
|
8323
8444
|
className,
|
|
8324
8445
|
children,
|
|
8325
8446
|
...rest
|
|
8326
8447
|
}) {
|
|
8327
|
-
return /* @__PURE__ */
|
|
8448
|
+
return /* @__PURE__ */ jsx69("span", { className: cn("stn-header-title__weekday", className), ...rest, children });
|
|
8328
8449
|
}
|
|
8329
8450
|
function StnHeaderTitleTime({
|
|
8330
8451
|
className,
|
|
8331
8452
|
children,
|
|
8332
8453
|
...rest
|
|
8333
8454
|
}) {
|
|
8334
|
-
return /* @__PURE__ */
|
|
8455
|
+
return /* @__PURE__ */ jsx69("span", { className: cn("stn-header-title__time", className), "aria-label": "\uD604\uC7AC \uC2DC\uAC01", ...rest, children });
|
|
8335
8456
|
}
|
|
8336
8457
|
function StnHeaderTitleClock({
|
|
8337
8458
|
className,
|
|
@@ -8354,7 +8475,7 @@ function StnHeaderTitleClock({
|
|
|
8354
8475
|
}) {
|
|
8355
8476
|
const now = useLiveClock(live);
|
|
8356
8477
|
if (children != null) {
|
|
8357
|
-
return /* @__PURE__ */
|
|
8478
|
+
return /* @__PURE__ */ jsxs51(
|
|
8358
8479
|
"header",
|
|
8359
8480
|
{
|
|
8360
8481
|
className: cn(
|
|
@@ -8366,8 +8487,8 @@ function StnHeaderTitleClock({
|
|
|
8366
8487
|
),
|
|
8367
8488
|
...rest,
|
|
8368
8489
|
children: [
|
|
8369
|
-
framed ? /* @__PURE__ */
|
|
8370
|
-
/* @__PURE__ */
|
|
8490
|
+
framed ? /* @__PURE__ */ jsx69(HeaderTitleFrame, {}) : null,
|
|
8491
|
+
/* @__PURE__ */ jsx69("div", { className: "stn-header-title__content", children })
|
|
8371
8492
|
]
|
|
8372
8493
|
}
|
|
8373
8494
|
);
|
|
@@ -8397,7 +8518,7 @@ function StnHeaderTitleClock({
|
|
|
8397
8518
|
resolvedTime = formatStnHeaderTitleTime(now, { showSeconds });
|
|
8398
8519
|
}
|
|
8399
8520
|
}
|
|
8400
|
-
return /* @__PURE__ */
|
|
8521
|
+
return /* @__PURE__ */ jsxs51(
|
|
8401
8522
|
"header",
|
|
8402
8523
|
{
|
|
8403
8524
|
className: cn(
|
|
@@ -8409,11 +8530,11 @@ function StnHeaderTitleClock({
|
|
|
8409
8530
|
),
|
|
8410
8531
|
...rest,
|
|
8411
8532
|
children: [
|
|
8412
|
-
framed ? /* @__PURE__ */
|
|
8413
|
-
/* @__PURE__ */
|
|
8414
|
-
resolvedDate ? /* @__PURE__ */
|
|
8415
|
-
showWeekdayOnly ? /* @__PURE__ */
|
|
8416
|
-
resolvedTime ? /* @__PURE__ */
|
|
8533
|
+
framed ? /* @__PURE__ */ jsx69(HeaderTitleFrame, {}) : null,
|
|
8534
|
+
/* @__PURE__ */ jsxs51("div", { className: "stn-header-title__content", children: [
|
|
8535
|
+
resolvedDate ? /* @__PURE__ */ jsx69("time", { className: "stn-header-title__date", dateTime: resolvedDate, children: resolvedDate }) : null,
|
|
8536
|
+
showWeekdayOnly ? /* @__PURE__ */ jsx69("span", { className: "stn-header-title__weekday", children: resolvedWeekday }) : null,
|
|
8537
|
+
resolvedTime ? /* @__PURE__ */ jsx69("span", { className: "stn-header-title__time", "aria-label": "\uD604\uC7AC \uC2DC\uAC01", children: resolvedTime }) : null
|
|
8417
8538
|
] })
|
|
8418
8539
|
]
|
|
8419
8540
|
}
|
|
@@ -8430,7 +8551,7 @@ function StnHeaderTitleDual({
|
|
|
8430
8551
|
...rest
|
|
8431
8552
|
}) {
|
|
8432
8553
|
const resolvedMain = mainText ?? title ?? children;
|
|
8433
|
-
return /* @__PURE__ */
|
|
8554
|
+
return /* @__PURE__ */ jsxs51(
|
|
8434
8555
|
"header",
|
|
8435
8556
|
{
|
|
8436
8557
|
className: cn(
|
|
@@ -8442,10 +8563,10 @@ function StnHeaderTitleDual({
|
|
|
8442
8563
|
),
|
|
8443
8564
|
...rest,
|
|
8444
8565
|
children: [
|
|
8445
|
-
framed ? /* @__PURE__ */
|
|
8446
|
-
/* @__PURE__ */
|
|
8447
|
-
subText != null ? /* @__PURE__ */
|
|
8448
|
-
resolvedMain != null ? typeof resolvedMain === "string" || typeof resolvedMain === "number" ? /* @__PURE__ */
|
|
8566
|
+
framed ? /* @__PURE__ */ jsx69(HeaderTitleFrame, {}) : null,
|
|
8567
|
+
/* @__PURE__ */ jsxs51("div", { className: "stn-header-title__content", children: [
|
|
8568
|
+
subText != null ? /* @__PURE__ */ jsx69("span", { className: "stn-header-title__sub-text", children: subText }) : null,
|
|
8569
|
+
resolvedMain != null ? typeof resolvedMain === "string" || typeof resolvedMain === "number" ? /* @__PURE__ */ jsx69("h1", { className: "stn-header-title__text", children: resolvedMain }) : resolvedMain : null
|
|
8449
8570
|
] })
|
|
8450
8571
|
]
|
|
8451
8572
|
}
|
|
@@ -8460,7 +8581,7 @@ function StnHeaderTitleText({
|
|
|
8460
8581
|
...rest
|
|
8461
8582
|
}) {
|
|
8462
8583
|
const resolved = title ?? children;
|
|
8463
|
-
return /* @__PURE__ */
|
|
8584
|
+
return /* @__PURE__ */ jsxs51(
|
|
8464
8585
|
"header",
|
|
8465
8586
|
{
|
|
8466
8587
|
className: cn(
|
|
@@ -8472,20 +8593,20 @@ function StnHeaderTitleText({
|
|
|
8472
8593
|
),
|
|
8473
8594
|
...rest,
|
|
8474
8595
|
children: [
|
|
8475
|
-
framed ? /* @__PURE__ */
|
|
8476
|
-
/* @__PURE__ */
|
|
8596
|
+
framed ? /* @__PURE__ */ jsx69(HeaderTitleFrame, {}) : null,
|
|
8597
|
+
/* @__PURE__ */ jsx69("div", { className: "stn-header-title__content", children: typeof resolved === "string" || typeof resolved === "number" ? /* @__PURE__ */ jsx69("h1", { className: "stn-header-title__text", children: resolved }) : resolved })
|
|
8477
8598
|
]
|
|
8478
8599
|
}
|
|
8479
8600
|
);
|
|
8480
8601
|
}
|
|
8481
8602
|
function StnHeaderTitleRoot(props) {
|
|
8482
8603
|
if (props.variant === "clock") {
|
|
8483
|
-
return /* @__PURE__ */
|
|
8604
|
+
return /* @__PURE__ */ jsx69(StnHeaderTitleClock, { ...props });
|
|
8484
8605
|
}
|
|
8485
8606
|
if (props.variant === "dual" || "subText" in props && props.subText != null) {
|
|
8486
|
-
return /* @__PURE__ */
|
|
8607
|
+
return /* @__PURE__ */ jsx69(StnHeaderTitleDual, { ...props });
|
|
8487
8608
|
}
|
|
8488
|
-
return /* @__PURE__ */
|
|
8609
|
+
return /* @__PURE__ */ jsx69(StnHeaderTitleText, { ...props });
|
|
8489
8610
|
}
|
|
8490
8611
|
var StnHeaderTitle = Object.assign(StnHeaderTitleRoot, {
|
|
8491
8612
|
Text: StnHeaderTitleMainText,
|
|
@@ -8498,10 +8619,10 @@ var StnHeaderTitle = Object.assign(StnHeaderTitleRoot, {
|
|
|
8498
8619
|
|
|
8499
8620
|
// src/layouts/StnContainer.tsx
|
|
8500
8621
|
import {
|
|
8501
|
-
forwardRef as
|
|
8622
|
+
forwardRef as forwardRef40
|
|
8502
8623
|
} from "react";
|
|
8503
|
-
import { jsx as
|
|
8504
|
-
var StnContainer =
|
|
8624
|
+
import { jsx as jsx70 } from "react/jsx-runtime";
|
|
8625
|
+
var StnContainer = forwardRef40(function StnContainer2({
|
|
8505
8626
|
component,
|
|
8506
8627
|
as,
|
|
8507
8628
|
maxWidth = "lg",
|
|
@@ -8516,7 +8637,7 @@ var StnContainer = forwardRef39(function StnContainer2({
|
|
|
8516
8637
|
const Component = component ?? as ?? "div";
|
|
8517
8638
|
const maxWidthClass = maxWidth ? `stn-container--${maxWidth} stn-container--max-width-${maxWidth}` : "stn-container--fluid stn-container--max-width-false";
|
|
8518
8639
|
const classKey = maxWidth ? `maxWidth${maxWidth.charAt(0).toUpperCase() + maxWidth.slice(1)}` : "maxWidthFalse";
|
|
8519
|
-
return /* @__PURE__ */
|
|
8640
|
+
return /* @__PURE__ */ jsx70(
|
|
8520
8641
|
Component,
|
|
8521
8642
|
{
|
|
8522
8643
|
ref,
|
|
@@ -8539,8 +8660,8 @@ var StnContainer = forwardRef39(function StnContainer2({
|
|
|
8539
8660
|
});
|
|
8540
8661
|
|
|
8541
8662
|
// src/layouts/StnGrid.tsx
|
|
8542
|
-
import { forwardRef as
|
|
8543
|
-
import { jsx as
|
|
8663
|
+
import { forwardRef as forwardRef41 } from "react";
|
|
8664
|
+
import { jsx as jsx71 } from "react/jsx-runtime";
|
|
8544
8665
|
var BREAKPOINTS2 = ["xs", "sm", "md", "lg", "xl"];
|
|
8545
8666
|
var SPACING_CLASS = {
|
|
8546
8667
|
"0": "0",
|
|
@@ -8606,7 +8727,7 @@ function sizeClasses(size) {
|
|
|
8606
8727
|
}
|
|
8607
8728
|
return classes;
|
|
8608
8729
|
}
|
|
8609
|
-
var StnGrid =
|
|
8730
|
+
var StnGrid = forwardRef41(function StnGrid2({
|
|
8610
8731
|
component,
|
|
8611
8732
|
as,
|
|
8612
8733
|
container = false,
|
|
@@ -8626,7 +8747,7 @@ var StnGrid = forwardRef40(function StnGrid2({
|
|
|
8626
8747
|
const Component = component ?? as ?? "div";
|
|
8627
8748
|
const justify = typeof justifyContent === "string" && JUSTIFY_CLASS2.has(justifyContent) ? justifyContent : void 0;
|
|
8628
8749
|
const align = typeof alignItems === "string" && ALIGN_CLASS2.has(alignItems) ? alignItems : void 0;
|
|
8629
|
-
return /* @__PURE__ */
|
|
8750
|
+
return /* @__PURE__ */ jsx71(
|
|
8630
8751
|
Component,
|
|
8631
8752
|
{
|
|
8632
8753
|
ref,
|
|
@@ -8650,7 +8771,7 @@ var StnGrid = forwardRef40(function StnGrid2({
|
|
|
8650
8771
|
});
|
|
8651
8772
|
|
|
8652
8773
|
// src/layouts/StnLayerShell.tsx
|
|
8653
|
-
import { jsx as
|
|
8774
|
+
import { jsx as jsx72, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
8654
8775
|
function StnLayerShell({
|
|
8655
8776
|
gnb,
|
|
8656
8777
|
gnbSide = "left",
|
|
@@ -8671,7 +8792,7 @@ function StnLayerShell({
|
|
|
8671
8792
|
const resolvedMainContent = layer1 ?? children;
|
|
8672
8793
|
const resolvedModal = layer2;
|
|
8673
8794
|
const isGnbRight = gnbSide === "right";
|
|
8674
|
-
return /* @__PURE__ */
|
|
8795
|
+
return /* @__PURE__ */ jsxs52(
|
|
8675
8796
|
"div",
|
|
8676
8797
|
{
|
|
8677
8798
|
id: wrapId,
|
|
@@ -8680,8 +8801,8 @@ function StnLayerShell({
|
|
|
8680
8801
|
className: cn("stn-wrap", isGnbRight && "stn-wrap--gnb-right", wrapClassName),
|
|
8681
8802
|
children: [
|
|
8682
8803
|
layer0,
|
|
8683
|
-
utilities ? /* @__PURE__ */
|
|
8684
|
-
/* @__PURE__ */
|
|
8804
|
+
utilities ? /* @__PURE__ */ jsx72("div", { className: "stn-page-utilities", "data-stn-layer-role": "utility", children: utilities }) : null,
|
|
8805
|
+
/* @__PURE__ */ jsxs52(
|
|
8685
8806
|
"main",
|
|
8686
8807
|
{
|
|
8687
8808
|
id: containerId,
|
|
@@ -8690,9 +8811,9 @@ function StnLayerShell({
|
|
|
8690
8811
|
className: cn("stn-layer-1", scrollable && "scroll", containerClassName),
|
|
8691
8812
|
children: [
|
|
8692
8813
|
!isGnbRight && gnb,
|
|
8693
|
-
/* @__PURE__ */
|
|
8694
|
-
header ? /* @__PURE__ */
|
|
8695
|
-
/* @__PURE__ */
|
|
8814
|
+
/* @__PURE__ */ jsxs52("div", { className: "stn-layer-1__main", children: [
|
|
8815
|
+
header ? /* @__PURE__ */ jsx72("header", { className: "stn-layer-1__header", children: header }) : null,
|
|
8816
|
+
/* @__PURE__ */ jsx72("div", { className: cn("stn-layer-1__body", scrollable && "stn-scroll", contentClassName), children: resolvedMainContent })
|
|
8696
8817
|
] }),
|
|
8697
8818
|
isGnbRight && gnb
|
|
8698
8819
|
]
|
|
@@ -8705,7 +8826,7 @@ function StnLayerShell({
|
|
|
8705
8826
|
}
|
|
8706
8827
|
|
|
8707
8828
|
// src/layouts/StnListViewLayout.tsx
|
|
8708
|
-
import { jsx as
|
|
8829
|
+
import { jsx as jsx73, jsxs as jsxs53 } from "react/jsx-runtime";
|
|
8709
8830
|
function StnListViewLayoutBody({
|
|
8710
8831
|
search,
|
|
8711
8832
|
sidebar,
|
|
@@ -8716,13 +8837,13 @@ function StnListViewLayoutBody({
|
|
|
8716
8837
|
className
|
|
8717
8838
|
}) {
|
|
8718
8839
|
const lnbClass = lnbSide === "right" ? "stn-page-scaffold__lnb lnb_box lnb_box_right" : "stn-page-scaffold__lnb lnb_box";
|
|
8719
|
-
const sidebarAside = sidebar ? /* @__PURE__ */
|
|
8720
|
-
return /* @__PURE__ */
|
|
8840
|
+
const sidebarAside = sidebar ? /* @__PURE__ */ jsx73("aside", { className: lnbClass, children: sidebar }) : null;
|
|
8841
|
+
return /* @__PURE__ */ jsx73(
|
|
8721
8842
|
StnContainer,
|
|
8722
8843
|
{
|
|
8723
8844
|
maxWidth: false,
|
|
8724
8845
|
className: cn("stn-list-view-layout__body", className),
|
|
8725
|
-
children: /* @__PURE__ */
|
|
8846
|
+
children: /* @__PURE__ */ jsxs53(
|
|
8726
8847
|
StnStack,
|
|
8727
8848
|
{
|
|
8728
8849
|
direction: "row",
|
|
@@ -8730,19 +8851,19 @@ function StnListViewLayoutBody({
|
|
|
8730
8851
|
className: "stn-list-view__main",
|
|
8731
8852
|
children: [
|
|
8732
8853
|
lnbSide === "left" ? sidebarAside : null,
|
|
8733
|
-
/* @__PURE__ */
|
|
8854
|
+
/* @__PURE__ */ jsxs53(
|
|
8734
8855
|
StnStack,
|
|
8735
8856
|
{
|
|
8736
8857
|
direction: "column",
|
|
8737
8858
|
spacing: 2,
|
|
8738
8859
|
className: "stn-list-view__content-stack",
|
|
8739
8860
|
children: [
|
|
8740
|
-
search ? /* @__PURE__ */
|
|
8741
|
-
/* @__PURE__ */
|
|
8861
|
+
search ? /* @__PURE__ */ jsx73("div", { className: "stn-page-scaffold__search search_area", children: search }) : null,
|
|
8862
|
+
/* @__PURE__ */ jsx73(
|
|
8742
8863
|
"div",
|
|
8743
8864
|
{
|
|
8744
8865
|
className: "stn-page-scaffold__content content_box",
|
|
8745
|
-
children: children ?? /* @__PURE__ */
|
|
8866
|
+
children: children ?? /* @__PURE__ */ jsxs53("div", { className: "stn-table stn-table--fill", children: [
|
|
8746
8867
|
table,
|
|
8747
8868
|
pagination
|
|
8748
8869
|
] })
|
|
@@ -8774,7 +8895,7 @@ function StnListViewLayoutRoot({
|
|
|
8774
8895
|
}) {
|
|
8775
8896
|
const bare = bareProp ?? noShell ?? false;
|
|
8776
8897
|
const hasLnbClass = lnbSide === "right" ? "has_lnb_right" : "has_lnb";
|
|
8777
|
-
const body = /* @__PURE__ */
|
|
8898
|
+
const body = /* @__PURE__ */ jsx73(
|
|
8778
8899
|
StnListViewLayoutBody,
|
|
8779
8900
|
{
|
|
8780
8901
|
search,
|
|
@@ -8789,10 +8910,10 @@ function StnListViewLayoutRoot({
|
|
|
8789
8910
|
if (bare) {
|
|
8790
8911
|
return body;
|
|
8791
8912
|
}
|
|
8792
|
-
const renderedHeader = header === null ? null : header !== void 0 ? header : /* @__PURE__ */
|
|
8793
|
-
return /* @__PURE__ */
|
|
8913
|
+
const renderedHeader = header === null ? null : header !== void 0 ? header : /* @__PURE__ */ jsx73("div", { className: "stn-layer-1__header", children: /* @__PURE__ */ jsx73(StnHeader, { variant: "page", children: /* @__PURE__ */ jsx73(StnHeader.Left, { children: /* @__PURE__ */ jsx73(StnHeaderPageTitle, { children: title }) }) }) });
|
|
8914
|
+
return /* @__PURE__ */ jsxs53("div", { className: cn("stn-list-view-layout", "stn-layer-1", className), ...rest, children: [
|
|
8794
8915
|
renderedHeader,
|
|
8795
|
-
/* @__PURE__ */
|
|
8916
|
+
/* @__PURE__ */ jsx73(
|
|
8796
8917
|
"div",
|
|
8797
8918
|
{
|
|
8798
8919
|
className: cn("stn-content-area", sidebar ? hasLnbClass : null, search ? "has_sch" : null),
|
|
@@ -8802,10 +8923,10 @@ function StnListViewLayoutRoot({
|
|
|
8802
8923
|
] });
|
|
8803
8924
|
}
|
|
8804
8925
|
function StnListViewLayoutHeader({ className, children, ...rest }) {
|
|
8805
|
-
return /* @__PURE__ */
|
|
8926
|
+
return /* @__PURE__ */ jsx73("div", { className: cn("stn-layer-1__header", className), ...rest, children });
|
|
8806
8927
|
}
|
|
8807
8928
|
function StnListViewLayoutSearch({ className, children, ...rest }) {
|
|
8808
|
-
return /* @__PURE__ */
|
|
8929
|
+
return /* @__PURE__ */ jsx73("div", { className: cn("search_area", className), ...rest, children });
|
|
8809
8930
|
}
|
|
8810
8931
|
function StnListViewLayoutSidebar({
|
|
8811
8932
|
side = "left",
|
|
@@ -8814,16 +8935,16 @@ function StnListViewLayoutSidebar({
|
|
|
8814
8935
|
...rest
|
|
8815
8936
|
}) {
|
|
8816
8937
|
const lnbClass = side === "right" ? "lnb_box_right" : "lnb_box";
|
|
8817
|
-
return /* @__PURE__ */
|
|
8938
|
+
return /* @__PURE__ */ jsx73("aside", { className: cn(lnbClass, className), ...rest, children });
|
|
8818
8939
|
}
|
|
8819
8940
|
function StnListViewLayoutContent({ className, children, ...rest }) {
|
|
8820
|
-
return /* @__PURE__ */
|
|
8941
|
+
return /* @__PURE__ */ jsx73("div", { className: cn("content_box", className), ...rest, children });
|
|
8821
8942
|
}
|
|
8822
8943
|
function StnListViewLayoutTable({ className, children, ...rest }) {
|
|
8823
|
-
return /* @__PURE__ */
|
|
8944
|
+
return /* @__PURE__ */ jsx73("div", { className: cn("stn-table", className), ...rest, children });
|
|
8824
8945
|
}
|
|
8825
8946
|
function StnListViewLayoutPagination({ className, children, ...rest }) {
|
|
8826
|
-
return /* @__PURE__ */
|
|
8947
|
+
return /* @__PURE__ */ jsx73("div", { className: cn("stn-list-view-layout__pagination-wrap", className), ...rest, children });
|
|
8827
8948
|
}
|
|
8828
8949
|
var StnListViewLayout = Object.assign(StnListViewLayoutRoot, {
|
|
8829
8950
|
Body: StnListViewLayoutBody,
|
|
@@ -8857,13 +8978,13 @@ import {
|
|
|
8857
8978
|
} from "@stn-uiux/pub-ui/data/stnLayout";
|
|
8858
8979
|
|
|
8859
8980
|
// src/patterns/dashboard/StnMapCanvas.tsx
|
|
8860
|
-
import { jsx as
|
|
8981
|
+
import { jsx as jsx74 } from "react/jsx-runtime";
|
|
8861
8982
|
function StnMapCanvas({
|
|
8862
8983
|
children,
|
|
8863
8984
|
className,
|
|
8864
8985
|
...rest
|
|
8865
8986
|
}) {
|
|
8866
|
-
return /* @__PURE__ */
|
|
8987
|
+
return /* @__PURE__ */ jsx74(
|
|
8867
8988
|
"div",
|
|
8868
8989
|
{
|
|
8869
8990
|
className: cn("stn-map-canvas", className),
|
|
@@ -8875,7 +8996,7 @@ function StnMapCanvas({
|
|
|
8875
8996
|
}
|
|
8876
8997
|
|
|
8877
8998
|
// src/patterns/dashboard/StnDashboard.tsx
|
|
8878
|
-
import { jsx as
|
|
8999
|
+
import { jsx as jsx75 } from "react/jsx-runtime";
|
|
8879
9000
|
var fillStyle = {
|
|
8880
9001
|
flex: "1 1 0%",
|
|
8881
9002
|
minHeight: 0,
|
|
@@ -8894,7 +9015,7 @@ function StnDashboardRoot({
|
|
|
8894
9015
|
}) {
|
|
8895
9016
|
const isLeft = widgetPosition === "left";
|
|
8896
9017
|
const isBoth = widgetPosition === "both";
|
|
8897
|
-
return /* @__PURE__ */
|
|
9018
|
+
return /* @__PURE__ */ jsx75(
|
|
8898
9019
|
"div",
|
|
8899
9020
|
{
|
|
8900
9021
|
className: cn(
|
|
@@ -8923,7 +9044,7 @@ function StnDashboardLeft({
|
|
|
8923
9044
|
style,
|
|
8924
9045
|
...rest
|
|
8925
9046
|
}) {
|
|
8926
|
-
return /* @__PURE__ */
|
|
9047
|
+
return /* @__PURE__ */ jsx75(
|
|
8927
9048
|
"div",
|
|
8928
9049
|
{
|
|
8929
9050
|
className: cn("stn-dashboard__left", className),
|
|
@@ -8949,7 +9070,7 @@ function StnDashboardRight({
|
|
|
8949
9070
|
style,
|
|
8950
9071
|
...rest
|
|
8951
9072
|
}) {
|
|
8952
|
-
return /* @__PURE__ */
|
|
9073
|
+
return /* @__PURE__ */ jsx75(
|
|
8953
9074
|
"div",
|
|
8954
9075
|
{
|
|
8955
9076
|
className: cn("stn-dashboard__right", className),
|
|
@@ -8977,7 +9098,7 @@ function StnDashboardTopRight({
|
|
|
8977
9098
|
className,
|
|
8978
9099
|
...rest
|
|
8979
9100
|
}) {
|
|
8980
|
-
return /* @__PURE__ */
|
|
9101
|
+
return /* @__PURE__ */ jsx75(
|
|
8981
9102
|
"div",
|
|
8982
9103
|
{
|
|
8983
9104
|
className: cn("stn-dashboard__top-right", className),
|
|
@@ -8996,9 +9117,9 @@ var StnDashboard = Object.assign(StnDashboardRoot, {
|
|
|
8996
9117
|
});
|
|
8997
9118
|
|
|
8998
9119
|
// src/patterns/scaffold/StnPageScaffold.tsx
|
|
8999
|
-
import { jsx as
|
|
9120
|
+
import { jsx as jsx76, jsxs as jsxs54 } from "react/jsx-runtime";
|
|
9000
9121
|
function StnPageScaffoldRoot({ children, className, ...rest }) {
|
|
9001
|
-
return /* @__PURE__ */
|
|
9122
|
+
return /* @__PURE__ */ jsx76(
|
|
9002
9123
|
"div",
|
|
9003
9124
|
{
|
|
9004
9125
|
className: cn("stn-page-scaffold", className),
|
|
@@ -9015,9 +9136,9 @@ function StnPageScaffoldRegion({
|
|
|
9015
9136
|
className,
|
|
9016
9137
|
...rest
|
|
9017
9138
|
}) {
|
|
9018
|
-
return /* @__PURE__ */
|
|
9019
|
-
/* @__PURE__ */
|
|
9020
|
-
hint ? /* @__PURE__ */
|
|
9139
|
+
return /* @__PURE__ */ jsxs54("div", { className: cn("stn-page-scaffold__region", className), "data-stn-page-scaffold": "region", ...rest, children: [
|
|
9140
|
+
/* @__PURE__ */ jsx76("span", { className: "stn-page-scaffold__region-label", children: label }),
|
|
9141
|
+
hint ? /* @__PURE__ */ jsx76("span", { className: "stn-page-scaffold__region-hint", children: hint }) : null,
|
|
9021
9142
|
children
|
|
9022
9143
|
] });
|
|
9023
9144
|
}
|
|
@@ -9028,7 +9149,7 @@ function StnPageScaffoldMapPlaceholder({
|
|
|
9028
9149
|
children,
|
|
9029
9150
|
...rest
|
|
9030
9151
|
}) {
|
|
9031
|
-
return /* @__PURE__ */
|
|
9152
|
+
return /* @__PURE__ */ jsx76("div", { className: "stn-widget shell-canvas stn-map-canvas", "data-stn-dashboard": "canvas", children: /* @__PURE__ */ jsxs54(
|
|
9032
9153
|
"div",
|
|
9033
9154
|
{
|
|
9034
9155
|
className: cn("stn-page-scaffold__canvas-placeholder", className),
|
|
@@ -9036,8 +9157,8 @@ function StnPageScaffoldMapPlaceholder({
|
|
|
9036
9157
|
role: "status",
|
|
9037
9158
|
...rest,
|
|
9038
9159
|
children: [
|
|
9039
|
-
/* @__PURE__ */
|
|
9040
|
-
note ? /* @__PURE__ */
|
|
9160
|
+
/* @__PURE__ */ jsx76("p", { className: "stn-page-scaffold__canvas-placeholder-title", children: message }),
|
|
9161
|
+
note ? /* @__PURE__ */ jsx76("p", { className: "stn-page-scaffold__canvas-placeholder-note", children: note }) : null,
|
|
9041
9162
|
children
|
|
9042
9163
|
]
|
|
9043
9164
|
}
|
|
@@ -9048,7 +9169,7 @@ function StnPageScaffoldMapCanvas({
|
|
|
9048
9169
|
children,
|
|
9049
9170
|
...rest
|
|
9050
9171
|
}) {
|
|
9051
|
-
return /* @__PURE__ */
|
|
9172
|
+
return /* @__PURE__ */ jsx76(
|
|
9052
9173
|
"div",
|
|
9053
9174
|
{
|
|
9054
9175
|
className: cn("stn-widget", "shell-canvas", "stn-map-canvas", "stn-page-scaffold__canvas", className),
|
|
@@ -9061,7 +9182,7 @@ function StnPageScaffoldMapCanvas({
|
|
|
9061
9182
|
}
|
|
9062
9183
|
function StnPageScaffoldLayer({ label, hint, children, className, ...layerProps }) {
|
|
9063
9184
|
const labelText = label ? hint ? `${label} \xB7 ${hint}` : label : void 0;
|
|
9064
|
-
return /* @__PURE__ */
|
|
9185
|
+
return /* @__PURE__ */ jsx76(
|
|
9065
9186
|
StnLayer2,
|
|
9066
9187
|
{
|
|
9067
9188
|
className: cn(
|
|
@@ -9108,25 +9229,25 @@ function DashboardPageScaffold({
|
|
|
9108
9229
|
const isLeft = widgetPosition === "left";
|
|
9109
9230
|
const isBoth = widgetPosition === "both";
|
|
9110
9231
|
const isNone = widgetPosition === "none" || !showRightRegion;
|
|
9111
|
-
const mapColumn = /* @__PURE__ */
|
|
9112
|
-
/* @__PURE__ */
|
|
9232
|
+
const mapColumn = /* @__PURE__ */ jsxs54(StnDashboard.Left, { children: [
|
|
9233
|
+
/* @__PURE__ */ jsx76(StnPageScaffold.MapPlaceholder, { message: finalMapMessage, note: finalMapNote }),
|
|
9113
9234
|
faultPanel
|
|
9114
9235
|
] });
|
|
9115
|
-
const rightWidgets = right ?? /* @__PURE__ */
|
|
9116
|
-
const leftWidgets = left ?? right ?? /* @__PURE__ */
|
|
9117
|
-
const dashboardGrid = bodyEmpty ? /* @__PURE__ */
|
|
9118
|
-
/* @__PURE__ */
|
|
9236
|
+
const rightWidgets = right ?? /* @__PURE__ */ jsx76(StnPageScaffold.Region, { label: "dashboard_right", hint: "\uC704\uC82F\xB7\uC7A5\uC560 \uD328\uB110" });
|
|
9237
|
+
const leftWidgets = left ?? right ?? /* @__PURE__ */ jsx76(StnPageScaffold.Region, { label: "dashboard_right", hint: "\uC88C\uCE21 \uC704\uC82F\xB7\uC7A5\uC560 \uD328\uB110" });
|
|
9238
|
+
const dashboardGrid = bodyEmpty ? /* @__PURE__ */ jsx76(StnDashboard, { empty: true, widgetPosition, "data-stn-page-scaffold": "dashboard-empty" }) : isBoth ? /* @__PURE__ */ jsxs54(StnDashboard, { widgetPosition: "both", children: [
|
|
9239
|
+
/* @__PURE__ */ jsx76(StnDashboard.Right, { children: leftWidgets }),
|
|
9119
9240
|
mapColumn,
|
|
9120
|
-
/* @__PURE__ */
|
|
9121
|
-
] }) : isLeft ? /* @__PURE__ */
|
|
9122
|
-
/* @__PURE__ */
|
|
9241
|
+
/* @__PURE__ */ jsx76(StnDashboard.Right, { children: rightWidgets })
|
|
9242
|
+
] }) : isLeft ? /* @__PURE__ */ jsxs54(StnDashboard, { widgetPosition: "left", children: [
|
|
9243
|
+
/* @__PURE__ */ jsx76(StnDashboard.Right, { children: leftWidgets }),
|
|
9123
9244
|
mapColumn
|
|
9124
|
-
] }) : /* @__PURE__ */
|
|
9245
|
+
] }) : /* @__PURE__ */ jsxs54(StnDashboard, { widgetPosition: isNone ? "none" : "right", children: [
|
|
9125
9246
|
mapColumn,
|
|
9126
|
-
!isNone ? /* @__PURE__ */
|
|
9247
|
+
!isNone ? /* @__PURE__ */ jsx76(StnDashboard.Right, { children: rightWidgets }) : null
|
|
9127
9248
|
] });
|
|
9128
9249
|
const contentNode = children ?? dashboardGrid;
|
|
9129
|
-
return /* @__PURE__ */
|
|
9250
|
+
return /* @__PURE__ */ jsx76(
|
|
9130
9251
|
StnLayerShell,
|
|
9131
9252
|
{
|
|
9132
9253
|
gnb,
|
|
@@ -9135,7 +9256,7 @@ function DashboardPageScaffold({
|
|
|
9135
9256
|
layer0,
|
|
9136
9257
|
layer2,
|
|
9137
9258
|
...shellProps,
|
|
9138
|
-
children: /* @__PURE__ */
|
|
9259
|
+
children: /* @__PURE__ */ jsx76(
|
|
9139
9260
|
StnContainer,
|
|
9140
9261
|
{
|
|
9141
9262
|
maxWidth: false,
|
|
@@ -9149,16 +9270,16 @@ function DashboardPageScaffold({
|
|
|
9149
9270
|
}
|
|
9150
9271
|
|
|
9151
9272
|
// src/patterns/scaffold/AlertCenterPageScaffold.tsx
|
|
9152
|
-
import { useMemo as useMemo5, useState as
|
|
9273
|
+
import { useMemo as useMemo5, useState as useState20 } from "react";
|
|
9153
9274
|
import {
|
|
9154
9275
|
STN_ALERT_CENTER_DEMO_ALERTS,
|
|
9155
9276
|
STN_ALERT_CENTER_DEMO_DEPLOY,
|
|
9156
9277
|
STN_ALERT_CENTER_DEMO_WORK
|
|
9157
9278
|
} from "@stn-uiux/pub-ui/data/stnAlertCenter";
|
|
9158
9279
|
import { systemIconSrc } from "@stn-uiux/pub-ui/data/stnSystemIcons";
|
|
9159
|
-
import { Fragment as Fragment10, jsx as
|
|
9280
|
+
import { Fragment as Fragment10, jsx as jsx77, jsxs as jsxs55 } from "react/jsx-runtime";
|
|
9160
9281
|
function defaultTopologyHeader(_clock) {
|
|
9161
|
-
return /* @__PURE__ */
|
|
9282
|
+
return /* @__PURE__ */ jsx77(StnHeader, { variant: "widget" });
|
|
9162
9283
|
}
|
|
9163
9284
|
function AlertCenterPageScaffold({
|
|
9164
9285
|
gnbAlertPanel,
|
|
@@ -9175,9 +9296,9 @@ function AlertCenterPageScaffold({
|
|
|
9175
9296
|
defaultGnbOpen = true,
|
|
9176
9297
|
...shellProps
|
|
9177
9298
|
}) {
|
|
9178
|
-
const [gnbOpen, setGnbOpen] =
|
|
9299
|
+
const [gnbOpen, setGnbOpen] = useState20(defaultGnbOpen);
|
|
9179
9300
|
const panel = useMemo5(
|
|
9180
|
-
() => gnbAlertPanel ?? /* @__PURE__ */
|
|
9301
|
+
() => gnbAlertPanel ?? /* @__PURE__ */ jsx77(
|
|
9181
9302
|
StnAlertCenterPanel,
|
|
9182
9303
|
{
|
|
9183
9304
|
alerts: STN_ALERT_CENTER_DEMO_ALERTS,
|
|
@@ -9188,26 +9309,26 @@ function AlertCenterPageScaffold({
|
|
|
9188
9309
|
[gnbAlertPanel]
|
|
9189
9310
|
);
|
|
9190
9311
|
const sideNav = useMemo5(
|
|
9191
|
-
() => gnbProp ?? /* @__PURE__ */
|
|
9192
|
-
/* @__PURE__ */
|
|
9312
|
+
() => gnbProp ?? /* @__PURE__ */ jsxs55(Fragment10, { children: [
|
|
9313
|
+
/* @__PURE__ */ jsxs55(
|
|
9193
9314
|
StnSideNavigation,
|
|
9194
9315
|
{
|
|
9195
9316
|
collapsed: !gnbOpen,
|
|
9196
9317
|
onCollapseChange: (col) => setGnbOpen(!col),
|
|
9197
9318
|
children: [
|
|
9198
|
-
/* @__PURE__ */
|
|
9199
|
-
/* @__PURE__ */
|
|
9200
|
-
/* @__PURE__ */
|
|
9319
|
+
/* @__PURE__ */ jsxs55(StnSideNavigation.Header, { children: [
|
|
9320
|
+
/* @__PURE__ */ jsx77(StnSideNavigation.Logo, {}),
|
|
9321
|
+
/* @__PURE__ */ jsx77(StnSideNavigation.Toggle, {})
|
|
9201
9322
|
] }),
|
|
9202
|
-
/* @__PURE__ */
|
|
9203
|
-
/* @__PURE__ */
|
|
9204
|
-
/* @__PURE__ */
|
|
9205
|
-
/* @__PURE__ */
|
|
9323
|
+
/* @__PURE__ */ jsxs55(StnSideNavigation.Menu, { children: [
|
|
9324
|
+
/* @__PURE__ */ jsx77(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/layout-grid"), label: "\uBA54\uC778 \uB300\uC2DC\uBCF4\uB4DC", active: true }),
|
|
9325
|
+
/* @__PURE__ */ jsx77(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/server_2"), label: "\uC11C\uBC84 \uBAA8\uB2C8\uD130\uB9C1" }),
|
|
9326
|
+
/* @__PURE__ */ jsx77(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/activity"), label: "\uB124\uD2B8\uC6CC\uD06C \uBD84\uC11D" })
|
|
9206
9327
|
] }),
|
|
9207
|
-
/* @__PURE__ */
|
|
9208
|
-
/* @__PURE__ */
|
|
9209
|
-
/* @__PURE__ */
|
|
9210
|
-
/* @__PURE__ */
|
|
9328
|
+
/* @__PURE__ */ jsx77(StnSideNavigation.Spacer, {}),
|
|
9329
|
+
/* @__PURE__ */ jsxs55(StnSideNavigation.Footer, { curved: true, children: [
|
|
9330
|
+
/* @__PURE__ */ jsx77(StnSideNavigation.Watermark, {}),
|
|
9331
|
+
/* @__PURE__ */ jsx77(
|
|
9211
9332
|
StnSideNavigation.Item,
|
|
9212
9333
|
{
|
|
9213
9334
|
iconSrc: systemIconSrc("line/bell"),
|
|
@@ -9216,7 +9337,7 @@ function AlertCenterPageScaffold({
|
|
|
9216
9337
|
onClick: void 0
|
|
9217
9338
|
}
|
|
9218
9339
|
),
|
|
9219
|
-
/* @__PURE__ */
|
|
9340
|
+
/* @__PURE__ */ jsx77(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/settings"), label: "\uC124\uC815" })
|
|
9220
9341
|
] })
|
|
9221
9342
|
]
|
|
9222
9343
|
}
|
|
@@ -9225,8 +9346,8 @@ function AlertCenterPageScaffold({
|
|
|
9225
9346
|
] }),
|
|
9226
9347
|
[gnbProp, gnbOpen, panel]
|
|
9227
9348
|
);
|
|
9228
|
-
const faultSlot = faultPanel ?? (showFaultPanelPlaceholder ? /* @__PURE__ */
|
|
9229
|
-
return /* @__PURE__ */
|
|
9349
|
+
const faultSlot = faultPanel ?? (showFaultPanelPlaceholder ? /* @__PURE__ */ jsx77("div", { className: "wrap_real_time stn-page-scaffold__fault-ph", children: /* @__PURE__ */ jsx77(StnPageScaffold.Region, { label: "\uC2E4\uC2DC\uAC04 \uC7A5\uC560 \uD604\uD669", hint: "StnWidget shell=fault-panel \xB7 \uC120\uD0DD" }) }) : null);
|
|
9350
|
+
return /* @__PURE__ */ jsx77(
|
|
9230
9351
|
DashboardPageScaffold,
|
|
9231
9352
|
{
|
|
9232
9353
|
gnb: sideNav,
|
|
@@ -9234,7 +9355,7 @@ function AlertCenterPageScaffold({
|
|
|
9234
9355
|
mapMessage,
|
|
9235
9356
|
mapNote,
|
|
9236
9357
|
faultPanel: faultSlot,
|
|
9237
|
-
right: right ?? /* @__PURE__ */
|
|
9358
|
+
right: right ?? /* @__PURE__ */ jsx77(AlertCenterDashboard, {}),
|
|
9238
9359
|
wrapId,
|
|
9239
9360
|
wrapClassName: "stn-page--map-bg",
|
|
9240
9361
|
...shellProps
|
|
@@ -9243,8 +9364,8 @@ function AlertCenterPageScaffold({
|
|
|
9243
9364
|
}
|
|
9244
9365
|
|
|
9245
9366
|
// src/patterns/scaffold/LoginPageScaffold.tsx
|
|
9246
|
-
import { useState as
|
|
9247
|
-
import { jsx as
|
|
9367
|
+
import { useState as useState21 } from "react";
|
|
9368
|
+
import { jsx as jsx78, jsxs as jsxs56 } from "react/jsx-runtime";
|
|
9248
9369
|
var LOGIN_TABS = [
|
|
9249
9370
|
{ value: "normal", label: "\uC77C\uBC18 \uB85C\uADF8\uC778" },
|
|
9250
9371
|
{ value: "social", label: "\uC18C\uC15C \uB85C\uADF8\uC778" }
|
|
@@ -9255,15 +9376,15 @@ function DefaultLoginForm({
|
|
|
9255
9376
|
signUpHref = "#",
|
|
9256
9377
|
recoverHref = "#"
|
|
9257
9378
|
}) {
|
|
9258
|
-
const [mode, setMode] =
|
|
9259
|
-
const [userId, setUserId] =
|
|
9260
|
-
const [password, setPassword] =
|
|
9379
|
+
const [mode, setMode] = useState21("normal");
|
|
9380
|
+
const [userId, setUserId] = useState21("");
|
|
9381
|
+
const [password, setPassword] = useState21("");
|
|
9261
9382
|
function handleSubmit(e) {
|
|
9262
9383
|
e.preventDefault();
|
|
9263
9384
|
onLogin?.(userId, password);
|
|
9264
9385
|
}
|
|
9265
|
-
return /* @__PURE__ */
|
|
9266
|
-
/* @__PURE__ */
|
|
9386
|
+
return /* @__PURE__ */ jsxs56(StnLoginFormStack, { onSubmit: handleSubmit, children: [
|
|
9387
|
+
/* @__PURE__ */ jsx78(
|
|
9267
9388
|
StnSegmented,
|
|
9268
9389
|
{
|
|
9269
9390
|
"aria-label": "\uB85C\uADF8\uC778 \uBC29\uC2DD",
|
|
@@ -9272,8 +9393,8 @@ function DefaultLoginForm({
|
|
|
9272
9393
|
options: LOGIN_TABS
|
|
9273
9394
|
}
|
|
9274
9395
|
),
|
|
9275
|
-
mode === "normal" ? /* @__PURE__ */
|
|
9276
|
-
/* @__PURE__ */
|
|
9396
|
+
mode === "normal" ? /* @__PURE__ */ jsxs56(StnLoginFormFields, { children: [
|
|
9397
|
+
/* @__PURE__ */ jsx78(
|
|
9277
9398
|
StnLoginTextField,
|
|
9278
9399
|
{
|
|
9279
9400
|
icon: "line/user",
|
|
@@ -9285,7 +9406,7 @@ function DefaultLoginForm({
|
|
|
9285
9406
|
"aria-label": "\uC544\uC774\uB514"
|
|
9286
9407
|
}
|
|
9287
9408
|
),
|
|
9288
|
-
/* @__PURE__ */
|
|
9409
|
+
/* @__PURE__ */ jsx78(
|
|
9289
9410
|
StnLoginTextField,
|
|
9290
9411
|
{
|
|
9291
9412
|
icon: "line/lock",
|
|
@@ -9298,11 +9419,11 @@ function DefaultLoginForm({
|
|
|
9298
9419
|
"aria-label": "\uBE44\uBC00\uBC88\uD638"
|
|
9299
9420
|
}
|
|
9300
9421
|
)
|
|
9301
|
-
] }) : socialContent ?? /* @__PURE__ */
|
|
9302
|
-
/* @__PURE__ */
|
|
9303
|
-
/* @__PURE__ */
|
|
9304
|
-
/* @__PURE__ */
|
|
9305
|
-
/* @__PURE__ */
|
|
9422
|
+
] }) : socialContent ?? /* @__PURE__ */ jsx78(StnLoginPlaceholder, {}),
|
|
9423
|
+
/* @__PURE__ */ jsx78(StnButton, { type: "submit", size: "xl", fullWidth: true, children: "\uB85C\uADF8\uC778" }),
|
|
9424
|
+
/* @__PURE__ */ jsxs56(StnLoginFormLinks, { children: [
|
|
9425
|
+
/* @__PURE__ */ jsx78("a", { href: signUpHref, children: "\uD68C\uC6D0\uAC00\uC785" }),
|
|
9426
|
+
/* @__PURE__ */ jsx78("a", { href: recoverHref, children: "\uC544\uC774\uB514 / \uBE44\uBC00\uBC88\uD638 \uCC3E\uAE30" })
|
|
9306
9427
|
] })
|
|
9307
9428
|
] });
|
|
9308
9429
|
}
|
|
@@ -9316,16 +9437,16 @@ function DefaultLoginCard({
|
|
|
9316
9437
|
signUpHref,
|
|
9317
9438
|
recoverHref
|
|
9318
9439
|
}) {
|
|
9319
|
-
return /* @__PURE__ */
|
|
9440
|
+
return /* @__PURE__ */ jsx78(
|
|
9320
9441
|
StnLoginCard,
|
|
9321
9442
|
{
|
|
9322
9443
|
glow,
|
|
9323
9444
|
variant,
|
|
9324
|
-
brand: /* @__PURE__ */
|
|
9325
|
-
logo ?? /* @__PURE__ */
|
|
9326
|
-
/* @__PURE__ */
|
|
9445
|
+
brand: /* @__PURE__ */ jsxs56(StnLoginBrandStack, { children: [
|
|
9446
|
+
logo ?? /* @__PURE__ */ jsx78(StnLogo, { variant: "vertical", size: "xl" }),
|
|
9447
|
+
/* @__PURE__ */ jsx78("p", { className: "stn-login-card__caption", children: productCaption })
|
|
9327
9448
|
] }),
|
|
9328
|
-
children: /* @__PURE__ */
|
|
9449
|
+
children: /* @__PURE__ */ jsx78(
|
|
9329
9450
|
DefaultLoginForm,
|
|
9330
9451
|
{
|
|
9331
9452
|
onLogin,
|
|
@@ -9351,8 +9472,8 @@ function LoginPageScaffold({
|
|
|
9351
9472
|
recoverHref,
|
|
9352
9473
|
...shellProps
|
|
9353
9474
|
}) {
|
|
9354
|
-
const resolvedLayer0 = layer0 ?? /* @__PURE__ */
|
|
9355
|
-
const resolvedCard = children ?? /* @__PURE__ */
|
|
9475
|
+
const resolvedLayer0 = layer0 ?? /* @__PURE__ */ jsx78(StnLayer0Background, { variant: "login" });
|
|
9476
|
+
const resolvedCard = children ?? /* @__PURE__ */ jsx78(
|
|
9356
9477
|
DefaultLoginCard,
|
|
9357
9478
|
{
|
|
9358
9479
|
logo,
|
|
@@ -9365,7 +9486,7 @@ function LoginPageScaffold({
|
|
|
9365
9486
|
recoverHref
|
|
9366
9487
|
}
|
|
9367
9488
|
);
|
|
9368
|
-
return /* @__PURE__ */
|
|
9489
|
+
return /* @__PURE__ */ jsxs56(
|
|
9369
9490
|
"div",
|
|
9370
9491
|
{
|
|
9371
9492
|
className: cn("stn-wrap stn-page--login", wrapClassName),
|
|
@@ -9373,7 +9494,7 @@ function LoginPageScaffold({
|
|
|
9373
9494
|
...shellProps,
|
|
9374
9495
|
children: [
|
|
9375
9496
|
resolvedLayer0,
|
|
9376
|
-
/* @__PURE__ */
|
|
9497
|
+
/* @__PURE__ */ jsx78("div", { className: "stn-login", children: resolvedCard })
|
|
9377
9498
|
]
|
|
9378
9499
|
}
|
|
9379
9500
|
);
|
|
@@ -9402,7 +9523,7 @@ import {
|
|
|
9402
9523
|
|
|
9403
9524
|
// src/patterns/toolbar/StnFloatingToolbar.tsx
|
|
9404
9525
|
import React3 from "react";
|
|
9405
|
-
import { jsx as
|
|
9526
|
+
import { jsx as jsx79, jsxs as jsxs57 } from "react/jsx-runtime";
|
|
9406
9527
|
var DEFAULT_MAP_MODES = [
|
|
9407
9528
|
{ value: "sphere", label: "\uAD6C\uBA74" },
|
|
9408
9529
|
{ value: "plane", label: "\uD3C9\uBA74" },
|
|
@@ -9412,7 +9533,7 @@ var StnFloatingToolbar = React3.forwardRef(
|
|
|
9412
9533
|
({ placement = "none", orientation = "horizontal", className, children, ...restProps }, ref) => {
|
|
9413
9534
|
const placementClass = placement !== "none" ? `stn-floating-toolbar--${placement}` : "";
|
|
9414
9535
|
const orientationClass = orientation === "vertical" ? "stn-floating-toolbar--vertical" : "";
|
|
9415
|
-
return /* @__PURE__ */
|
|
9536
|
+
return /* @__PURE__ */ jsx79(
|
|
9416
9537
|
"div",
|
|
9417
9538
|
{
|
|
9418
9539
|
ref,
|
|
@@ -9445,7 +9566,7 @@ var StnMapToolbar = React3.forwardRef(
|
|
|
9445
9566
|
children,
|
|
9446
9567
|
...restProps
|
|
9447
9568
|
}, ref) => {
|
|
9448
|
-
return /* @__PURE__ */
|
|
9569
|
+
return /* @__PURE__ */ jsxs57(
|
|
9449
9570
|
StnFloatingToolbar,
|
|
9450
9571
|
{
|
|
9451
9572
|
ref,
|
|
@@ -9455,7 +9576,7 @@ var StnMapToolbar = React3.forwardRef(
|
|
|
9455
9576
|
"aria-label": "\uC9C0\uB3C4 \uBC0F \uD1A0\uD3F4\uB85C\uC9C0 \uB3C4\uAD6C \uBAA8\uC74C",
|
|
9456
9577
|
...restProps,
|
|
9457
9578
|
children: [
|
|
9458
|
-
modeOptions && modeOptions.length > 0 && /* @__PURE__ */
|
|
9579
|
+
modeOptions && modeOptions.length > 0 && /* @__PURE__ */ jsx79(
|
|
9459
9580
|
StnDropdown,
|
|
9460
9581
|
{
|
|
9461
9582
|
size: "md",
|
|
@@ -9466,75 +9587,75 @@ var StnMapToolbar = React3.forwardRef(
|
|
|
9466
9587
|
"aria-label": "\uD22C\uC601 \uBAA8\uB4DC \uC120\uD0DD"
|
|
9467
9588
|
}
|
|
9468
9589
|
),
|
|
9469
|
-
onRestore && /* @__PURE__ */
|
|
9590
|
+
onRestore && /* @__PURE__ */ jsx79(
|
|
9470
9591
|
StnButton,
|
|
9471
9592
|
{
|
|
9472
9593
|
variant: buttonVariant,
|
|
9473
9594
|
size: "md",
|
|
9474
9595
|
shape: "square",
|
|
9475
|
-
icon: /* @__PURE__ */
|
|
9476
|
-
/* @__PURE__ */
|
|
9477
|
-
/* @__PURE__ */
|
|
9478
|
-
/* @__PURE__ */
|
|
9596
|
+
icon: /* @__PURE__ */ jsxs57("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.6", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
|
|
9597
|
+
/* @__PURE__ */ jsx79("path", { d: "M3.06006 13C3.30547 15.1939 4.34865 17.221 5.9912 18.696C7.63374 20.1709 9.76108 20.9907 11.9686 20.9994C14.1762 21.0081 16.3099 20.2052 17.9641 18.7434C19.6183 17.2815 20.6775 15.2627 20.9403 13.0708C21.2031 10.879 20.6511 8.66696 19.3894 6.85551C18.1276 5.04406 16.2441 3.75951 14.0971 3.24618C11.95 2.73284 9.68922 3.02652 7.74457 4.07135C5.79993 5.11619 4.30712 6.83931 3.55006 8.913" }),
|
|
9598
|
+
/* @__PURE__ */ jsx79("path", { d: "M3 4.00098V9.00098H8" }),
|
|
9599
|
+
/* @__PURE__ */ jsx79("circle", { cx: "12", cy: "12", r: "1", fill: "currentColor" })
|
|
9479
9600
|
] }),
|
|
9480
9601
|
"aria-label": "\uCD08\uAE30\uD654 (Restore)",
|
|
9481
9602
|
title: "\uCD08\uAE30\uD654 (Restore)",
|
|
9482
9603
|
onClick: onRestore
|
|
9483
9604
|
}
|
|
9484
9605
|
),
|
|
9485
|
-
onFullscreen && /* @__PURE__ */
|
|
9606
|
+
onFullscreen && /* @__PURE__ */ jsx79(
|
|
9486
9607
|
StnButton,
|
|
9487
9608
|
{
|
|
9488
9609
|
variant: buttonVariant,
|
|
9489
9610
|
size: "md",
|
|
9490
9611
|
shape: "square",
|
|
9491
|
-
icon: /* @__PURE__ */
|
|
9492
|
-
/* @__PURE__ */
|
|
9493
|
-
/* @__PURE__ */
|
|
9494
|
-
/* @__PURE__ */
|
|
9495
|
-
/* @__PURE__ */
|
|
9612
|
+
icon: /* @__PURE__ */ jsxs57("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.6", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
|
|
9613
|
+
/* @__PURE__ */ jsx79("path", { d: "M16 4H20V8" }),
|
|
9614
|
+
/* @__PURE__ */ jsx79("path", { d: "M14 10L20 4" }),
|
|
9615
|
+
/* @__PURE__ */ jsx79("path", { d: "M8 20H4V16" }),
|
|
9616
|
+
/* @__PURE__ */ jsx79("path", { d: "M4 20L10 14" })
|
|
9496
9617
|
] }),
|
|
9497
9618
|
"aria-label": "\uC804\uCCB4\uD654\uBA74",
|
|
9498
9619
|
title: "\uC804\uCCB4\uD654\uBA74",
|
|
9499
9620
|
onClick: onFullscreen
|
|
9500
9621
|
}
|
|
9501
9622
|
),
|
|
9502
|
-
onZoomIn && /* @__PURE__ */
|
|
9623
|
+
onZoomIn && /* @__PURE__ */ jsx79(
|
|
9503
9624
|
StnButton,
|
|
9504
9625
|
{
|
|
9505
9626
|
variant: buttonVariant,
|
|
9506
9627
|
size: "md",
|
|
9507
9628
|
shape: "square",
|
|
9508
|
-
icon: /* @__PURE__ */
|
|
9509
|
-
/* @__PURE__ */
|
|
9510
|
-
/* @__PURE__ */
|
|
9629
|
+
icon: /* @__PURE__ */ jsxs57("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
|
|
9630
|
+
/* @__PURE__ */ jsx79("path", { d: "M12 5V19" }),
|
|
9631
|
+
/* @__PURE__ */ jsx79("path", { d: "M5 12H19" })
|
|
9511
9632
|
] }),
|
|
9512
9633
|
"aria-label": "\uD655\uB300",
|
|
9513
9634
|
title: "\uD655\uB300",
|
|
9514
9635
|
onClick: onZoomIn
|
|
9515
9636
|
}
|
|
9516
9637
|
),
|
|
9517
|
-
onZoomOut && /* @__PURE__ */
|
|
9638
|
+
onZoomOut && /* @__PURE__ */ jsx79(
|
|
9518
9639
|
StnButton,
|
|
9519
9640
|
{
|
|
9520
9641
|
variant: buttonVariant,
|
|
9521
9642
|
size: "md",
|
|
9522
9643
|
shape: "square",
|
|
9523
|
-
icon: /* @__PURE__ */
|
|
9644
|
+
icon: /* @__PURE__ */ jsx79("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: /* @__PURE__ */ jsx79("path", { d: "M5 12H19" }) }),
|
|
9524
9645
|
"aria-label": "\uCD95\uC18C",
|
|
9525
9646
|
title: "\uCD95\uC18C",
|
|
9526
9647
|
onClick: onZoomOut
|
|
9527
9648
|
}
|
|
9528
9649
|
),
|
|
9529
|
-
onRefresh && /* @__PURE__ */
|
|
9650
|
+
onRefresh && /* @__PURE__ */ jsx79(
|
|
9530
9651
|
StnButton,
|
|
9531
9652
|
{
|
|
9532
9653
|
variant: buttonVariant,
|
|
9533
9654
|
size: "md",
|
|
9534
9655
|
shape: "square",
|
|
9535
|
-
icon: /* @__PURE__ */
|
|
9536
|
-
/* @__PURE__ */
|
|
9537
|
-
/* @__PURE__ */
|
|
9656
|
+
icon: /* @__PURE__ */ jsxs57("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.6", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
|
|
9657
|
+
/* @__PURE__ */ jsx79("path", { d: "M20 11C19.7554 9.24023 18.9391 7.60967 17.6766 6.35951C16.4142 5.10934 14.7758 4.30893 13.0137 4.08156C11.2516 3.8542 9.46362 4.21249 7.9252 5.10126C6.38678 5.99002 5.18325 7.35995 4.5 9.00001M4 5.00001V9.00001H8" }),
|
|
9658
|
+
/* @__PURE__ */ jsx79("path", { d: "M4 13C4.24456 14.7598 5.06093 16.3903 6.32336 17.6405C7.58579 18.8907 9.22424 19.6911 10.9863 19.9184C12.7484 20.1458 14.5364 19.7875 16.0748 18.8988C17.6132 18.01 18.8168 16.6401 19.5 15M20 19V15H16" })
|
|
9538
9659
|
] }),
|
|
9539
9660
|
"aria-label": "\uC0C8\uB85C\uACE0\uCE68",
|
|
9540
9661
|
title: "\uC0C8\uB85C\uACE0\uCE68",
|
|
@@ -9788,7 +9909,6 @@ export {
|
|
|
9788
9909
|
StnStatusDotGroup,
|
|
9789
9910
|
StnStatusFlow,
|
|
9790
9911
|
StnStatusSeverity,
|
|
9791
|
-
StnStatusSeverityFilter,
|
|
9792
9912
|
StnStatusSwitch,
|
|
9793
9913
|
StnSwitch,
|
|
9794
9914
|
StnTable,
|
|
@@ -9801,6 +9921,7 @@ export {
|
|
|
9801
9921
|
StnTableTdCheck,
|
|
9802
9922
|
StnTableTh,
|
|
9803
9923
|
StnTableThCheck,
|
|
9924
|
+
StnTextArea,
|
|
9804
9925
|
StnTextField,
|
|
9805
9926
|
StnToastCloseButton,
|
|
9806
9927
|
StnToastIcon,
|