@stn-uiux/pub-ui-react 0.1.55 → 0.1.58
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 +460 -74
- package/dist/index.js +1289 -910
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -406,7 +406,7 @@ var StnSlider = forwardRef3(function StnSlider2({
|
|
|
406
406
|
customGradient = gradient;
|
|
407
407
|
}
|
|
408
408
|
}
|
|
409
|
-
const
|
|
409
|
+
const sizeClass5 = size !== "md" ? size : "";
|
|
410
410
|
const style = {
|
|
411
411
|
["--stn-slider-pct"]: `${pct}%`,
|
|
412
412
|
["--stn-slider-pct-num"]: String(pct / 100),
|
|
@@ -462,7 +462,7 @@ var StnSlider = forwardRef3(function StnSlider2({
|
|
|
462
462
|
{
|
|
463
463
|
className: cn(
|
|
464
464
|
"stn-slider",
|
|
465
|
-
|
|
465
|
+
sizeClass5,
|
|
466
466
|
toneClass,
|
|
467
467
|
gradientClass,
|
|
468
468
|
hasGradient && "gradient-fill stn-slider--gradient-fill",
|
|
@@ -639,7 +639,7 @@ var StnPagination = forwardRef4(function StnPagination2({
|
|
|
639
639
|
] });
|
|
640
640
|
});
|
|
641
641
|
|
|
642
|
-
// src/components/
|
|
642
|
+
// src/components/StnModal.tsx
|
|
643
643
|
import { forwardRef as forwardRef6, useEffect as useEffect2 } from "react";
|
|
644
644
|
import { createPortal } from "react-dom";
|
|
645
645
|
|
|
@@ -730,29 +730,28 @@ StnLayer2.Content = StnLayerContent;
|
|
|
730
730
|
StnLayer2.Dim = StnLayerDim;
|
|
731
731
|
StnLayer2.Modal = StnLayerModal;
|
|
732
732
|
|
|
733
|
-
// src/components/
|
|
733
|
+
// src/components/StnModal.tsx
|
|
734
734
|
import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
735
735
|
var SIZE_CLASS = {
|
|
736
736
|
xs: "stn-pop--xs",
|
|
737
|
-
s: "stn-pop--sm",
|
|
738
737
|
sm: "stn-pop--sm",
|
|
739
|
-
m: "stn-pop--md",
|
|
740
738
|
md: "stn-pop--md",
|
|
741
|
-
l: "stn-pop--lg",
|
|
742
739
|
lg: "stn-pop--lg",
|
|
743
740
|
xl: "stn-pop--xl",
|
|
744
|
-
xxl: "stn-pop--xxl",
|
|
745
|
-
"2xl": "stn-pop--2xl",
|
|
746
741
|
full: "stn-pop--full"
|
|
747
742
|
};
|
|
748
|
-
var
|
|
743
|
+
var StnModal = forwardRef6(function StnModal2({
|
|
749
744
|
open,
|
|
750
745
|
onClose,
|
|
751
746
|
title,
|
|
747
|
+
subtitle,
|
|
748
|
+
headerExtra,
|
|
752
749
|
size = "md",
|
|
753
750
|
children,
|
|
754
751
|
actions,
|
|
752
|
+
actionAlign = "right",
|
|
755
753
|
className,
|
|
754
|
+
bodyClassName,
|
|
756
755
|
portal = true,
|
|
757
756
|
closeOnScrimClick = true,
|
|
758
757
|
dim = true,
|
|
@@ -768,7 +767,7 @@ var StnPopup = forwardRef6(function StnPopup2({
|
|
|
768
767
|
};
|
|
769
768
|
}, [open, portal]);
|
|
770
769
|
if (!open) return null;
|
|
771
|
-
const titleId = rest.id ? `${rest.id}-title` : "stn-
|
|
770
|
+
const titleId = rest.id ? `${rest.id}-title` : "stn-modal-title";
|
|
772
771
|
const dialog = /* @__PURE__ */ jsx9(
|
|
773
772
|
"div",
|
|
774
773
|
{
|
|
@@ -779,7 +778,13 @@ var StnPopup = forwardRef6(function StnPopup2({
|
|
|
779
778
|
className: cn("stn-pop", SIZE_CLASS[size], "stn-pop--open", className),
|
|
780
779
|
...rest,
|
|
781
780
|
children: /* @__PURE__ */ jsx9("div", { className: "stn-pop__cont", children: /* @__PURE__ */ jsxs5("div", { className: "stn-pop__panel", children: [
|
|
782
|
-
/* @__PURE__ */
|
|
781
|
+
/* @__PURE__ */ jsxs5("div", { className: "stn-pop__head", id: titleId, children: [
|
|
782
|
+
/* @__PURE__ */ jsxs5("div", { className: "stn-pop__head-row", children: [
|
|
783
|
+
/* @__PURE__ */ jsx9("h4", { children: title }),
|
|
784
|
+
headerExtra ? /* @__PURE__ */ jsx9("div", { className: "stn-pop__head-extra", children: headerExtra }) : null
|
|
785
|
+
] }),
|
|
786
|
+
subtitle ? /* @__PURE__ */ jsx9("p", { className: "stn-pop__subtitle", children: subtitle }) : null
|
|
787
|
+
] }),
|
|
783
788
|
/* @__PURE__ */ jsx9(
|
|
784
789
|
StnButton,
|
|
785
790
|
{
|
|
@@ -791,8 +796,19 @@ var StnPopup = forwardRef6(function StnPopup2({
|
|
|
791
796
|
onClick: onClose
|
|
792
797
|
}
|
|
793
798
|
),
|
|
794
|
-
/* @__PURE__ */ jsx9("div", { className: "stn-pop__body", children }),
|
|
795
|
-
actions ? /* @__PURE__ */ jsx9(
|
|
799
|
+
/* @__PURE__ */ jsx9("div", { className: cn("stn-pop__body", bodyClassName), children }),
|
|
800
|
+
actions ? /* @__PURE__ */ jsx9(
|
|
801
|
+
"div",
|
|
802
|
+
{
|
|
803
|
+
className: cn(
|
|
804
|
+
"stn-pop__actions",
|
|
805
|
+
actionAlign === "center" && "stn-pop__actions--center",
|
|
806
|
+
actionAlign === "right" && "stn-pop__actions--right",
|
|
807
|
+
actionAlign === "between" && "stn-pop__actions--between"
|
|
808
|
+
),
|
|
809
|
+
children: actions
|
|
810
|
+
}
|
|
811
|
+
) : null
|
|
796
812
|
] }) })
|
|
797
813
|
}
|
|
798
814
|
);
|
|
@@ -816,6 +832,7 @@ var StnPopup = forwardRef6(function StnPopup2({
|
|
|
816
832
|
document.body
|
|
817
833
|
);
|
|
818
834
|
});
|
|
835
|
+
var StnPopup = StnModal;
|
|
819
836
|
|
|
820
837
|
// src/components/toast/StnToastCloseButton.tsx
|
|
821
838
|
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
@@ -1632,10 +1649,10 @@ StnTable.RowActions = StnTableRowActions;
|
|
|
1632
1649
|
|
|
1633
1650
|
// src/components/StnTree.tsx
|
|
1634
1651
|
import {
|
|
1635
|
-
forwardRef as
|
|
1636
|
-
useCallback as
|
|
1652
|
+
forwardRef as forwardRef13,
|
|
1653
|
+
useCallback as useCallback4,
|
|
1637
1654
|
useMemo as useMemo2,
|
|
1638
|
-
useState as
|
|
1655
|
+
useState as useState5
|
|
1639
1656
|
} from "react";
|
|
1640
1657
|
|
|
1641
1658
|
// src/components/StnTreeNode.tsx
|
|
@@ -1685,11 +1702,13 @@ function walk(nodes, depth, ancestorIsLast, expanded, out) {
|
|
|
1685
1702
|
id: node.id,
|
|
1686
1703
|
label: node.label,
|
|
1687
1704
|
kind,
|
|
1705
|
+
bold: Boolean(node.bold),
|
|
1688
1706
|
depth,
|
|
1689
1707
|
cells: buildPrefixCells(depth, kind, ancestorIsLast, isLast, hasChildren, isExpanded),
|
|
1690
1708
|
hasChildren,
|
|
1691
1709
|
expanded: isExpanded,
|
|
1692
|
-
isLast
|
|
1710
|
+
isLast,
|
|
1711
|
+
visible: node.visible !== false
|
|
1693
1712
|
});
|
|
1694
1713
|
if (hasChildren && isExpanded) {
|
|
1695
1714
|
walk(node.children, depth + 1, [...ancestorIsLast, isLast], expanded, out);
|
|
@@ -1724,7 +1743,9 @@ var ICON = {
|
|
|
1724
1743
|
vertical: resolveSystemIconSrcFromName2("line/vertical_line") ?? "",
|
|
1725
1744
|
connectorMid: resolveSystemIconSrcFromName2("line/tree_connector_midium") ?? "",
|
|
1726
1745
|
connectorEnd: resolveSystemIconSrcFromName2("line/tree_connector") ?? "",
|
|
1727
|
-
chevron: resolveSystemIconSrcFromName2("line/arrow-left") ?? ""
|
|
1746
|
+
chevron: resolveSystemIconSrcFromName2("line/arrow-left") ?? "",
|
|
1747
|
+
eye: resolveSystemIconSrcFromName2("line/eye") ?? "",
|
|
1748
|
+
eyeOff: resolveSystemIconSrcFromName2("line/eye-off") ?? ""
|
|
1728
1749
|
};
|
|
1729
1750
|
function maskStyle(src) {
|
|
1730
1751
|
return { maskImage: `url('${src}')`, WebkitMaskImage: `url('${src}')` };
|
|
@@ -1800,6 +1821,7 @@ function TreeNodeIcon({ kind, expanded }) {
|
|
|
1800
1821
|
var StnTreeNode = forwardRef11(function StnTreeNode2({
|
|
1801
1822
|
label,
|
|
1802
1823
|
kind = "folder",
|
|
1824
|
+
bold = false,
|
|
1803
1825
|
depth = 0,
|
|
1804
1826
|
expanded = false,
|
|
1805
1827
|
selected = false,
|
|
@@ -1807,6 +1829,10 @@ var StnTreeNode = forwardRef11(function StnTreeNode2({
|
|
|
1807
1829
|
isLast = true,
|
|
1808
1830
|
ancestorIsLast,
|
|
1809
1831
|
cells: cellsProp,
|
|
1832
|
+
showIcon = true,
|
|
1833
|
+
visible = true,
|
|
1834
|
+
showVisibilityToggle = false,
|
|
1835
|
+
onVisibilityChange,
|
|
1810
1836
|
docState = "default",
|
|
1811
1837
|
onSelect,
|
|
1812
1838
|
onToggle,
|
|
@@ -1815,6 +1841,7 @@ var StnTreeNode = forwardRef11(function StnTreeNode2({
|
|
|
1815
1841
|
onKeyDown,
|
|
1816
1842
|
...rest
|
|
1817
1843
|
}, ref) {
|
|
1844
|
+
const labelText = typeof label === "string" ? label : "";
|
|
1818
1845
|
const resolvedHasChildren = hasChildren ?? kind !== "server";
|
|
1819
1846
|
const cells = cellsProp ?? buildStnTreeNodeCells({
|
|
1820
1847
|
depth,
|
|
@@ -1843,9 +1870,11 @@ var StnTreeNode = forwardRef11(function StnTreeNode2({
|
|
|
1843
1870
|
"aria-expanded": resolvedHasChildren ? expanded : void 0,
|
|
1844
1871
|
className: cn(
|
|
1845
1872
|
"stn-tree__row",
|
|
1873
|
+
bold && "is-bold",
|
|
1846
1874
|
isSelected && "is-selected",
|
|
1847
1875
|
docState === "hover" && "is-hover",
|
|
1848
1876
|
docState === "pressed" && "is-pressed",
|
|
1877
|
+
!visible && "is-hidden-node",
|
|
1849
1878
|
`stn-tree__row--${kind}`,
|
|
1850
1879
|
className
|
|
1851
1880
|
),
|
|
@@ -1865,7 +1894,7 @@ var StnTreeNode = forwardRef11(function StnTreeNode2({
|
|
|
1865
1894
|
{
|
|
1866
1895
|
type: "button",
|
|
1867
1896
|
className: "stn-tree__cell stn-tree__cell--toggle stn-tree__toggle",
|
|
1868
|
-
"aria-label": cell.expanded ? `${
|
|
1897
|
+
"aria-label": cell.expanded ? `${labelText} \uC811\uAE30` : `${labelText} \uD3BC\uCE58\uAE30`,
|
|
1869
1898
|
"aria-expanded": cell.expanded,
|
|
1870
1899
|
onClick: (event) => {
|
|
1871
1900
|
event.stopPropagation();
|
|
@@ -1884,99 +1913,44 @@ var StnTreeNode = forwardRef11(function StnTreeNode2({
|
|
|
1884
1913
|
}
|
|
1885
1914
|
return /* @__PURE__ */ jsx16(TreeGuideCell, { cell }, `c-${index}`);
|
|
1886
1915
|
}),
|
|
1887
|
-
/* @__PURE__ */ jsx16(TreeNodeIcon, { kind, expanded }),
|
|
1888
|
-
/* @__PURE__ */ jsx16("span", { className: "stn-tree__label", children: label })
|
|
1916
|
+
showIcon && /* @__PURE__ */ jsx16(TreeNodeIcon, { kind, expanded }),
|
|
1917
|
+
/* @__PURE__ */ jsx16("span", { className: cn("stn-tree__label", bold && "is-bold"), children: label }),
|
|
1918
|
+
showVisibilityToggle && /* @__PURE__ */ jsx16(
|
|
1919
|
+
"button",
|
|
1920
|
+
{
|
|
1921
|
+
type: "button",
|
|
1922
|
+
className: "stn-tree__visibility-btn",
|
|
1923
|
+
"aria-label": visible ? `${labelText} \uC228\uAE30\uAE30` : `${labelText} \uD45C\uC2DC\uD558\uAE30`,
|
|
1924
|
+
title: visible ? "\uC228\uAE30\uAE30" : "\uD45C\uC2DC\uD558\uAE30",
|
|
1925
|
+
onClick: (event) => {
|
|
1926
|
+
event.stopPropagation();
|
|
1927
|
+
onVisibilityChange?.(!visible);
|
|
1928
|
+
},
|
|
1929
|
+
children: /* @__PURE__ */ jsx16(
|
|
1930
|
+
"span",
|
|
1931
|
+
{
|
|
1932
|
+
className: cn("stn-tree__visibility-glyph", !visible && "is-off"),
|
|
1933
|
+
style: maskStyle(visible ? ICON.eye : ICON.eyeOff)
|
|
1934
|
+
}
|
|
1935
|
+
)
|
|
1936
|
+
}
|
|
1937
|
+
)
|
|
1889
1938
|
]
|
|
1890
1939
|
}
|
|
1891
1940
|
);
|
|
1892
1941
|
});
|
|
1893
|
-
|
|
1894
|
-
// src/components/StnTree.tsx
|
|
1895
|
-
import { jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1896
|
-
function useControllableSet(controlled, defaultIds, allExpandable) {
|
|
1897
|
-
const [internal, setInternal] = useState4(() => defaultIds ?? allExpandable);
|
|
1898
|
-
const value = controlled ?? internal;
|
|
1899
|
-
const setValue = useCallback3(
|
|
1900
|
-
(next) => {
|
|
1901
|
-
const resolved = typeof next === "function" ? next(controlled ?? internal) : next;
|
|
1902
|
-
if (controlled == null) setInternal(resolved);
|
|
1903
|
-
},
|
|
1904
|
-
[controlled, internal]
|
|
1905
|
-
);
|
|
1906
|
-
return [value, setValue];
|
|
1907
|
-
}
|
|
1908
|
-
var StnTree = forwardRef12(function StnTree2({
|
|
1909
|
-
nodes,
|
|
1910
|
-
heading = "FOLDER STRUCTURE",
|
|
1911
|
-
defaultExpandedIds,
|
|
1912
|
-
expandedIds,
|
|
1913
|
-
onExpandedChange,
|
|
1914
|
-
selectedId,
|
|
1915
|
-
defaultSelectedId = null,
|
|
1916
|
-
onSelect,
|
|
1917
|
-
docRowState,
|
|
1918
|
-
className,
|
|
1919
|
-
...rest
|
|
1920
|
-
}, ref) {
|
|
1921
|
-
const expandableIds = useMemo2(() => collectExpandableIds(nodes), [nodes]);
|
|
1922
|
-
const [expanded, setExpanded] = useControllableSet(expandedIds, defaultExpandedIds, expandableIds);
|
|
1923
|
-
const [internalSelected, setInternalSelected] = useState4(defaultSelectedId);
|
|
1924
|
-
const selected = selectedId ?? internalSelected;
|
|
1925
|
-
const rows = useMemo2(() => flattenStnTree(nodes, expanded), [nodes, expanded]);
|
|
1926
|
-
const setExpandedIds = useCallback3(
|
|
1927
|
-
(next) => {
|
|
1928
|
-
setExpanded(next);
|
|
1929
|
-
onExpandedChange?.(next);
|
|
1930
|
-
},
|
|
1931
|
-
[onExpandedChange, setExpanded]
|
|
1932
|
-
);
|
|
1933
|
-
const handleToggle = useCallback3(
|
|
1934
|
-
(id) => {
|
|
1935
|
-
setExpandedIds(
|
|
1936
|
-
expanded.includes(id) ? expanded.filter((item) => item !== id) : [...expanded, id]
|
|
1937
|
-
);
|
|
1938
|
-
},
|
|
1939
|
-
[expanded, setExpandedIds]
|
|
1940
|
-
);
|
|
1941
|
-
const handleSelect = useCallback3(
|
|
1942
|
-
(id) => {
|
|
1943
|
-
if (selectedId == null) setInternalSelected(id);
|
|
1944
|
-
onSelect?.(id);
|
|
1945
|
-
},
|
|
1946
|
-
[onSelect, selectedId]
|
|
1947
|
-
);
|
|
1948
|
-
return /* @__PURE__ */ jsxs11("div", { ref, className: cn("stn-tree", className), ...rest, children: [
|
|
1949
|
-
heading ? /* @__PURE__ */ jsx17("p", { className: "stn-tree__heading", children: heading }) : null,
|
|
1950
|
-
/* @__PURE__ */ jsx17("div", { className: "stn-tree__rows", role: "tree", "aria-label": heading || "folder tree", children: rows.map((row) => /* @__PURE__ */ jsx17(
|
|
1951
|
-
StnTreeNode,
|
|
1952
|
-
{
|
|
1953
|
-
label: row.label,
|
|
1954
|
-
kind: row.kind,
|
|
1955
|
-
depth: row.depth,
|
|
1956
|
-
expanded: row.expanded,
|
|
1957
|
-
selected: selected === row.id,
|
|
1958
|
-
hasChildren: row.hasChildren,
|
|
1959
|
-
isLast: row.isLast,
|
|
1960
|
-
cells: row.cells,
|
|
1961
|
-
docState: docRowState?.id === row.id ? docRowState.state : "default",
|
|
1962
|
-
onToggle: () => handleToggle(row.id),
|
|
1963
|
-
onSelect: () => handleSelect(row.id)
|
|
1964
|
-
},
|
|
1965
|
-
row.id
|
|
1966
|
-
)) })
|
|
1967
|
-
] });
|
|
1968
|
-
});
|
|
1942
|
+
var StnTreeItem = StnTreeNode;
|
|
1969
1943
|
|
|
1970
1944
|
// src/components/StnScroll.tsx
|
|
1971
1945
|
import {
|
|
1972
|
-
forwardRef as
|
|
1973
|
-
useCallback as
|
|
1946
|
+
forwardRef as forwardRef12,
|
|
1947
|
+
useCallback as useCallback3,
|
|
1974
1948
|
useEffect as useEffect6,
|
|
1975
1949
|
useId as useId4,
|
|
1976
1950
|
useRef as useRef4,
|
|
1977
|
-
useState as
|
|
1951
|
+
useState as useState4
|
|
1978
1952
|
} from "react";
|
|
1979
|
-
import { Fragment, jsx as
|
|
1953
|
+
import { Fragment, jsx as jsx17, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1980
1954
|
function assignRef(ref, value) {
|
|
1981
1955
|
if (typeof ref === "function") ref(value);
|
|
1982
1956
|
else if (ref) ref.current = value;
|
|
@@ -1987,7 +1961,7 @@ function barWidth(size, scrollWidth) {
|
|
|
1987
1961
|
if (size === "thick") return "12px";
|
|
1988
1962
|
return "8px";
|
|
1989
1963
|
}
|
|
1990
|
-
var StnScroll =
|
|
1964
|
+
var StnScroll = forwardRef12(function StnScroll2({
|
|
1991
1965
|
orientation = "vertical",
|
|
1992
1966
|
variant = "default",
|
|
1993
1967
|
showArrows = false,
|
|
@@ -2006,7 +1980,7 @@ var StnScroll = forwardRef13(function StnScroll2({
|
|
|
2006
1980
|
const rawId = useId4();
|
|
2007
1981
|
const customId = `stn-scr-${rawId.replace(/[^a-zA-Z0-9_-]/g, "")}`;
|
|
2008
1982
|
const innerRef = useRef4(null);
|
|
2009
|
-
const [edges, setEdges] =
|
|
1983
|
+
const [edges, setEdges] = useState4({ top: true, bottom: false, left: true, right: false });
|
|
2010
1984
|
const hasArrows = variant === "arrows" || showArrows;
|
|
2011
1985
|
const hasCustomStyling = Boolean(thumbColor || trackColor || scrollWidth != null);
|
|
2012
1986
|
const showY = orientation !== "horizontal";
|
|
@@ -2016,7 +1990,7 @@ var StnScroll = forwardRef13(function StnScroll2({
|
|
|
2016
1990
|
const w = scrollWidth != null ? typeof scrollWidth === "number" ? `${scrollWidth}px` : scrollWidth : void 0;
|
|
2017
1991
|
const thumb = thumbColor;
|
|
2018
1992
|
const track = trackColor || "rgba(255, 255, 255, 0.05)";
|
|
2019
|
-
dynamicStyleTag = /* @__PURE__ */
|
|
1993
|
+
dynamicStyleTag = /* @__PURE__ */ jsx17("style", { children: `
|
|
2020
1994
|
.${customId}::-webkit-scrollbar {
|
|
2021
1995
|
${w ? `width: ${w} !important; height: ${w} !important;` : ""}
|
|
2022
1996
|
${track ? `background: ${track} !important;` : ""}
|
|
@@ -2038,7 +2012,7 @@ var StnScroll = forwardRef13(function StnScroll2({
|
|
|
2038
2012
|
...thumbColor && { scrollbarColor: `${thumbColor} ${trackColor || "transparent"}` },
|
|
2039
2013
|
...style
|
|
2040
2014
|
};
|
|
2041
|
-
const syncEdges =
|
|
2015
|
+
const syncEdges = useCallback3(() => {
|
|
2042
2016
|
const el = innerRef.current;
|
|
2043
2017
|
if (!el) return;
|
|
2044
2018
|
setEdges({
|
|
@@ -2075,7 +2049,7 @@ var StnScroll = forwardRef13(function StnScroll2({
|
|
|
2075
2049
|
behavior: "smooth"
|
|
2076
2050
|
});
|
|
2077
2051
|
};
|
|
2078
|
-
const scrollElement = /* @__PURE__ */
|
|
2052
|
+
const scrollElement = /* @__PURE__ */ jsx17(
|
|
2079
2053
|
"div",
|
|
2080
2054
|
{
|
|
2081
2055
|
ref: setNode,
|
|
@@ -2094,7 +2068,7 @@ var StnScroll = forwardRef13(function StnScroll2({
|
|
|
2094
2068
|
}
|
|
2095
2069
|
);
|
|
2096
2070
|
if (!hasArrows) {
|
|
2097
|
-
return /* @__PURE__ */
|
|
2071
|
+
return /* @__PURE__ */ jsxs11(Fragment, { children: [
|
|
2098
2072
|
dynamicStyleTag,
|
|
2099
2073
|
scrollElement
|
|
2100
2074
|
] });
|
|
@@ -2102,11 +2076,11 @@ var StnScroll = forwardRef13(function StnScroll2({
|
|
|
2102
2076
|
const shellStyle = {
|
|
2103
2077
|
"--stn-scroll-width": barWidth(size, scrollWidth)
|
|
2104
2078
|
};
|
|
2105
|
-
return /* @__PURE__ */
|
|
2079
|
+
return /* @__PURE__ */ jsxs11(Fragment, { children: [
|
|
2106
2080
|
dynamicStyleTag,
|
|
2107
|
-
/* @__PURE__ */
|
|
2108
|
-
showY ? /* @__PURE__ */
|
|
2109
|
-
/* @__PURE__ */
|
|
2081
|
+
/* @__PURE__ */ jsxs11("div", { className: cn("stn-scroll-shell", `stn-scroll-shell--${orientation}`), style: shellStyle, children: [
|
|
2082
|
+
showY ? /* @__PURE__ */ jsxs11(Fragment, { children: [
|
|
2083
|
+
/* @__PURE__ */ jsx17(
|
|
2110
2084
|
ScrollArrow,
|
|
2111
2085
|
{
|
|
2112
2086
|
direction: "up",
|
|
@@ -2115,7 +2089,7 @@ var StnScroll = forwardRef13(function StnScroll2({
|
|
|
2115
2089
|
onClick: () => scrollByAxis("y", -1)
|
|
2116
2090
|
}
|
|
2117
2091
|
),
|
|
2118
|
-
/* @__PURE__ */
|
|
2092
|
+
/* @__PURE__ */ jsx17(
|
|
2119
2093
|
ScrollArrow,
|
|
2120
2094
|
{
|
|
2121
2095
|
direction: "down",
|
|
@@ -2126,8 +2100,8 @@ var StnScroll = forwardRef13(function StnScroll2({
|
|
|
2126
2100
|
)
|
|
2127
2101
|
] }) : null,
|
|
2128
2102
|
scrollElement,
|
|
2129
|
-
showX ? /* @__PURE__ */
|
|
2130
|
-
/* @__PURE__ */
|
|
2103
|
+
showX ? /* @__PURE__ */ jsxs11(Fragment, { children: [
|
|
2104
|
+
/* @__PURE__ */ jsx17(
|
|
2131
2105
|
ScrollArrow,
|
|
2132
2106
|
{
|
|
2133
2107
|
direction: "left",
|
|
@@ -2136,7 +2110,7 @@ var StnScroll = forwardRef13(function StnScroll2({
|
|
|
2136
2110
|
onClick: () => scrollByAxis("x", -1)
|
|
2137
2111
|
}
|
|
2138
2112
|
),
|
|
2139
|
-
/* @__PURE__ */
|
|
2113
|
+
/* @__PURE__ */ jsx17(
|
|
2140
2114
|
ScrollArrow,
|
|
2141
2115
|
{
|
|
2142
2116
|
direction: "right",
|
|
@@ -2155,7 +2129,7 @@ function ScrollArrow({
|
|
|
2155
2129
|
label,
|
|
2156
2130
|
...rest
|
|
2157
2131
|
}) {
|
|
2158
|
-
return /* @__PURE__ */
|
|
2132
|
+
return /* @__PURE__ */ jsxs11(
|
|
2159
2133
|
"button",
|
|
2160
2134
|
{
|
|
2161
2135
|
type: "button",
|
|
@@ -2163,15 +2137,161 @@ function ScrollArrow({
|
|
|
2163
2137
|
"aria-label": label,
|
|
2164
2138
|
...rest,
|
|
2165
2139
|
children: [
|
|
2166
|
-
direction === "up" && /* @__PURE__ */
|
|
2167
|
-
direction === "down" && /* @__PURE__ */
|
|
2168
|
-
direction === "left" && /* @__PURE__ */
|
|
2169
|
-
direction === "right" && /* @__PURE__ */
|
|
2140
|
+
direction === "up" && /* @__PURE__ */ jsx17("svg", { width: "7", height: "6", viewBox: "0 0 7 6", fill: "currentColor", children: /* @__PURE__ */ jsx17("path", { d: "M2.78 1.13a0.85 0.85 0 0 1 1.44 0l2.12 3.18A0.85 0.85 0 0 1 5.64 5.6H1.36a0.85 0.85 0 0 1-.7-1.29l2.12-3.18z" }) }),
|
|
2141
|
+
direction === "down" && /* @__PURE__ */ jsx17("svg", { width: "7", height: "6", viewBox: "0 0 7 6", fill: "currentColor", children: /* @__PURE__ */ jsx17("path", { d: "M2.78 4.87a0.85 0.85 0 0 0 1.44 0l2.12-3.18A0.85 0.85 0 0 0 5.64 0.4H1.36a0.85 0.85 0 0 0-.7 1.29l2.12 3.18z" }) }),
|
|
2142
|
+
direction === "left" && /* @__PURE__ */ jsx17("svg", { width: "6", height: "7", viewBox: "0 0 6 7", fill: "currentColor", children: /* @__PURE__ */ jsx17("path", { d: "M1.13 4.22a0.85 0.85 0 0 1 0-1.44l3.18-2.12A0.85 0.85 0 0 1 5.6 1.36v4.28a0.85 0.85 0 0 1-1.29.7L1.13 4.22z" }) }),
|
|
2143
|
+
direction === "right" && /* @__PURE__ */ jsx17("svg", { width: "6", height: "7", viewBox: "0 0 6 7", fill: "currentColor", children: /* @__PURE__ */ jsx17("path", { d: "M4.87 4.22a0.85 0.85 0 0 0 0-1.44L1.69 0.66A0.85 0.85 0 0 0 0.4 1.36v4.28a0.85 0.85 0 0 0 1.29.7l3.18-2.12z" }) })
|
|
2170
2144
|
]
|
|
2171
2145
|
}
|
|
2172
2146
|
);
|
|
2173
2147
|
}
|
|
2174
2148
|
|
|
2149
|
+
// src/components/StnTree.tsx
|
|
2150
|
+
import { jsx as jsx18, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
2151
|
+
function useControllableSet(controlled, defaultIds, defaultExpandAll, allExpandable) {
|
|
2152
|
+
const [internal, setInternal] = useState5(() => {
|
|
2153
|
+
if (defaultIds != null) return defaultIds;
|
|
2154
|
+
if (defaultExpandAll) return allExpandable;
|
|
2155
|
+
return [];
|
|
2156
|
+
});
|
|
2157
|
+
const value = controlled ?? internal;
|
|
2158
|
+
const setValue = useCallback4(
|
|
2159
|
+
(next) => {
|
|
2160
|
+
const resolved = typeof next === "function" ? next(controlled ?? internal) : next;
|
|
2161
|
+
if (controlled == null) setInternal(resolved);
|
|
2162
|
+
},
|
|
2163
|
+
[controlled, internal]
|
|
2164
|
+
);
|
|
2165
|
+
return [value, setValue];
|
|
2166
|
+
}
|
|
2167
|
+
var StnTree = forwardRef13(function StnTree2({
|
|
2168
|
+
nodes,
|
|
2169
|
+
heading,
|
|
2170
|
+
defaultExpandAll = false,
|
|
2171
|
+
defaultExpandedIds,
|
|
2172
|
+
expandedIds,
|
|
2173
|
+
onExpandedChange,
|
|
2174
|
+
selectedId,
|
|
2175
|
+
defaultSelectedId = null,
|
|
2176
|
+
onSelect,
|
|
2177
|
+
size = "sm",
|
|
2178
|
+
width = "full",
|
|
2179
|
+
radius = "sm",
|
|
2180
|
+
guides = true,
|
|
2181
|
+
showIcons = true,
|
|
2182
|
+
showVisibilityToggle = false,
|
|
2183
|
+
onVisibilityChange,
|
|
2184
|
+
hiddenIds: controlledHiddenIds,
|
|
2185
|
+
defaultHiddenIds,
|
|
2186
|
+
docRowState,
|
|
2187
|
+
maxHeight,
|
|
2188
|
+
scrollVariant = "default",
|
|
2189
|
+
scrollSize = "thin",
|
|
2190
|
+
scrollColor = "fade",
|
|
2191
|
+
className,
|
|
2192
|
+
...rest
|
|
2193
|
+
}, ref) {
|
|
2194
|
+
const expandableIds = useMemo2(() => collectExpandableIds(nodes), [nodes]);
|
|
2195
|
+
const [expanded, setExpanded] = useControllableSet(
|
|
2196
|
+
expandedIds,
|
|
2197
|
+
defaultExpandedIds,
|
|
2198
|
+
defaultExpandAll,
|
|
2199
|
+
expandableIds
|
|
2200
|
+
);
|
|
2201
|
+
const [internalSelected, setInternalSelected] = useState5(defaultSelectedId);
|
|
2202
|
+
const selected = selectedId ?? internalSelected;
|
|
2203
|
+
const [internalHidden, setInternalHidden] = useState5(() => defaultHiddenIds ?? []);
|
|
2204
|
+
const hidden = controlledHiddenIds ?? internalHidden;
|
|
2205
|
+
const handleVisibilityToggle = useCallback4(
|
|
2206
|
+
(id, nextVisible) => {
|
|
2207
|
+
if (controlledHiddenIds == null) {
|
|
2208
|
+
setInternalHidden(
|
|
2209
|
+
(prev) => nextVisible ? prev.filter((item) => item !== id) : [...prev, id]
|
|
2210
|
+
);
|
|
2211
|
+
}
|
|
2212
|
+
onVisibilityChange?.(id, nextVisible);
|
|
2213
|
+
},
|
|
2214
|
+
[controlledHiddenIds, onVisibilityChange]
|
|
2215
|
+
);
|
|
2216
|
+
const rows = useMemo2(() => flattenStnTree(nodes, expanded), [nodes, expanded]);
|
|
2217
|
+
const setExpandedIds = useCallback4(
|
|
2218
|
+
(next) => {
|
|
2219
|
+
setExpanded(next);
|
|
2220
|
+
onExpandedChange?.(next);
|
|
2221
|
+
},
|
|
2222
|
+
[onExpandedChange, setExpanded]
|
|
2223
|
+
);
|
|
2224
|
+
const handleToggle = useCallback4(
|
|
2225
|
+
(id) => {
|
|
2226
|
+
setExpandedIds(
|
|
2227
|
+
expanded.includes(id) ? expanded.filter((item) => item !== id) : [...expanded, id]
|
|
2228
|
+
);
|
|
2229
|
+
},
|
|
2230
|
+
[expanded, setExpandedIds]
|
|
2231
|
+
);
|
|
2232
|
+
const handleSelect = useCallback4(
|
|
2233
|
+
(id) => {
|
|
2234
|
+
if (selectedId == null) setInternalSelected(id);
|
|
2235
|
+
onSelect?.(id);
|
|
2236
|
+
},
|
|
2237
|
+
[onSelect, selectedId]
|
|
2238
|
+
);
|
|
2239
|
+
const rowsContent = /* @__PURE__ */ jsx18("div", { className: "stn-tree__rows", role: "tree", "aria-label": heading || "folder tree", children: rows.map((row) => {
|
|
2240
|
+
const isHidden = hidden.includes(row.id) || !row.visible;
|
|
2241
|
+
return /* @__PURE__ */ jsx18(
|
|
2242
|
+
StnTreeNode,
|
|
2243
|
+
{
|
|
2244
|
+
label: row.label,
|
|
2245
|
+
kind: row.kind,
|
|
2246
|
+
bold: row.bold,
|
|
2247
|
+
depth: row.depth,
|
|
2248
|
+
expanded: row.expanded,
|
|
2249
|
+
selected: selected === row.id,
|
|
2250
|
+
hasChildren: row.hasChildren,
|
|
2251
|
+
isLast: row.isLast,
|
|
2252
|
+
cells: row.cells,
|
|
2253
|
+
showIcon: showIcons,
|
|
2254
|
+
visible: !isHidden,
|
|
2255
|
+
showVisibilityToggle,
|
|
2256
|
+
onVisibilityChange: (nextVisible) => handleVisibilityToggle(row.id, nextVisible),
|
|
2257
|
+
docState: docRowState?.id === row.id ? docRowState.state : "default",
|
|
2258
|
+
onToggle: () => handleToggle(row.id),
|
|
2259
|
+
onSelect: () => handleSelect(row.id)
|
|
2260
|
+
},
|
|
2261
|
+
row.id
|
|
2262
|
+
);
|
|
2263
|
+
}) });
|
|
2264
|
+
return /* @__PURE__ */ jsxs12(
|
|
2265
|
+
"div",
|
|
2266
|
+
{
|
|
2267
|
+
ref,
|
|
2268
|
+
className: cn(
|
|
2269
|
+
"stn-tree",
|
|
2270
|
+
size !== "sm" && `stn-tree--${size}`,
|
|
2271
|
+
width !== "full" && `stn-tree--${width}`,
|
|
2272
|
+
radius !== "sm" && `stn-tree--radius-${radius}`,
|
|
2273
|
+
!guides && "stn-tree--no-guides",
|
|
2274
|
+
className
|
|
2275
|
+
),
|
|
2276
|
+
...rest,
|
|
2277
|
+
children: [
|
|
2278
|
+
heading ? /* @__PURE__ */ jsx18("p", { className: "stn-tree__heading", children: heading }) : null,
|
|
2279
|
+
maxHeight != null ? /* @__PURE__ */ jsx18(
|
|
2280
|
+
StnScroll,
|
|
2281
|
+
{
|
|
2282
|
+
orientation: "vertical",
|
|
2283
|
+
maxHeight,
|
|
2284
|
+
variant: scrollVariant,
|
|
2285
|
+
size: scrollSize,
|
|
2286
|
+
color: scrollColor,
|
|
2287
|
+
children: rowsContent
|
|
2288
|
+
}
|
|
2289
|
+
) : rowsContent
|
|
2290
|
+
]
|
|
2291
|
+
}
|
|
2292
|
+
);
|
|
2293
|
+
});
|
|
2294
|
+
|
|
2175
2295
|
// src/components/StnCard.tsx
|
|
2176
2296
|
import { forwardRef as forwardRef14 } from "react";
|
|
2177
2297
|
import { jsx as jsx19, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
@@ -2571,7 +2691,7 @@ function StnChip(props) {
|
|
|
2571
2691
|
const resolvedShape = rawShape === "rounded" || rawShape === "square" ? "square" : rawShape;
|
|
2572
2692
|
const isOutline = variant === "outline" || variant === "outlined" || variant === "border";
|
|
2573
2693
|
const isSubtle = bgOpacity === 50 || bgOpacity === "50" || bgOpacity === "50%" || bgOpacity === 0.5 || variant === "subtle" || variant === "soft" || variant === "tinted" || variant === "contained-50" || variant === "filled-50";
|
|
2574
|
-
const
|
|
2694
|
+
const variantClass6 = isOutline ? "outline" : isSubtle ? "subtle contained-50 bg-50" : "filled";
|
|
2575
2695
|
const resolvedColor = color ?? grade;
|
|
2576
2696
|
let content = children ?? label;
|
|
2577
2697
|
if (!content && grade && STN_GRADE_SOURCE[grade]) {
|
|
@@ -2628,7 +2748,7 @@ function StnChip(props) {
|
|
|
2628
2748
|
tabIndex,
|
|
2629
2749
|
className: cn(
|
|
2630
2750
|
"stn-chip",
|
|
2631
|
-
|
|
2751
|
+
variantClass6,
|
|
2632
2752
|
size,
|
|
2633
2753
|
resolvedShape,
|
|
2634
2754
|
resolvedColor,
|
|
@@ -3032,13 +3152,13 @@ var StnSwitch = forwardRef20(function StnSwitch2({
|
|
|
3032
3152
|
} : color && !isKnownTone ? {
|
|
3033
3153
|
"--stn-switch-track-checked": color
|
|
3034
3154
|
} : void 0;
|
|
3035
|
-
const
|
|
3155
|
+
const sizeClass5 = size !== "md" ? size : "";
|
|
3036
3156
|
return /* @__PURE__ */ jsxs22(
|
|
3037
3157
|
"label",
|
|
3038
3158
|
{
|
|
3039
3159
|
className: cn(
|
|
3040
3160
|
"stn-switch",
|
|
3041
|
-
|
|
3161
|
+
sizeClass5,
|
|
3042
3162
|
toneClass,
|
|
3043
3163
|
gradientClass,
|
|
3044
3164
|
positionClass,
|
|
@@ -3100,7 +3220,7 @@ var StnRadio = forwardRef21(function StnRadio2({
|
|
|
3100
3220
|
"warning"
|
|
3101
3221
|
].includes(color);
|
|
3102
3222
|
const toneClass = isKnownTone ? color : "";
|
|
3103
|
-
const
|
|
3223
|
+
const sizeClass5 = size !== "md" ? size : "";
|
|
3104
3224
|
const inlineStyle = color && !isKnownTone ? {
|
|
3105
3225
|
"--stn-radio-dot": color,
|
|
3106
3226
|
"--stn-radio-checked-border": color
|
|
@@ -3111,7 +3231,7 @@ var StnRadio = forwardRef21(function StnRadio2({
|
|
|
3111
3231
|
className: cn(
|
|
3112
3232
|
"radio",
|
|
3113
3233
|
"stn-radio",
|
|
3114
|
-
|
|
3234
|
+
sizeClass5,
|
|
3115
3235
|
toneClass,
|
|
3116
3236
|
placementClass,
|
|
3117
3237
|
isControlOnly && "control-only",
|
|
@@ -3311,6 +3431,10 @@ function resolveInputWidthProps(_prefix, fullWidth, width) {
|
|
|
3311
3431
|
|
|
3312
3432
|
// src/components/StnDropdown.tsx
|
|
3313
3433
|
import { jsx as jsx33, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
3434
|
+
function resolveGlyph(node) {
|
|
3435
|
+
if (typeof node === "string") return /* @__PURE__ */ jsx33(StnIcon, { name: node, size: 16, color: "currentColor" });
|
|
3436
|
+
return node;
|
|
3437
|
+
}
|
|
3314
3438
|
function modifierClass(modifier) {
|
|
3315
3439
|
if (modifier === "pageSize") return "stn-table__page-size";
|
|
3316
3440
|
if (modifier === "serverFilter") return "server_filter";
|
|
@@ -3331,6 +3455,7 @@ function menuSizeClass(size, prominent) {
|
|
|
3331
3455
|
function variantClass(variant = "outline") {
|
|
3332
3456
|
if (variant === "standard") return "standard";
|
|
3333
3457
|
if (variant === "filled") return "filled";
|
|
3458
|
+
if (variant === "transparent") return "transparent";
|
|
3334
3459
|
return "outline";
|
|
3335
3460
|
}
|
|
3336
3461
|
function useControllable(controlled, defaultValue, onChange) {
|
|
@@ -3358,6 +3483,11 @@ function StnDropdown({
|
|
|
3358
3483
|
error = false,
|
|
3359
3484
|
readOnly = false,
|
|
3360
3485
|
placeholder,
|
|
3486
|
+
label,
|
|
3487
|
+
labelIcon,
|
|
3488
|
+
icon,
|
|
3489
|
+
labelPosition = "left",
|
|
3490
|
+
required = false,
|
|
3361
3491
|
helperText,
|
|
3362
3492
|
helperTextPosition = "bottom",
|
|
3363
3493
|
prominent = false,
|
|
@@ -3490,29 +3620,46 @@ function StnDropdown({
|
|
|
3490
3620
|
]
|
|
3491
3621
|
}
|
|
3492
3622
|
);
|
|
3493
|
-
|
|
3623
|
+
const hasLabel = label != null && label !== "";
|
|
3624
|
+
const hasWrap = hasLabel || hasHelper;
|
|
3625
|
+
if (!hasWrap) return dropdownNode;
|
|
3626
|
+
const resolvedLabelIcon = labelIcon ?? icon;
|
|
3627
|
+
const labelElement = hasLabel ? /* @__PURE__ */ jsxs25("label", { htmlFor: rootId, className: "stn-dropdown__label", children: [
|
|
3628
|
+
resolvedLabelIcon ? /* @__PURE__ */ jsx33("span", { className: "stn-dropdown__label-icon", "aria-hidden": "true", children: resolveGlyph(resolvedLabelIcon) }) : null,
|
|
3629
|
+
/* @__PURE__ */ jsx33("span", { className: "stn-dropdown__label-text", children: label }),
|
|
3630
|
+
required && /* @__PURE__ */ jsx33("span", { className: "stn-dropdown__required", "aria-hidden": "true", children: "*" })
|
|
3631
|
+
] }) : null;
|
|
3632
|
+
const isRow = labelPosition === "left" || labelPosition === "right";
|
|
3494
3633
|
return /* @__PURE__ */ jsxs25(
|
|
3495
3634
|
"div",
|
|
3496
3635
|
{
|
|
3497
3636
|
className: cn(
|
|
3498
|
-
"stn-dropdown-
|
|
3499
|
-
|
|
3637
|
+
"stn-dropdown-wrap",
|
|
3638
|
+
hasLabel && (isRow ? "stn-dropdown-wrap--row" : "stn-dropdown-wrap--col"),
|
|
3639
|
+
hasLabel && labelPosition === "left" && "stn-dropdown-wrap--label-left",
|
|
3640
|
+
hasLabel && labelPosition === "right" && "stn-dropdown-wrap--label-right",
|
|
3641
|
+
hasLabel && labelPosition === "top" && "stn-dropdown-wrap--label-top",
|
|
3642
|
+
!hasLabel && hasHelper && `stn-dropdown-field--pos-${helperTextPosition}`,
|
|
3500
3643
|
error && "is-error",
|
|
3501
|
-
|
|
3644
|
+
widthProps.className,
|
|
3502
3645
|
className
|
|
3503
3646
|
),
|
|
3504
|
-
style:
|
|
3647
|
+
style: widthProps.style,
|
|
3505
3648
|
...divRest,
|
|
3506
3649
|
children: [
|
|
3507
|
-
|
|
3508
|
-
/* @__PURE__ */
|
|
3509
|
-
|
|
3510
|
-
|
|
3511
|
-
|
|
3512
|
-
|
|
3513
|
-
|
|
3514
|
-
|
|
3515
|
-
|
|
3650
|
+
hasLabel && (labelPosition === "left" || labelPosition === "top") ? labelElement : null,
|
|
3651
|
+
/* @__PURE__ */ jsxs25("div", { className: "stn-dropdown-wrap__body", children: [
|
|
3652
|
+
dropdownNode,
|
|
3653
|
+
hasHelper && /* @__PURE__ */ jsx33(
|
|
3654
|
+
"span",
|
|
3655
|
+
{
|
|
3656
|
+
id: helperId,
|
|
3657
|
+
className: cn("stn-dropdown__helper", error && "stn-dropdown__helper--error"),
|
|
3658
|
+
children: helperText
|
|
3659
|
+
}
|
|
3660
|
+
)
|
|
3661
|
+
] }),
|
|
3662
|
+
hasLabel && labelPosition === "right" ? labelElement : null
|
|
3516
3663
|
]
|
|
3517
3664
|
}
|
|
3518
3665
|
);
|
|
@@ -3555,13 +3702,14 @@ function sizeClass2(size) {
|
|
|
3555
3702
|
function variantClass2(variant) {
|
|
3556
3703
|
if (variant === "filled") return "filled";
|
|
3557
3704
|
if (variant === "standard") return "standard";
|
|
3705
|
+
if (variant === "transparent") return "transparent";
|
|
3558
3706
|
return "outlined";
|
|
3559
3707
|
}
|
|
3560
3708
|
function colorClass(color) {
|
|
3561
3709
|
if (!color || color === "primary" || color === "secondary") return void 0;
|
|
3562
3710
|
return color;
|
|
3563
3711
|
}
|
|
3564
|
-
function
|
|
3712
|
+
function resolveGlyph2(node) {
|
|
3565
3713
|
if (typeof node === "string") return /* @__PURE__ */ jsx35(StnIcon, { name: node, size: 16, color: "currentColor" });
|
|
3566
3714
|
return node;
|
|
3567
3715
|
}
|
|
@@ -3573,10 +3721,9 @@ var StnTextField = forwardRef22(function StnTextField2({
|
|
|
3573
3721
|
fullWidth,
|
|
3574
3722
|
width,
|
|
3575
3723
|
label,
|
|
3724
|
+
labelIcon,
|
|
3576
3725
|
labelPosition = "left",
|
|
3577
3726
|
required,
|
|
3578
|
-
prefix,
|
|
3579
|
-
suffix,
|
|
3580
3727
|
icon,
|
|
3581
3728
|
iconPosition,
|
|
3582
3729
|
helperText,
|
|
@@ -3591,10 +3738,8 @@ var StnTextField = forwardRef22(function StnTextField2({
|
|
|
3591
3738
|
const autoId = useId10();
|
|
3592
3739
|
const id = idProp ?? autoId;
|
|
3593
3740
|
const resolvedIconPos = iconPosition ?? "left";
|
|
3594
|
-
const
|
|
3595
|
-
const
|
|
3596
|
-
const leftNode = prefix ?? leftFromIcon;
|
|
3597
|
-
const rightNode = suffix ?? rightFromIcon;
|
|
3741
|
+
const leftNode = icon != null && resolvedIconPos === "left" ? icon : void 0;
|
|
3742
|
+
const rightNode = icon != null && resolvedIconPos === "right" ? icon : void 0;
|
|
3598
3743
|
const hasLeft = leftNode != null && leftNode !== false;
|
|
3599
3744
|
const hasRight = rightNode != null && rightNode !== false;
|
|
3600
3745
|
const hasSlot = hasLeft || hasRight;
|
|
@@ -3611,7 +3756,6 @@ var StnTextField = forwardRef22(function StnTextField2({
|
|
|
3611
3756
|
colorClass(color),
|
|
3612
3757
|
!hasWrap && widthProps.className,
|
|
3613
3758
|
invalid && "stn-text-field--invalid",
|
|
3614
|
-
Boolean(prefix) && "stn-text-field--with-prefix",
|
|
3615
3759
|
hasSlot && "stn-text-field--with-icon",
|
|
3616
3760
|
className
|
|
3617
3761
|
);
|
|
@@ -3631,12 +3775,13 @@ var StnTextField = forwardRef22(function StnTextField2({
|
|
|
3631
3775
|
}
|
|
3632
3776
|
);
|
|
3633
3777
|
const field = hasSlot ? /* @__PURE__ */ jsxs26("div", { className: fieldClass, style: hasWrap ? void 0 : widthProps.style, children: [
|
|
3634
|
-
hasLeft ? /* @__PURE__ */ jsx35("span", { className: "stn-text-
|
|
3778
|
+
hasLeft ? /* @__PURE__ */ jsx35("span", { className: "stn-text-field__icon-left", "aria-hidden": true, children: /* @__PURE__ */ jsx35("span", { className: "stn-text-field__icon-box", children: resolveGlyph2(leftNode) }) }) : null,
|
|
3635
3779
|
input,
|
|
3636
|
-
hasRight ? /* @__PURE__ */ jsx35("span", { className: "stn-text-
|
|
3780
|
+
hasRight ? /* @__PURE__ */ jsx35("span", { className: "stn-text-field__icon-right", "aria-hidden": true, children: /* @__PURE__ */ jsx35("span", { className: "stn-text-field__icon-box", children: resolveGlyph2(rightNode) }) }) : null
|
|
3637
3781
|
] }) : input;
|
|
3638
3782
|
if (!hasWrap) return field;
|
|
3639
3783
|
const labelElement = hasLabel ? /* @__PURE__ */ jsxs26("label", { htmlFor: id, className: "stn-text-field__label", children: [
|
|
3784
|
+
labelIcon ? /* @__PURE__ */ jsx35("span", { className: "stn-text-field__label-icon", "aria-hidden": "true", children: resolveGlyph2(labelIcon) }) : null,
|
|
3640
3785
|
/* @__PURE__ */ jsx35("span", { className: "stn-text-field__label-text", children: label }),
|
|
3641
3786
|
required && /* @__PURE__ */ jsx35("span", { className: "stn-text-field__required", "aria-hidden": "true", children: "*" })
|
|
3642
3787
|
] }) : null;
|
|
@@ -3673,21 +3818,30 @@ var StnTextField = forwardRef22(function StnTextField2({
|
|
|
3673
3818
|
});
|
|
3674
3819
|
|
|
3675
3820
|
// src/components/StnDateRangeField.tsx
|
|
3676
|
-
import { forwardRef as forwardRef23 } from "react";
|
|
3821
|
+
import { forwardRef as forwardRef23, useId as useId11 } from "react";
|
|
3677
3822
|
import {
|
|
3678
3823
|
formatStnDateRangeFieldValue
|
|
3679
3824
|
} from "@stn-uiux/pub-ui/data/stnDateRangeField";
|
|
3680
3825
|
import { jsx as jsx36, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
3826
|
+
function resolveGlyph3(node) {
|
|
3827
|
+
if (typeof node === "string") return /* @__PURE__ */ jsx36(StnIcon, { name: node, size: 16, color: "currentColor" });
|
|
3828
|
+
return node;
|
|
3829
|
+
}
|
|
3681
3830
|
function normalizeSize2(size) {
|
|
3682
3831
|
if (!size) return "md";
|
|
3683
3832
|
const s = String(size).toLowerCase();
|
|
3684
3833
|
if (s === "s" || s === "sm") return "sm";
|
|
3685
3834
|
if (s === "l" || s === "lg") return "lg";
|
|
3835
|
+
if (s === "xl") return "xl";
|
|
3686
3836
|
return "md";
|
|
3687
3837
|
}
|
|
3688
3838
|
function sizeClass3(size) {
|
|
3689
3839
|
return normalizeSize2(size);
|
|
3690
3840
|
}
|
|
3841
|
+
function variantClass3(variant = "outline") {
|
|
3842
|
+
if (variant === "transparent") return "transparent";
|
|
3843
|
+
return "";
|
|
3844
|
+
}
|
|
3691
3845
|
function resolveValue(value, format) {
|
|
3692
3846
|
if (value == null) return null;
|
|
3693
3847
|
if (value instanceof Date) return format(value);
|
|
@@ -3696,53 +3850,212 @@ function resolveValue(value, format) {
|
|
|
3696
3850
|
}
|
|
3697
3851
|
var StnDateRangeField = forwardRef23(function StnDateRangeField2({
|
|
3698
3852
|
size = "md",
|
|
3853
|
+
variant = "outline",
|
|
3699
3854
|
start,
|
|
3700
3855
|
end,
|
|
3701
3856
|
format = formatStnDateRangeFieldValue,
|
|
3702
3857
|
startPlaceholder = "Start",
|
|
3703
3858
|
endPlaceholder = "End",
|
|
3859
|
+
label,
|
|
3860
|
+
labelIcon,
|
|
3861
|
+
icon,
|
|
3862
|
+
labelPosition = "left",
|
|
3863
|
+
required = false,
|
|
3864
|
+
helperText,
|
|
3704
3865
|
invalid,
|
|
3705
3866
|
fullWidth,
|
|
3706
3867
|
width,
|
|
3707
3868
|
className,
|
|
3708
3869
|
style,
|
|
3709
3870
|
disabled,
|
|
3871
|
+
id: idProp,
|
|
3710
3872
|
type = "button",
|
|
3711
3873
|
"aria-invalid": ariaInvalid,
|
|
3712
3874
|
...rest
|
|
3713
3875
|
}, ref) {
|
|
3876
|
+
const autoId = useId11();
|
|
3877
|
+
const rootId = idProp ?? `stn-date-range-${autoId.replace(/:/g, "")}`;
|
|
3714
3878
|
const startText = resolveValue(start, format);
|
|
3715
3879
|
const endText = resolveValue(end, format);
|
|
3716
3880
|
const isEmpty = !startText && !endText;
|
|
3717
|
-
const
|
|
3718
|
-
|
|
3881
|
+
const widthProps = resolveInputWidthProps("stn-date-range-field", fullWidth, width);
|
|
3882
|
+
const hasLabel = label != null && label !== "";
|
|
3883
|
+
const hasHelper = helperText != null && helperText !== "";
|
|
3884
|
+
const hasWrap = hasLabel || hasHelper;
|
|
3885
|
+
const buttonNode = /* @__PURE__ */ jsx36(
|
|
3719
3886
|
"button",
|
|
3720
3887
|
{
|
|
3721
3888
|
ref,
|
|
3889
|
+
id: rootId,
|
|
3722
3890
|
type,
|
|
3723
3891
|
disabled,
|
|
3724
3892
|
"aria-invalid": invalid ? true : ariaInvalid,
|
|
3725
3893
|
className: cn(
|
|
3726
|
-
"stn-date-range-field",
|
|
3727
|
-
sizeClass3(size),
|
|
3728
|
-
|
|
3729
|
-
|
|
3730
|
-
|
|
3894
|
+
"stn-date-range-field",
|
|
3895
|
+
sizeClass3(size),
|
|
3896
|
+
variantClass3(variant),
|
|
3897
|
+
!hasWrap && widthProps.className,
|
|
3898
|
+
fullWidth && "stn-date-range-field--full w100p",
|
|
3899
|
+
invalid && "stn-date-range-field--invalid",
|
|
3900
|
+
isEmpty && "is-empty",
|
|
3901
|
+
!hasWrap && className
|
|
3902
|
+
),
|
|
3903
|
+
style: !hasWrap ? widthProps.style ?? style : void 0,
|
|
3904
|
+
...rest,
|
|
3905
|
+
children: /* @__PURE__ */ jsxs27("span", { className: "stn-date-range-field__inner", children: [
|
|
3906
|
+
/* @__PURE__ */ jsxs27("span", { className: "stn-date-range-field__text", children: [
|
|
3907
|
+
/* @__PURE__ */ jsx36("span", { className: cn("stn-date-range-field__value", !startText && "is-placeholder"), children: startText ?? startPlaceholder }),
|
|
3908
|
+
/* @__PURE__ */ jsx36("span", { className: "stn-date-range-field__sep", "aria-hidden": "true", children: "~" }),
|
|
3909
|
+
/* @__PURE__ */ jsx36("span", { className: cn("stn-date-range-field__value", !endText && "is-placeholder"), children: endText ?? endPlaceholder })
|
|
3910
|
+
] }),
|
|
3911
|
+
/* @__PURE__ */ jsx36("span", { className: "stn-date-range-field__icon", "aria-hidden": "true" })
|
|
3912
|
+
] })
|
|
3913
|
+
}
|
|
3914
|
+
);
|
|
3915
|
+
if (!hasWrap) return buttonNode;
|
|
3916
|
+
const resolvedLabelIcon = labelIcon ?? icon;
|
|
3917
|
+
const labelElement = hasLabel ? /* @__PURE__ */ jsxs27("label", { htmlFor: rootId, className: "stn-date-range-field__label", children: [
|
|
3918
|
+
resolvedLabelIcon ? /* @__PURE__ */ jsx36("span", { className: "stn-date-range-field__label-icon", "aria-hidden": "true", children: resolveGlyph3(resolvedLabelIcon) }) : null,
|
|
3919
|
+
/* @__PURE__ */ jsx36("span", { className: "stn-date-range-field__label-text", children: label }),
|
|
3920
|
+
required && /* @__PURE__ */ jsx36("span", { className: "stn-date-range-field__required", "aria-hidden": "true", children: "*" })
|
|
3921
|
+
] }) : null;
|
|
3922
|
+
const isRow = labelPosition === "left" || labelPosition === "right";
|
|
3923
|
+
return /* @__PURE__ */ jsxs27(
|
|
3924
|
+
"div",
|
|
3925
|
+
{
|
|
3926
|
+
className: cn(
|
|
3927
|
+
"stn-date-range-field-wrap",
|
|
3928
|
+
hasLabel && (isRow ? "stn-date-range-field-wrap--row" : "stn-date-range-field-wrap--col"),
|
|
3929
|
+
hasLabel && labelPosition === "left" && "stn-date-range-field-wrap--label-left",
|
|
3930
|
+
hasLabel && labelPosition === "right" && "stn-date-range-field-wrap--label-right",
|
|
3931
|
+
hasLabel && labelPosition === "top" && "stn-date-range-field-wrap--label-top",
|
|
3932
|
+
invalid && "is-error",
|
|
3933
|
+
widthProps.className,
|
|
3934
|
+
className
|
|
3935
|
+
),
|
|
3936
|
+
style: widthProps.style ?? style,
|
|
3937
|
+
children: [
|
|
3938
|
+
hasLabel && (labelPosition === "left" || labelPosition === "top") ? labelElement : null,
|
|
3939
|
+
/* @__PURE__ */ jsxs27("div", { className: "stn-date-range-field-wrap__body", children: [
|
|
3940
|
+
buttonNode,
|
|
3941
|
+
hasHelper && /* @__PURE__ */ jsx36(
|
|
3942
|
+
"span",
|
|
3943
|
+
{
|
|
3944
|
+
id: `${rootId}-helper`,
|
|
3945
|
+
className: cn(
|
|
3946
|
+
"stn-date-range-field__helper",
|
|
3947
|
+
invalid && "stn-date-range-field__helper--error"
|
|
3948
|
+
),
|
|
3949
|
+
children: helperText
|
|
3950
|
+
}
|
|
3951
|
+
)
|
|
3952
|
+
] }),
|
|
3953
|
+
hasLabel && labelPosition === "right" ? labelElement : null
|
|
3954
|
+
]
|
|
3955
|
+
}
|
|
3956
|
+
);
|
|
3957
|
+
});
|
|
3958
|
+
|
|
3959
|
+
// src/components/StnLabelPrefix.tsx
|
|
3960
|
+
import { useId as useId12 } from "react";
|
|
3961
|
+
import { jsx as jsx37, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
3962
|
+
function sizeClass4(size) {
|
|
3963
|
+
return size;
|
|
3964
|
+
}
|
|
3965
|
+
function variantClass4(variant) {
|
|
3966
|
+
return variant;
|
|
3967
|
+
}
|
|
3968
|
+
function StnLabelPrefix({
|
|
3969
|
+
label,
|
|
3970
|
+
labelIcon,
|
|
3971
|
+
labelPosition = "prefix",
|
|
3972
|
+
required = false,
|
|
3973
|
+
size = "md",
|
|
3974
|
+
variant = "outline",
|
|
3975
|
+
color,
|
|
3976
|
+
error = false,
|
|
3977
|
+
invalid = false,
|
|
3978
|
+
radius,
|
|
3979
|
+
fullWidth = false,
|
|
3980
|
+
width,
|
|
3981
|
+
helperText,
|
|
3982
|
+
disabled = false,
|
|
3983
|
+
children,
|
|
3984
|
+
className,
|
|
3985
|
+
id: idProp,
|
|
3986
|
+
...rest
|
|
3987
|
+
}) {
|
|
3988
|
+
const autoId = useId12();
|
|
3989
|
+
const id = idProp ?? autoId;
|
|
3990
|
+
const isError = error || invalid || color === "error";
|
|
3991
|
+
const hasHelper = helperText != null && helperText !== "";
|
|
3992
|
+
const helperId = hasHelper ? `${id}-helper` : void 0;
|
|
3993
|
+
const widthProps = resolveInputWidthProps("stn-label-prefix", fullWidth, width);
|
|
3994
|
+
const rootClass = cn(
|
|
3995
|
+
"stn-label-prefix",
|
|
3996
|
+
sizeClass4(size),
|
|
3997
|
+
variantClass4(variant),
|
|
3998
|
+
color && color !== "error" && color,
|
|
3999
|
+
labelPosition === "suffix" && "stn-label-prefix--suffix",
|
|
4000
|
+
radius && `radius-${radius}`,
|
|
4001
|
+
!hasHelper && widthProps.className,
|
|
4002
|
+
disabled && "is-disabled",
|
|
4003
|
+
isError && "is-error",
|
|
4004
|
+
!hasHelper && className
|
|
4005
|
+
);
|
|
4006
|
+
const labelSection = /* @__PURE__ */ jsxs28("span", { className: "stn-label-prefix__label", children: [
|
|
4007
|
+
labelIcon != null && /* @__PURE__ */ jsx37("span", { className: "stn-label-prefix__icon", "aria-hidden": "true", children: labelIcon }),
|
|
4008
|
+
/* @__PURE__ */ jsxs28("span", { className: "stn-label-prefix__text", children: [
|
|
4009
|
+
label,
|
|
4010
|
+
required && /* @__PURE__ */ jsx37("span", { className: "stn-label-prefix__required", "aria-hidden": "true", children: "*" })
|
|
4011
|
+
] }),
|
|
4012
|
+
/* @__PURE__ */ jsx37("span", { className: "stn-label-prefix__divider", "aria-hidden": "true" })
|
|
4013
|
+
] });
|
|
4014
|
+
const prefixNode = /* @__PURE__ */ jsxs28(
|
|
4015
|
+
"div",
|
|
4016
|
+
{
|
|
4017
|
+
id: !hasHelper ? id : void 0,
|
|
4018
|
+
className: rootClass,
|
|
4019
|
+
style: !hasHelper ? widthProps.style : void 0,
|
|
4020
|
+
"aria-disabled": disabled || void 0,
|
|
4021
|
+
"aria-invalid": isError || void 0,
|
|
4022
|
+
"aria-describedby": helperId,
|
|
4023
|
+
...!hasHelper ? rest : {},
|
|
4024
|
+
children: [
|
|
4025
|
+
labelSection,
|
|
4026
|
+
/* @__PURE__ */ jsx37("span", { className: "stn-label-prefix__control", children })
|
|
4027
|
+
]
|
|
4028
|
+
}
|
|
4029
|
+
);
|
|
4030
|
+
if (!hasHelper) {
|
|
4031
|
+
return prefixNode;
|
|
4032
|
+
}
|
|
4033
|
+
return /* @__PURE__ */ jsxs28(
|
|
4034
|
+
"div",
|
|
4035
|
+
{
|
|
4036
|
+
id,
|
|
4037
|
+
className: cn(
|
|
4038
|
+
"stn-label-prefix-wrap",
|
|
4039
|
+
isError && "is-error",
|
|
4040
|
+
widthProps.className,
|
|
3731
4041
|
className
|
|
3732
4042
|
),
|
|
3733
|
-
style:
|
|
4043
|
+
style: widthProps.style,
|
|
3734
4044
|
...rest,
|
|
3735
|
-
children:
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
|
|
3739
|
-
|
|
3740
|
-
|
|
3741
|
-
|
|
3742
|
-
|
|
4045
|
+
children: [
|
|
4046
|
+
prefixNode,
|
|
4047
|
+
/* @__PURE__ */ jsx37(
|
|
4048
|
+
"p",
|
|
4049
|
+
{
|
|
4050
|
+
id: helperId,
|
|
4051
|
+
className: cn("stn-label-prefix__helper", isError && "stn-label-prefix__helper--error"),
|
|
4052
|
+
children: helperText
|
|
4053
|
+
}
|
|
4054
|
+
)
|
|
4055
|
+
]
|
|
3743
4056
|
}
|
|
3744
4057
|
);
|
|
3745
|
-
}
|
|
4058
|
+
}
|
|
3746
4059
|
|
|
3747
4060
|
// src/index.ts
|
|
3748
4061
|
import {
|
|
@@ -3797,18 +4110,19 @@ import {
|
|
|
3797
4110
|
} from "@stn-uiux/pub-ui/data/stnSearchRequirement";
|
|
3798
4111
|
|
|
3799
4112
|
// src/patterns/search/StnSearchRequirementBar.tsx
|
|
3800
|
-
import { jsx as
|
|
4113
|
+
import { jsx as jsx38, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
3801
4114
|
function StnSearchRequirementBar({
|
|
3802
4115
|
children,
|
|
3803
4116
|
className,
|
|
3804
4117
|
density = "default",
|
|
3805
4118
|
...rest
|
|
3806
4119
|
}) {
|
|
3807
|
-
return /* @__PURE__ */
|
|
4120
|
+
return /* @__PURE__ */ jsx38(
|
|
3808
4121
|
"div",
|
|
3809
4122
|
{
|
|
3810
4123
|
className: cn(
|
|
3811
4124
|
"stn-search-requirement",
|
|
4125
|
+
density === "compact" && "compact",
|
|
3812
4126
|
density === "compact" && "stn-search-requirement--compact",
|
|
3813
4127
|
className
|
|
3814
4128
|
),
|
|
@@ -3819,7 +4133,7 @@ function StnSearchRequirementBar({
|
|
|
3819
4133
|
);
|
|
3820
4134
|
}
|
|
3821
4135
|
function StnSearchRequirementBarFields({ children, className, ...rest }) {
|
|
3822
|
-
return /* @__PURE__ */
|
|
4136
|
+
return /* @__PURE__ */ jsx38("div", { className: cn("stn-search-requirement__fields", className), "data-stn-search-requirement": "fields", ...rest, children });
|
|
3823
4137
|
}
|
|
3824
4138
|
function StnSearchRequirementBarField({
|
|
3825
4139
|
label,
|
|
@@ -3829,19 +4143,19 @@ function StnSearchRequirementBarField({
|
|
|
3829
4143
|
controlClassName,
|
|
3830
4144
|
...rest
|
|
3831
4145
|
}) {
|
|
3832
|
-
return /* @__PURE__ */
|
|
3833
|
-
/* @__PURE__ */
|
|
3834
|
-
/* @__PURE__ */
|
|
4146
|
+
return /* @__PURE__ */ jsxs29("div", { className: cn("stn-search-requirement__field", className), "data-stn-search-requirement": "field", ...rest, children: [
|
|
4147
|
+
/* @__PURE__ */ jsx38("span", { className: cn("stn-search-requirement__label", labelClassName), children: label }),
|
|
4148
|
+
/* @__PURE__ */ jsx38("div", { className: cn("stn-search-requirement__control", controlClassName), children })
|
|
3835
4149
|
] });
|
|
3836
4150
|
}
|
|
3837
4151
|
function StnSearchRequirementBarSearchButton({
|
|
3838
4152
|
children = "\uAC80\uC0C9",
|
|
3839
|
-
size = "
|
|
3840
|
-
icon = /* @__PURE__ */
|
|
4153
|
+
size = "md",
|
|
4154
|
+
icon = /* @__PURE__ */ jsx38(StnIcon, { name: "line/search", size: 16, color: "currentColor" }),
|
|
3841
4155
|
className,
|
|
3842
4156
|
...rest
|
|
3843
4157
|
}) {
|
|
3844
|
-
return /* @__PURE__ */
|
|
4158
|
+
return /* @__PURE__ */ jsx38(
|
|
3845
4159
|
StnButton,
|
|
3846
4160
|
{
|
|
3847
4161
|
size,
|
|
@@ -3863,10 +4177,10 @@ function StnSearchRequirementBarExport({
|
|
|
3863
4177
|
"aria-label": ariaLabel = "Excel\uBCF4\uB0B4\uAE30",
|
|
3864
4178
|
...rest
|
|
3865
4179
|
}) {
|
|
3866
|
-
return /* @__PURE__ */
|
|
4180
|
+
return /* @__PURE__ */ jsx38(
|
|
3867
4181
|
StnButton,
|
|
3868
4182
|
{
|
|
3869
|
-
icon: icon ?? /* @__PURE__ */
|
|
4183
|
+
icon: icon ?? /* @__PURE__ */ jsx38(StnIcon, { name, size: 24, color: "currentColor" }),
|
|
3870
4184
|
variant,
|
|
3871
4185
|
size,
|
|
3872
4186
|
"aria-label": ariaLabel,
|
|
@@ -3877,7 +4191,7 @@ function StnSearchRequirementBarExport({
|
|
|
3877
4191
|
);
|
|
3878
4192
|
}
|
|
3879
4193
|
function StnSearchRequirementBarDivider({ className, ...rest }) {
|
|
3880
|
-
return /* @__PURE__ */
|
|
4194
|
+
return /* @__PURE__ */ jsx38(
|
|
3881
4195
|
"span",
|
|
3882
4196
|
{
|
|
3883
4197
|
className: cn("stn-search-requirement__divider", className),
|
|
@@ -3909,7 +4223,7 @@ import { createPortal as createPortal2 } from "react-dom";
|
|
|
3909
4223
|
import { formatStnDateRangeFieldValue as formatStnDateRangeFieldValue2 } from "@stn-uiux/pub-ui/data/stnDateRangeField";
|
|
3910
4224
|
|
|
3911
4225
|
// src/components/datePicker/StnDateRangePicker.tsx
|
|
3912
|
-
import { useCallback as useCallback6, useEffect as useEffect8, useId as
|
|
4226
|
+
import { useCallback as useCallback6, useEffect as useEffect8, useId as useId13, useMemo as useMemo3, useState as useState8 } from "react";
|
|
3913
4227
|
import {
|
|
3914
4228
|
STN_DATE_PICKER_WEEKDAYS
|
|
3915
4229
|
} from "@stn-uiux/pub-ui/data/stnDatePicker";
|
|
@@ -3969,7 +4283,7 @@ function normalizeRange(start, end) {
|
|
|
3969
4283
|
}
|
|
3970
4284
|
|
|
3971
4285
|
// src/components/datePicker/StnDateRangePicker.tsx
|
|
3972
|
-
import { jsx as
|
|
4286
|
+
import { jsx as jsx39, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
3973
4287
|
function useDraftRange(value, open) {
|
|
3974
4288
|
const [draft, setDraft] = useState8(value);
|
|
3975
4289
|
useEffect8(() => {
|
|
@@ -3980,19 +4294,19 @@ function useDraftRange(value, open) {
|
|
|
3980
4294
|
function CalendarPanel({ month, range, onPick, onPrev, onNext, showPrev = true, showNext = true }) {
|
|
3981
4295
|
const days = useMemo3(() => buildMonthGrid(month), [month]);
|
|
3982
4296
|
const { start, end } = range;
|
|
3983
|
-
return /* @__PURE__ */
|
|
3984
|
-
/* @__PURE__ */
|
|
3985
|
-
showPrev ? /* @__PURE__ */
|
|
3986
|
-
/* @__PURE__ */
|
|
3987
|
-
showNext ? /* @__PURE__ */
|
|
4297
|
+
return /* @__PURE__ */ jsxs30("div", { className: "stn-date-picker-panel", children: [
|
|
4298
|
+
/* @__PURE__ */ jsxs30("div", { className: "stn-date-picker-panel__header", children: [
|
|
4299
|
+
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" }),
|
|
4300
|
+
/* @__PURE__ */ jsx39("p", { className: "stn-date-picker-panel__title", children: formatMonthTitle(month) }),
|
|
4301
|
+
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" })
|
|
3988
4302
|
] }),
|
|
3989
|
-
/* @__PURE__ */
|
|
3990
|
-
/* @__PURE__ */
|
|
3991
|
-
/* @__PURE__ */
|
|
4303
|
+
/* @__PURE__ */ jsxs30("table", { className: "stn-date-picker-content", children: [
|
|
4304
|
+
/* @__PURE__ */ jsx39("thead", { children: /* @__PURE__ */ jsx39("tr", { children: STN_DATE_PICKER_WEEKDAYS.map((label) => /* @__PURE__ */ jsx39("th", { scope: "col", children: label }, label)) }) }),
|
|
4305
|
+
/* @__PURE__ */ jsx39("tbody", { children: Array.from({ length: 6 }, (_, row) => /* @__PURE__ */ jsx39("tr", { children: days.slice(row * 7, row * 7 + 7).map((cell) => {
|
|
3992
4306
|
const inRange = start && end && isBetweenDays(cell.date, start, end);
|
|
3993
4307
|
const isStart = start ? isSameDay(cell.date, start) : false;
|
|
3994
4308
|
const isEnd = end ? isSameDay(cell.date, end) : false;
|
|
3995
|
-
return /* @__PURE__ */
|
|
4309
|
+
return /* @__PURE__ */ jsx39(
|
|
3996
4310
|
"td",
|
|
3997
4311
|
{
|
|
3998
4312
|
className: cn(
|
|
@@ -4002,7 +4316,7 @@ function CalendarPanel({ month, range, onPick, onPrev, onNext, showPrev = true,
|
|
|
4002
4316
|
isStart && "stn-date-picker-cell--range-start",
|
|
4003
4317
|
isEnd && "stn-date-picker-cell--range-end"
|
|
4004
4318
|
),
|
|
4005
|
-
children: /* @__PURE__ */
|
|
4319
|
+
children: /* @__PURE__ */ jsx39(
|
|
4006
4320
|
"button",
|
|
4007
4321
|
{
|
|
4008
4322
|
type: "button",
|
|
@@ -4024,16 +4338,16 @@ function TimeColumns({ label, value, onChange }) {
|
|
|
4024
4338
|
const seconds = value?.getSeconds() ?? 0;
|
|
4025
4339
|
const base = value ?? /* @__PURE__ */ new Date();
|
|
4026
4340
|
const patch = (h, m, s) => onChange(setTimePart(base, h, m, s));
|
|
4027
|
-
return /* @__PURE__ */
|
|
4028
|
-
/* @__PURE__ */
|
|
4029
|
-
/* @__PURE__ */
|
|
4030
|
-
/* @__PURE__ */
|
|
4341
|
+
return /* @__PURE__ */ jsxs30("div", { className: "stn-date-picker-time__side", children: [
|
|
4342
|
+
/* @__PURE__ */ jsx39("span", { className: "stn-date-picker-time__label", children: label }),
|
|
4343
|
+
/* @__PURE__ */ jsxs30("div", { className: "stn-date-picker-time__columns", children: [
|
|
4344
|
+
/* @__PURE__ */ jsx39(
|
|
4031
4345
|
StnScroll,
|
|
4032
4346
|
{
|
|
4033
4347
|
variant: "arrows",
|
|
4034
4348
|
size: "thin",
|
|
4035
4349
|
className: "stn-date-picker-time__scroll",
|
|
4036
|
-
children: /* @__PURE__ */
|
|
4350
|
+
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(
|
|
4037
4351
|
"button",
|
|
4038
4352
|
{
|
|
4039
4353
|
type: "button",
|
|
@@ -4044,13 +4358,13 @@ function TimeColumns({ label, value, onChange }) {
|
|
|
4044
4358
|
) }, h)) })
|
|
4045
4359
|
}
|
|
4046
4360
|
),
|
|
4047
|
-
/* @__PURE__ */
|
|
4361
|
+
/* @__PURE__ */ jsx39(
|
|
4048
4362
|
StnScroll,
|
|
4049
4363
|
{
|
|
4050
4364
|
variant: "arrows",
|
|
4051
4365
|
size: "thin",
|
|
4052
4366
|
className: "stn-date-picker-time__scroll",
|
|
4053
|
-
children: /* @__PURE__ */
|
|
4367
|
+
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(
|
|
4054
4368
|
"button",
|
|
4055
4369
|
{
|
|
4056
4370
|
type: "button",
|
|
@@ -4061,13 +4375,13 @@ function TimeColumns({ label, value, onChange }) {
|
|
|
4061
4375
|
) }, m)) })
|
|
4062
4376
|
}
|
|
4063
4377
|
),
|
|
4064
|
-
/* @__PURE__ */
|
|
4378
|
+
/* @__PURE__ */ jsx39(
|
|
4065
4379
|
StnScroll,
|
|
4066
4380
|
{
|
|
4067
4381
|
variant: "arrows",
|
|
4068
4382
|
size: "thin",
|
|
4069
4383
|
className: "stn-date-picker-time__scroll",
|
|
4070
|
-
children: /* @__PURE__ */
|
|
4384
|
+
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(
|
|
4071
4385
|
"button",
|
|
4072
4386
|
{
|
|
4073
4387
|
type: "button",
|
|
@@ -4092,7 +4406,7 @@ function StnDateRangePicker({
|
|
|
4092
4406
|
style,
|
|
4093
4407
|
anchorRect
|
|
4094
4408
|
}) {
|
|
4095
|
-
const titleId =
|
|
4409
|
+
const titleId = useId13();
|
|
4096
4410
|
const [draft, setDraft] = useDraftRange(value, open);
|
|
4097
4411
|
const [leftMonth, setLeftMonth] = useState8(() => startOfMonth(draft.start ?? draft.end ?? /* @__PURE__ */ new Date()));
|
|
4098
4412
|
useEffect8(() => {
|
|
@@ -4146,7 +4460,7 @@ function StnDateRangePicker({
|
|
|
4146
4460
|
left: anchorRect.left,
|
|
4147
4461
|
...style
|
|
4148
4462
|
} : style ?? {};
|
|
4149
|
-
return /* @__PURE__ */
|
|
4463
|
+
return /* @__PURE__ */ jsx39(
|
|
4150
4464
|
"div",
|
|
4151
4465
|
{
|
|
4152
4466
|
className: cn("stn-date-picker-dropdown", className),
|
|
@@ -4154,10 +4468,10 @@ function StnDateRangePicker({
|
|
|
4154
4468
|
role: "dialog",
|
|
4155
4469
|
"aria-modal": "false",
|
|
4156
4470
|
"aria-labelledby": titleId,
|
|
4157
|
-
children: /* @__PURE__ */
|
|
4158
|
-
/* @__PURE__ */
|
|
4159
|
-
/* @__PURE__ */
|
|
4160
|
-
/* @__PURE__ */
|
|
4471
|
+
children: /* @__PURE__ */ jsxs30("div", { className: "stn-date-picker-dropdown__body", children: [
|
|
4472
|
+
/* @__PURE__ */ jsx39("span", { id: titleId, className: "stn-sf__visually-hidden", children: "Date range picker" }),
|
|
4473
|
+
/* @__PURE__ */ jsxs30("div", { className: "stn-date-picker-dropdown__panels", children: [
|
|
4474
|
+
/* @__PURE__ */ jsx39(
|
|
4161
4475
|
CalendarPanel,
|
|
4162
4476
|
{
|
|
4163
4477
|
month: leftMonth,
|
|
@@ -4168,7 +4482,7 @@ function StnDateRangePicker({
|
|
|
4168
4482
|
showNext: false
|
|
4169
4483
|
}
|
|
4170
4484
|
),
|
|
4171
|
-
/* @__PURE__ */
|
|
4485
|
+
/* @__PURE__ */ jsx39(
|
|
4172
4486
|
CalendarPanel,
|
|
4173
4487
|
{
|
|
4174
4488
|
month: rightMonth,
|
|
@@ -4180,8 +4494,8 @@ function StnDateRangePicker({
|
|
|
4180
4494
|
}
|
|
4181
4495
|
)
|
|
4182
4496
|
] }),
|
|
4183
|
-
showTime ? /* @__PURE__ */
|
|
4184
|
-
/* @__PURE__ */
|
|
4497
|
+
showTime ? /* @__PURE__ */ jsxs30("div", { className: "stn-date-picker-time", children: [
|
|
4498
|
+
/* @__PURE__ */ jsx39(
|
|
4185
4499
|
TimeColumns,
|
|
4186
4500
|
{
|
|
4187
4501
|
label: "\uC2DC\uC791",
|
|
@@ -4189,7 +4503,7 @@ function StnDateRangePicker({
|
|
|
4189
4503
|
onChange: (start) => updateDraft({ ...draft, start })
|
|
4190
4504
|
}
|
|
4191
4505
|
),
|
|
4192
|
-
/* @__PURE__ */
|
|
4506
|
+
/* @__PURE__ */ jsx39(
|
|
4193
4507
|
TimeColumns,
|
|
4194
4508
|
{
|
|
4195
4509
|
label: "\uC885\uB8CC",
|
|
@@ -4198,14 +4512,14 @@ function StnDateRangePicker({
|
|
|
4198
4512
|
}
|
|
4199
4513
|
)
|
|
4200
4514
|
] }) : null,
|
|
4201
|
-
/* @__PURE__ */
|
|
4515
|
+
/* @__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" }) })
|
|
4202
4516
|
] })
|
|
4203
4517
|
}
|
|
4204
4518
|
);
|
|
4205
4519
|
}
|
|
4206
4520
|
|
|
4207
4521
|
// src/components/datePicker/StnDateRangePickerField.tsx
|
|
4208
|
-
import { jsx as
|
|
4522
|
+
import { jsx as jsx40, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
4209
4523
|
function useControllableRange(controlled, defaultValue, onChange) {
|
|
4210
4524
|
const [internal, setInternal] = useState9(defaultValue);
|
|
4211
4525
|
const value = controlled ?? internal;
|
|
@@ -4219,18 +4533,25 @@ function useControllableRange(controlled, defaultValue, onChange) {
|
|
|
4219
4533
|
return [value, setValue];
|
|
4220
4534
|
}
|
|
4221
4535
|
var EMPTY_RANGE = { start: null, end: null };
|
|
4536
|
+
function formatDateOnly(date) {
|
|
4537
|
+
const y = date.getFullYear();
|
|
4538
|
+
const m = String(date.getMonth() + 1).padStart(2, "0");
|
|
4539
|
+
const d = String(date.getDate()).padStart(2, "0");
|
|
4540
|
+
return `${y}-${m}-${d}`;
|
|
4541
|
+
}
|
|
4222
4542
|
function StnDateRangePickerField({
|
|
4223
4543
|
value: valueProp,
|
|
4224
4544
|
defaultValue = EMPTY_RANGE,
|
|
4225
4545
|
onChange,
|
|
4226
4546
|
showTime = true,
|
|
4227
|
-
format
|
|
4547
|
+
format: formatProp,
|
|
4228
4548
|
className,
|
|
4229
4549
|
pickerClassName,
|
|
4230
4550
|
pickerStyle,
|
|
4231
4551
|
disabled,
|
|
4232
4552
|
...fieldProps
|
|
4233
4553
|
}) {
|
|
4554
|
+
const format = formatProp ?? (showTime ? formatStnDateRangeFieldValue2 : formatDateOnly);
|
|
4234
4555
|
const [value, setValue] = useControllableRange(valueProp, defaultValue, onChange);
|
|
4235
4556
|
const [open, setOpen] = useState9(false);
|
|
4236
4557
|
const [anchorRect, setAnchorRect] = useState9(null);
|
|
@@ -4270,8 +4591,8 @@ function StnDateRangePickerField({
|
|
|
4270
4591
|
document.addEventListener("keydown", onKeyDown);
|
|
4271
4592
|
return () => document.removeEventListener("keydown", onKeyDown);
|
|
4272
4593
|
}, [open]);
|
|
4273
|
-
return /* @__PURE__ */
|
|
4274
|
-
/* @__PURE__ */
|
|
4594
|
+
return /* @__PURE__ */ jsxs31("div", { ref: rootRef, className: cn("stn-date-picker-field", className), children: [
|
|
4595
|
+
/* @__PURE__ */ jsx40(
|
|
4275
4596
|
StnDateRangeField,
|
|
4276
4597
|
{
|
|
4277
4598
|
ref: triggerRef,
|
|
@@ -4291,7 +4612,7 @@ function StnDateRangePickerField({
|
|
|
4291
4612
|
}
|
|
4292
4613
|
),
|
|
4293
4614
|
open && typeof document !== "undefined" ? createPortal2(
|
|
4294
|
-
/* @__PURE__ */
|
|
4615
|
+
/* @__PURE__ */ jsx40("div", { ref: panelRef, children: /* @__PURE__ */ jsx40(
|
|
4295
4616
|
StnDateRangePicker,
|
|
4296
4617
|
{
|
|
4297
4618
|
open: true,
|
|
@@ -4310,45 +4631,49 @@ function StnDateRangePickerField({
|
|
|
4310
4631
|
}
|
|
4311
4632
|
|
|
4312
4633
|
// src/patterns/search/StnSearchRequirementBarDemo.tsx
|
|
4313
|
-
import { jsx as
|
|
4634
|
+
import { jsx as jsx41, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
4314
4635
|
var ALL_OPTIONS = [{ value: "", label: "\uC804\uCCB4" }];
|
|
4315
4636
|
function StnSearchRequirementBarDemo({ onSearch, onExport, className }) {
|
|
4316
4637
|
const demo = STN_SEARCH_REQUIREMENT_DEMO_FIELDS;
|
|
4317
|
-
return /* @__PURE__ */
|
|
4318
|
-
/* @__PURE__ */
|
|
4319
|
-
/* @__PURE__ */
|
|
4638
|
+
return /* @__PURE__ */ jsxs32(StnSearchRequirementBar, { className, children: [
|
|
4639
|
+
/* @__PURE__ */ jsxs32(StnSearchRequirementBar.Fields, { children: [
|
|
4640
|
+
/* @__PURE__ */ jsx41(
|
|
4320
4641
|
StnTextField,
|
|
4321
4642
|
{
|
|
4322
|
-
|
|
4643
|
+
label: demo.reportTypeText.label,
|
|
4644
|
+
size: "md",
|
|
4323
4645
|
defaultValue: demo.reportTypeText.value,
|
|
4324
|
-
width:
|
|
4646
|
+
width: "w140",
|
|
4325
4647
|
"aria-label": demo.reportTypeText.label
|
|
4326
4648
|
}
|
|
4327
|
-
)
|
|
4328
|
-
/* @__PURE__ */
|
|
4649
|
+
),
|
|
4650
|
+
/* @__PURE__ */ jsx41(
|
|
4329
4651
|
StnDropdown,
|
|
4330
4652
|
{
|
|
4653
|
+
label: demo.reportTypeSelect.label,
|
|
4331
4654
|
size: "md",
|
|
4332
|
-
width:
|
|
4655
|
+
width: "w140",
|
|
4333
4656
|
options: ALL_OPTIONS,
|
|
4334
4657
|
defaultValue: demo.reportTypeSelect.value,
|
|
4335
4658
|
"aria-label": demo.reportTypeSelect.label
|
|
4336
4659
|
}
|
|
4337
|
-
)
|
|
4338
|
-
/* @__PURE__ */
|
|
4660
|
+
),
|
|
4661
|
+
/* @__PURE__ */ jsx41(
|
|
4339
4662
|
StnDropdown,
|
|
4340
4663
|
{
|
|
4664
|
+
label: demo.periodType.label,
|
|
4341
4665
|
size: "md",
|
|
4342
|
-
width:
|
|
4666
|
+
width: "w140",
|
|
4343
4667
|
options: ALL_OPTIONS,
|
|
4344
4668
|
defaultValue: demo.periodType.value,
|
|
4345
4669
|
"aria-label": demo.periodType.label
|
|
4346
4670
|
}
|
|
4347
|
-
)
|
|
4348
|
-
/* @__PURE__ */
|
|
4671
|
+
),
|
|
4672
|
+
/* @__PURE__ */ jsx41(
|
|
4349
4673
|
StnDateRangePickerField,
|
|
4350
4674
|
{
|
|
4351
|
-
|
|
4675
|
+
label: demo.period.label,
|
|
4676
|
+
size: "md",
|
|
4352
4677
|
defaultValue: {
|
|
4353
4678
|
start: parseStnDateRangeFieldValue(STN_DATE_RANGE_FIELD_DEMO.start),
|
|
4354
4679
|
end: parseStnDateRangeFieldValue(STN_DATE_RANGE_FIELD_DEMO.end)
|
|
@@ -4356,10 +4681,10 @@ function StnSearchRequirementBarDemo({ onSearch, onExport, className }) {
|
|
|
4356
4681
|
showTime: true,
|
|
4357
4682
|
"aria-label": demo.period.label
|
|
4358
4683
|
}
|
|
4359
|
-
)
|
|
4684
|
+
)
|
|
4360
4685
|
] }),
|
|
4361
|
-
/* @__PURE__ */
|
|
4362
|
-
/* @__PURE__ */
|
|
4686
|
+
/* @__PURE__ */ jsx41(StnSearchRequirementBar.SearchButton, { onClick: onSearch }),
|
|
4687
|
+
/* @__PURE__ */ jsx41(StnSearchRequirementBar.Export, { onClick: onExport })
|
|
4363
4688
|
] });
|
|
4364
4689
|
}
|
|
4365
4690
|
|
|
@@ -4373,8 +4698,8 @@ import {
|
|
|
4373
4698
|
} from "@stn-uiux/pub-ui/data/stnHeader";
|
|
4374
4699
|
|
|
4375
4700
|
// src/patterns/header/StnHeader.tsx
|
|
4376
|
-
import { jsx as
|
|
4377
|
-
function
|
|
4701
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
4702
|
+
function variantClass5(variant) {
|
|
4378
4703
|
if (variant === "page") return "stn-header--page";
|
|
4379
4704
|
return void 0;
|
|
4380
4705
|
}
|
|
@@ -4400,12 +4725,12 @@ function StnHeader({
|
|
|
4400
4725
|
...dynamicStyles,
|
|
4401
4726
|
...style
|
|
4402
4727
|
};
|
|
4403
|
-
return /* @__PURE__ */
|
|
4728
|
+
return /* @__PURE__ */ jsx42(
|
|
4404
4729
|
"header",
|
|
4405
4730
|
{
|
|
4406
4731
|
className: cn(
|
|
4407
4732
|
"stn-header",
|
|
4408
|
-
|
|
4733
|
+
variantClass5(variant),
|
|
4409
4734
|
isNamedPadding ? `padding-${padding}` : void 0,
|
|
4410
4735
|
isNamedGap ? `gap-${gap}` : void 0,
|
|
4411
4736
|
className
|
|
@@ -4418,20 +4743,20 @@ function StnHeader({
|
|
|
4418
4743
|
);
|
|
4419
4744
|
}
|
|
4420
4745
|
function StnHeaderLeft({ children, className, ...rest }) {
|
|
4421
|
-
return /* @__PURE__ */
|
|
4746
|
+
return /* @__PURE__ */ jsx42("div", { className: cn("stn-header__left", className), "data-stn-header-region": "left", ...rest, children });
|
|
4422
4747
|
}
|
|
4423
4748
|
function StnHeaderCenter({ children, className, ...rest }) {
|
|
4424
|
-
return /* @__PURE__ */
|
|
4749
|
+
return /* @__PURE__ */ jsx42("div", { className: cn("stn-header__center", className), "data-stn-header-region": "center", ...rest, children });
|
|
4425
4750
|
}
|
|
4426
4751
|
function StnHeaderRight({ children, className, ...rest }) {
|
|
4427
|
-
return /* @__PURE__ */
|
|
4752
|
+
return /* @__PURE__ */ jsx42("div", { className: cn("stn-header__right", className), "data-stn-header-region": "right", ...rest, children });
|
|
4428
4753
|
}
|
|
4429
4754
|
StnHeader.Left = StnHeaderLeft;
|
|
4430
4755
|
StnHeader.Center = StnHeaderCenter;
|
|
4431
4756
|
StnHeader.Right = StnHeaderRight;
|
|
4432
4757
|
function StnHeaderPageTitle({ children, className, title, ...rest }) {
|
|
4433
4758
|
const autoTitle = typeof children === "string" ? children : void 0;
|
|
4434
|
-
return /* @__PURE__ */
|
|
4759
|
+
return /* @__PURE__ */ jsx42(
|
|
4435
4760
|
"h1",
|
|
4436
4761
|
{
|
|
4437
4762
|
className: cn("stn-header__page-title", className),
|
|
@@ -4443,7 +4768,7 @@ function StnHeaderPageTitle({ children, className, title, ...rest }) {
|
|
|
4443
4768
|
}
|
|
4444
4769
|
function StnHeaderSubTitle({ children, className, title, ...rest }) {
|
|
4445
4770
|
const autoTitle = typeof children === "string" ? children : void 0;
|
|
4446
|
-
return /* @__PURE__ */
|
|
4771
|
+
return /* @__PURE__ */ jsx42(
|
|
4447
4772
|
"span",
|
|
4448
4773
|
{
|
|
4449
4774
|
className: cn("stn-header__subtitle", className),
|
|
@@ -4455,7 +4780,7 @@ function StnHeaderSubTitle({ children, className, title, ...rest }) {
|
|
|
4455
4780
|
}
|
|
4456
4781
|
function StnHeaderContextTitle({ children, className, title, ...rest }) {
|
|
4457
4782
|
const autoTitle = typeof children === "string" ? children : void 0;
|
|
4458
|
-
return /* @__PURE__ */
|
|
4783
|
+
return /* @__PURE__ */ jsx42(
|
|
4459
4784
|
"span",
|
|
4460
4785
|
{
|
|
4461
4786
|
className: cn("stn-header__context-title", className),
|
|
@@ -4466,7 +4791,7 @@ function StnHeaderContextTitle({ children, className, title, ...rest }) {
|
|
|
4466
4791
|
);
|
|
4467
4792
|
}
|
|
4468
4793
|
function StnHeaderToolbar({ children, className, ...rest }) {
|
|
4469
|
-
return /* @__PURE__ */
|
|
4794
|
+
return /* @__PURE__ */ jsx42("div", { className: cn("stn-header-toolbar", className), "data-stn-header-toolbar": true, ...rest, children });
|
|
4470
4795
|
}
|
|
4471
4796
|
|
|
4472
4797
|
// src/index.ts
|
|
@@ -4484,7 +4809,7 @@ import {
|
|
|
4484
4809
|
STN_LAYER0_BACKGROUND_DEMO_IMAGES,
|
|
4485
4810
|
STN_LAYER0_MAP_LIGHT_OVERLAY
|
|
4486
4811
|
} from "@stn-uiux/pub-ui/data/stnLayer0Background";
|
|
4487
|
-
import { jsx as
|
|
4812
|
+
import { jsx as jsx43, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
4488
4813
|
function overlayStyle(overlay) {
|
|
4489
4814
|
if (overlay == null || overlay <= 0) return void 0;
|
|
4490
4815
|
const pct = `${Math.min(100, Math.max(0, overlay * 100))}%`;
|
|
@@ -4533,15 +4858,15 @@ function StnLayer0Background({
|
|
|
4533
4858
|
const isImage = kind === "image" || Boolean(src || srcDark);
|
|
4534
4859
|
if (isImage) {
|
|
4535
4860
|
const paired = Boolean(src && srcDark);
|
|
4536
|
-
return /* @__PURE__ */
|
|
4861
|
+
return /* @__PURE__ */ jsx43(
|
|
4537
4862
|
"div",
|
|
4538
4863
|
{
|
|
4539
4864
|
className: cn("stn-layer0-bg", "image", className),
|
|
4540
4865
|
"aria-hidden": alt === "" ? true : void 0,
|
|
4541
4866
|
style: { ...overlayStyle(overlay), ...style },
|
|
4542
4867
|
...rest,
|
|
4543
|
-
children: /* @__PURE__ */
|
|
4544
|
-
src ? /* @__PURE__ */
|
|
4868
|
+
children: /* @__PURE__ */ jsxs33("div", { className: "stn-layer0-bg__media", children: [
|
|
4869
|
+
src ? /* @__PURE__ */ jsx43(
|
|
4545
4870
|
"img",
|
|
4546
4871
|
{
|
|
4547
4872
|
className: cn("stn-layer0-bg__img", paired && "light"),
|
|
@@ -4550,7 +4875,7 @@ function StnLayer0Background({
|
|
|
4550
4875
|
decoding: "async"
|
|
4551
4876
|
}
|
|
4552
4877
|
) : null,
|
|
4553
|
-
srcDark ? /* @__PURE__ */
|
|
4878
|
+
srcDark ? /* @__PURE__ */ jsx43(
|
|
4554
4879
|
"img",
|
|
4555
4880
|
{
|
|
4556
4881
|
className: cn("stn-layer0-bg__img", paired ? "dark" : void 0),
|
|
@@ -4559,13 +4884,13 @@ function StnLayer0Background({
|
|
|
4559
4884
|
decoding: "async"
|
|
4560
4885
|
}
|
|
4561
4886
|
) : null,
|
|
4562
|
-
overlay != null && overlay > 0 ? /* @__PURE__ */
|
|
4563
|
-
overlayDarkRadial ? /* @__PURE__ */
|
|
4887
|
+
overlay != null && overlay > 0 ? /* @__PURE__ */ jsx43("div", { className: "stn-layer0-bg__overlay", "aria-hidden": "true" }) : null,
|
|
4888
|
+
overlayDarkRadial ? /* @__PURE__ */ jsx43("div", { className: "stn-layer0-bg__overlay radial", "aria-hidden": "true" }) : null
|
|
4564
4889
|
] })
|
|
4565
4890
|
}
|
|
4566
4891
|
);
|
|
4567
4892
|
}
|
|
4568
|
-
return /* @__PURE__ */
|
|
4893
|
+
return /* @__PURE__ */ jsx43(
|
|
4569
4894
|
"div",
|
|
4570
4895
|
{
|
|
4571
4896
|
className: cn("stn-layer0-bg", "color", color, className),
|
|
@@ -4602,7 +4927,7 @@ import {
|
|
|
4602
4927
|
|
|
4603
4928
|
// src/components/StnEventBanner.tsx
|
|
4604
4929
|
import React3 from "react";
|
|
4605
|
-
import { jsx as
|
|
4930
|
+
import { jsx as jsx44, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
4606
4931
|
var SEVERITY_ICONS2 = {
|
|
4607
4932
|
critical: "fill/alert4",
|
|
4608
4933
|
major: "fill/alert3",
|
|
@@ -4610,7 +4935,7 @@ var SEVERITY_ICONS2 = {
|
|
|
4610
4935
|
warning: "fill/alert1"
|
|
4611
4936
|
};
|
|
4612
4937
|
function DefaultTriangleIcon() {
|
|
4613
|
-
return /* @__PURE__ */
|
|
4938
|
+
return /* @__PURE__ */ jsxs34(
|
|
4614
4939
|
"svg",
|
|
4615
4940
|
{
|
|
4616
4941
|
width: "20",
|
|
@@ -4620,7 +4945,7 @@ function DefaultTriangleIcon() {
|
|
|
4620
4945
|
xmlns: "http://www.w3.org/2000/svg",
|
|
4621
4946
|
"aria-hidden": "true",
|
|
4622
4947
|
children: [
|
|
4623
|
-
/* @__PURE__ */
|
|
4948
|
+
/* @__PURE__ */ jsx44(
|
|
4624
4949
|
"path",
|
|
4625
4950
|
{
|
|
4626
4951
|
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",
|
|
@@ -4630,17 +4955,17 @@ function DefaultTriangleIcon() {
|
|
|
4630
4955
|
strokeLinejoin: "round"
|
|
4631
4956
|
}
|
|
4632
4957
|
),
|
|
4633
|
-
/* @__PURE__ */
|
|
4634
|
-
/* @__PURE__ */
|
|
4958
|
+
/* @__PURE__ */ jsx44("line", { x1: "12", y1: "9", x2: "12", y2: "13", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round" }),
|
|
4959
|
+
/* @__PURE__ */ jsx44("circle", { cx: "12", cy: "17", r: "1", fill: "currentColor" })
|
|
4635
4960
|
]
|
|
4636
4961
|
}
|
|
4637
4962
|
);
|
|
4638
4963
|
}
|
|
4639
4964
|
function resolveDefaultIcon(severity) {
|
|
4640
4965
|
if (severity === "critical") {
|
|
4641
|
-
return /* @__PURE__ */
|
|
4966
|
+
return /* @__PURE__ */ jsx44(DefaultTriangleIcon, {});
|
|
4642
4967
|
}
|
|
4643
|
-
return /* @__PURE__ */
|
|
4968
|
+
return /* @__PURE__ */ jsx44(StnIcon, { name: SEVERITY_ICONS2[severity] || "fill/alert4", size: 20 });
|
|
4644
4969
|
}
|
|
4645
4970
|
var StnEventBanner = React3.forwardRef(
|
|
4646
4971
|
({
|
|
@@ -4659,7 +4984,7 @@ var StnEventBanner = React3.forwardRef(
|
|
|
4659
4984
|
id,
|
|
4660
4985
|
...restProps
|
|
4661
4986
|
}, ref) => {
|
|
4662
|
-
return /* @__PURE__ */
|
|
4987
|
+
return /* @__PURE__ */ jsxs34(
|
|
4663
4988
|
"div",
|
|
4664
4989
|
{
|
|
4665
4990
|
ref,
|
|
@@ -4676,16 +5001,16 @@ var StnEventBanner = React3.forwardRef(
|
|
|
4676
5001
|
),
|
|
4677
5002
|
...restProps,
|
|
4678
5003
|
children: [
|
|
4679
|
-
/* @__PURE__ */
|
|
4680
|
-
/* @__PURE__ */
|
|
4681
|
-
/* @__PURE__ */
|
|
4682
|
-
title && /* @__PURE__ */
|
|
4683
|
-
time && /* @__PURE__ */
|
|
5004
|
+
/* @__PURE__ */ jsxs34("div", { className: "stn-event-banner__left", children: [
|
|
5005
|
+
/* @__PURE__ */ jsx44("div", { className: "stn-event-banner__icon-wrap", children: icon ?? resolveDefaultIcon(severity) }),
|
|
5006
|
+
/* @__PURE__ */ jsxs34("div", { className: "stn-event-banner__text", children: [
|
|
5007
|
+
title && /* @__PURE__ */ jsx44("span", { className: "stn-event-banner__title", title: typeof title === "string" ? title : void 0, children: title }),
|
|
5008
|
+
time && /* @__PURE__ */ jsx44("span", { className: "stn-event-banner__time", title: typeof time === "string" ? time : void 0, children: time })
|
|
4684
5009
|
] })
|
|
4685
5010
|
] }),
|
|
4686
|
-
/* @__PURE__ */
|
|
5011
|
+
/* @__PURE__ */ jsxs34("div", { className: "stn-event-banner__actions", children: [
|
|
4687
5012
|
actions,
|
|
4688
|
-
actionText && /* @__PURE__ */
|
|
5013
|
+
actionText && /* @__PURE__ */ jsx44(
|
|
4689
5014
|
"button",
|
|
4690
5015
|
{
|
|
4691
5016
|
type: "button",
|
|
@@ -4694,7 +5019,7 @@ var StnEventBanner = React3.forwardRef(
|
|
|
4694
5019
|
children: actionText
|
|
4695
5020
|
}
|
|
4696
5021
|
),
|
|
4697
|
-
onClose && /* @__PURE__ */
|
|
5022
|
+
onClose && /* @__PURE__ */ jsx44(
|
|
4698
5023
|
"button",
|
|
4699
5024
|
{
|
|
4700
5025
|
type: "button",
|
|
@@ -4713,9 +5038,9 @@ var StnEventBanner = React3.forwardRef(
|
|
|
4713
5038
|
StnEventBanner.displayName = "StnEventBanner";
|
|
4714
5039
|
|
|
4715
5040
|
// src/patterns/scaffold/StnLoadingSkeleton.tsx
|
|
4716
|
-
import { jsx as
|
|
5041
|
+
import { jsx as jsx45, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
4717
5042
|
function StnLoadingSkeletonLine({ width = "full", className, style, ...rest }) {
|
|
4718
|
-
return /* @__PURE__ */
|
|
5043
|
+
return /* @__PURE__ */ jsx45(
|
|
4719
5044
|
"div",
|
|
4720
5045
|
{
|
|
4721
5046
|
className: cn(
|
|
@@ -4731,7 +5056,7 @@ function StnLoadingSkeletonLine({ width = "full", className, style, ...rest }) {
|
|
|
4731
5056
|
);
|
|
4732
5057
|
}
|
|
4733
5058
|
function StnLoadingSkeletonBlock({ minHeight = 48, className, style, ...rest }) {
|
|
4734
|
-
return /* @__PURE__ */
|
|
5059
|
+
return /* @__PURE__ */ jsx45(
|
|
4735
5060
|
"div",
|
|
4736
5061
|
{
|
|
4737
5062
|
className: cn("stn-loading-skeleton__block", className),
|
|
@@ -4742,7 +5067,7 @@ function StnLoadingSkeletonBlock({ minHeight = 48, className, style, ...rest })
|
|
|
4742
5067
|
);
|
|
4743
5068
|
}
|
|
4744
5069
|
function StnLoadingSkeletonCircle({ size = 40, className, style, ...rest }) {
|
|
4745
|
-
return /* @__PURE__ */
|
|
5070
|
+
return /* @__PURE__ */ jsx45(
|
|
4746
5071
|
"div",
|
|
4747
5072
|
{
|
|
4748
5073
|
className: cn("stn-loading-skeleton__circle", className),
|
|
@@ -4753,7 +5078,7 @@ function StnLoadingSkeletonCircle({ size = 40, className, style, ...rest }) {
|
|
|
4753
5078
|
);
|
|
4754
5079
|
}
|
|
4755
5080
|
function StnLoadingSkeletonProfile({ avatarSize = 40, className, style, ...rest }) {
|
|
4756
|
-
return /* @__PURE__ */
|
|
5081
|
+
return /* @__PURE__ */ jsxs35(
|
|
4757
5082
|
"div",
|
|
4758
5083
|
{
|
|
4759
5084
|
className: cn("stn-loading-skeleton--profile", className),
|
|
@@ -4762,17 +5087,17 @@ function StnLoadingSkeletonProfile({ avatarSize = 40, className, style, ...rest
|
|
|
4762
5087
|
"aria-label": "\uD504\uB85C\uD544 \uB85C\uB529 \uC911",
|
|
4763
5088
|
...rest,
|
|
4764
5089
|
children: [
|
|
4765
|
-
/* @__PURE__ */
|
|
4766
|
-
/* @__PURE__ */
|
|
4767
|
-
/* @__PURE__ */
|
|
4768
|
-
/* @__PURE__ */
|
|
5090
|
+
/* @__PURE__ */ jsx45(StnLoadingSkeletonCircle, { size: avatarSize }),
|
|
5091
|
+
/* @__PURE__ */ jsxs35("div", { className: "stn-loading-skeleton__profile-content", children: [
|
|
5092
|
+
/* @__PURE__ */ jsx45(StnLoadingSkeletonLine, { width: "medium" }),
|
|
5093
|
+
/* @__PURE__ */ jsx45(StnLoadingSkeletonLine, { width: "short" })
|
|
4769
5094
|
] })
|
|
4770
5095
|
]
|
|
4771
5096
|
}
|
|
4772
5097
|
);
|
|
4773
5098
|
}
|
|
4774
5099
|
function StnLoadingSkeletonWidget({ lines = 4, className, style, ...rest }) {
|
|
4775
|
-
return /* @__PURE__ */
|
|
5100
|
+
return /* @__PURE__ */ jsx45(
|
|
4776
5101
|
"div",
|
|
4777
5102
|
{
|
|
4778
5103
|
className: cn("stn-loading-skeleton", "stn-loading-skeleton--widget", className),
|
|
@@ -4780,12 +5105,12 @@ function StnLoadingSkeletonWidget({ lines = 4, className, style, ...rest }) {
|
|
|
4780
5105
|
"aria-busy": "true",
|
|
4781
5106
|
"aria-label": "\uB85C\uB529 \uC911",
|
|
4782
5107
|
...rest,
|
|
4783
|
-
children: Array.from({ length: lines }, (_, i) => /* @__PURE__ */
|
|
5108
|
+
children: Array.from({ length: lines }, (_, i) => /* @__PURE__ */ jsx45(StnLoadingSkeletonLine, { width: i % 3 === 0 ? "short" : i % 2 === 0 ? "medium" : "full" }, i))
|
|
4784
5109
|
}
|
|
4785
5110
|
);
|
|
4786
5111
|
}
|
|
4787
5112
|
function StnLoadingSkeletonTable({ rows = 5, cols = 4, className, style, ...rest }) {
|
|
4788
|
-
return /* @__PURE__ */
|
|
5113
|
+
return /* @__PURE__ */ jsx45(
|
|
4789
5114
|
"div",
|
|
4790
5115
|
{
|
|
4791
5116
|
className: cn("stn-loading-skeleton", "stn-loading-skeleton--table", className),
|
|
@@ -4793,7 +5118,7 @@ function StnLoadingSkeletonTable({ rows = 5, cols = 4, className, style, ...rest
|
|
|
4793
5118
|
"aria-busy": "true",
|
|
4794
5119
|
"aria-label": "\uD14C\uC774\uBE14 \uB85C\uB529 \uC911",
|
|
4795
5120
|
...rest,
|
|
4796
|
-
children: Array.from({ length: rows }, (_, row) => /* @__PURE__ */
|
|
5121
|
+
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))
|
|
4797
5122
|
}
|
|
4798
5123
|
);
|
|
4799
5124
|
}
|
|
@@ -4812,23 +5137,23 @@ function StnLoadingSkeletonRoot({
|
|
|
4812
5137
|
...rest
|
|
4813
5138
|
}) {
|
|
4814
5139
|
if (children != null) {
|
|
4815
|
-
return /* @__PURE__ */
|
|
5140
|
+
return /* @__PURE__ */ jsx45("div", { className: cn("stn-loading-skeleton", className), style, "aria-busy": "true", ...rest, children });
|
|
4816
5141
|
}
|
|
4817
5142
|
const resolvedVariant = variant ?? "line";
|
|
4818
5143
|
switch (resolvedVariant) {
|
|
4819
5144
|
case "circle":
|
|
4820
|
-
return /* @__PURE__ */
|
|
5145
|
+
return /* @__PURE__ */ jsx45(StnLoadingSkeletonCircle, { size, className, style, ...rest });
|
|
4821
5146
|
case "block":
|
|
4822
|
-
return /* @__PURE__ */
|
|
5147
|
+
return /* @__PURE__ */ jsx45(StnLoadingSkeletonBlock, { minHeight, className, style, ...rest });
|
|
4823
5148
|
case "profile":
|
|
4824
|
-
return /* @__PURE__ */
|
|
5149
|
+
return /* @__PURE__ */ jsx45(StnLoadingSkeletonProfile, { avatarSize: avatarSize ?? size, className, style, ...rest });
|
|
4825
5150
|
case "widget":
|
|
4826
|
-
return /* @__PURE__ */
|
|
5151
|
+
return /* @__PURE__ */ jsx45(StnLoadingSkeletonWidget, { lines, className, style, ...rest });
|
|
4827
5152
|
case "table":
|
|
4828
|
-
return /* @__PURE__ */
|
|
5153
|
+
return /* @__PURE__ */ jsx45(StnLoadingSkeletonTable, { rows, cols, className, style, ...rest });
|
|
4829
5154
|
case "line":
|
|
4830
5155
|
default:
|
|
4831
|
-
return /* @__PURE__ */
|
|
5156
|
+
return /* @__PURE__ */ jsx45(StnLoadingSkeletonLine, { width, className, style, ...rest });
|
|
4832
5157
|
}
|
|
4833
5158
|
}
|
|
4834
5159
|
var StnLoadingSkeleton = Object.assign(StnLoadingSkeletonRoot, {
|
|
@@ -4841,7 +5166,7 @@ var StnLoadingSkeleton = Object.assign(StnLoadingSkeletonRoot, {
|
|
|
4841
5166
|
});
|
|
4842
5167
|
|
|
4843
5168
|
// src/components/topology/StnTopologyRing.tsx
|
|
4844
|
-
import { useId as
|
|
5169
|
+
import { useId as useId14 } from "react";
|
|
4845
5170
|
|
|
4846
5171
|
// src/components/topology/stnTopologyShared.ts
|
|
4847
5172
|
var STN_TOPOLOGY_NODE_SHAPES = [
|
|
@@ -4949,7 +5274,7 @@ function ringOrbitRadius(orbit, ringCount, baseRadius, gap = 36) {
|
|
|
4949
5274
|
}
|
|
4950
5275
|
|
|
4951
5276
|
// src/components/topology/StnTopologyNodeMark.tsx
|
|
4952
|
-
import { jsx as
|
|
5277
|
+
import { jsx as jsx46, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
4953
5278
|
function renderTopologyIcon(icon, color, px) {
|
|
4954
5279
|
if (!icon) return null;
|
|
4955
5280
|
if (typeof icon !== "string") return icon;
|
|
@@ -4965,56 +5290,56 @@ function renderTopologyIcon(icon, color, px) {
|
|
|
4965
5290
|
};
|
|
4966
5291
|
switch (icon) {
|
|
4967
5292
|
case "server":
|
|
4968
|
-
return /* @__PURE__ */
|
|
4969
|
-
/* @__PURE__ */
|
|
4970
|
-
/* @__PURE__ */
|
|
4971
|
-
/* @__PURE__ */
|
|
4972
|
-
/* @__PURE__ */
|
|
5293
|
+
return /* @__PURE__ */ jsxs36("svg", { ...iconProps, children: [
|
|
5294
|
+
/* @__PURE__ */ jsx46("rect", { x: "2", y: "2", width: "20", height: "8", rx: "2", ry: "2" }),
|
|
5295
|
+
/* @__PURE__ */ jsx46("rect", { x: "2", y: "14", width: "20", height: "8", rx: "2", ry: "2" }),
|
|
5296
|
+
/* @__PURE__ */ jsx46("line", { x1: "6", y1: "6", x2: "6.01", y2: "6" }),
|
|
5297
|
+
/* @__PURE__ */ jsx46("line", { x1: "6", y1: "18", x2: "6.01", y2: "18" })
|
|
4973
5298
|
] });
|
|
4974
5299
|
case "cloud":
|
|
4975
|
-
return /* @__PURE__ */
|
|
5300
|
+
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" }) });
|
|
4976
5301
|
case "ai":
|
|
4977
|
-
return /* @__PURE__ */
|
|
4978
|
-
/* @__PURE__ */
|
|
4979
|
-
/* @__PURE__ */
|
|
4980
|
-
/* @__PURE__ */
|
|
4981
|
-
/* @__PURE__ */
|
|
4982
|
-
/* @__PURE__ */
|
|
4983
|
-
/* @__PURE__ */
|
|
4984
|
-
/* @__PURE__ */
|
|
4985
|
-
/* @__PURE__ */
|
|
4986
|
-
/* @__PURE__ */
|
|
4987
|
-
/* @__PURE__ */
|
|
5302
|
+
return /* @__PURE__ */ jsxs36("svg", { ...iconProps, children: [
|
|
5303
|
+
/* @__PURE__ */ jsx46("rect", { x: "4", y: "4", width: "16", height: "16", rx: "2" }),
|
|
5304
|
+
/* @__PURE__ */ jsx46("rect", { x: "9", y: "9", width: "6", height: "6" }),
|
|
5305
|
+
/* @__PURE__ */ jsx46("line", { x1: "9", y1: "1", x2: "9", y2: "4" }),
|
|
5306
|
+
/* @__PURE__ */ jsx46("line", { x1: "15", y1: "1", x2: "15", y2: "4" }),
|
|
5307
|
+
/* @__PURE__ */ jsx46("line", { x1: "9", y1: "20", x2: "9", y2: "23" }),
|
|
5308
|
+
/* @__PURE__ */ jsx46("line", { x1: "15", y1: "20", x2: "15", y2: "23" }),
|
|
5309
|
+
/* @__PURE__ */ jsx46("line", { x1: "20", y1: "9", x2: "23", y2: "9" }),
|
|
5310
|
+
/* @__PURE__ */ jsx46("line", { x1: "20", y1: "14", x2: "23", y2: "14" }),
|
|
5311
|
+
/* @__PURE__ */ jsx46("line", { x1: "1", y1: "9", x2: "4", y2: "9" }),
|
|
5312
|
+
/* @__PURE__ */ jsx46("line", { x1: "1", y1: "14", x2: "4", y2: "14" })
|
|
4988
5313
|
] });
|
|
4989
5314
|
case "network":
|
|
4990
|
-
return /* @__PURE__ */
|
|
4991
|
-
/* @__PURE__ */
|
|
4992
|
-
/* @__PURE__ */
|
|
4993
|
-
/* @__PURE__ */
|
|
4994
|
-
/* @__PURE__ */
|
|
4995
|
-
/* @__PURE__ */
|
|
4996
|
-
/* @__PURE__ */
|
|
4997
|
-
/* @__PURE__ */
|
|
5315
|
+
return /* @__PURE__ */ jsxs36("svg", { ...iconProps, children: [
|
|
5316
|
+
/* @__PURE__ */ jsx46("rect", { x: "2", y: "2", width: "6", height: "6", rx: "1" }),
|
|
5317
|
+
/* @__PURE__ */ jsx46("rect", { x: "16", y: "2", width: "6", height: "6", rx: "1" }),
|
|
5318
|
+
/* @__PURE__ */ jsx46("rect", { x: "9", y: "16", width: "6", height: "6", rx: "1" }),
|
|
5319
|
+
/* @__PURE__ */ jsx46("line", { x1: "5", y1: "8", x2: "5", y2: "12" }),
|
|
5320
|
+
/* @__PURE__ */ jsx46("line", { x1: "19", y1: "8", x2: "19", y2: "12" }),
|
|
5321
|
+
/* @__PURE__ */ jsx46("line", { x1: "5", y1: "12", x2: "19", y2: "12" }),
|
|
5322
|
+
/* @__PURE__ */ jsx46("line", { x1: "12", y1: "12", x2: "12", y2: "16" })
|
|
4998
5323
|
] });
|
|
4999
5324
|
case "shield":
|
|
5000
|
-
return /* @__PURE__ */
|
|
5325
|
+
return /* @__PURE__ */ jsx46("svg", { ...iconProps, children: /* @__PURE__ */ jsx46("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z" }) });
|
|
5001
5326
|
case "user":
|
|
5002
|
-
return /* @__PURE__ */
|
|
5003
|
-
/* @__PURE__ */
|
|
5004
|
-
/* @__PURE__ */
|
|
5327
|
+
return /* @__PURE__ */ jsxs36("svg", { ...iconProps, children: [
|
|
5328
|
+
/* @__PURE__ */ jsx46("path", { d: "M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2" }),
|
|
5329
|
+
/* @__PURE__ */ jsx46("circle", { cx: "12", cy: "7", r: "4" })
|
|
5005
5330
|
] });
|
|
5006
5331
|
case "database":
|
|
5007
|
-
return /* @__PURE__ */
|
|
5008
|
-
/* @__PURE__ */
|
|
5009
|
-
/* @__PURE__ */
|
|
5010
|
-
/* @__PURE__ */
|
|
5332
|
+
return /* @__PURE__ */ jsxs36("svg", { ...iconProps, children: [
|
|
5333
|
+
/* @__PURE__ */ jsx46("ellipse", { cx: "12", cy: "5", rx: "9", ry: "3" }),
|
|
5334
|
+
/* @__PURE__ */ jsx46("path", { d: "M21 12c0 1.66-4 3-9 3s-9-1.34-9-3" }),
|
|
5335
|
+
/* @__PURE__ */ jsx46("path", { d: "M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5" })
|
|
5011
5336
|
] });
|
|
5012
5337
|
case "wifi":
|
|
5013
|
-
return /* @__PURE__ */
|
|
5014
|
-
/* @__PURE__ */
|
|
5015
|
-
/* @__PURE__ */
|
|
5016
|
-
/* @__PURE__ */
|
|
5017
|
-
/* @__PURE__ */
|
|
5338
|
+
return /* @__PURE__ */ jsxs36("svg", { ...iconProps, children: [
|
|
5339
|
+
/* @__PURE__ */ jsx46("path", { d: "M5 12.55a11 11 0 0 1 14.08 0" }),
|
|
5340
|
+
/* @__PURE__ */ jsx46("path", { d: "M1.42 9a16 16 0 0 1 21.16 0" }),
|
|
5341
|
+
/* @__PURE__ */ jsx46("path", { d: "M8.53 16.11a6 6 0 0 1 6.95 0" }),
|
|
5342
|
+
/* @__PURE__ */ jsx46("line", { x1: "12", y1: "20", x2: "12.01", y2: "20" })
|
|
5018
5343
|
] });
|
|
5019
5344
|
default:
|
|
5020
5345
|
return null;
|
|
@@ -5032,11 +5357,11 @@ function NodeShape({
|
|
|
5032
5357
|
}) {
|
|
5033
5358
|
const filter = glow ? `drop-shadow(0 0 8px ${glow})` : "drop-shadow(0 2px 4px rgba(0, 0, 0, 0.4))";
|
|
5034
5359
|
if (shape === "circle") {
|
|
5035
|
-
return /* @__PURE__ */
|
|
5360
|
+
return /* @__PURE__ */ jsx46("circle", { cx: x, cy: y, r, fill, stroke, strokeWidth, style: { filter } });
|
|
5036
5361
|
}
|
|
5037
5362
|
if (shape === "square") {
|
|
5038
5363
|
const size = r * 2;
|
|
5039
|
-
return /* @__PURE__ */
|
|
5364
|
+
return /* @__PURE__ */ jsx46(
|
|
5040
5365
|
"rect",
|
|
5041
5366
|
{
|
|
5042
5367
|
x: x - r,
|
|
@@ -5051,7 +5376,7 @@ function NodeShape({
|
|
|
5051
5376
|
}
|
|
5052
5377
|
);
|
|
5053
5378
|
}
|
|
5054
|
-
return /* @__PURE__ */
|
|
5379
|
+
return /* @__PURE__ */ jsx46(
|
|
5055
5380
|
"polygon",
|
|
5056
5381
|
{
|
|
5057
5382
|
points: topologyShapePoints(shape, x, y, r),
|
|
@@ -5094,7 +5419,7 @@ function StnTopologyNodeMark({
|
|
|
5094
5419
|
const countText = formatTopologyCount(count);
|
|
5095
5420
|
const iconPx = metrics.icon;
|
|
5096
5421
|
const showCornerBadge = !isCount && count != null && count !== "";
|
|
5097
|
-
return /* @__PURE__ */
|
|
5422
|
+
return /* @__PURE__ */ jsxs36(
|
|
5098
5423
|
"g",
|
|
5099
5424
|
{
|
|
5100
5425
|
className: cn("stn-topology-node", selected && "stn-topology-node--selected", className),
|
|
@@ -5106,7 +5431,7 @@ function StnTopologyNodeMark({
|
|
|
5106
5431
|
style: { cursor: onClick ? "pointer" : "default" },
|
|
5107
5432
|
...rest,
|
|
5108
5433
|
children: [
|
|
5109
|
-
isAlert && /* @__PURE__ */
|
|
5434
|
+
isAlert && /* @__PURE__ */ jsxs36(
|
|
5110
5435
|
"circle",
|
|
5111
5436
|
{
|
|
5112
5437
|
className: "stn-topology-node__pulse",
|
|
@@ -5118,13 +5443,13 @@ function StnTopologyNodeMark({
|
|
|
5118
5443
|
strokeWidth: "1.5",
|
|
5119
5444
|
opacity: "0.55",
|
|
5120
5445
|
children: [
|
|
5121
|
-
/* @__PURE__ */
|
|
5122
|
-
/* @__PURE__ */
|
|
5446
|
+
/* @__PURE__ */ jsx46("animate", { attributeName: "r", values: `${r + 4};${r + 12};${r + 4}`, dur: "2s", repeatCount: "indefinite" }),
|
|
5447
|
+
/* @__PURE__ */ jsx46("animate", { attributeName: "opacity", values: "0.75;0.15;0.75", dur: "2s", repeatCount: "indefinite" })
|
|
5123
5448
|
]
|
|
5124
5449
|
}
|
|
5125
5450
|
),
|
|
5126
|
-
selected && /* @__PURE__ */
|
|
5127
|
-
/* @__PURE__ */
|
|
5451
|
+
selected && /* @__PURE__ */ jsx46("circle", { cx: x, cy: y, r: r + 6, fill: "none", stroke: "#00e5ff", strokeWidth: "1.5", strokeDasharray: "3 3" }),
|
|
5452
|
+
/* @__PURE__ */ jsx46(
|
|
5128
5453
|
NodeShape,
|
|
5129
5454
|
{
|
|
5130
5455
|
shape,
|
|
@@ -5137,7 +5462,7 @@ function StnTopologyNodeMark({
|
|
|
5137
5462
|
glow: isAlert || isCount ? tone.glow : ""
|
|
5138
5463
|
}
|
|
5139
5464
|
),
|
|
5140
|
-
isCount ? /* @__PURE__ */
|
|
5465
|
+
isCount ? /* @__PURE__ */ jsx46(
|
|
5141
5466
|
"text",
|
|
5142
5467
|
{
|
|
5143
5468
|
x,
|
|
@@ -5150,10 +5475,10 @@ function StnTopologyNodeMark({
|
|
|
5150
5475
|
style: { textShadow: "0 1px 2px rgba(0, 0, 0, 0.85)" },
|
|
5151
5476
|
children: countText
|
|
5152
5477
|
}
|
|
5153
|
-
) : /* @__PURE__ */
|
|
5154
|
-
showCornerBadge && /* @__PURE__ */
|
|
5155
|
-
/* @__PURE__ */
|
|
5156
|
-
/* @__PURE__ */
|
|
5478
|
+
) : /* @__PURE__ */ jsx46("g", { transform: `translate(${x - iconPx / 2}, ${y - iconPx / 2})`, children: renderTopologyIcon(icon, stroke, iconPx) }),
|
|
5479
|
+
showCornerBadge && /* @__PURE__ */ jsxs36("g", { className: "stn-topology-node__badge", children: [
|
|
5480
|
+
/* @__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" }),
|
|
5481
|
+
/* @__PURE__ */ jsx46(
|
|
5157
5482
|
"text",
|
|
5158
5483
|
{
|
|
5159
5484
|
x: x + r * 0.72,
|
|
@@ -5167,7 +5492,7 @@ function StnTopologyNodeMark({
|
|
|
5167
5492
|
}
|
|
5168
5493
|
)
|
|
5169
5494
|
] }),
|
|
5170
|
-
showLabel && label && /* @__PURE__ */
|
|
5495
|
+
showLabel && label && /* @__PURE__ */ jsx46(
|
|
5171
5496
|
"text",
|
|
5172
5497
|
{
|
|
5173
5498
|
x,
|
|
@@ -5180,7 +5505,7 @@ function StnTopologyNodeMark({
|
|
|
5180
5505
|
children: label
|
|
5181
5506
|
}
|
|
5182
5507
|
),
|
|
5183
|
-
showStatus && resolvedStatusLabel && /* @__PURE__ */
|
|
5508
|
+
showStatus && resolvedStatusLabel && /* @__PURE__ */ jsxs36(
|
|
5184
5509
|
"text",
|
|
5185
5510
|
{
|
|
5186
5511
|
x,
|
|
@@ -5211,11 +5536,11 @@ function StnTopologyNodePreview({
|
|
|
5211
5536
|
const r = STN_TOPOLOGY_NODE_SIZE[size].r;
|
|
5212
5537
|
const w = width ?? r * 2 + (showLabel ? 88 : 28);
|
|
5213
5538
|
const h = height ?? r * 2 + (showLabel || showStatus ? 56 : 28);
|
|
5214
|
-
return /* @__PURE__ */
|
|
5539
|
+
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 }) });
|
|
5215
5540
|
}
|
|
5216
5541
|
|
|
5217
5542
|
// src/components/topology/StnTopologyRing.tsx
|
|
5218
|
-
import { jsx as
|
|
5543
|
+
import { jsx as jsx47, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
5219
5544
|
function StnTopologyRing({
|
|
5220
5545
|
core = {
|
|
5221
5546
|
title: "\uC5D0\uC2A4\uD2F0\uC5D4\uC778\uD3EC\uD14D",
|
|
@@ -5236,8 +5561,8 @@ function StnTopologyRing({
|
|
|
5236
5561
|
style,
|
|
5237
5562
|
...rest
|
|
5238
5563
|
}) {
|
|
5239
|
-
const gradientId =
|
|
5240
|
-
const coreGlowId =
|
|
5564
|
+
const gradientId = useId14();
|
|
5565
|
+
const coreGlowId = useId14();
|
|
5241
5566
|
const safeRingCount = Math.max(1, ringCount);
|
|
5242
5567
|
const radii = Array.from(
|
|
5243
5568
|
{ length: safeRingCount },
|
|
@@ -5274,17 +5599,17 @@ function StnTopologyRing({
|
|
|
5274
5599
|
};
|
|
5275
5600
|
});
|
|
5276
5601
|
if (loading) {
|
|
5277
|
-
return /* @__PURE__ */
|
|
5602
|
+
return /* @__PURE__ */ jsx47(
|
|
5278
5603
|
"div",
|
|
5279
5604
|
{
|
|
5280
5605
|
className: cn("stn-topology-ring", "stn-topology-ring--loading", className),
|
|
5281
5606
|
style,
|
|
5282
5607
|
...rest,
|
|
5283
|
-
children: /* @__PURE__ */
|
|
5608
|
+
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..." })
|
|
5284
5609
|
}
|
|
5285
5610
|
);
|
|
5286
5611
|
}
|
|
5287
|
-
return /* @__PURE__ */
|
|
5612
|
+
return /* @__PURE__ */ jsx47(
|
|
5288
5613
|
"div",
|
|
5289
5614
|
{
|
|
5290
5615
|
className: cn("stn-topology-ring", className),
|
|
@@ -5292,7 +5617,7 @@ function StnTopologyRing({
|
|
|
5292
5617
|
"data-stn-topology-ring": true,
|
|
5293
5618
|
"data-ring-count": safeRingCount,
|
|
5294
5619
|
...rest,
|
|
5295
|
-
children: /* @__PURE__ */
|
|
5620
|
+
children: /* @__PURE__ */ jsxs37(
|
|
5296
5621
|
"svg",
|
|
5297
5622
|
{
|
|
5298
5623
|
className: "stn-topology-ring__svg",
|
|
@@ -5301,19 +5626,19 @@ function StnTopologyRing({
|
|
|
5301
5626
|
viewBox: `0 0 ${vb} ${vb}`,
|
|
5302
5627
|
overflow: "visible",
|
|
5303
5628
|
children: [
|
|
5304
|
-
/* @__PURE__ */
|
|
5305
|
-
/* @__PURE__ */
|
|
5306
|
-
/* @__PURE__ */
|
|
5307
|
-
/* @__PURE__ */
|
|
5629
|
+
/* @__PURE__ */ jsxs37("defs", { children: [
|
|
5630
|
+
/* @__PURE__ */ jsxs37("radialGradient", { id: coreGlowId, cx: "50%", cy: "50%", r: "50%", children: [
|
|
5631
|
+
/* @__PURE__ */ jsx47("stop", { offset: "0%", stopColor: "#722ed1", stopOpacity: "0.8" }),
|
|
5632
|
+
/* @__PURE__ */ jsx47("stop", { offset: "100%", stopColor: "#120338", stopOpacity: "0" })
|
|
5308
5633
|
] }),
|
|
5309
|
-
/* @__PURE__ */
|
|
5310
|
-
/* @__PURE__ */
|
|
5311
|
-
/* @__PURE__ */
|
|
5634
|
+
/* @__PURE__ */ jsxs37("linearGradient", { id: gradientId, x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
|
|
5635
|
+
/* @__PURE__ */ jsx47("stop", { offset: "0%", stopColor: "#00e5ff", stopOpacity: "0.4" }),
|
|
5636
|
+
/* @__PURE__ */ jsx47("stop", { offset: "100%", stopColor: "#722ed1", stopOpacity: "0.4" })
|
|
5312
5637
|
] })
|
|
5313
5638
|
] }),
|
|
5314
5639
|
radii.map((r, idx) => {
|
|
5315
5640
|
const isMain = idx + 1 === mainOrbit;
|
|
5316
|
-
return /* @__PURE__ */
|
|
5641
|
+
return /* @__PURE__ */ jsx47(
|
|
5317
5642
|
"circle",
|
|
5318
5643
|
{
|
|
5319
5644
|
cx: centerX,
|
|
@@ -5327,7 +5652,7 @@ function StnTopologyRing({
|
|
|
5327
5652
|
`orbit-${idx}`
|
|
5328
5653
|
);
|
|
5329
5654
|
}),
|
|
5330
|
-
connectionLineStyle !== "none" && calculatedNodes.map((node) => /* @__PURE__ */
|
|
5655
|
+
connectionLineStyle !== "none" && calculatedNodes.map((node) => /* @__PURE__ */ jsx47(
|
|
5331
5656
|
"line",
|
|
5332
5657
|
{
|
|
5333
5658
|
x1: centerX,
|
|
@@ -5340,9 +5665,9 @@ function StnTopologyRing({
|
|
|
5340
5665
|
},
|
|
5341
5666
|
`line-${node.id}`
|
|
5342
5667
|
)),
|
|
5343
|
-
/* @__PURE__ */
|
|
5344
|
-
/* @__PURE__ */
|
|
5345
|
-
/* @__PURE__ */
|
|
5668
|
+
/* @__PURE__ */ jsxs37("g", { className: "stn-topology-ring__core", children: [
|
|
5669
|
+
/* @__PURE__ */ jsx47("circle", { cx: centerX, cy: centerY, r: 54, fill: `url(#${coreGlowId})` }),
|
|
5670
|
+
/* @__PURE__ */ jsx47(
|
|
5346
5671
|
"circle",
|
|
5347
5672
|
{
|
|
5348
5673
|
cx: centerX,
|
|
@@ -5354,7 +5679,7 @@ function StnTopologyRing({
|
|
|
5354
5679
|
style: { filter: "drop-shadow(0 0 12px rgba(114, 46, 209, 0.6))" }
|
|
5355
5680
|
}
|
|
5356
5681
|
),
|
|
5357
|
-
core.subTitle && /* @__PURE__ */
|
|
5682
|
+
core.subTitle && /* @__PURE__ */ jsx47(
|
|
5358
5683
|
"text",
|
|
5359
5684
|
{
|
|
5360
5685
|
x: centerX,
|
|
@@ -5367,13 +5692,13 @@ function StnTopologyRing({
|
|
|
5367
5692
|
children: core.subTitle
|
|
5368
5693
|
}
|
|
5369
5694
|
),
|
|
5370
|
-
core.title && /* @__PURE__ */
|
|
5371
|
-
/* @__PURE__ */
|
|
5695
|
+
core.title && /* @__PURE__ */ jsx47("text", { x: centerX, y: centerY + 8, textAnchor: "middle", fill: "#f0f2f5", fontSize: "10", fontWeight: "600", children: core.title }),
|
|
5696
|
+
/* @__PURE__ */ jsxs37("text", { x: centerX, y: centerY + 22, textAnchor: "middle", fill: coreColor, fontSize: "9", fontWeight: "500", children: [
|
|
5372
5697
|
"\u25CF ",
|
|
5373
5698
|
coreStatusLabel
|
|
5374
5699
|
] })
|
|
5375
5700
|
] }),
|
|
5376
|
-
calculatedNodes.map((node) => /* @__PURE__ */
|
|
5701
|
+
calculatedNodes.map((node) => /* @__PURE__ */ jsx47(
|
|
5377
5702
|
StnTopologyNodeMark,
|
|
5378
5703
|
{
|
|
5379
5704
|
x: node.x,
|
|
@@ -5402,7 +5727,7 @@ function StnTopologyRing({
|
|
|
5402
5727
|
|
|
5403
5728
|
// src/components/topology/StnTopologyGraph.tsx
|
|
5404
5729
|
import { useState as useState10 } from "react";
|
|
5405
|
-
import { jsx as
|
|
5730
|
+
import { jsx as jsx48, jsxs as jsxs38 } from "react/jsx-runtime";
|
|
5406
5731
|
var DEFAULT_GRAPH_NODES = [
|
|
5407
5732
|
{ id: "n1", x: 200, y: 58, status: "minor", label: "GW-01", shape: "circle", content: "icon", icon: "wifi" },
|
|
5408
5733
|
{ id: "n2", x: 118, y: 118, status: "critical", label: "BACKUP", shape: "hexagon", content: "count", count: 4, pulse: true },
|
|
@@ -5438,10 +5763,10 @@ function StnTopologyGraph({
|
|
|
5438
5763
|
}) {
|
|
5439
5764
|
const [viewMode, setViewMode] = useState10(defaultMode);
|
|
5440
5765
|
if (loading) {
|
|
5441
|
-
return /* @__PURE__ */
|
|
5766
|
+
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..." }) });
|
|
5442
5767
|
}
|
|
5443
5768
|
const nodeMap = new Map(nodes.map((n) => [n.id, n]));
|
|
5444
|
-
return /* @__PURE__ */
|
|
5769
|
+
return /* @__PURE__ */ jsxs38(
|
|
5445
5770
|
"div",
|
|
5446
5771
|
{
|
|
5447
5772
|
className: cn("stn-topology-graph", className),
|
|
@@ -5450,7 +5775,7 @@ function StnTopologyGraph({
|
|
|
5450
5775
|
"data-view-mode": viewMode,
|
|
5451
5776
|
...rest,
|
|
5452
5777
|
children: [
|
|
5453
|
-
showModeToggle && /* @__PURE__ */
|
|
5778
|
+
showModeToggle && /* @__PURE__ */ jsx48("div", { className: "stn-topology-graph__mode", children: /* @__PURE__ */ jsx48(
|
|
5454
5779
|
StnSegmented,
|
|
5455
5780
|
{
|
|
5456
5781
|
size: "sm",
|
|
@@ -5462,23 +5787,23 @@ function StnTopologyGraph({
|
|
|
5462
5787
|
]
|
|
5463
5788
|
}
|
|
5464
5789
|
) }),
|
|
5465
|
-
/* @__PURE__ */
|
|
5466
|
-
viewMode === "3D" ? /* @__PURE__ */
|
|
5467
|
-
/* @__PURE__ */
|
|
5468
|
-
/* @__PURE__ */
|
|
5469
|
-
/* @__PURE__ */
|
|
5470
|
-
/* @__PURE__ */
|
|
5471
|
-
/* @__PURE__ */
|
|
5472
|
-
/* @__PURE__ */
|
|
5473
|
-
/* @__PURE__ */
|
|
5474
|
-
/* @__PURE__ */
|
|
5475
|
-
] }) : /* @__PURE__ */
|
|
5476
|
-
/* @__PURE__ */
|
|
5477
|
-
/* @__PURE__ */
|
|
5478
|
-
/* @__PURE__ */
|
|
5479
|
-
/* @__PURE__ */
|
|
5480
|
-
/* @__PURE__ */
|
|
5481
|
-
/* @__PURE__ */
|
|
5790
|
+
/* @__PURE__ */ jsxs38("svg", { className: "stn-topology-graph__svg", width: "100%", height: "100%", viewBox: "0 0 400 300", overflow: "visible", children: [
|
|
5791
|
+
viewMode === "3D" ? /* @__PURE__ */ jsxs38("g", { opacity: "0.6", children: [
|
|
5792
|
+
/* @__PURE__ */ jsx48("line", { x1: "60", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.06)", strokeDasharray: "3 3" }),
|
|
5793
|
+
/* @__PURE__ */ jsx48("line", { x1: "130", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "3 3" }),
|
|
5794
|
+
/* @__PURE__ */ jsx48("line", { x1: "200", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.14)", strokeDasharray: "3 3" }),
|
|
5795
|
+
/* @__PURE__ */ jsx48("line", { x1: "270", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "3 3" }),
|
|
5796
|
+
/* @__PURE__ */ jsx48("line", { x1: "340", y1: "260", x2: "200", y2: "80", stroke: "rgba(255,255,255,0.06)", strokeDasharray: "3 3" }),
|
|
5797
|
+
/* @__PURE__ */ jsx48("line", { x1: "100", y1: "230", x2: "300", y2: "230", stroke: "rgba(255,255,255,0.06)" }),
|
|
5798
|
+
/* @__PURE__ */ jsx48("line", { x1: "130", y1: "190", x2: "270", y2: "190", stroke: "rgba(255,255,255,0.06)" }),
|
|
5799
|
+
/* @__PURE__ */ jsx48("line", { x1: "160", y1: "140", x2: "240", y2: "140", stroke: "rgba(255,255,255,0.06)" })
|
|
5800
|
+
] }) : /* @__PURE__ */ jsxs38("g", { opacity: "0.3", children: [
|
|
5801
|
+
/* @__PURE__ */ jsx48("line", { x1: "40", y1: "60", x2: "360", y2: "60", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
|
|
5802
|
+
/* @__PURE__ */ jsx48("line", { x1: "40", y1: "150", x2: "360", y2: "150", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
|
|
5803
|
+
/* @__PURE__ */ jsx48("line", { x1: "40", y1: "240", x2: "360", y2: "240", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
|
|
5804
|
+
/* @__PURE__ */ jsx48("line", { x1: "100", y1: "20", x2: "100", y2: "280", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
|
|
5805
|
+
/* @__PURE__ */ jsx48("line", { x1: "200", y1: "20", x2: "200", y2: "280", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" }),
|
|
5806
|
+
/* @__PURE__ */ jsx48("line", { x1: "300", y1: "20", x2: "300", y2: "280", stroke: "rgba(255,255,255,0.08)", strokeDasharray: "4 4" })
|
|
5482
5807
|
] }),
|
|
5483
5808
|
links.map((link, idx) => {
|
|
5484
5809
|
const s = nodeMap.get(link.source);
|
|
@@ -5486,7 +5811,7 @@ function StnTopologyGraph({
|
|
|
5486
5811
|
if (!s || !t) return null;
|
|
5487
5812
|
const isAlert = s.status === "critical" || t.status === "critical" || link.status === "critical";
|
|
5488
5813
|
const strokeColor = isAlert ? "rgba(255, 77, 79, 0.65)" : "rgba(255, 255, 255, 0.2)";
|
|
5489
|
-
return /* @__PURE__ */
|
|
5814
|
+
return /* @__PURE__ */ jsx48(
|
|
5490
5815
|
"line",
|
|
5491
5816
|
{
|
|
5492
5817
|
x1: s.x,
|
|
@@ -5503,7 +5828,7 @@ function StnTopologyGraph({
|
|
|
5503
5828
|
nodes.map((node) => {
|
|
5504
5829
|
const status = node.status ?? "normal";
|
|
5505
5830
|
const isCore = Boolean(node.isCore);
|
|
5506
|
-
return /* @__PURE__ */
|
|
5831
|
+
return /* @__PURE__ */ jsx48(
|
|
5507
5832
|
StnTopologyNodeMark,
|
|
5508
5833
|
{
|
|
5509
5834
|
x: node.x,
|
|
@@ -5526,17 +5851,17 @@ function StnTopologyGraph({
|
|
|
5526
5851
|
);
|
|
5527
5852
|
})
|
|
5528
5853
|
] }),
|
|
5529
|
-
showMinimap && /* @__PURE__ */
|
|
5530
|
-
/* @__PURE__ */
|
|
5531
|
-
/* @__PURE__ */
|
|
5532
|
-
/* @__PURE__ */
|
|
5854
|
+
showMinimap && /* @__PURE__ */ jsxs38("div", { className: "stn-topology-graph__minimap", children: [
|
|
5855
|
+
/* @__PURE__ */ jsxs38("div", { className: "stn-topology-graph__minimap-head", children: [
|
|
5856
|
+
/* @__PURE__ */ jsx48("span", { children: "\uBBF8\uB9AC\uBCF4\uAE30" }),
|
|
5857
|
+
/* @__PURE__ */ jsx48("span", { children: "\u2014" })
|
|
5533
5858
|
] }),
|
|
5534
|
-
/* @__PURE__ */
|
|
5535
|
-
/* @__PURE__ */
|
|
5536
|
-
/* @__PURE__ */
|
|
5537
|
-
/* @__PURE__ */
|
|
5538
|
-
/* @__PURE__ */
|
|
5539
|
-
/* @__PURE__ */
|
|
5859
|
+
/* @__PURE__ */ jsxs38("svg", { width: "100%", height: "40", viewBox: "0 0 100 50", children: [
|
|
5860
|
+
/* @__PURE__ */ jsx48("polyline", { points: "50,10 40,25 50,40 60,30", fill: "none", stroke: "rgba(255,77,79,0.5)", strokeWidth: "1" }),
|
|
5861
|
+
/* @__PURE__ */ jsx48("circle", { cx: "50", cy: "10", r: "2", fill: STN_TOPOLOGY_STATUS_COLORS.critical.main }),
|
|
5862
|
+
/* @__PURE__ */ jsx48("circle", { cx: "40", cy: "25", r: "2.5", fill: STN_TOPOLOGY_STATUS_COLORS.critical.main }),
|
|
5863
|
+
/* @__PURE__ */ jsx48("circle", { cx: "50", cy: "40", r: "2", fill: "#00e5ff" }),
|
|
5864
|
+
/* @__PURE__ */ jsx48("circle", { cx: "60", cy: "30", r: "2", fill: STN_TOPOLOGY_STATUS_COLORS.normal.main })
|
|
5540
5865
|
] })
|
|
5541
5866
|
] })
|
|
5542
5867
|
]
|
|
@@ -5545,7 +5870,7 @@ function StnTopologyGraph({
|
|
|
5545
5870
|
}
|
|
5546
5871
|
|
|
5547
5872
|
// src/components/StnWidget.tsx
|
|
5548
|
-
import { Fragment as Fragment4, jsx as
|
|
5873
|
+
import { Fragment as Fragment4, jsx as jsx49, jsxs as jsxs39 } from "react/jsx-runtime";
|
|
5549
5874
|
var SHELL_PUB_CLASS = {
|
|
5550
5875
|
card: "",
|
|
5551
5876
|
"fault-panel": "",
|
|
@@ -5628,20 +5953,20 @@ function StnWidgetPeriodText({
|
|
|
5628
5953
|
className,
|
|
5629
5954
|
...rest
|
|
5630
5955
|
}) {
|
|
5631
|
-
return /* @__PURE__ */
|
|
5956
|
+
return /* @__PURE__ */ jsx49("span", { className: cn("stn-widget__period-text", className), ...rest, children });
|
|
5632
5957
|
}
|
|
5633
5958
|
function StnWidgetPeriodSelect({
|
|
5634
5959
|
label,
|
|
5635
5960
|
className,
|
|
5636
5961
|
...rest
|
|
5637
5962
|
}) {
|
|
5638
|
-
return /* @__PURE__ */
|
|
5963
|
+
return /* @__PURE__ */ jsx49(
|
|
5639
5964
|
StnButton,
|
|
5640
5965
|
{
|
|
5641
5966
|
variant: "ghost",
|
|
5642
5967
|
size: "sm",
|
|
5643
5968
|
shape: "square",
|
|
5644
|
-
icon: /* @__PURE__ */
|
|
5969
|
+
icon: /* @__PURE__ */ jsx49(StnIcon, { name: "line/chevron-down" }),
|
|
5645
5970
|
iconPosition: "right",
|
|
5646
5971
|
className,
|
|
5647
5972
|
...rest,
|
|
@@ -5658,26 +5983,26 @@ function StnWidgetPeriodPager({
|
|
|
5658
5983
|
nextLabel = "\uB2E4\uC74C",
|
|
5659
5984
|
...rest
|
|
5660
5985
|
}) {
|
|
5661
|
-
return /* @__PURE__ */
|
|
5662
|
-
/* @__PURE__ */
|
|
5986
|
+
return /* @__PURE__ */ jsxs39("div", { className: cn("stn-widget__period-pager", className), ...rest, children: [
|
|
5987
|
+
/* @__PURE__ */ jsx49(
|
|
5663
5988
|
StnButton,
|
|
5664
5989
|
{
|
|
5665
5990
|
variant: "ghost",
|
|
5666
5991
|
size: "sm",
|
|
5667
5992
|
shape: "square",
|
|
5668
|
-
icon: /* @__PURE__ */
|
|
5993
|
+
icon: /* @__PURE__ */ jsx49(StnIcon, { name: "line/arrow-narrow-left" }),
|
|
5669
5994
|
onClick: onPrev,
|
|
5670
5995
|
"aria-label": prevLabel
|
|
5671
5996
|
}
|
|
5672
5997
|
),
|
|
5673
|
-
/* @__PURE__ */
|
|
5674
|
-
/* @__PURE__ */
|
|
5998
|
+
/* @__PURE__ */ jsx49("span", { className: "stn-widget__period-pager-label", children: label }),
|
|
5999
|
+
/* @__PURE__ */ jsx49(
|
|
5675
6000
|
StnButton,
|
|
5676
6001
|
{
|
|
5677
6002
|
variant: "ghost",
|
|
5678
6003
|
size: "sm",
|
|
5679
6004
|
shape: "square",
|
|
5680
|
-
icon: /* @__PURE__ */
|
|
6005
|
+
icon: /* @__PURE__ */ jsx49(StnIcon, { name: "line/arrow-narrow-right" }),
|
|
5681
6006
|
onClick: onNext,
|
|
5682
6007
|
"aria-label": nextLabel
|
|
5683
6008
|
}
|
|
@@ -5697,18 +6022,18 @@ function StnWidgetHeaderInner({
|
|
|
5697
6022
|
wrapActions = false
|
|
5698
6023
|
}) {
|
|
5699
6024
|
const resolvedIconName = headerIconName ?? defaultHeaderIconName(appearance);
|
|
5700
|
-
return /* @__PURE__ */
|
|
5701
|
-
/* @__PURE__ */
|
|
5702
|
-
showHeaderIcon ? headerIcon != null ? /* @__PURE__ */
|
|
5703
|
-
title != null || badge != null ? typeof title === "string" || title == null ? /* @__PURE__ */
|
|
5704
|
-
typeof title === "string" ? /* @__PURE__ */
|
|
6025
|
+
return /* @__PURE__ */ jsxs39("div", { className: cn("stn-widget__head", wrapActions && "stn-widget__head--wrap"), children: [
|
|
6026
|
+
/* @__PURE__ */ jsxs39("div", { className: "stn-widget__head-start", children: [
|
|
6027
|
+
showHeaderIcon ? headerIcon != null ? /* @__PURE__ */ jsx49(StnWidgetInsetIcon, { size: "sm", children: headerIcon }) : resolvedIconName ? /* @__PURE__ */ jsx49(StnWidgetInsetIcon, { size: "sm", icon: resolvedIconName }) : null : null,
|
|
6028
|
+
title != null || badge != null ? typeof title === "string" || title == null ? /* @__PURE__ */ jsxs39("div", { className: "stn-widget__title-wrap", children: [
|
|
6029
|
+
typeof title === "string" ? /* @__PURE__ */ jsx49("p", { className: "stn-widget__title", title, children: title }) : null,
|
|
5705
6030
|
badge
|
|
5706
|
-
] }) : /* @__PURE__ */
|
|
6031
|
+
] }) : /* @__PURE__ */ jsxs39(Fragment4, { children: [
|
|
5707
6032
|
title,
|
|
5708
6033
|
badge
|
|
5709
6034
|
] }) : null
|
|
5710
6035
|
] }),
|
|
5711
|
-
titleActions != null || periodActions != null || periodLabel != null && periodLabel !== "" ? /* @__PURE__ */
|
|
6036
|
+
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
|
|
5712
6037
|
] });
|
|
5713
6038
|
}
|
|
5714
6039
|
function StnWidgetRoot({
|
|
@@ -5788,10 +6113,10 @@ function StnWidgetRoot({
|
|
|
5788
6113
|
...rest
|
|
5789
6114
|
};
|
|
5790
6115
|
const slots = partitionWidgetChildren(children);
|
|
5791
|
-
const propHead = shell === "fault-panel" && !isFigmaShell ? title != null || titleActions ? /* @__PURE__ */
|
|
5792
|
-
/* @__PURE__ */
|
|
6116
|
+
const propHead = shell === "fault-panel" && !isFigmaShell ? title != null || titleActions ? /* @__PURE__ */ jsxs39("div", { className: "app_bar", children: [
|
|
6117
|
+
/* @__PURE__ */ jsx49("div", { className: "fault_title_box", children: typeof title === "string" ? /* @__PURE__ */ jsx49("span", { children: title }) : title }),
|
|
5793
6118
|
titleActions
|
|
5794
|
-
] }) : null : shell === "board" || shell === "board-item" ? title != null ? /* @__PURE__ */
|
|
6119
|
+
] }) : 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(
|
|
5795
6120
|
StnWidgetHeaderInner,
|
|
5796
6121
|
{
|
|
5797
6122
|
appearance,
|
|
@@ -5805,48 +6130,48 @@ function StnWidgetRoot({
|
|
|
5805
6130
|
headerIcon,
|
|
5806
6131
|
wrapActions
|
|
5807
6132
|
}
|
|
5808
|
-
) : title != null || badge != null || titleActions ? /* @__PURE__ */
|
|
5809
|
-
/* @__PURE__ */
|
|
5810
|
-
title != null ? typeof title === "string" ? /* @__PURE__ */
|
|
6133
|
+
) : title != null || badge != null || titleActions ? /* @__PURE__ */ jsxs39("div", { className: cn("stn-widget__head", wrapActions && "stn-widget__head--wrap"), children: [
|
|
6134
|
+
/* @__PURE__ */ jsxs39("div", { className: "stn-widget__head-start", children: [
|
|
6135
|
+
title != null ? typeof title === "string" ? /* @__PURE__ */ jsx49("p", { className: "stn-widget__title", title, children: title }) : title : null,
|
|
5811
6136
|
badge
|
|
5812
6137
|
] }),
|
|
5813
|
-
titleActions ? /* @__PURE__ */
|
|
6138
|
+
titleActions ? /* @__PURE__ */ jsx49("div", { className: "stn-widget__head-end", children: titleActions }) : null
|
|
5814
6139
|
] }) : null;
|
|
5815
6140
|
const head = slots.headers.length > 0 ? slots.headers : propHead;
|
|
5816
6141
|
const autoBodyClass = shell === "fault-panel" && !isFigmaShell ? "table_area" : void 0;
|
|
5817
6142
|
let body;
|
|
5818
6143
|
if (loading) {
|
|
5819
|
-
body = /* @__PURE__ */
|
|
6144
|
+
body = /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__body", autoBodyClass, contentClassName), children: /* @__PURE__ */ jsx49(StnWidgetLoading, {}) });
|
|
5820
6145
|
} else if (slots.bodies.length > 0) {
|
|
5821
6146
|
body = slots.bodies.map(
|
|
5822
6147
|
(slot, index) => mergeBodySlot(slot, index === 0 ? slots.rest : [], contentClassName, isEmptyState, emptyStyle)
|
|
5823
6148
|
);
|
|
5824
6149
|
} else {
|
|
5825
|
-
body = /* @__PURE__ */
|
|
6150
|
+
body = /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__body", autoBodyClass, isEmptyState && "empty", contentClassName), style: emptyStyle, children: slots.rest });
|
|
5826
6151
|
}
|
|
5827
|
-
const footerNode = slots.footers.length > 0 ? slots.footers : footer ? /* @__PURE__ */
|
|
5828
|
-
const card = /* @__PURE__ */
|
|
5829
|
-
isFigmaShell && appearanceShell === "overlay" ? /* @__PURE__ */
|
|
6152
|
+
const footerNode = slots.footers.length > 0 ? slots.footers : footer ? /* @__PURE__ */ jsx49("div", { className: "stn-widget__footer", children: footer }) : null;
|
|
6153
|
+
const card = /* @__PURE__ */ jsxs39("div", { ...rootProps, children: [
|
|
6154
|
+
isFigmaShell && appearanceShell === "overlay" ? /* @__PURE__ */ jsx49("div", { className: "stn-widget__map-deco", "aria-hidden": true }) : null,
|
|
5830
6155
|
head,
|
|
5831
6156
|
body,
|
|
5832
6157
|
footerNode
|
|
5833
6158
|
] });
|
|
5834
6159
|
if (banner == null || banner === false) return card;
|
|
5835
|
-
return /* @__PURE__ */
|
|
6160
|
+
return /* @__PURE__ */ jsxs39("div", { className: "stn-widget-anchor", children: [
|
|
5836
6161
|
withBannerSeverity(banner, bannerSeverityFromStatus(status, isCritical)),
|
|
5837
6162
|
card
|
|
5838
6163
|
] });
|
|
5839
6164
|
}
|
|
5840
6165
|
function StnWidgetHeader({ className, wrap = false, children, ...rest }) {
|
|
5841
|
-
return /* @__PURE__ */
|
|
6166
|
+
return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__head", wrap && "stn-widget__head--wrap", className), ...rest, children });
|
|
5842
6167
|
}
|
|
5843
6168
|
markWidgetSlot(StnWidgetHeader, "header");
|
|
5844
6169
|
function StnWidgetTitle({ className, children, title, ...rest }) {
|
|
5845
6170
|
const titleAttr = title ?? (typeof children === "string" ? children : void 0);
|
|
5846
|
-
return /* @__PURE__ */
|
|
6171
|
+
return /* @__PURE__ */ jsx49("p", { className: cn("stn-widget__title", className), title: titleAttr, ...rest, children });
|
|
5847
6172
|
}
|
|
5848
6173
|
function StnWidgetActions({ className, children, ...rest }) {
|
|
5849
|
-
return /* @__PURE__ */
|
|
6174
|
+
return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__head-end", className), ...rest, children });
|
|
5850
6175
|
}
|
|
5851
6176
|
function StnWidgetBody({
|
|
5852
6177
|
padding,
|
|
@@ -5860,7 +6185,7 @@ function StnWidgetBody({
|
|
|
5860
6185
|
}) {
|
|
5861
6186
|
const emptyText = typeof empty === "string" ? empty : void 0;
|
|
5862
6187
|
const mergedStyle = emptyText ? { ["--stn-widget-empty-text"]: `"${emptyText}"`, ...style } : style;
|
|
5863
|
-
return /* @__PURE__ */
|
|
6188
|
+
return /* @__PURE__ */ jsx49(
|
|
5864
6189
|
"div",
|
|
5865
6190
|
{
|
|
5866
6191
|
className: cn(
|
|
@@ -5882,7 +6207,7 @@ function StnWidgetBody({
|
|
|
5882
6207
|
}
|
|
5883
6208
|
markWidgetSlot(StnWidgetBody, "body");
|
|
5884
6209
|
function StnWidgetChartSlot({ label = "select chart", className, children, ...rest }) {
|
|
5885
|
-
return /* @__PURE__ */
|
|
6210
|
+
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 }) });
|
|
5886
6211
|
}
|
|
5887
6212
|
function StnWidgetStatusItem({
|
|
5888
6213
|
label,
|
|
@@ -5894,9 +6219,9 @@ function StnWidgetStatusItem({
|
|
|
5894
6219
|
...rest
|
|
5895
6220
|
}) {
|
|
5896
6221
|
const grade = gradeProp ?? (status === "warning" ? "minor" : status) ?? "normal";
|
|
5897
|
-
return /* @__PURE__ */
|
|
5898
|
-
/* @__PURE__ */
|
|
5899
|
-
showDot ? /* @__PURE__ */
|
|
6222
|
+
return /* @__PURE__ */ jsxs39("div", { className: cn("stn-widget__status-item", className), ...rest, children: [
|
|
6223
|
+
/* @__PURE__ */ jsxs39("span", { className: "stn-widget__status-label", children: [
|
|
6224
|
+
showDot ? /* @__PURE__ */ jsx49(
|
|
5900
6225
|
"span",
|
|
5901
6226
|
{
|
|
5902
6227
|
className: cn("stn-widget__status-dot", `stn-widget__status-dot--${grade}`),
|
|
@@ -5905,23 +6230,23 @@ function StnWidgetStatusItem({
|
|
|
5905
6230
|
) : null,
|
|
5906
6231
|
label
|
|
5907
6232
|
] }),
|
|
5908
|
-
/* @__PURE__ */
|
|
6233
|
+
/* @__PURE__ */ jsx49("span", { className: "stn-widget__status-val", children: value })
|
|
5909
6234
|
] });
|
|
5910
6235
|
}
|
|
5911
6236
|
function StnWidgetStatusList({ className, children, ...rest }) {
|
|
5912
|
-
return /* @__PURE__ */
|
|
6237
|
+
return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__status-list", className), ...rest, children });
|
|
5913
6238
|
}
|
|
5914
6239
|
function StnWidgetStatGroup({ className, children, ...rest }) {
|
|
5915
|
-
return /* @__PURE__ */
|
|
6240
|
+
return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__stat-group", className), ...rest, children });
|
|
5916
6241
|
}
|
|
5917
6242
|
function StnWidgetStatCard({ label, count, className, ...rest }) {
|
|
5918
|
-
return /* @__PURE__ */
|
|
5919
|
-
/* @__PURE__ */
|
|
5920
|
-
/* @__PURE__ */
|
|
6243
|
+
return /* @__PURE__ */ jsxs39("div", { className: cn("stn-widget__stat-card", className), ...rest, children: [
|
|
6244
|
+
/* @__PURE__ */ jsx49("span", { className: "stn-widget__stat-label", children: label }),
|
|
6245
|
+
/* @__PURE__ */ jsx49("span", { className: "stn-widget__stat-count", children: count })
|
|
5921
6246
|
] });
|
|
5922
6247
|
}
|
|
5923
6248
|
function StnWidgetPlaceholder({ label = "\uCF58\uD150\uCE20 \uC601\uC5ED" }) {
|
|
5924
|
-
return /* @__PURE__ */
|
|
6249
|
+
return /* @__PURE__ */ jsx49("div", { className: "stn-widget__placeholder", children: label });
|
|
5925
6250
|
}
|
|
5926
6251
|
var GRADE_ROW_ICON = {
|
|
5927
6252
|
critical: "fill/alert4",
|
|
@@ -5944,42 +6269,42 @@ function StnWidgetGradeRow({
|
|
|
5944
6269
|
}) {
|
|
5945
6270
|
const clamped = Math.max(0, Math.min(100, percent));
|
|
5946
6271
|
const resolvedPercentLabel = percentLabel ?? formatGradePercent(clamped);
|
|
5947
|
-
return /* @__PURE__ */
|
|
5948
|
-
/* @__PURE__ */
|
|
5949
|
-
/* @__PURE__ */
|
|
5950
|
-
/* @__PURE__ */
|
|
6272
|
+
return /* @__PURE__ */ jsxs39("div", { className: cn("stn-widget__grade-row", `stn-widget__grade-row--${grade}`, className), ...rest, children: [
|
|
6273
|
+
/* @__PURE__ */ jsxs39("div", { className: "stn-widget__grade-row-left", children: [
|
|
6274
|
+
/* @__PURE__ */ jsxs39("span", { className: "stn-widget__grade-row-label", children: [
|
|
6275
|
+
/* @__PURE__ */ jsx49(StnIcon, { name: GRADE_ROW_ICON[grade], size: 20, className: "stn-widget__grade-row-icon", "aria-hidden": true }),
|
|
5951
6276
|
label
|
|
5952
6277
|
] }),
|
|
5953
|
-
/* @__PURE__ */
|
|
6278
|
+
/* @__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}%` } }) })
|
|
5954
6279
|
] }),
|
|
5955
|
-
/* @__PURE__ */
|
|
5956
|
-
/* @__PURE__ */
|
|
5957
|
-
/* @__PURE__ */
|
|
6280
|
+
/* @__PURE__ */ jsxs39("div", { className: "stn-widget__grade-row-right", children: [
|
|
6281
|
+
/* @__PURE__ */ jsx49("span", { className: "stn-widget__grade-row-value", children: value }),
|
|
6282
|
+
/* @__PURE__ */ jsx49("span", { className: "stn-widget__grade-row-percent", children: resolvedPercentLabel })
|
|
5958
6283
|
] })
|
|
5959
6284
|
] });
|
|
5960
6285
|
}
|
|
5961
6286
|
function StnWidgetGradeRowList({ className, children, ...rest }) {
|
|
5962
|
-
return /* @__PURE__ */
|
|
6287
|
+
return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__grade-row-list", className), ...rest, children });
|
|
5963
6288
|
}
|
|
5964
6289
|
function StnWidgetFooter({ className, children, ...rest }) {
|
|
5965
|
-
return /* @__PURE__ */
|
|
6290
|
+
return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__footer", className), ...rest, children });
|
|
5966
6291
|
}
|
|
5967
6292
|
markWidgetSlot(StnWidgetFooter, "footer");
|
|
5968
6293
|
function StnWidgetEmpty({ className, children, ...rest }) {
|
|
5969
|
-
return /* @__PURE__ */
|
|
5970
|
-
/* @__PURE__ */
|
|
5971
|
-
/* @__PURE__ */
|
|
5972
|
-
/* @__PURE__ */
|
|
5973
|
-
/* @__PURE__ */
|
|
6294
|
+
return /* @__PURE__ */ jsxs39("div", { className: cn("stn-widget__empty", className), ...rest, children: [
|
|
6295
|
+
/* @__PURE__ */ jsxs39("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", style: { opacity: 0.6 }, children: [
|
|
6296
|
+
/* @__PURE__ */ jsx49("circle", { cx: "12", cy: "12", r: "10" }),
|
|
6297
|
+
/* @__PURE__ */ jsx49("line", { x1: "12", y1: "8", x2: "12", y2: "12" }),
|
|
6298
|
+
/* @__PURE__ */ jsx49("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })
|
|
5974
6299
|
] }),
|
|
5975
|
-
/* @__PURE__ */
|
|
6300
|
+
/* @__PURE__ */ jsx49("div", { children: children ?? "\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4." })
|
|
5976
6301
|
] });
|
|
5977
6302
|
}
|
|
5978
6303
|
function StnWidgetLoading({ lines = 3, className, children, ...rest }) {
|
|
5979
|
-
return /* @__PURE__ */
|
|
6304
|
+
return /* @__PURE__ */ jsx49("div", { className: cn("stn-widget__loading", className), ...rest, children: children ?? /* @__PURE__ */ jsx49(StnLoadingSkeleton.Widget, { lines }) });
|
|
5980
6305
|
}
|
|
5981
6306
|
function StnWidgetInsetIcon({ className, size = "sm", ...rest }) {
|
|
5982
|
-
return /* @__PURE__ */
|
|
6307
|
+
return /* @__PURE__ */ jsx49(StnIconBox, { size, className: cn("stn-widget__inset-icon", className), ...rest });
|
|
5983
6308
|
}
|
|
5984
6309
|
var StnWidget = Object.assign(StnWidgetRoot, {
|
|
5985
6310
|
Header: StnWidgetHeader,
|
|
@@ -6030,7 +6355,7 @@ import {
|
|
|
6030
6355
|
Fragment as Fragment5,
|
|
6031
6356
|
isValidElement as isValidElement5
|
|
6032
6357
|
} from "react";
|
|
6033
|
-
import { jsx as
|
|
6358
|
+
import { jsx as jsx50, jsxs as jsxs40 } from "react/jsx-runtime";
|
|
6034
6359
|
var BREAKPOINTS = ["xs", "sm", "md", "lg", "xl"];
|
|
6035
6360
|
var DIRECTION_CLASS = /* @__PURE__ */ new Set(["row", "row-reverse", "column", "column-reverse"]);
|
|
6036
6361
|
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]);
|
|
@@ -6149,12 +6474,12 @@ var StnStack = forwardRef24(function StnStack2({
|
|
|
6149
6474
|
const validChildren = Children3.toArray(children).filter(Boolean);
|
|
6150
6475
|
const renderedChildren = divider ? validChildren.map((child, index) => {
|
|
6151
6476
|
const key = isValidElement5(child) && child.key != null ? child.key : index;
|
|
6152
|
-
return /* @__PURE__ */
|
|
6477
|
+
return /* @__PURE__ */ jsxs40(Fragment5, { children: [
|
|
6153
6478
|
index > 0 ? divider : null,
|
|
6154
6479
|
child
|
|
6155
6480
|
] }, key);
|
|
6156
6481
|
}) : children;
|
|
6157
|
-
return /* @__PURE__ */
|
|
6482
|
+
return /* @__PURE__ */ jsx50(
|
|
6158
6483
|
Component,
|
|
6159
6484
|
{
|
|
6160
6485
|
ref,
|
|
@@ -6178,7 +6503,7 @@ var StnStack = forwardRef24(function StnStack2({
|
|
|
6178
6503
|
});
|
|
6179
6504
|
|
|
6180
6505
|
// src/patterns/dashboard/AlertCenterDashboard.tsx
|
|
6181
|
-
import { jsx as
|
|
6506
|
+
import { jsx as jsx51, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
6182
6507
|
var TOP5_ROWS = [
|
|
6183
6508
|
{ label: "\uADF8\uB791\uC2DC\uC544", percent: 80, value: "80\uAC74", grade: "critical" },
|
|
6184
6509
|
{ label: "\uC5F0\uB9BD\uC8FC\uD0DD 15\uC138\uB300", percent: 74, value: "74\uAC74", grade: "major" },
|
|
@@ -6187,7 +6512,7 @@ var TOP5_ROWS = [
|
|
|
6187
6512
|
{ label: "PRADA", percent: 68, value: "68\uAC74", grade: "default" }
|
|
6188
6513
|
];
|
|
6189
6514
|
function AlertCenterDashboard({ className, appearance = "translucent", loading = false }) {
|
|
6190
|
-
return /* @__PURE__ */
|
|
6515
|
+
return /* @__PURE__ */ jsxs41(
|
|
6191
6516
|
StnStack,
|
|
6192
6517
|
{
|
|
6193
6518
|
direction: "column",
|
|
@@ -6196,17 +6521,17 @@ function AlertCenterDashboard({ className, appearance = "translucent", loading =
|
|
|
6196
6521
|
style: { flex: "1 1 0%", minHeight: 0, height: "100%", width: "100%" },
|
|
6197
6522
|
"data-stn-dashboard": "alert-widgets",
|
|
6198
6523
|
children: [
|
|
6199
|
-
/* @__PURE__ */
|
|
6200
|
-
/* @__PURE__ */
|
|
6201
|
-
/* @__PURE__ */
|
|
6202
|
-
/* @__PURE__ */
|
|
6524
|
+
/* @__PURE__ */ jsx51(StnWidget, { title: "\uC2DC\uC124 \uD604\uD669", appearance, interactive: true, children: loading ? /* @__PURE__ */ jsx51(StnLoadingSkeleton.Widget, { lines: 3 }) : /* @__PURE__ */ jsxs41(StnWidget.StatusList, { children: [
|
|
6525
|
+
/* @__PURE__ */ jsx51(StnWidget.StatusItem, { label: "PTN", value: "179", showDot: false }),
|
|
6526
|
+
/* @__PURE__ */ jsx51(StnWidget.StatusItem, { label: "MSPP", value: "63", showDot: false }),
|
|
6527
|
+
/* @__PURE__ */ jsx51(StnWidget.StatusItem, { label: "L3\uC2A4\uC704\uCE58", value: "27", showDot: false })
|
|
6203
6528
|
] }) }),
|
|
6204
|
-
/* @__PURE__ */
|
|
6205
|
-
/* @__PURE__ */
|
|
6206
|
-
/* @__PURE__ */
|
|
6207
|
-
/* @__PURE__ */
|
|
6529
|
+
/* @__PURE__ */ jsx51(StnWidget, { title: "\uC7A5\uC560 \uD604\uD669", appearance, interactive: true, children: loading ? /* @__PURE__ */ jsx51(StnLoadingSkeleton.Widget, { lines: 3 }) : /* @__PURE__ */ jsxs41(StnWidget.StatusList, { children: [
|
|
6530
|
+
/* @__PURE__ */ jsx51(StnWidget.StatusItem, { label: "Critical", value: "43", grade: "critical" }),
|
|
6531
|
+
/* @__PURE__ */ jsx51(StnWidget.StatusItem, { label: "Major", value: "79", grade: "major" }),
|
|
6532
|
+
/* @__PURE__ */ jsx51(StnWidget.StatusItem, { label: "Minor", value: "3", grade: "minor" })
|
|
6208
6533
|
] }) }),
|
|
6209
|
-
/* @__PURE__ */
|
|
6534
|
+
/* @__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(
|
|
6210
6535
|
StnWidget.GradeRow,
|
|
6211
6536
|
{
|
|
6212
6537
|
grade: row.grade,
|
|
@@ -6216,50 +6541,50 @@ function AlertCenterDashboard({ className, appearance = "translucent", loading =
|
|
|
6216
6541
|
},
|
|
6217
6542
|
row.label
|
|
6218
6543
|
)) }) }),
|
|
6219
|
-
/* @__PURE__ */
|
|
6544
|
+
/* @__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" }) })
|
|
6220
6545
|
]
|
|
6221
6546
|
}
|
|
6222
6547
|
);
|
|
6223
6548
|
}
|
|
6224
6549
|
|
|
6225
6550
|
// src/patterns/dashboard/PubDashboardWidgetBodies.tsx
|
|
6226
|
-
import { jsx as
|
|
6551
|
+
import { jsx as jsx52, jsxs as jsxs42 } from "react/jsx-runtime";
|
|
6227
6552
|
function PubDisabilityStatusList({ items, summary }) {
|
|
6228
|
-
return /* @__PURE__ */
|
|
6229
|
-
/* @__PURE__ */
|
|
6553
|
+
return /* @__PURE__ */ jsxs42("div", { className: "ds-disability-status", children: [
|
|
6554
|
+
/* @__PURE__ */ jsx52("ul", { className: "ds-disability-status__list", children: items.map((item, i) => /* @__PURE__ */ jsxs42(
|
|
6230
6555
|
"li",
|
|
6231
6556
|
{
|
|
6232
6557
|
className: ["ds-disability-status__item", item.grade].filter(Boolean).join(" "),
|
|
6233
6558
|
children: [
|
|
6234
|
-
/* @__PURE__ */
|
|
6235
|
-
item.showDot !== false && item.grade ? /* @__PURE__ */
|
|
6559
|
+
/* @__PURE__ */ jsxs42("span", { children: [
|
|
6560
|
+
item.showDot !== false && item.grade ? /* @__PURE__ */ jsx52("span", { className: "dot", "aria-hidden": true }) : null,
|
|
6236
6561
|
item.label
|
|
6237
6562
|
] }),
|
|
6238
|
-
/* @__PURE__ */
|
|
6563
|
+
/* @__PURE__ */ jsx52("p", { children: item.value })
|
|
6239
6564
|
]
|
|
6240
6565
|
},
|
|
6241
6566
|
i
|
|
6242
6567
|
)) }),
|
|
6243
|
-
summary && summary.length > 0 ? /* @__PURE__ */
|
|
6568
|
+
summary && summary.length > 0 ? /* @__PURE__ */ jsx52("div", { className: "ds-disability-status__summary", children: summary.map((row, i) => /* @__PURE__ */ jsxs42("p", { className: "ds-disability-status__value", children: [
|
|
6244
6569
|
row.label,
|
|
6245
|
-
/* @__PURE__ */
|
|
6570
|
+
/* @__PURE__ */ jsx52("span", { children: row.value })
|
|
6246
6571
|
] }, i)) }) : null
|
|
6247
6572
|
] });
|
|
6248
6573
|
}
|
|
6249
6574
|
function PubTrafficTop5Bars({ rows }) {
|
|
6250
6575
|
const maxPercent = Math.max(...rows.map((row) => row.percent), 0);
|
|
6251
|
-
return /* @__PURE__ */
|
|
6252
|
-
/* @__PURE__ */
|
|
6253
|
-
/* @__PURE__ */
|
|
6254
|
-
/* @__PURE__ */
|
|
6576
|
+
return /* @__PURE__ */ jsx52("div", { className: "ds-bar-group", children: rows.map((row) => /* @__PURE__ */ jsxs42("div", { className: ["ds-bar", row.percent === maxPercent ? "max" : ""].filter(Boolean).join(" "), children: [
|
|
6577
|
+
/* @__PURE__ */ jsx52("p", { className: "ds-bar-name", title: row.label, children: row.label }),
|
|
6578
|
+
/* @__PURE__ */ jsx52("div", { className: "ds-bar-con", title: `${row.percent}%`, children: /* @__PURE__ */ jsx52("span", { className: "ds-bar-gauge", style: { "--percent": `${row.percent}%` } }) }),
|
|
6579
|
+
/* @__PURE__ */ jsx52("p", { className: "ds-bar-value", title: row.value, children: row.value })
|
|
6255
6580
|
] }, row.label)) });
|
|
6256
6581
|
}
|
|
6257
6582
|
function PubTop5EquipmentBars({ rows }) {
|
|
6258
|
-
return /* @__PURE__ */
|
|
6259
|
-
/* @__PURE__ */
|
|
6260
|
-
/* @__PURE__ */
|
|
6261
|
-
/* @__PURE__ */
|
|
6262
|
-
/* @__PURE__ */
|
|
6583
|
+
return /* @__PURE__ */ jsxs42("div", { className: "ds-group", children: [
|
|
6584
|
+
/* @__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" }) }) }),
|
|
6585
|
+
/* @__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__ */ jsxs42("div", { className: "ds-bar-con", title: `${row.percent}%`, children: [
|
|
6586
|
+
/* @__PURE__ */ jsx52("span", { className: "ds-bar-gauge", style: { "--percent": `${row.percent}%` } }),
|
|
6587
|
+
/* @__PURE__ */ jsx52("div", { className: "ds-bar-status", children: row.status })
|
|
6263
6588
|
] }) }, row.label)) }) })
|
|
6264
6589
|
] });
|
|
6265
6590
|
}
|
|
@@ -6268,7 +6593,7 @@ function PubChartSample({
|
|
|
6268
6593
|
alt = "\uCC28\uD2B8",
|
|
6269
6594
|
onError
|
|
6270
6595
|
}) {
|
|
6271
|
-
return /* @__PURE__ */
|
|
6596
|
+
return /* @__PURE__ */ jsx52("div", { className: "ds-chart", children: /* @__PURE__ */ jsx52("img", { src, alt, className: "chart_sample", onError }) });
|
|
6272
6597
|
}
|
|
6273
6598
|
|
|
6274
6599
|
// src/patterns/alertCenter/StnAlertCenterPanel.tsx
|
|
@@ -6276,7 +6601,7 @@ import { useState as useState11 } from "react";
|
|
|
6276
6601
|
import {
|
|
6277
6602
|
STN_ALERT_CENTER_TABS
|
|
6278
6603
|
} from "@stn-uiux/pub-ui/data/stnAlertCenter";
|
|
6279
|
-
import { jsx as
|
|
6604
|
+
import { jsx as jsx53, jsxs as jsxs43 } from "react/jsx-runtime";
|
|
6280
6605
|
function resolveAlertIcon(item) {
|
|
6281
6606
|
if (item.icon) {
|
|
6282
6607
|
if (item.icon === "line/arrow-down") return "line/arrow-narrow-down";
|
|
@@ -6294,6 +6619,97 @@ function resolveGradeLabel(grade) {
|
|
|
6294
6619
|
if (grade === "warning") return "WR";
|
|
6295
6620
|
return grade.toUpperCase();
|
|
6296
6621
|
}
|
|
6622
|
+
function StnAlertCard({
|
|
6623
|
+
item,
|
|
6624
|
+
titleOverflow = "wrap",
|
|
6625
|
+
descOverflow = "wrap",
|
|
6626
|
+
onClick,
|
|
6627
|
+
className
|
|
6628
|
+
}) {
|
|
6629
|
+
const iconNode = resolveAlertIcon(item);
|
|
6630
|
+
const gradeLabel = resolveGradeLabel(item.grade);
|
|
6631
|
+
return /* @__PURE__ */ jsx53(
|
|
6632
|
+
StnCard,
|
|
6633
|
+
{
|
|
6634
|
+
variant: "elevated",
|
|
6635
|
+
radius: "md",
|
|
6636
|
+
padding: "md",
|
|
6637
|
+
interactive: true,
|
|
6638
|
+
className: cn("stn-alert-card", className),
|
|
6639
|
+
onClick,
|
|
6640
|
+
children: /* @__PURE__ */ jsxs43("div", { className: "stn-alert-card__row", children: [
|
|
6641
|
+
/* @__PURE__ */ jsx53(
|
|
6642
|
+
StnIcon,
|
|
6643
|
+
{
|
|
6644
|
+
name: iconNode,
|
|
6645
|
+
size: 24,
|
|
6646
|
+
color: `var(--stn-grade-${item.grade}, var(--stn-primary))`,
|
|
6647
|
+
className: "stn-alert-card__icon"
|
|
6648
|
+
}
|
|
6649
|
+
),
|
|
6650
|
+
/* @__PURE__ */ jsxs43("div", { className: "stn-alert-card__body", children: [
|
|
6651
|
+
/* @__PURE__ */ jsxs43(StnStack, { direction: "row", alignItems: "center", spacing: 1, className: "stn-alert-card__header-line", children: [
|
|
6652
|
+
/* @__PURE__ */ jsx53(
|
|
6653
|
+
StnChip,
|
|
6654
|
+
{
|
|
6655
|
+
shape: "pill",
|
|
6656
|
+
size: "sm",
|
|
6657
|
+
variant: "filled",
|
|
6658
|
+
color: item.grade,
|
|
6659
|
+
children: gradeLabel
|
|
6660
|
+
}
|
|
6661
|
+
),
|
|
6662
|
+
/* @__PURE__ */ jsx53(
|
|
6663
|
+
"span",
|
|
6664
|
+
{
|
|
6665
|
+
className: cn("stn-alert-card__title", titleOverflow),
|
|
6666
|
+
title: item.title,
|
|
6667
|
+
children: /* @__PURE__ */ jsx53("span", { className: "stn-alert-card__text-inner", children: item.title })
|
|
6668
|
+
}
|
|
6669
|
+
)
|
|
6670
|
+
] }),
|
|
6671
|
+
/* @__PURE__ */ jsxs43(StnStack, { direction: "row", alignItems: "center", spacing: 2, wrap: "wrap", className: "stn-alert-card__desc-line", children: [
|
|
6672
|
+
/* @__PURE__ */ jsx53(
|
|
6673
|
+
"span",
|
|
6674
|
+
{
|
|
6675
|
+
className: cn("stn-alert-card__desc", descOverflow),
|
|
6676
|
+
title: item.description,
|
|
6677
|
+
children: /* @__PURE__ */ jsx53("span", { className: "stn-alert-card__text-inner", children: item.description })
|
|
6678
|
+
}
|
|
6679
|
+
),
|
|
6680
|
+
item.occurredAt && /* @__PURE__ */ jsxs43(
|
|
6681
|
+
StnChip,
|
|
6682
|
+
{
|
|
6683
|
+
shape: "pill",
|
|
6684
|
+
size: "sm",
|
|
6685
|
+
variant: "subtle",
|
|
6686
|
+
color: "critical",
|
|
6687
|
+
className: "stn-alert-card__time-chip",
|
|
6688
|
+
children: [
|
|
6689
|
+
"\uBC1C\uC0DD\uC2DC\uAC04: ",
|
|
6690
|
+
item.occurredAt
|
|
6691
|
+
]
|
|
6692
|
+
}
|
|
6693
|
+
)
|
|
6694
|
+
] })
|
|
6695
|
+
] }),
|
|
6696
|
+
/* @__PURE__ */ jsxs43("div", { className: "stn-alert-card__meta", children: [
|
|
6697
|
+
/* @__PURE__ */ jsx53("span", { className: "stn-alert-card__time", children: item.time }),
|
|
6698
|
+
item.unread !== false && /* @__PURE__ */ jsx53(
|
|
6699
|
+
"span",
|
|
6700
|
+
{
|
|
6701
|
+
className: cn(
|
|
6702
|
+
"stn-alert-card__dot",
|
|
6703
|
+
`stn-alert-card__dot--${item.grade}`
|
|
6704
|
+
),
|
|
6705
|
+
"aria-hidden": true
|
|
6706
|
+
}
|
|
6707
|
+
)
|
|
6708
|
+
] })
|
|
6709
|
+
] })
|
|
6710
|
+
}
|
|
6711
|
+
);
|
|
6712
|
+
}
|
|
6297
6713
|
function StnAlertCenterPanel({
|
|
6298
6714
|
title = "\uC54C\uB9BC\uC13C\uD130",
|
|
6299
6715
|
alerts = [],
|
|
@@ -6301,6 +6717,9 @@ function StnAlertCenterPanel({
|
|
|
6301
6717
|
deployItems = [],
|
|
6302
6718
|
defaultTab = "error",
|
|
6303
6719
|
size = "md",
|
|
6720
|
+
textOverflow = "wrap",
|
|
6721
|
+
titleOverflow,
|
|
6722
|
+
descOverflow,
|
|
6304
6723
|
tabIds,
|
|
6305
6724
|
tabName: _tabName,
|
|
6306
6725
|
onClose,
|
|
@@ -6312,167 +6731,121 @@ function StnAlertCenterPanel({
|
|
|
6312
6731
|
}) {
|
|
6313
6732
|
const [activeTab, setActiveTab] = useState11(defaultTab);
|
|
6314
6733
|
const alertCount = alerts.length;
|
|
6315
|
-
|
|
6316
|
-
|
|
6317
|
-
|
|
6318
|
-
|
|
6319
|
-
|
|
6320
|
-
|
|
6321
|
-
|
|
6322
|
-
|
|
6323
|
-
|
|
6324
|
-
{
|
|
6325
|
-
|
|
6326
|
-
value: activeTab,
|
|
6327
|
-
onChange: (val) => setActiveTab(val),
|
|
6328
|
-
options: STN_ALERT_CENTER_TABS.map((tab) => ({
|
|
6329
|
-
value: tab.id,
|
|
6330
|
-
label: tab.label,
|
|
6331
|
-
id: tabIds?.[tab.id]
|
|
6332
|
-
}))
|
|
6333
|
-
}
|
|
6734
|
+
const resolvedTitleOverflow = titleOverflow ?? textOverflow;
|
|
6735
|
+
const resolvedDescOverflow = descOverflow ?? textOverflow;
|
|
6736
|
+
return /* @__PURE__ */ jsxs43(
|
|
6737
|
+
"div",
|
|
6738
|
+
{
|
|
6739
|
+
className: cn(
|
|
6740
|
+
"stn-alert-center",
|
|
6741
|
+
size,
|
|
6742
|
+
`title-${resolvedTitleOverflow}`,
|
|
6743
|
+
`desc-${resolvedDescOverflow}`,
|
|
6744
|
+
className
|
|
6334
6745
|
),
|
|
6335
|
-
|
|
6336
|
-
|
|
6337
|
-
|
|
6338
|
-
{
|
|
6339
|
-
|
|
6340
|
-
|
|
6341
|
-
|
|
6342
|
-
|
|
6343
|
-
|
|
6344
|
-
|
|
6345
|
-
|
|
6346
|
-
|
|
6347
|
-
|
|
6348
|
-
|
|
6349
|
-
|
|
6350
|
-
|
|
6351
|
-
|
|
6352
|
-
|
|
6353
|
-
|
|
6354
|
-
|
|
6355
|
-
|
|
6356
|
-
|
|
6357
|
-
|
|
6358
|
-
|
|
6359
|
-
|
|
6360
|
-
|
|
6361
|
-
|
|
6362
|
-
|
|
6363
|
-
|
|
6364
|
-
|
|
6365
|
-
|
|
6366
|
-
|
|
6367
|
-
|
|
6368
|
-
|
|
6369
|
-
|
|
6370
|
-
|
|
6371
|
-
|
|
6372
|
-
|
|
6373
|
-
|
|
6374
|
-
|
|
6375
|
-
|
|
6376
|
-
|
|
6377
|
-
|
|
6378
|
-
|
|
6379
|
-
className: "stn-alert-card__icon"
|
|
6380
|
-
}
|
|
6381
|
-
),
|
|
6382
|
-
/* @__PURE__ */ jsxs42("div", { className: "stn-alert-card__body", children: [
|
|
6383
|
-
/* @__PURE__ */ jsxs42(StnStack, { direction: "row", alignItems: "center", spacing: 1, children: [
|
|
6384
|
-
/* @__PURE__ */ jsx52(
|
|
6385
|
-
StnChip,
|
|
6386
|
-
{
|
|
6387
|
-
shape: "pill",
|
|
6388
|
-
size: "sm",
|
|
6389
|
-
variant: "filled",
|
|
6390
|
-
color: item.grade,
|
|
6391
|
-
children: gradeLabel
|
|
6392
|
-
}
|
|
6393
|
-
),
|
|
6394
|
-
/* @__PURE__ */ jsx52("span", { className: "stn-alert-card__title", children: item.title })
|
|
6395
|
-
] }),
|
|
6396
|
-
/* @__PURE__ */ jsxs42(StnStack, { direction: "row", alignItems: "center", spacing: 2, wrap: "wrap", children: [
|
|
6397
|
-
/* @__PURE__ */ jsx52("span", { className: "stn-alert-card__desc", children: item.description }),
|
|
6398
|
-
item.occurredAt && /* @__PURE__ */ jsxs42(
|
|
6399
|
-
StnChip,
|
|
6400
|
-
{
|
|
6401
|
-
shape: "pill",
|
|
6402
|
-
size: "sm",
|
|
6403
|
-
variant: "subtle",
|
|
6404
|
-
color: "critical",
|
|
6405
|
-
children: [
|
|
6406
|
-
"\uBC1C\uC0DD\uC2DC\uAC04: ",
|
|
6407
|
-
item.occurredAt
|
|
6408
|
-
]
|
|
6409
|
-
}
|
|
6410
|
-
)
|
|
6411
|
-
] })
|
|
6412
|
-
] }),
|
|
6413
|
-
/* @__PURE__ */ jsxs42("div", { className: "stn-alert-card__meta", children: [
|
|
6414
|
-
/* @__PURE__ */ jsx52("span", { className: "stn-alert-card__time", children: item.time }),
|
|
6415
|
-
item.unread !== false && /* @__PURE__ */ jsx52(
|
|
6416
|
-
"span",
|
|
6417
|
-
{
|
|
6418
|
-
className: cn(
|
|
6419
|
-
"stn-alert-card__dot",
|
|
6420
|
-
`stn-alert-card__dot--${item.grade}`
|
|
6421
|
-
),
|
|
6422
|
-
"aria-hidden": true
|
|
6423
|
-
}
|
|
6424
|
-
)
|
|
6425
|
-
] })
|
|
6426
|
-
] })
|
|
6427
|
-
}
|
|
6428
|
-
) }, item.id ?? item.title);
|
|
6429
|
-
}) }),
|
|
6430
|
-
activeTab === "work" && /* @__PURE__ */ jsx52("ul", { className: "stn-alert-center__list", children: workItems.map((row) => /* @__PURE__ */ jsx52("li", { children: /* @__PURE__ */ jsx52(StnCard, { variant: "elevated", radius: "md", padding: "md", interactive: true, className: "stn-alert-card", children: /* @__PURE__ */ jsxs42("div", { className: "stn-alert-card__row", children: [
|
|
6431
|
-
/* @__PURE__ */ jsx52(StnIcon, { name: "line/clock", size: 24, color: "var(--stn-text-secondary)", className: "stn-alert-card__icon" }),
|
|
6432
|
-
/* @__PURE__ */ jsxs42("div", { className: "stn-alert-card__body", children: [
|
|
6433
|
-
/* @__PURE__ */ jsx52("span", { className: "stn-alert-card__type-label stn-alert-card__type-label--work", children: row.typeLabel }),
|
|
6434
|
-
/* @__PURE__ */ jsx52("span", { className: "stn-alert-card__desc", children: row.text })
|
|
6746
|
+
"data-stn-alert-center": true,
|
|
6747
|
+
children: [
|
|
6748
|
+
/* @__PURE__ */ jsxs43("div", { className: "stn-alert-center__header", children: [
|
|
6749
|
+
/* @__PURE__ */ jsxs43("div", { className: "stn-alert-center__header-left", children: [
|
|
6750
|
+
/* @__PURE__ */ jsx53(StnIcon, { name: "line/bell", size: 20, color: "var(--stn-primary)" }),
|
|
6751
|
+
/* @__PURE__ */ jsx53("span", { className: "stn-alert-center__title", children: title }),
|
|
6752
|
+
alertCount > 0 && /* @__PURE__ */ jsx53(StnChip, { shape: "pill", size: "sm", variant: "subtle", color: "primary", children: alertCount })
|
|
6753
|
+
] }),
|
|
6754
|
+
/* @__PURE__ */ jsx53(
|
|
6755
|
+
StnSegmented,
|
|
6756
|
+
{
|
|
6757
|
+
size: "md",
|
|
6758
|
+
value: activeTab,
|
|
6759
|
+
onChange: (val) => setActiveTab(val),
|
|
6760
|
+
options: STN_ALERT_CENTER_TABS.map((tab) => ({
|
|
6761
|
+
value: tab.id,
|
|
6762
|
+
label: tab.label,
|
|
6763
|
+
id: tabIds?.[tab.id]
|
|
6764
|
+
}))
|
|
6765
|
+
}
|
|
6766
|
+
),
|
|
6767
|
+
/* @__PURE__ */ jsxs43("div", { className: "stn-alert-center__header-right", children: [
|
|
6768
|
+
/* @__PURE__ */ jsx53(
|
|
6769
|
+
StnButton,
|
|
6770
|
+
{
|
|
6771
|
+
variant: "text",
|
|
6772
|
+
size: "sm",
|
|
6773
|
+
icon: "line/check-circle",
|
|
6774
|
+
onClick: onMarkAllAsRead,
|
|
6775
|
+
children: "\uBAA8\uB450 \uC77D\uC74C"
|
|
6776
|
+
}
|
|
6777
|
+
),
|
|
6778
|
+
/* @__PURE__ */ jsx53("div", { className: "stn-alert-center__divider", "aria-hidden": true }),
|
|
6779
|
+
/* @__PURE__ */ jsx53(
|
|
6780
|
+
StnButton,
|
|
6781
|
+
{
|
|
6782
|
+
icon: "line/x",
|
|
6783
|
+
variant: "text",
|
|
6784
|
+
size: "sm",
|
|
6785
|
+
"aria-label": closeLabel,
|
|
6786
|
+
onClick: onClose
|
|
6787
|
+
}
|
|
6788
|
+
)
|
|
6789
|
+
] })
|
|
6435
6790
|
] }),
|
|
6436
|
-
/* @__PURE__ */
|
|
6437
|
-
|
|
6438
|
-
|
|
6439
|
-
|
|
6440
|
-
|
|
6441
|
-
|
|
6442
|
-
|
|
6791
|
+
/* @__PURE__ */ jsxs43("div", { className: "stn-alert-center__list-wrap", children: [
|
|
6792
|
+
activeTab === "error" && /* @__PURE__ */ jsx53("ul", { className: "stn-alert-center__list", children: alerts.map((item) => /* @__PURE__ */ jsx53("li", { children: /* @__PURE__ */ jsx53(
|
|
6793
|
+
StnAlertCard,
|
|
6794
|
+
{
|
|
6795
|
+
item,
|
|
6796
|
+
titleOverflow: resolvedTitleOverflow,
|
|
6797
|
+
descOverflow: resolvedDescOverflow,
|
|
6798
|
+
onClick: () => onItemClick?.(item)
|
|
6799
|
+
}
|
|
6800
|
+
) }, item.id ?? item.title)) }),
|
|
6801
|
+
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__ */ jsxs43("div", { className: "stn-alert-card__row", children: [
|
|
6802
|
+
/* @__PURE__ */ jsx53(StnIcon, { name: "line/clock", size: 24, color: "var(--stn-text-secondary)", className: "stn-alert-card__icon" }),
|
|
6803
|
+
/* @__PURE__ */ jsxs43("div", { className: "stn-alert-card__body", children: [
|
|
6804
|
+
/* @__PURE__ */ jsx53("span", { className: "stn-alert-card__type-label stn-alert-card__type-label--work", children: row.typeLabel }),
|
|
6805
|
+
/* @__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 }) })
|
|
6806
|
+
] }),
|
|
6807
|
+
/* @__PURE__ */ jsx53("span", { className: "stn-alert-card__time", children: row.time })
|
|
6808
|
+
] }) }) }, row.id ?? row.text)) }),
|
|
6809
|
+
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__ */ jsxs43("div", { className: "stn-alert-card__row", children: [
|
|
6810
|
+
/* @__PURE__ */ jsx53(StnIcon, { name: "line/settings", size: 24, color: "var(--stn-secondary)", className: "stn-alert-card__icon" }),
|
|
6811
|
+
/* @__PURE__ */ jsxs43("div", { className: "stn-alert-card__body", children: [
|
|
6812
|
+
/* @__PURE__ */ jsx53("span", { className: "stn-alert-card__type-label stn-alert-card__type-label--deploy", children: row.typeLabel }),
|
|
6813
|
+
/* @__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 }) })
|
|
6814
|
+
] }),
|
|
6815
|
+
/* @__PURE__ */ jsx53("span", { className: "stn-alert-card__time", children: row.time })
|
|
6816
|
+
] }) }) }, row.id ?? row.text)) })
|
|
6443
6817
|
] }),
|
|
6444
|
-
/* @__PURE__ */
|
|
6445
|
-
|
|
6446
|
-
|
|
6447
|
-
|
|
6448
|
-
|
|
6449
|
-
|
|
6450
|
-
|
|
6451
|
-
|
|
6452
|
-
|
|
6453
|
-
|
|
6454
|
-
|
|
6455
|
-
|
|
6456
|
-
|
|
6457
|
-
|
|
6458
|
-
|
|
6459
|
-
|
|
6460
|
-
] });
|
|
6818
|
+
/* @__PURE__ */ jsx53("div", { className: "stn-alert-center__footer", children: /* @__PURE__ */ jsxs43(
|
|
6819
|
+
"button",
|
|
6820
|
+
{
|
|
6821
|
+
type: "button",
|
|
6822
|
+
className: "stn-alert-center__footer-link",
|
|
6823
|
+
onClick: onManageSettings,
|
|
6824
|
+
children: [
|
|
6825
|
+
/* @__PURE__ */ jsx53("span", { children: "\uC54C\uB9BC \uC124\uC815 \uAD00\uB9AC" }),
|
|
6826
|
+
/* @__PURE__ */ jsx53(StnIcon, { name: "line/settings", size: 14 }),
|
|
6827
|
+
/* @__PURE__ */ jsx53(StnIcon, { name: "line/chevron-right", size: 14 })
|
|
6828
|
+
]
|
|
6829
|
+
}
|
|
6830
|
+
) })
|
|
6831
|
+
]
|
|
6832
|
+
}
|
|
6833
|
+
);
|
|
6461
6834
|
}
|
|
6462
6835
|
|
|
6463
6836
|
// src/patterns/alertCenter/StnAlertCenterDocPreview.tsx
|
|
6464
|
-
import { jsx as
|
|
6837
|
+
import { jsx as jsx54 } from "react/jsx-runtime";
|
|
6465
6838
|
function StnAlertCenterDocPreview({
|
|
6466
6839
|
theme = "light",
|
|
6467
6840
|
withDocChrome = true,
|
|
6468
6841
|
children,
|
|
6469
6842
|
...panelProps
|
|
6470
6843
|
}) {
|
|
6471
|
-
const panel = children ?? /* @__PURE__ */
|
|
6844
|
+
const panel = children ?? /* @__PURE__ */ jsx54(StnAlertCenterPanel, { ...panelProps });
|
|
6472
6845
|
if (!withDocChrome) {
|
|
6473
|
-
return /* @__PURE__ */
|
|
6846
|
+
return /* @__PURE__ */ jsx54(StnProvider, { theme, applyThemeToDocument: false, children: panel });
|
|
6474
6847
|
}
|
|
6475
|
-
return /* @__PURE__ */
|
|
6848
|
+
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 }) });
|
|
6476
6849
|
}
|
|
6477
6850
|
|
|
6478
6851
|
// src/index.ts
|
|
@@ -6484,6 +6857,7 @@ import {
|
|
|
6484
6857
|
STN_ALERT_CENTER_DEMO_WORK as STN_ALERT_CENTER_DEMO_WORK2,
|
|
6485
6858
|
STN_ALERT_CENTER_DEMO_DEPLOY as STN_ALERT_CENTER_DEMO_DEPLOY2,
|
|
6486
6859
|
STN_ALERT_CENTER_USAGE,
|
|
6860
|
+
STN_ALERT_CENTER_USAGE_HTML,
|
|
6487
6861
|
STN_GNB_ALERT_INTEGRATION_USAGE
|
|
6488
6862
|
} from "@stn-uiux/pub-ui/data/stnAlertCenter";
|
|
6489
6863
|
|
|
@@ -6498,7 +6872,7 @@ var useSideNav = () => useContext3(SideNavContext);
|
|
|
6498
6872
|
// src/components/sideNav/StnSideNavItem.tsx
|
|
6499
6873
|
import { forwardRef as forwardRef25 } from "react";
|
|
6500
6874
|
import { STN_NAV_MENU_SUB_ICON } from "@stn-uiux/pub-ui/data/stnSideNavItem";
|
|
6501
|
-
import { jsx as
|
|
6875
|
+
import { jsx as jsx55, jsxs as jsxs44 } from "react/jsx-runtime";
|
|
6502
6876
|
function maskStyle2(src) {
|
|
6503
6877
|
return { maskImage: `url('${src}')`, WebkitMaskImage: `url('${src}')` };
|
|
6504
6878
|
}
|
|
@@ -6545,13 +6919,13 @@ var StnSideNavItem = forwardRef25(function StnSideNavItem2({
|
|
|
6545
6919
|
sideNav.onSelect(id);
|
|
6546
6920
|
}
|
|
6547
6921
|
};
|
|
6548
|
-
const iconElement = hasIcon && !isSub ? /* @__PURE__ */
|
|
6549
|
-
/* @__PURE__ */
|
|
6550
|
-
showDot ? /* @__PURE__ */
|
|
6922
|
+
const iconElement = hasIcon && !isSub ? /* @__PURE__ */ jsxs44("span", { className: "stn-side-nav-item__icon-wrap", children: [
|
|
6923
|
+
/* @__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) }),
|
|
6924
|
+
showDot ? /* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__dot-wrap", "aria-hidden": "true", children: /* @__PURE__ */ jsx55(StnBadge, { variant: "dot", color: "error" }) }) : null
|
|
6551
6925
|
] }) : null;
|
|
6552
|
-
const subIconElement = hasIcon && isSub ? /* @__PURE__ */
|
|
6926
|
+
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;
|
|
6553
6927
|
const activeIconElement = isSub ? subIconElement : iconElement;
|
|
6554
|
-
return /* @__PURE__ */
|
|
6928
|
+
return /* @__PURE__ */ jsx55(
|
|
6555
6929
|
"button",
|
|
6556
6930
|
{
|
|
6557
6931
|
ref,
|
|
@@ -6570,10 +6944,10 @@ var StnSideNavItem = forwardRef25(function StnSideNavItem2({
|
|
|
6570
6944
|
title: collapsed ? label : void 0,
|
|
6571
6945
|
onClick: handleClick,
|
|
6572
6946
|
...rest,
|
|
6573
|
-
children: /* @__PURE__ */
|
|
6574
|
-
/* @__PURE__ */
|
|
6575
|
-
isSub && showSubIndent ? /* @__PURE__ */
|
|
6576
|
-
shouldShowSubDot ? /* @__PURE__ */
|
|
6947
|
+
children: /* @__PURE__ */ jsxs44("span", { className: cn("stn-side-nav-item__inner", spreadTrail && "spread"), children: [
|
|
6948
|
+
/* @__PURE__ */ jsxs44("span", { className: "stn-side-nav-item__lead", children: [
|
|
6949
|
+
isSub && showSubIndent ? /* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__sub-indent", "aria-hidden": "true" }) : null,
|
|
6950
|
+
shouldShowSubDot ? /* @__PURE__ */ jsx55(
|
|
6577
6951
|
"span",
|
|
6578
6952
|
{
|
|
6579
6953
|
className: cn(
|
|
@@ -6581,14 +6955,14 @@ var StnSideNavItem = forwardRef25(function StnSideNavItem2({
|
|
|
6581
6955
|
hasIcon && iconPosition === "left" && "compact"
|
|
6582
6956
|
),
|
|
6583
6957
|
"aria-hidden": "true",
|
|
6584
|
-
children: /* @__PURE__ */
|
|
6958
|
+
children: /* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__sub-dot-glyph", style: maskStyle2(STN_NAV_MENU_SUB_ICON) })
|
|
6585
6959
|
}
|
|
6586
6960
|
) : null,
|
|
6587
6961
|
iconPosition === "left" ? activeIconElement : null,
|
|
6588
|
-
/* @__PURE__ */
|
|
6962
|
+
/* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__label", children: label })
|
|
6589
6963
|
] }),
|
|
6590
6964
|
iconPosition === "right" ? activeIconElement : null,
|
|
6591
|
-
renderBadge ? typeof badge === "string" || typeof badge === "number" ? /* @__PURE__ */
|
|
6965
|
+
renderBadge ? typeof badge === "string" || typeof badge === "number" ? /* @__PURE__ */ jsx55(
|
|
6592
6966
|
StnBadge,
|
|
6593
6967
|
{
|
|
6594
6968
|
badgeContent: badge,
|
|
@@ -6596,7 +6970,7 @@ var StnSideNavItem = forwardRef25(function StnSideNavItem2({
|
|
|
6596
6970
|
appearance: "subtle",
|
|
6597
6971
|
className: "stn-side-nav-item__badge"
|
|
6598
6972
|
}
|
|
6599
|
-
) : badge ? /* @__PURE__ */
|
|
6973
|
+
) : badge ? /* @__PURE__ */ jsx55("span", { className: "stn-side-nav-item__badge", children: badge }) : showBadgeDot ? /* @__PURE__ */ jsx55(
|
|
6600
6974
|
StnBadge,
|
|
6601
6975
|
{
|
|
6602
6976
|
variant: "dot",
|
|
@@ -6604,7 +6978,7 @@ var StnSideNavItem = forwardRef25(function StnSideNavItem2({
|
|
|
6604
6978
|
className: "stn-side-nav-item__badge"
|
|
6605
6979
|
}
|
|
6606
6980
|
) : null : null,
|
|
6607
|
-
!isSub && showChevron && !collapsed ? /* @__PURE__ */
|
|
6981
|
+
!isSub && showChevron && !collapsed ? /* @__PURE__ */ jsx55(
|
|
6608
6982
|
"span",
|
|
6609
6983
|
{
|
|
6610
6984
|
className: cn(
|
|
@@ -6625,11 +6999,11 @@ import { forwardRef as forwardRef27 } from "react";
|
|
|
6625
6999
|
|
|
6626
7000
|
// src/components/sideNav/StnSideNavLogo.tsx
|
|
6627
7001
|
import { forwardRef as forwardRef26 } from "react";
|
|
6628
|
-
import { jsx as
|
|
7002
|
+
import { jsx as jsx56 } from "react/jsx-runtime";
|
|
6629
7003
|
var StnSideNavLogo = forwardRef26(
|
|
6630
7004
|
function StnSideNavLogo2({ className, logoProps, ...rest }, ref) {
|
|
6631
7005
|
const { collapsed } = useSideNav();
|
|
6632
|
-
return /* @__PURE__ */
|
|
7006
|
+
return /* @__PURE__ */ jsx56(
|
|
6633
7007
|
"div",
|
|
6634
7008
|
{
|
|
6635
7009
|
ref,
|
|
@@ -6640,7 +7014,7 @@ var StnSideNavLogo = forwardRef26(
|
|
|
6640
7014
|
),
|
|
6641
7015
|
title: "InfoMap",
|
|
6642
7016
|
...rest,
|
|
6643
|
-
children: /* @__PURE__ */
|
|
7017
|
+
children: /* @__PURE__ */ jsx56(
|
|
6644
7018
|
StnLogo,
|
|
6645
7019
|
{
|
|
6646
7020
|
variant: collapsed ? "onlyimg" : "horizontal",
|
|
@@ -6654,7 +7028,7 @@ var StnSideNavLogo = forwardRef26(
|
|
|
6654
7028
|
);
|
|
6655
7029
|
|
|
6656
7030
|
// src/components/sideNav/StnSideNavHeader.tsx
|
|
6657
|
-
import { Fragment as Fragment6, jsx as
|
|
7031
|
+
import { Fragment as Fragment6, jsx as jsx57, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
6658
7032
|
var StnSideNavHeader = forwardRef27(function StnSideNavHeader2({
|
|
6659
7033
|
children,
|
|
6660
7034
|
border = false,
|
|
@@ -6667,7 +7041,7 @@ var StnSideNavHeader = forwardRef27(function StnSideNavHeader2({
|
|
|
6667
7041
|
const { collapsed, onToggleCollapse, isDrawer, setMobileOpen } = useSideNav();
|
|
6668
7042
|
const withBorder = Boolean(border || hasBorder);
|
|
6669
7043
|
const shouldShowClose = showClose ?? Boolean(isDrawer);
|
|
6670
|
-
return /* @__PURE__ */
|
|
7044
|
+
return /* @__PURE__ */ jsx57(
|
|
6671
7045
|
"div",
|
|
6672
7046
|
{
|
|
6673
7047
|
ref,
|
|
@@ -6678,9 +7052,9 @@ var StnSideNavHeader = forwardRef27(function StnSideNavHeader2({
|
|
|
6678
7052
|
className
|
|
6679
7053
|
),
|
|
6680
7054
|
...rest,
|
|
6681
|
-
children: children ?? /* @__PURE__ */
|
|
6682
|
-
/* @__PURE__ */
|
|
6683
|
-
shouldShowClose ? /* @__PURE__ */
|
|
7055
|
+
children: children ?? /* @__PURE__ */ jsxs45(Fragment6, { children: [
|
|
7056
|
+
/* @__PURE__ */ jsx57(StnSideNavLogo, {}),
|
|
7057
|
+
shouldShowClose ? /* @__PURE__ */ jsx57(
|
|
6684
7058
|
StnButton,
|
|
6685
7059
|
{
|
|
6686
7060
|
size: "sm",
|
|
@@ -6692,7 +7066,7 @@ var StnSideNavHeader = forwardRef27(function StnSideNavHeader2({
|
|
|
6692
7066
|
className: "stn-side-nav__collapse-btn",
|
|
6693
7067
|
onClick: () => setMobileOpen?.(false)
|
|
6694
7068
|
}
|
|
6695
|
-
) : showToggle ? /* @__PURE__ */
|
|
7069
|
+
) : showToggle ? /* @__PURE__ */ jsx57(
|
|
6696
7070
|
StnButton,
|
|
6697
7071
|
{
|
|
6698
7072
|
size: "sm",
|
|
@@ -6712,7 +7086,7 @@ var StnSideNavHeader = forwardRef27(function StnSideNavHeader2({
|
|
|
6712
7086
|
|
|
6713
7087
|
// src/components/sideNav/StnSideNavMenu.tsx
|
|
6714
7088
|
import { forwardRef as forwardRef28 } from "react";
|
|
6715
|
-
import { jsx as
|
|
7089
|
+
import { jsx as jsx58 } from "react/jsx-runtime";
|
|
6716
7090
|
var StnSideNavMenu = forwardRef28(function StnSideNavMenu2({
|
|
6717
7091
|
children,
|
|
6718
7092
|
className,
|
|
@@ -6720,7 +7094,7 @@ var StnSideNavMenu = forwardRef28(function StnSideNavMenu2({
|
|
|
6720
7094
|
scrollColor = "fade",
|
|
6721
7095
|
...rest
|
|
6722
7096
|
}, ref) {
|
|
6723
|
-
return /* @__PURE__ */
|
|
7097
|
+
return /* @__PURE__ */ jsx58(
|
|
6724
7098
|
"nav",
|
|
6725
7099
|
{
|
|
6726
7100
|
ref,
|
|
@@ -6746,7 +7120,7 @@ import {
|
|
|
6746
7120
|
useRef as useRef7,
|
|
6747
7121
|
useState as useState12
|
|
6748
7122
|
} from "react";
|
|
6749
|
-
import { jsx as
|
|
7123
|
+
import { jsx as jsx59, jsxs as jsxs46 } from "react/jsx-runtime";
|
|
6750
7124
|
var StnSideNavGroup = forwardRef29(function StnSideNavGroup2({
|
|
6751
7125
|
label,
|
|
6752
7126
|
parent,
|
|
@@ -6791,7 +7165,7 @@ var StnSideNavGroup = forwardRef29(function StnSideNavGroup2({
|
|
|
6791
7165
|
}
|
|
6792
7166
|
onOpenChange?.(next);
|
|
6793
7167
|
};
|
|
6794
|
-
const subnavNode = children && (!collapsed && isOpen) ? /* @__PURE__ */
|
|
7168
|
+
const subnavNode = children && (!collapsed && isOpen) ? /* @__PURE__ */ jsx59(
|
|
6795
7169
|
"div",
|
|
6796
7170
|
{
|
|
6797
7171
|
className: cn(
|
|
@@ -6806,7 +7180,7 @@ var StnSideNavGroup = forwardRef29(function StnSideNavGroup2({
|
|
|
6806
7180
|
children
|
|
6807
7181
|
}
|
|
6808
7182
|
) : null;
|
|
6809
|
-
return /* @__PURE__ */
|
|
7183
|
+
return /* @__PURE__ */ jsxs46(
|
|
6810
7184
|
"div",
|
|
6811
7185
|
{
|
|
6812
7186
|
ref: (node) => {
|
|
@@ -6827,7 +7201,7 @@ var StnSideNavGroup = forwardRef29(function StnSideNavGroup2({
|
|
|
6827
7201
|
"aria-label": typeof label === "string" ? label : void 0,
|
|
6828
7202
|
...rest,
|
|
6829
7203
|
children: [
|
|
6830
|
-
label && !collapsed ? /* @__PURE__ */
|
|
7204
|
+
label && !collapsed ? /* @__PURE__ */ jsx59("span", { className: "stn-side-nav__group-label", onClick: handleToggle, children: label }) : null,
|
|
6831
7205
|
isUp ? subnavNode : null,
|
|
6832
7206
|
parent,
|
|
6833
7207
|
!isUp ? subnavNode : null
|
|
@@ -6838,9 +7212,9 @@ var StnSideNavGroup = forwardRef29(function StnSideNavGroup2({
|
|
|
6838
7212
|
|
|
6839
7213
|
// src/components/sideNav/StnSideNavSpacer.tsx
|
|
6840
7214
|
import { forwardRef as forwardRef30 } from "react";
|
|
6841
|
-
import { jsx as
|
|
7215
|
+
import { jsx as jsx60 } from "react/jsx-runtime";
|
|
6842
7216
|
var StnSideNavSpacer = forwardRef30(function StnSideNavSpacer2({ className, style, ...rest }, ref) {
|
|
6843
|
-
return /* @__PURE__ */
|
|
7217
|
+
return /* @__PURE__ */ jsx60(
|
|
6844
7218
|
"div",
|
|
6845
7219
|
{
|
|
6846
7220
|
ref,
|
|
@@ -6854,9 +7228,9 @@ var StnSideNavSpacer = forwardRef30(function StnSideNavSpacer2({ className, styl
|
|
|
6854
7228
|
|
|
6855
7229
|
// src/components/sideNav/StnSideNavFooter.tsx
|
|
6856
7230
|
import { forwardRef as forwardRef31 } from "react";
|
|
6857
|
-
import { jsx as
|
|
7231
|
+
import { jsx as jsx61 } from "react/jsx-runtime";
|
|
6858
7232
|
var StnSideNavFooter = forwardRef31(function StnSideNavFooter2({ curved = false, children, className, ...rest }, ref) {
|
|
6859
|
-
return /* @__PURE__ */
|
|
7233
|
+
return /* @__PURE__ */ jsx61(
|
|
6860
7234
|
"nav",
|
|
6861
7235
|
{
|
|
6862
7236
|
ref,
|
|
@@ -6870,11 +7244,11 @@ var StnSideNavFooter = forwardRef31(function StnSideNavFooter2({ curved = false,
|
|
|
6870
7244
|
|
|
6871
7245
|
// src/components/sideNav/StnSideNavToggle.tsx
|
|
6872
7246
|
import { forwardRef as forwardRef32 } from "react";
|
|
6873
|
-
import { jsx as
|
|
7247
|
+
import { jsx as jsx62 } from "react/jsx-runtime";
|
|
6874
7248
|
var StnSideNavToggle = forwardRef32(
|
|
6875
7249
|
function StnSideNavToggle2({ className, onClick, ...rest }, ref) {
|
|
6876
7250
|
const { collapsed, onToggleCollapse } = useSideNav();
|
|
6877
|
-
return /* @__PURE__ */
|
|
7251
|
+
return /* @__PURE__ */ jsx62(
|
|
6878
7252
|
"button",
|
|
6879
7253
|
{
|
|
6880
7254
|
ref,
|
|
@@ -6887,7 +7261,7 @@ var StnSideNavToggle = forwardRef32(
|
|
|
6887
7261
|
"aria-label": collapsed ? "\uC0AC\uC774\uB4DC\uBC14 \uD3BC\uCE58\uAE30" : "\uC0AC\uC774\uB4DC\uBC14 \uC811\uAE30",
|
|
6888
7262
|
title: collapsed ? "\uC0AC\uC774\uB4DC\uBC14 \uD3BC\uCE58\uAE30" : "\uC0AC\uC774\uB4DC\uBC14 \uC811\uAE30",
|
|
6889
7263
|
...rest,
|
|
6890
|
-
children: /* @__PURE__ */
|
|
7264
|
+
children: /* @__PURE__ */ jsx62(
|
|
6891
7265
|
"svg",
|
|
6892
7266
|
{
|
|
6893
7267
|
width: "12",
|
|
@@ -6898,7 +7272,7 @@ var StnSideNavToggle = forwardRef32(
|
|
|
6898
7272
|
strokeWidth: "2.5",
|
|
6899
7273
|
strokeLinecap: "round",
|
|
6900
7274
|
strokeLinejoin: "round",
|
|
6901
|
-
children: /* @__PURE__ */
|
|
7275
|
+
children: /* @__PURE__ */ jsx62("path", { d: "M9 18l6-6-6-6" })
|
|
6902
7276
|
}
|
|
6903
7277
|
)
|
|
6904
7278
|
}
|
|
@@ -6908,17 +7282,17 @@ var StnSideNavToggle = forwardRef32(
|
|
|
6908
7282
|
|
|
6909
7283
|
// src/components/sideNav/StnSideNavWatermark.tsx
|
|
6910
7284
|
import { forwardRef as forwardRef33 } from "react";
|
|
6911
|
-
import { jsx as
|
|
7285
|
+
import { jsx as jsx63 } from "react/jsx-runtime";
|
|
6912
7286
|
var StnSideNavWatermark = forwardRef33(
|
|
6913
7287
|
function StnSideNavWatermark2({ size = "xl", theme, className, ...rest }, ref) {
|
|
6914
|
-
return /* @__PURE__ */
|
|
7288
|
+
return /* @__PURE__ */ jsx63(
|
|
6915
7289
|
"div",
|
|
6916
7290
|
{
|
|
6917
7291
|
ref,
|
|
6918
7292
|
className: cn("stn-side-nav__watermark", className),
|
|
6919
7293
|
"aria-hidden": "true",
|
|
6920
7294
|
...rest,
|
|
6921
|
-
children: /* @__PURE__ */
|
|
7295
|
+
children: /* @__PURE__ */ jsx63(StnLogo, { variant: "watermark", size, theme })
|
|
6922
7296
|
}
|
|
6923
7297
|
);
|
|
6924
7298
|
}
|
|
@@ -6926,11 +7300,11 @@ var StnSideNavWatermark = forwardRef33(
|
|
|
6926
7300
|
|
|
6927
7301
|
// src/components/sideNav/StnSideNavMobileTrigger.tsx
|
|
6928
7302
|
import { forwardRef as forwardRef34 } from "react";
|
|
6929
|
-
import { jsx as
|
|
7303
|
+
import { jsx as jsx64, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
6930
7304
|
var StnSideNavMobileTrigger = forwardRef34(
|
|
6931
7305
|
function StnSideNavMobileTrigger2({ floating = false, className, children, onClick, ...rest }, ref) {
|
|
6932
7306
|
const { onToggleMobileOpen, mobileOpen } = useSideNav();
|
|
6933
|
-
return /* @__PURE__ */
|
|
7307
|
+
return /* @__PURE__ */ jsx64(
|
|
6934
7308
|
"button",
|
|
6935
7309
|
{
|
|
6936
7310
|
ref,
|
|
@@ -6948,10 +7322,10 @@ var StnSideNavMobileTrigger = forwardRef34(
|
|
|
6948
7322
|
onToggleMobileOpen?.();
|
|
6949
7323
|
},
|
|
6950
7324
|
...rest,
|
|
6951
|
-
children: children ?? /* @__PURE__ */
|
|
6952
|
-
/* @__PURE__ */
|
|
6953
|
-
/* @__PURE__ */
|
|
6954
|
-
/* @__PURE__ */
|
|
7325
|
+
children: children ?? /* @__PURE__ */ jsxs47("span", { className: "stn-side-nav__hamburger-bars", "aria-hidden": "true", children: [
|
|
7326
|
+
/* @__PURE__ */ jsx64("span", {}),
|
|
7327
|
+
/* @__PURE__ */ jsx64("span", {}),
|
|
7328
|
+
/* @__PURE__ */ jsx64("span", {})
|
|
6955
7329
|
] })
|
|
6956
7330
|
}
|
|
6957
7331
|
);
|
|
@@ -6962,10 +7336,10 @@ var StnSideNavMobileTrigger = forwardRef34(
|
|
|
6962
7336
|
import {
|
|
6963
7337
|
forwardRef as forwardRef35
|
|
6964
7338
|
} from "react";
|
|
6965
|
-
import { jsx as
|
|
7339
|
+
import { jsx as jsx65 } from "react/jsx-runtime";
|
|
6966
7340
|
var StnSideNavSub = forwardRef35(
|
|
6967
7341
|
function StnSideNavSub2({ children, className, ...rest }, ref) {
|
|
6968
|
-
return /* @__PURE__ */
|
|
7342
|
+
return /* @__PURE__ */ jsx65(
|
|
6969
7343
|
"div",
|
|
6970
7344
|
{
|
|
6971
7345
|
ref,
|
|
@@ -6994,14 +7368,14 @@ var StnSideNavSubItem = forwardRef35(
|
|
|
6994
7368
|
const { collapsed } = useSideNav();
|
|
6995
7369
|
const content = children ?? label;
|
|
6996
7370
|
const computedTitle = title ?? (typeof content === "string" ? content : void 0);
|
|
6997
|
-
const resolvedIcon = icon ?? (iconSrc ? /* @__PURE__ */
|
|
7371
|
+
const resolvedIcon = icon ?? (iconSrc ? /* @__PURE__ */ jsx65("span", { className: "stn-side-nav__sub-icon", children: /* @__PURE__ */ jsx65(
|
|
6998
7372
|
"span",
|
|
6999
7373
|
{
|
|
7000
7374
|
className: "stn-side-nav__sub-glyph",
|
|
7001
7375
|
style: { maskImage: `url('${iconSrc}')`, WebkitMaskImage: `url('${iconSrc}')` }
|
|
7002
7376
|
}
|
|
7003
7377
|
) }) : null);
|
|
7004
|
-
return /* @__PURE__ */
|
|
7378
|
+
return /* @__PURE__ */ jsx65(
|
|
7005
7379
|
StnButton,
|
|
7006
7380
|
{
|
|
7007
7381
|
ref,
|
|
@@ -7021,7 +7395,7 @@ var StnSideNavSubItem = forwardRef35(
|
|
|
7021
7395
|
|
|
7022
7396
|
// src/components/sideNav/StnSideNavSubNav.tsx
|
|
7023
7397
|
import { forwardRef as forwardRef36 } from "react";
|
|
7024
|
-
import { jsx as
|
|
7398
|
+
import { jsx as jsx66 } from "react/jsx-runtime";
|
|
7025
7399
|
var StnSideNavSubNav = forwardRef36(
|
|
7026
7400
|
function StnSideNavSubNav2({
|
|
7027
7401
|
dropdown = false,
|
|
@@ -7034,7 +7408,7 @@ var StnSideNavSubNav = forwardRef36(
|
|
|
7034
7408
|
}, ref) {
|
|
7035
7409
|
const isUp = direction === "up";
|
|
7036
7410
|
const isTransparent = variant === "transparent" || background === false;
|
|
7037
|
-
return /* @__PURE__ */
|
|
7411
|
+
return /* @__PURE__ */ jsx66(
|
|
7038
7412
|
"div",
|
|
7039
7413
|
{
|
|
7040
7414
|
ref,
|
|
@@ -7062,7 +7436,7 @@ import {
|
|
|
7062
7436
|
useMemo as useMemo4,
|
|
7063
7437
|
useState as useState13
|
|
7064
7438
|
} from "react";
|
|
7065
|
-
import { jsx as
|
|
7439
|
+
import { jsx as jsx67, jsxs as jsxs48 } from "react/jsx-runtime";
|
|
7066
7440
|
function useControllableState(controlledValue, defaultValue, onChange) {
|
|
7067
7441
|
const [internalState, setInternalState] = useState13(defaultValue);
|
|
7068
7442
|
const isControlled = controlledValue !== void 0;
|
|
@@ -7139,9 +7513,9 @@ var StnSideNavigationRoot = forwardRef37(function StnSideNavigationRoot2({
|
|
|
7139
7513
|
}),
|
|
7140
7514
|
[isEffectiveCollapsed, activeId, setActiveId, handleToggleCollapse, mobileOpen, handleToggleMobileOpen, setMobileOpen, isDrawerMode]
|
|
7141
7515
|
);
|
|
7142
|
-
return /* @__PURE__ */
|
|
7143
|
-
showMobileTrigger && /* @__PURE__ */
|
|
7144
|
-
(drawer || responsiveDrawer) && /* @__PURE__ */
|
|
7516
|
+
return /* @__PURE__ */ jsxs48(SideNavContext.Provider, { value: contextValue, children: [
|
|
7517
|
+
showMobileTrigger && /* @__PURE__ */ jsx67(StnSideNavMobileTrigger, { floating: true }),
|
|
7518
|
+
(drawer || responsiveDrawer) && /* @__PURE__ */ jsx67(
|
|
7145
7519
|
"div",
|
|
7146
7520
|
{
|
|
7147
7521
|
className: cn("stn-side-nav__backdrop", mobileOpen && "is-open"),
|
|
@@ -7149,7 +7523,7 @@ var StnSideNavigationRoot = forwardRef37(function StnSideNavigationRoot2({
|
|
|
7149
7523
|
"aria-hidden": !mobileOpen
|
|
7150
7524
|
}
|
|
7151
7525
|
),
|
|
7152
|
-
/* @__PURE__ */
|
|
7526
|
+
/* @__PURE__ */ jsx67(
|
|
7153
7527
|
"aside",
|
|
7154
7528
|
{
|
|
7155
7529
|
ref,
|
|
@@ -7191,14 +7565,14 @@ var StnSideNavigation = Object.assign(StnSideNavigationRoot, {
|
|
|
7191
7565
|
import {
|
|
7192
7566
|
Fragment as Fragment7,
|
|
7193
7567
|
useEffect as useEffect11,
|
|
7194
|
-
useId as
|
|
7568
|
+
useId as useId15,
|
|
7195
7569
|
useRef as useRef8,
|
|
7196
7570
|
useState as useState14
|
|
7197
7571
|
} from "react";
|
|
7198
7572
|
import {
|
|
7199
7573
|
STN_BREADCRUMB_ICON_SRC
|
|
7200
7574
|
} from "@stn-uiux/pub-ui/data/stnBreadcrumb";
|
|
7201
|
-
import { Fragment as Fragment8, jsx as
|
|
7575
|
+
import { Fragment as Fragment8, jsx as jsx68, jsxs as jsxs49 } from "react/jsx-runtime";
|
|
7202
7576
|
function maskStyle3(src) {
|
|
7203
7577
|
return { maskImage: `url('${src}')`, WebkitMaskImage: `url('${src}')` };
|
|
7204
7578
|
}
|
|
@@ -7211,13 +7585,13 @@ function hasSegmentMenu(item) {
|
|
|
7211
7585
|
return Boolean(item.menu || item.menuItems && item.menuItems.length > 0);
|
|
7212
7586
|
}
|
|
7213
7587
|
function BreadcrumbSeparator() {
|
|
7214
|
-
return /* @__PURE__ */
|
|
7588
|
+
return /* @__PURE__ */ jsx68("li", { className: "separator", "aria-hidden": "true", children: /* @__PURE__ */ jsx68("span", { style: maskStyle3(STN_BREADCRUMB_ICON_SRC.separator) }) });
|
|
7215
7589
|
}
|
|
7216
7590
|
function BreadcrumbIcon({ src }) {
|
|
7217
|
-
return /* @__PURE__ */
|
|
7591
|
+
return /* @__PURE__ */ jsx68("span", { className: "stn-breadcrumb__icon-glyph", style: maskStyle3(src), "aria-hidden": "true" });
|
|
7218
7592
|
}
|
|
7219
7593
|
function BreadcrumbCaret() {
|
|
7220
|
-
return /* @__PURE__ */
|
|
7594
|
+
return /* @__PURE__ */ jsx68(
|
|
7221
7595
|
"span",
|
|
7222
7596
|
{
|
|
7223
7597
|
className: "stn-breadcrumb__caret",
|
|
@@ -7231,10 +7605,10 @@ function SegmentContent({
|
|
|
7231
7605
|
label,
|
|
7232
7606
|
menu
|
|
7233
7607
|
}) {
|
|
7234
|
-
return /* @__PURE__ */
|
|
7235
|
-
iconSrc ? /* @__PURE__ */
|
|
7236
|
-
/* @__PURE__ */
|
|
7237
|
-
menu ? /* @__PURE__ */
|
|
7608
|
+
return /* @__PURE__ */ jsxs49(Fragment8, { children: [
|
|
7609
|
+
iconSrc ? /* @__PURE__ */ jsx68(BreadcrumbIcon, { src: iconSrc }) : null,
|
|
7610
|
+
/* @__PURE__ */ jsx68("span", { className: "stn-breadcrumb__label", children: label }),
|
|
7611
|
+
menu ? /* @__PURE__ */ jsx68(BreadcrumbCaret, {}) : null
|
|
7238
7612
|
] });
|
|
7239
7613
|
}
|
|
7240
7614
|
function BreadcrumbMenuList({
|
|
@@ -7242,7 +7616,7 @@ function BreadcrumbMenuList({
|
|
|
7242
7616
|
items,
|
|
7243
7617
|
onPick
|
|
7244
7618
|
}) {
|
|
7245
|
-
return /* @__PURE__ */
|
|
7619
|
+
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(
|
|
7246
7620
|
"a",
|
|
7247
7621
|
{
|
|
7248
7622
|
role: "menuitem",
|
|
@@ -7254,7 +7628,7 @@ function BreadcrumbMenuList({
|
|
|
7254
7628
|
},
|
|
7255
7629
|
children: option.label
|
|
7256
7630
|
}
|
|
7257
|
-
) : /* @__PURE__ */
|
|
7631
|
+
) : /* @__PURE__ */ jsx68(
|
|
7258
7632
|
"button",
|
|
7259
7633
|
{
|
|
7260
7634
|
type: "button",
|
|
@@ -7291,20 +7665,20 @@ function BreadcrumbSegment({
|
|
|
7291
7665
|
item,
|
|
7292
7666
|
isCurrent
|
|
7293
7667
|
}) {
|
|
7294
|
-
const menuId =
|
|
7668
|
+
const menuId = useId15();
|
|
7295
7669
|
const [open, setOpen] = useState14(false);
|
|
7296
7670
|
const menuItems = item.menuItems ?? [];
|
|
7297
7671
|
const showMenu = hasSegmentMenu(item) && !isCurrent;
|
|
7298
7672
|
const canOpenMenu = showMenu && menuItems.length > 0;
|
|
7299
7673
|
const rootRef = useDismissibleMenu(open, () => setOpen(false));
|
|
7300
7674
|
const iconSrc = resolveIconSrc(item);
|
|
7301
|
-
const content = /* @__PURE__ */
|
|
7675
|
+
const content = /* @__PURE__ */ jsx68(SegmentContent, { iconSrc, label: item.label, menu: showMenu });
|
|
7302
7676
|
if (isCurrent) {
|
|
7303
|
-
return /* @__PURE__ */
|
|
7677
|
+
return /* @__PURE__ */ jsx68("span", { className: "stn-breadcrumb__segment", "aria-current": "page", "aria-label": item.label, children: content });
|
|
7304
7678
|
}
|
|
7305
7679
|
if (canOpenMenu) {
|
|
7306
|
-
return /* @__PURE__ */
|
|
7307
|
-
/* @__PURE__ */
|
|
7680
|
+
return /* @__PURE__ */ jsxs49("span", { ref: rootRef, className: "stn-breadcrumb__segment-wrap", children: [
|
|
7681
|
+
/* @__PURE__ */ jsx68(
|
|
7308
7682
|
"button",
|
|
7309
7683
|
{
|
|
7310
7684
|
type: "button",
|
|
@@ -7320,7 +7694,7 @@ function BreadcrumbSegment({
|
|
|
7320
7694
|
children: content
|
|
7321
7695
|
}
|
|
7322
7696
|
),
|
|
7323
|
-
open ? /* @__PURE__ */
|
|
7697
|
+
open ? /* @__PURE__ */ jsx68(BreadcrumbMenuList, { id: menuId, items: menuItems, onPick: () => setOpen(false) }) : null
|
|
7324
7698
|
] });
|
|
7325
7699
|
}
|
|
7326
7700
|
if (item.menu || item.onClick) {
|
|
@@ -7332,7 +7706,7 @@ function BreadcrumbSegment({
|
|
|
7332
7706
|
"aria-haspopup": item.menu ? "menu" : void 0,
|
|
7333
7707
|
"aria-expanded": item.menu ? false : void 0
|
|
7334
7708
|
};
|
|
7335
|
-
return /* @__PURE__ */
|
|
7709
|
+
return /* @__PURE__ */ jsx68("button", { ...buttonProps, children: content });
|
|
7336
7710
|
}
|
|
7337
7711
|
if (item.href) {
|
|
7338
7712
|
const linkProps = {
|
|
@@ -7341,17 +7715,17 @@ function BreadcrumbSegment({
|
|
|
7341
7715
|
onClick: item.onClick,
|
|
7342
7716
|
"aria-label": item.label
|
|
7343
7717
|
};
|
|
7344
|
-
return /* @__PURE__ */
|
|
7718
|
+
return /* @__PURE__ */ jsx68("a", { ...linkProps, children: content });
|
|
7345
7719
|
}
|
|
7346
|
-
return /* @__PURE__ */
|
|
7720
|
+
return /* @__PURE__ */ jsx68("span", { className: "stn-breadcrumb__segment", "aria-label": item.label, children: content });
|
|
7347
7721
|
}
|
|
7348
7722
|
function BreadcrumbBack({
|
|
7349
7723
|
label,
|
|
7350
7724
|
href,
|
|
7351
7725
|
onClick
|
|
7352
7726
|
}) {
|
|
7353
|
-
const content = /* @__PURE__ */
|
|
7354
|
-
/* @__PURE__ */
|
|
7727
|
+
const content = /* @__PURE__ */ jsxs49(Fragment8, { children: [
|
|
7728
|
+
/* @__PURE__ */ jsx68(
|
|
7355
7729
|
"span",
|
|
7356
7730
|
{
|
|
7357
7731
|
className: "stn-breadcrumb__back-glyph",
|
|
@@ -7359,12 +7733,12 @@ function BreadcrumbBack({
|
|
|
7359
7733
|
"aria-hidden": "true"
|
|
7360
7734
|
}
|
|
7361
7735
|
),
|
|
7362
|
-
/* @__PURE__ */
|
|
7736
|
+
/* @__PURE__ */ jsx68("span", { className: "stn-breadcrumb__label", children: label })
|
|
7363
7737
|
] });
|
|
7364
7738
|
if (href) {
|
|
7365
|
-
return /* @__PURE__ */
|
|
7739
|
+
return /* @__PURE__ */ jsx68("a", { className: "stn-breadcrumb__back", href, onClick, "aria-label": `\uB4A4\uB85C: ${label}`, children: content });
|
|
7366
7740
|
}
|
|
7367
|
-
return /* @__PURE__ */
|
|
7741
|
+
return /* @__PURE__ */ jsx68("button", { type: "button", className: "stn-breadcrumb__back", onClick, "aria-label": `\uB4A4\uB85C: ${label}`, children: content });
|
|
7368
7742
|
}
|
|
7369
7743
|
function splitCollapsedItems(items, maxItems, itemsBeforeCollapse, itemsAfterCollapse) {
|
|
7370
7744
|
if (!maxItems || items.length <= maxItems) {
|
|
@@ -7395,8 +7769,8 @@ function BreadcrumbCollapsed({
|
|
|
7395
7769
|
onClick: item.onClick,
|
|
7396
7770
|
current: item.current
|
|
7397
7771
|
}));
|
|
7398
|
-
return /* @__PURE__ */
|
|
7399
|
-
/* @__PURE__ */
|
|
7772
|
+
return /* @__PURE__ */ jsxs49("li", { className: "stn-breadcrumb__item", ref: rootRef, children: [
|
|
7773
|
+
/* @__PURE__ */ jsx68(
|
|
7400
7774
|
"button",
|
|
7401
7775
|
{
|
|
7402
7776
|
type: "button",
|
|
@@ -7409,7 +7783,7 @@ function BreadcrumbCollapsed({
|
|
|
7409
7783
|
children: "\u22EF"
|
|
7410
7784
|
}
|
|
7411
7785
|
),
|
|
7412
|
-
open ? /* @__PURE__ */
|
|
7786
|
+
open ? /* @__PURE__ */ jsx68(BreadcrumbMenuList, { id: menuId, items: menuItems, onPick: () => setOpen(false) }) : null
|
|
7413
7787
|
] });
|
|
7414
7788
|
}
|
|
7415
7789
|
function StnBreadcrumb({
|
|
@@ -7426,7 +7800,7 @@ function StnBreadcrumb({
|
|
|
7426
7800
|
homeLabel = "\uD648",
|
|
7427
7801
|
renderItem
|
|
7428
7802
|
}) {
|
|
7429
|
-
const menuId =
|
|
7803
|
+
const menuId = useId15();
|
|
7430
7804
|
const currentIndex = items.findIndex((item, index) => item.current ?? index === items.length - 1);
|
|
7431
7805
|
const currentItem = currentIndex >= 0 ? items[currentIndex] : items[items.length - 1];
|
|
7432
7806
|
const previousItem = currentIndex > 0 ? items[currentIndex - 1] : null;
|
|
@@ -7441,8 +7815,8 @@ function StnBreadcrumb({
|
|
|
7441
7815
|
const lastId = items[items.length - 1]?.id;
|
|
7442
7816
|
const renderTrailItem = (item) => {
|
|
7443
7817
|
const isCurrent = Boolean(item.current) || item.id === lastId;
|
|
7444
|
-
const segment = /* @__PURE__ */
|
|
7445
|
-
return /* @__PURE__ */
|
|
7818
|
+
const segment = /* @__PURE__ */ jsx68(BreadcrumbSegment, { item, isCurrent });
|
|
7819
|
+
return /* @__PURE__ */ jsx68(
|
|
7446
7820
|
"li",
|
|
7447
7821
|
{
|
|
7448
7822
|
className: cn(
|
|
@@ -7453,27 +7827,27 @@ function StnBreadcrumb({
|
|
|
7453
7827
|
}
|
|
7454
7828
|
);
|
|
7455
7829
|
};
|
|
7456
|
-
return /* @__PURE__ */
|
|
7830
|
+
return /* @__PURE__ */ jsx68(
|
|
7457
7831
|
"nav",
|
|
7458
7832
|
{
|
|
7459
7833
|
className: cn("stn-breadcrumb", size, variant === "chip" && "chip", className),
|
|
7460
7834
|
"aria-label": "Breadcrumb",
|
|
7461
|
-
children: /* @__PURE__ */
|
|
7462
|
-
currentItem ? /* @__PURE__ */
|
|
7463
|
-
showHome ? /* @__PURE__ */
|
|
7464
|
-
/* @__PURE__ */
|
|
7465
|
-
/* @__PURE__ */
|
|
7835
|
+
children: /* @__PURE__ */ jsxs49("ol", { className: "stn-breadcrumb__list", children: [
|
|
7836
|
+
currentItem ? /* @__PURE__ */ jsx68("li", { className: "stn-breadcrumb__item stn-breadcrumb__item--back", children: /* @__PURE__ */ jsx68(BreadcrumbBack, { label: currentItem.label, href: backHref, onClick: backOnClick }) }) : null,
|
|
7837
|
+
showHome ? /* @__PURE__ */ jsx68("li", { className: "stn-breadcrumb__item stn-breadcrumb__item--home", children: /* @__PURE__ */ jsxs49("a", { className: "stn-breadcrumb__home", href: homeHref, onClick: onHomeClick, children: [
|
|
7838
|
+
/* @__PURE__ */ jsx68(BreadcrumbIcon, { src: STN_BREADCRUMB_ICON_SRC.home }),
|
|
7839
|
+
/* @__PURE__ */ jsx68("span", { className: "blind", children: homeLabel })
|
|
7466
7840
|
] }) }) : null,
|
|
7467
|
-
head.map((item, index) => /* @__PURE__ */
|
|
7468
|
-
showHome || index > 0 ? /* @__PURE__ */
|
|
7841
|
+
head.map((item, index) => /* @__PURE__ */ jsxs49(Fragment7, { children: [
|
|
7842
|
+
showHome || index > 0 ? /* @__PURE__ */ jsx68(BreadcrumbSeparator, {}) : null,
|
|
7469
7843
|
renderTrailItem(item)
|
|
7470
7844
|
] }, item.id)),
|
|
7471
|
-
hidden.length > 0 ? /* @__PURE__ */
|
|
7472
|
-
/* @__PURE__ */
|
|
7473
|
-
/* @__PURE__ */
|
|
7845
|
+
hidden.length > 0 ? /* @__PURE__ */ jsxs49(Fragment8, { children: [
|
|
7846
|
+
/* @__PURE__ */ jsx68(BreadcrumbSeparator, {}),
|
|
7847
|
+
/* @__PURE__ */ jsx68(BreadcrumbCollapsed, { items: hidden, menuId })
|
|
7474
7848
|
] }) : null,
|
|
7475
|
-
tail.map((item) => /* @__PURE__ */
|
|
7476
|
-
/* @__PURE__ */
|
|
7849
|
+
tail.map((item) => /* @__PURE__ */ jsxs49(Fragment7, { children: [
|
|
7850
|
+
/* @__PURE__ */ jsx68(BreadcrumbSeparator, {}),
|
|
7477
7851
|
renderTrailItem(item)
|
|
7478
7852
|
] }, item.id))
|
|
7479
7853
|
] })
|
|
@@ -7484,7 +7858,7 @@ function StnBreadcrumb({
|
|
|
7484
7858
|
// src/components/StnHeaderTitle.tsx
|
|
7485
7859
|
import { useEffect as useEffect12, useState as useState15 } from "react";
|
|
7486
7860
|
import { STN_HEADER_TITLE_FRAME } from "@stn-uiux/pub-ui/data/stnHeaderTitle";
|
|
7487
|
-
import { jsx as
|
|
7861
|
+
import { jsx as jsx69, jsxs as jsxs50 } from "react/jsx-runtime";
|
|
7488
7862
|
var KO_WEEKDAY_SHORT = ["\uC77C", "\uC6D4", "\uD654", "\uC218", "\uBAA9", "\uAE08", "\uD1A0"];
|
|
7489
7863
|
var KO_WEEKDAY_LONG = [
|
|
7490
7864
|
"\uC77C\uC694\uC77C",
|
|
@@ -7523,8 +7897,8 @@ function formatStnHeaderTitleTime(date, options) {
|
|
|
7523
7897
|
}
|
|
7524
7898
|
function HeaderTitleFrame({ preview = false }) {
|
|
7525
7899
|
const frameClass = preview ? "stn-header-title__frame-preview" : "stn-header-title__frame";
|
|
7526
|
-
return /* @__PURE__ */
|
|
7527
|
-
/* @__PURE__ */
|
|
7900
|
+
return /* @__PURE__ */ jsxs50("div", { className: frameClass, "aria-hidden": "true", children: [
|
|
7901
|
+
/* @__PURE__ */ jsx69("div", { className: "stn-header-title__frame-bleed stn-header-title__frame-bleed--outer", children: /* @__PURE__ */ jsx69(
|
|
7528
7902
|
"img",
|
|
7529
7903
|
{
|
|
7530
7904
|
className: "stn-header-title__frame-img",
|
|
@@ -7533,8 +7907,8 @@ function HeaderTitleFrame({ preview = false }) {
|
|
|
7533
7907
|
draggable: false
|
|
7534
7908
|
}
|
|
7535
7909
|
) }),
|
|
7536
|
-
/* @__PURE__ */
|
|
7537
|
-
/* @__PURE__ */
|
|
7910
|
+
/* @__PURE__ */ jsxs50("div", { className: "stn-header-title__frame-bleed stn-header-title__frame-bleed--inner", children: [
|
|
7911
|
+
/* @__PURE__ */ jsx69(
|
|
7538
7912
|
"img",
|
|
7539
7913
|
{
|
|
7540
7914
|
className: "stn-header-title__frame-img stn-header-title__frame-img--dark",
|
|
@@ -7543,7 +7917,7 @@ function HeaderTitleFrame({ preview = false }) {
|
|
|
7543
7917
|
draggable: false
|
|
7544
7918
|
}
|
|
7545
7919
|
),
|
|
7546
|
-
/* @__PURE__ */
|
|
7920
|
+
/* @__PURE__ */ jsx69(
|
|
7547
7921
|
"img",
|
|
7548
7922
|
{
|
|
7549
7923
|
className: "stn-header-title__frame-img stn-header-title__frame-img--light",
|
|
@@ -7556,7 +7930,7 @@ function HeaderTitleFrame({ preview = false }) {
|
|
|
7556
7930
|
] });
|
|
7557
7931
|
}
|
|
7558
7932
|
function StnHeaderTitleFramePreview({ className }) {
|
|
7559
|
-
return /* @__PURE__ */
|
|
7933
|
+
return /* @__PURE__ */ jsx69("div", { className: cn("stn-header-title__frame-only", className), children: /* @__PURE__ */ jsx69(HeaderTitleFrame, { preview: true }) });
|
|
7560
7934
|
}
|
|
7561
7935
|
function useLiveClock(enabled) {
|
|
7562
7936
|
const [now, setNow] = useState15(() => /* @__PURE__ */ new Date());
|
|
@@ -7572,35 +7946,35 @@ function StnHeaderTitleMainText({
|
|
|
7572
7946
|
children,
|
|
7573
7947
|
...rest
|
|
7574
7948
|
}) {
|
|
7575
|
-
return /* @__PURE__ */
|
|
7949
|
+
return /* @__PURE__ */ jsx69("h1", { className: cn("stn-header-title__text", className), ...rest, children });
|
|
7576
7950
|
}
|
|
7577
7951
|
function StnHeaderTitleSubText({
|
|
7578
7952
|
className,
|
|
7579
7953
|
children,
|
|
7580
7954
|
...rest
|
|
7581
7955
|
}) {
|
|
7582
|
-
return /* @__PURE__ */
|
|
7956
|
+
return /* @__PURE__ */ jsx69("span", { className: cn("stn-header-title__sub-text", className), ...rest, children });
|
|
7583
7957
|
}
|
|
7584
7958
|
function StnHeaderTitleDate({
|
|
7585
7959
|
className,
|
|
7586
7960
|
children,
|
|
7587
7961
|
...rest
|
|
7588
7962
|
}) {
|
|
7589
|
-
return /* @__PURE__ */
|
|
7963
|
+
return /* @__PURE__ */ jsx69("time", { className: cn("stn-header-title__date", className), ...rest, children });
|
|
7590
7964
|
}
|
|
7591
7965
|
function StnHeaderTitleWeekday({
|
|
7592
7966
|
className,
|
|
7593
7967
|
children,
|
|
7594
7968
|
...rest
|
|
7595
7969
|
}) {
|
|
7596
|
-
return /* @__PURE__ */
|
|
7970
|
+
return /* @__PURE__ */ jsx69("span", { className: cn("stn-header-title__weekday", className), ...rest, children });
|
|
7597
7971
|
}
|
|
7598
7972
|
function StnHeaderTitleTime({
|
|
7599
7973
|
className,
|
|
7600
7974
|
children,
|
|
7601
7975
|
...rest
|
|
7602
7976
|
}) {
|
|
7603
|
-
return /* @__PURE__ */
|
|
7977
|
+
return /* @__PURE__ */ jsx69("span", { className: cn("stn-header-title__time", className), "aria-label": "\uD604\uC7AC \uC2DC\uAC01", ...rest, children });
|
|
7604
7978
|
}
|
|
7605
7979
|
function StnHeaderTitleClock({
|
|
7606
7980
|
className,
|
|
@@ -7623,7 +7997,7 @@ function StnHeaderTitleClock({
|
|
|
7623
7997
|
}) {
|
|
7624
7998
|
const now = useLiveClock(live);
|
|
7625
7999
|
if (children != null) {
|
|
7626
|
-
return /* @__PURE__ */
|
|
8000
|
+
return /* @__PURE__ */ jsxs50(
|
|
7627
8001
|
"header",
|
|
7628
8002
|
{
|
|
7629
8003
|
className: cn(
|
|
@@ -7635,8 +8009,8 @@ function StnHeaderTitleClock({
|
|
|
7635
8009
|
),
|
|
7636
8010
|
...rest,
|
|
7637
8011
|
children: [
|
|
7638
|
-
framed ? /* @__PURE__ */
|
|
7639
|
-
/* @__PURE__ */
|
|
8012
|
+
framed ? /* @__PURE__ */ jsx69(HeaderTitleFrame, {}) : null,
|
|
8013
|
+
/* @__PURE__ */ jsx69("div", { className: "stn-header-title__content", children })
|
|
7640
8014
|
]
|
|
7641
8015
|
}
|
|
7642
8016
|
);
|
|
@@ -7666,7 +8040,7 @@ function StnHeaderTitleClock({
|
|
|
7666
8040
|
resolvedTime = formatStnHeaderTitleTime(now, { showSeconds });
|
|
7667
8041
|
}
|
|
7668
8042
|
}
|
|
7669
|
-
return /* @__PURE__ */
|
|
8043
|
+
return /* @__PURE__ */ jsxs50(
|
|
7670
8044
|
"header",
|
|
7671
8045
|
{
|
|
7672
8046
|
className: cn(
|
|
@@ -7678,11 +8052,11 @@ function StnHeaderTitleClock({
|
|
|
7678
8052
|
),
|
|
7679
8053
|
...rest,
|
|
7680
8054
|
children: [
|
|
7681
|
-
framed ? /* @__PURE__ */
|
|
7682
|
-
/* @__PURE__ */
|
|
7683
|
-
resolvedDate ? /* @__PURE__ */
|
|
7684
|
-
showWeekdayOnly ? /* @__PURE__ */
|
|
7685
|
-
resolvedTime ? /* @__PURE__ */
|
|
8055
|
+
framed ? /* @__PURE__ */ jsx69(HeaderTitleFrame, {}) : null,
|
|
8056
|
+
/* @__PURE__ */ jsxs50("div", { className: "stn-header-title__content", children: [
|
|
8057
|
+
resolvedDate ? /* @__PURE__ */ jsx69("time", { className: "stn-header-title__date", dateTime: resolvedDate, children: resolvedDate }) : null,
|
|
8058
|
+
showWeekdayOnly ? /* @__PURE__ */ jsx69("span", { className: "stn-header-title__weekday", children: resolvedWeekday }) : null,
|
|
8059
|
+
resolvedTime ? /* @__PURE__ */ jsx69("span", { className: "stn-header-title__time", "aria-label": "\uD604\uC7AC \uC2DC\uAC01", children: resolvedTime }) : null
|
|
7686
8060
|
] })
|
|
7687
8061
|
]
|
|
7688
8062
|
}
|
|
@@ -7699,7 +8073,7 @@ function StnHeaderTitleDual({
|
|
|
7699
8073
|
...rest
|
|
7700
8074
|
}) {
|
|
7701
8075
|
const resolvedMain = mainText ?? title ?? children;
|
|
7702
|
-
return /* @__PURE__ */
|
|
8076
|
+
return /* @__PURE__ */ jsxs50(
|
|
7703
8077
|
"header",
|
|
7704
8078
|
{
|
|
7705
8079
|
className: cn(
|
|
@@ -7711,10 +8085,10 @@ function StnHeaderTitleDual({
|
|
|
7711
8085
|
),
|
|
7712
8086
|
...rest,
|
|
7713
8087
|
children: [
|
|
7714
|
-
framed ? /* @__PURE__ */
|
|
7715
|
-
/* @__PURE__ */
|
|
7716
|
-
subText != null ? /* @__PURE__ */
|
|
7717
|
-
resolvedMain != null ? typeof resolvedMain === "string" || typeof resolvedMain === "number" ? /* @__PURE__ */
|
|
8088
|
+
framed ? /* @__PURE__ */ jsx69(HeaderTitleFrame, {}) : null,
|
|
8089
|
+
/* @__PURE__ */ jsxs50("div", { className: "stn-header-title__content", children: [
|
|
8090
|
+
subText != null ? /* @__PURE__ */ jsx69("span", { className: "stn-header-title__sub-text", children: subText }) : null,
|
|
8091
|
+
resolvedMain != null ? typeof resolvedMain === "string" || typeof resolvedMain === "number" ? /* @__PURE__ */ jsx69("h1", { className: "stn-header-title__text", children: resolvedMain }) : resolvedMain : null
|
|
7718
8092
|
] })
|
|
7719
8093
|
]
|
|
7720
8094
|
}
|
|
@@ -7729,7 +8103,7 @@ function StnHeaderTitleText({
|
|
|
7729
8103
|
...rest
|
|
7730
8104
|
}) {
|
|
7731
8105
|
const resolved = title ?? children;
|
|
7732
|
-
return /* @__PURE__ */
|
|
8106
|
+
return /* @__PURE__ */ jsxs50(
|
|
7733
8107
|
"header",
|
|
7734
8108
|
{
|
|
7735
8109
|
className: cn(
|
|
@@ -7741,20 +8115,20 @@ function StnHeaderTitleText({
|
|
|
7741
8115
|
),
|
|
7742
8116
|
...rest,
|
|
7743
8117
|
children: [
|
|
7744
|
-
framed ? /* @__PURE__ */
|
|
7745
|
-
/* @__PURE__ */
|
|
8118
|
+
framed ? /* @__PURE__ */ jsx69(HeaderTitleFrame, {}) : null,
|
|
8119
|
+
/* @__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 })
|
|
7746
8120
|
]
|
|
7747
8121
|
}
|
|
7748
8122
|
);
|
|
7749
8123
|
}
|
|
7750
8124
|
function StnHeaderTitleRoot(props) {
|
|
7751
8125
|
if (props.variant === "clock") {
|
|
7752
|
-
return /* @__PURE__ */
|
|
8126
|
+
return /* @__PURE__ */ jsx69(StnHeaderTitleClock, { ...props });
|
|
7753
8127
|
}
|
|
7754
8128
|
if (props.variant === "dual" || "subText" in props && props.subText != null) {
|
|
7755
|
-
return /* @__PURE__ */
|
|
8129
|
+
return /* @__PURE__ */ jsx69(StnHeaderTitleDual, { ...props });
|
|
7756
8130
|
}
|
|
7757
|
-
return /* @__PURE__ */
|
|
8131
|
+
return /* @__PURE__ */ jsx69(StnHeaderTitleText, { ...props });
|
|
7758
8132
|
}
|
|
7759
8133
|
var StnHeaderTitle = Object.assign(StnHeaderTitleRoot, {
|
|
7760
8134
|
Text: StnHeaderTitleMainText,
|
|
@@ -7769,7 +8143,7 @@ var StnHeaderTitle = Object.assign(StnHeaderTitleRoot, {
|
|
|
7769
8143
|
import {
|
|
7770
8144
|
forwardRef as forwardRef38
|
|
7771
8145
|
} from "react";
|
|
7772
|
-
import { jsx as
|
|
8146
|
+
import { jsx as jsx70 } from "react/jsx-runtime";
|
|
7773
8147
|
var StnContainer = forwardRef38(function StnContainer2({
|
|
7774
8148
|
component,
|
|
7775
8149
|
as,
|
|
@@ -7785,7 +8159,7 @@ var StnContainer = forwardRef38(function StnContainer2({
|
|
|
7785
8159
|
const Component = component ?? as ?? "div";
|
|
7786
8160
|
const maxWidthClass = maxWidth ? `stn-container--${maxWidth} stn-container--max-width-${maxWidth}` : "stn-container--fluid stn-container--max-width-false";
|
|
7787
8161
|
const classKey = maxWidth ? `maxWidth${maxWidth.charAt(0).toUpperCase() + maxWidth.slice(1)}` : "maxWidthFalse";
|
|
7788
|
-
return /* @__PURE__ */
|
|
8162
|
+
return /* @__PURE__ */ jsx70(
|
|
7789
8163
|
Component,
|
|
7790
8164
|
{
|
|
7791
8165
|
ref,
|
|
@@ -7809,7 +8183,7 @@ var StnContainer = forwardRef38(function StnContainer2({
|
|
|
7809
8183
|
|
|
7810
8184
|
// src/layouts/StnGrid.tsx
|
|
7811
8185
|
import { forwardRef as forwardRef39 } from "react";
|
|
7812
|
-
import { jsx as
|
|
8186
|
+
import { jsx as jsx71 } from "react/jsx-runtime";
|
|
7813
8187
|
var BREAKPOINTS2 = ["xs", "sm", "md", "lg", "xl"];
|
|
7814
8188
|
var SPACING_CLASS = {
|
|
7815
8189
|
"0": "0",
|
|
@@ -7895,7 +8269,7 @@ var StnGrid = forwardRef39(function StnGrid2({
|
|
|
7895
8269
|
const Component = component ?? as ?? "div";
|
|
7896
8270
|
const justify = typeof justifyContent === "string" && JUSTIFY_CLASS2.has(justifyContent) ? justifyContent : void 0;
|
|
7897
8271
|
const align = typeof alignItems === "string" && ALIGN_CLASS2.has(alignItems) ? alignItems : void 0;
|
|
7898
|
-
return /* @__PURE__ */
|
|
8272
|
+
return /* @__PURE__ */ jsx71(
|
|
7899
8273
|
Component,
|
|
7900
8274
|
{
|
|
7901
8275
|
ref,
|
|
@@ -7919,7 +8293,7 @@ var StnGrid = forwardRef39(function StnGrid2({
|
|
|
7919
8293
|
});
|
|
7920
8294
|
|
|
7921
8295
|
// src/layouts/StnLayerShell.tsx
|
|
7922
|
-
import { jsx as
|
|
8296
|
+
import { jsx as jsx72, jsxs as jsxs51 } from "react/jsx-runtime";
|
|
7923
8297
|
function StnLayerShell({
|
|
7924
8298
|
gnb,
|
|
7925
8299
|
gnbSide = "left",
|
|
@@ -7940,7 +8314,7 @@ function StnLayerShell({
|
|
|
7940
8314
|
const resolvedMainContent = layer1 ?? children;
|
|
7941
8315
|
const resolvedModal = layer2;
|
|
7942
8316
|
const isGnbRight = gnbSide === "right";
|
|
7943
|
-
return /* @__PURE__ */
|
|
8317
|
+
return /* @__PURE__ */ jsxs51(
|
|
7944
8318
|
"div",
|
|
7945
8319
|
{
|
|
7946
8320
|
id: wrapId,
|
|
@@ -7949,8 +8323,8 @@ function StnLayerShell({
|
|
|
7949
8323
|
className: cn("stn-wrap", isGnbRight && "stn-wrap--gnb-right", wrapClassName),
|
|
7950
8324
|
children: [
|
|
7951
8325
|
layer0,
|
|
7952
|
-
utilities ? /* @__PURE__ */
|
|
7953
|
-
/* @__PURE__ */
|
|
8326
|
+
utilities ? /* @__PURE__ */ jsx72("div", { className: "stn-page-utilities", "data-stn-layer-role": "utility", children: utilities }) : null,
|
|
8327
|
+
/* @__PURE__ */ jsxs51(
|
|
7954
8328
|
"main",
|
|
7955
8329
|
{
|
|
7956
8330
|
id: containerId,
|
|
@@ -7959,9 +8333,9 @@ function StnLayerShell({
|
|
|
7959
8333
|
className: cn("stn-layer-1", scrollable && "scroll", containerClassName),
|
|
7960
8334
|
children: [
|
|
7961
8335
|
!isGnbRight && gnb,
|
|
7962
|
-
/* @__PURE__ */
|
|
7963
|
-
header ? /* @__PURE__ */
|
|
7964
|
-
/* @__PURE__ */
|
|
8336
|
+
/* @__PURE__ */ jsxs51("div", { className: "stn-layer-1__main", children: [
|
|
8337
|
+
header ? /* @__PURE__ */ jsx72("header", { className: "stn-layer-1__header", children: header }) : null,
|
|
8338
|
+
/* @__PURE__ */ jsx72("div", { className: cn("stn-layer-1__body", scrollable && "stn-scroll", contentClassName), children: resolvedMainContent })
|
|
7965
8339
|
] }),
|
|
7966
8340
|
isGnbRight && gnb
|
|
7967
8341
|
]
|
|
@@ -7974,13 +8348,13 @@ function StnLayerShell({
|
|
|
7974
8348
|
}
|
|
7975
8349
|
|
|
7976
8350
|
// src/patterns/dashboard/StnMapCanvas.tsx
|
|
7977
|
-
import { jsx as
|
|
8351
|
+
import { jsx as jsx73 } from "react/jsx-runtime";
|
|
7978
8352
|
function StnMapCanvas({
|
|
7979
8353
|
children,
|
|
7980
8354
|
className,
|
|
7981
8355
|
...rest
|
|
7982
8356
|
}) {
|
|
7983
|
-
return /* @__PURE__ */
|
|
8357
|
+
return /* @__PURE__ */ jsx73(
|
|
7984
8358
|
"div",
|
|
7985
8359
|
{
|
|
7986
8360
|
className: cn("stn-map-canvas", className),
|
|
@@ -7992,7 +8366,7 @@ function StnMapCanvas({
|
|
|
7992
8366
|
}
|
|
7993
8367
|
|
|
7994
8368
|
// src/patterns/dashboard/StnDashboard.tsx
|
|
7995
|
-
import { jsx as
|
|
8369
|
+
import { jsx as jsx74 } from "react/jsx-runtime";
|
|
7996
8370
|
var fillStyle = {
|
|
7997
8371
|
flex: "1 1 0%",
|
|
7998
8372
|
minHeight: 0,
|
|
@@ -8011,7 +8385,7 @@ function StnDashboardRoot({
|
|
|
8011
8385
|
}) {
|
|
8012
8386
|
const isLeft = widgetPosition === "left";
|
|
8013
8387
|
const isBoth = widgetPosition === "both";
|
|
8014
|
-
return /* @__PURE__ */
|
|
8388
|
+
return /* @__PURE__ */ jsx74(
|
|
8015
8389
|
"div",
|
|
8016
8390
|
{
|
|
8017
8391
|
className: cn(
|
|
@@ -8040,7 +8414,7 @@ function StnDashboardLeft({
|
|
|
8040
8414
|
style,
|
|
8041
8415
|
...rest
|
|
8042
8416
|
}) {
|
|
8043
|
-
return /* @__PURE__ */
|
|
8417
|
+
return /* @__PURE__ */ jsx74(
|
|
8044
8418
|
"div",
|
|
8045
8419
|
{
|
|
8046
8420
|
className: cn("stn-dashboard__left", className),
|
|
@@ -8066,7 +8440,7 @@ function StnDashboardRight({
|
|
|
8066
8440
|
style,
|
|
8067
8441
|
...rest
|
|
8068
8442
|
}) {
|
|
8069
|
-
return /* @__PURE__ */
|
|
8443
|
+
return /* @__PURE__ */ jsx74(
|
|
8070
8444
|
"div",
|
|
8071
8445
|
{
|
|
8072
8446
|
className: cn("stn-dashboard__right", className),
|
|
@@ -8094,7 +8468,7 @@ function StnDashboardTopRight({
|
|
|
8094
8468
|
className,
|
|
8095
8469
|
...rest
|
|
8096
8470
|
}) {
|
|
8097
|
-
return /* @__PURE__ */
|
|
8471
|
+
return /* @__PURE__ */ jsx74(
|
|
8098
8472
|
"div",
|
|
8099
8473
|
{
|
|
8100
8474
|
className: cn("stn-dashboard__top-right", className),
|
|
@@ -8113,9 +8487,9 @@ var StnDashboard = Object.assign(StnDashboardRoot, {
|
|
|
8113
8487
|
});
|
|
8114
8488
|
|
|
8115
8489
|
// src/patterns/scaffold/StnPageScaffold.tsx
|
|
8116
|
-
import { jsx as
|
|
8490
|
+
import { jsx as jsx75, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
8117
8491
|
function StnPageScaffoldRoot({ children, className, ...rest }) {
|
|
8118
|
-
return /* @__PURE__ */
|
|
8492
|
+
return /* @__PURE__ */ jsx75(
|
|
8119
8493
|
"div",
|
|
8120
8494
|
{
|
|
8121
8495
|
className: cn("stn-page-scaffold", className),
|
|
@@ -8132,9 +8506,9 @@ function StnPageScaffoldRegion({
|
|
|
8132
8506
|
className,
|
|
8133
8507
|
...rest
|
|
8134
8508
|
}) {
|
|
8135
|
-
return /* @__PURE__ */
|
|
8136
|
-
/* @__PURE__ */
|
|
8137
|
-
hint ? /* @__PURE__ */
|
|
8509
|
+
return /* @__PURE__ */ jsxs52("div", { className: cn("stn-page-scaffold__region", className), "data-stn-page-scaffold": "region", ...rest, children: [
|
|
8510
|
+
/* @__PURE__ */ jsx75("span", { className: "stn-page-scaffold__region-label", children: label }),
|
|
8511
|
+
hint ? /* @__PURE__ */ jsx75("span", { className: "stn-page-scaffold__region-hint", children: hint }) : null,
|
|
8138
8512
|
children
|
|
8139
8513
|
] });
|
|
8140
8514
|
}
|
|
@@ -8145,7 +8519,7 @@ function StnPageScaffoldMapPlaceholder({
|
|
|
8145
8519
|
children,
|
|
8146
8520
|
...rest
|
|
8147
8521
|
}) {
|
|
8148
|
-
return /* @__PURE__ */
|
|
8522
|
+
return /* @__PURE__ */ jsx75("div", { className: "stn-widget shell-canvas stn-map-canvas", "data-stn-dashboard": "canvas", children: /* @__PURE__ */ jsxs52(
|
|
8149
8523
|
"div",
|
|
8150
8524
|
{
|
|
8151
8525
|
className: cn("stn-page-scaffold__canvas-placeholder", className),
|
|
@@ -8153,8 +8527,8 @@ function StnPageScaffoldMapPlaceholder({
|
|
|
8153
8527
|
role: "status",
|
|
8154
8528
|
...rest,
|
|
8155
8529
|
children: [
|
|
8156
|
-
/* @__PURE__ */
|
|
8157
|
-
note ? /* @__PURE__ */
|
|
8530
|
+
/* @__PURE__ */ jsx75("p", { className: "stn-page-scaffold__canvas-placeholder-title", children: message }),
|
|
8531
|
+
note ? /* @__PURE__ */ jsx75("p", { className: "stn-page-scaffold__canvas-placeholder-note", children: note }) : null,
|
|
8158
8532
|
children
|
|
8159
8533
|
]
|
|
8160
8534
|
}
|
|
@@ -8165,7 +8539,7 @@ function StnPageScaffoldMapCanvas({
|
|
|
8165
8539
|
children,
|
|
8166
8540
|
...rest
|
|
8167
8541
|
}) {
|
|
8168
|
-
return /* @__PURE__ */
|
|
8542
|
+
return /* @__PURE__ */ jsx75(
|
|
8169
8543
|
"div",
|
|
8170
8544
|
{
|
|
8171
8545
|
className: cn("stn-widget", "shell-canvas", "stn-map-canvas", "stn-page-scaffold__canvas", className),
|
|
@@ -8178,7 +8552,7 @@ function StnPageScaffoldMapCanvas({
|
|
|
8178
8552
|
}
|
|
8179
8553
|
function StnPageScaffoldLayer({ label, hint, children, className, ...layerProps }) {
|
|
8180
8554
|
const labelText = label ? hint ? `${label} \xB7 ${hint}` : label : void 0;
|
|
8181
|
-
return /* @__PURE__ */
|
|
8555
|
+
return /* @__PURE__ */ jsx75(
|
|
8182
8556
|
StnLayer2,
|
|
8183
8557
|
{
|
|
8184
8558
|
className: cn(
|
|
@@ -8221,16 +8595,16 @@ function ListPageScaffold({
|
|
|
8221
8595
|
...shellProps
|
|
8222
8596
|
}) {
|
|
8223
8597
|
const lnbClass = listPageLnbClass(lnbSide);
|
|
8224
|
-
const lnbAside = showLnb ? /* @__PURE__ */
|
|
8598
|
+
const lnbAside = showLnb ? /* @__PURE__ */ jsx75("aside", { className: lnbClass, children: lnb ?? /* @__PURE__ */ jsx75(StnPageScaffold.Region, { label: "LNB", hint: lnbHint }) }) : null;
|
|
8225
8599
|
const resolvedContent = layer1 ?? children;
|
|
8226
|
-
const body = /* @__PURE__ */
|
|
8600
|
+
const body = /* @__PURE__ */ jsxs52(StnPageScaffold, { children: [
|
|
8227
8601
|
lnbSide === "left" ? lnbAside : null,
|
|
8228
|
-
showSearch ? /* @__PURE__ */
|
|
8229
|
-
/* @__PURE__ */
|
|
8602
|
+
showSearch ? /* @__PURE__ */ jsx75("div", { className: "stn-page-scaffold__search search_area", children: search ?? /* @__PURE__ */ jsx75(StnPageScaffold.Region, { label: "Search", hint: searchHint }) }) : null,
|
|
8603
|
+
/* @__PURE__ */ jsx75("div", { className: cn("stn-page-scaffold__content content_box", scrollable && "is-scrollable"), children: resolvedContent ?? /* @__PURE__ */ jsx75("div", { className: "stn-table stn-table--fill", children: /* @__PURE__ */ jsx75(StnPageScaffold.Region, { label: "Table", hint: tableHint }) }) }),
|
|
8230
8604
|
lnbSide === "right" ? lnbAside : null
|
|
8231
8605
|
] });
|
|
8232
|
-
const resolvedHeader = header === null ? void 0 : header ?? /* @__PURE__ */
|
|
8233
|
-
return /* @__PURE__ */
|
|
8606
|
+
const resolvedHeader = header === null ? void 0 : header ?? /* @__PURE__ */ jsx75(StnHeader, { variant: "page", children: /* @__PURE__ */ jsx75(StnHeader.Left, { children: /* @__PURE__ */ jsx75(StnHeaderPageTitle, { children: title }) }) });
|
|
8607
|
+
return /* @__PURE__ */ jsx75(
|
|
8234
8608
|
StnLayerShell,
|
|
8235
8609
|
{
|
|
8236
8610
|
gnb,
|
|
@@ -8271,25 +8645,25 @@ function DashboardPageScaffold({
|
|
|
8271
8645
|
const isLeft = widgetPosition === "left";
|
|
8272
8646
|
const isBoth = widgetPosition === "both";
|
|
8273
8647
|
const isNone = widgetPosition === "none" || !showRightRegion;
|
|
8274
|
-
const mapColumn = /* @__PURE__ */
|
|
8275
|
-
/* @__PURE__ */
|
|
8648
|
+
const mapColumn = /* @__PURE__ */ jsxs52(StnDashboard.Left, { children: [
|
|
8649
|
+
/* @__PURE__ */ jsx75(StnPageScaffold.MapPlaceholder, { message: finalMapMessage, note: finalMapNote }),
|
|
8276
8650
|
faultPanel
|
|
8277
8651
|
] });
|
|
8278
|
-
const rightWidgets = right ?? /* @__PURE__ */
|
|
8279
|
-
const leftWidgets = left ?? right ?? /* @__PURE__ */
|
|
8280
|
-
const dashboardGrid = bodyEmpty ? /* @__PURE__ */
|
|
8281
|
-
/* @__PURE__ */
|
|
8652
|
+
const rightWidgets = right ?? /* @__PURE__ */ jsx75(StnPageScaffold.Region, { label: "dashboard_right", hint: "\uC704\uC82F\xB7\uC7A5\uC560 \uD328\uB110" });
|
|
8653
|
+
const leftWidgets = left ?? right ?? /* @__PURE__ */ jsx75(StnPageScaffold.Region, { label: "dashboard_right", hint: "\uC88C\uCE21 \uC704\uC82F\xB7\uC7A5\uC560 \uD328\uB110" });
|
|
8654
|
+
const dashboardGrid = bodyEmpty ? /* @__PURE__ */ jsx75(StnDashboard, { empty: true, widgetPosition, "data-stn-page-scaffold": "dashboard-empty" }) : isBoth ? /* @__PURE__ */ jsxs52(StnDashboard, { widgetPosition: "both", children: [
|
|
8655
|
+
/* @__PURE__ */ jsx75(StnDashboard.Right, { children: leftWidgets }),
|
|
8282
8656
|
mapColumn,
|
|
8283
|
-
/* @__PURE__ */
|
|
8284
|
-
] }) : isLeft ? /* @__PURE__ */
|
|
8285
|
-
/* @__PURE__ */
|
|
8657
|
+
/* @__PURE__ */ jsx75(StnDashboard.Right, { children: rightWidgets })
|
|
8658
|
+
] }) : isLeft ? /* @__PURE__ */ jsxs52(StnDashboard, { widgetPosition: "left", children: [
|
|
8659
|
+
/* @__PURE__ */ jsx75(StnDashboard.Right, { children: leftWidgets }),
|
|
8286
8660
|
mapColumn
|
|
8287
|
-
] }) : /* @__PURE__ */
|
|
8661
|
+
] }) : /* @__PURE__ */ jsxs52(StnDashboard, { widgetPosition: isNone ? "none" : "right", children: [
|
|
8288
8662
|
mapColumn,
|
|
8289
|
-
!isNone ? /* @__PURE__ */
|
|
8663
|
+
!isNone ? /* @__PURE__ */ jsx75(StnDashboard.Right, { children: rightWidgets }) : null
|
|
8290
8664
|
] });
|
|
8291
8665
|
const contentNode = children ?? dashboardGrid;
|
|
8292
|
-
return /* @__PURE__ */
|
|
8666
|
+
return /* @__PURE__ */ jsx75(
|
|
8293
8667
|
StnLayerShell,
|
|
8294
8668
|
{
|
|
8295
8669
|
gnb,
|
|
@@ -8298,7 +8672,7 @@ function DashboardPageScaffold({
|
|
|
8298
8672
|
layer0,
|
|
8299
8673
|
layer2,
|
|
8300
8674
|
...shellProps,
|
|
8301
|
-
children: /* @__PURE__ */
|
|
8675
|
+
children: /* @__PURE__ */ jsx75(
|
|
8302
8676
|
StnContainer,
|
|
8303
8677
|
{
|
|
8304
8678
|
maxWidth: false,
|
|
@@ -8312,7 +8686,7 @@ function DashboardPageScaffold({
|
|
|
8312
8686
|
}
|
|
8313
8687
|
|
|
8314
8688
|
// src/layouts/StnListViewLayout.tsx
|
|
8315
|
-
import { jsx as
|
|
8689
|
+
import { jsx as jsx76, jsxs as jsxs53 } from "react/jsx-runtime";
|
|
8316
8690
|
function StnListViewLayoutBody({
|
|
8317
8691
|
search,
|
|
8318
8692
|
sidebar,
|
|
@@ -8323,14 +8697,14 @@ function StnListViewLayoutBody({
|
|
|
8323
8697
|
className
|
|
8324
8698
|
}) {
|
|
8325
8699
|
const lnbClass = lnbSide === "right" ? "stn-page-scaffold__lnb lnb_box lnb_box_right" : "stn-page-scaffold__lnb lnb_box";
|
|
8326
|
-
return /* @__PURE__ */
|
|
8327
|
-
lnbSide === "left" && sidebar ? /* @__PURE__ */
|
|
8328
|
-
search ? /* @__PURE__ */
|
|
8329
|
-
/* @__PURE__ */
|
|
8700
|
+
return /* @__PURE__ */ jsxs53(StnPageScaffold, { className: cn("stn-list-view-layout__body", className), children: [
|
|
8701
|
+
lnbSide === "left" && sidebar ? /* @__PURE__ */ jsx76("aside", { className: lnbClass, children: sidebar }) : null,
|
|
8702
|
+
search ? /* @__PURE__ */ jsx76("div", { className: "stn-page-scaffold__search search_area", children: search }) : null,
|
|
8703
|
+
/* @__PURE__ */ jsx76("div", { className: "stn-page-scaffold__content content_box", children: children ?? /* @__PURE__ */ jsxs53("div", { className: "stn-table stn-table--fill", children: [
|
|
8330
8704
|
table,
|
|
8331
8705
|
pagination
|
|
8332
8706
|
] }) }),
|
|
8333
|
-
lnbSide === "right" && sidebar ? /* @__PURE__ */
|
|
8707
|
+
lnbSide === "right" && sidebar ? /* @__PURE__ */ jsx76("aside", { className: lnbClass, children: sidebar }) : null
|
|
8334
8708
|
] });
|
|
8335
8709
|
}
|
|
8336
8710
|
function StnListViewLayoutRoot({
|
|
@@ -8349,7 +8723,7 @@ function StnListViewLayoutRoot({
|
|
|
8349
8723
|
}) {
|
|
8350
8724
|
const bare = bareProp ?? noShell ?? false;
|
|
8351
8725
|
const hasLnbClass = lnbSide === "right" ? "has_lnb_right" : "has_lnb";
|
|
8352
|
-
const body = /* @__PURE__ */
|
|
8726
|
+
const body = /* @__PURE__ */ jsx76(
|
|
8353
8727
|
StnListViewLayoutBody,
|
|
8354
8728
|
{
|
|
8355
8729
|
search,
|
|
@@ -8364,10 +8738,10 @@ function StnListViewLayoutRoot({
|
|
|
8364
8738
|
if (bare) {
|
|
8365
8739
|
return body;
|
|
8366
8740
|
}
|
|
8367
|
-
const renderedHeader = header === null ? null : header !== void 0 ? header : /* @__PURE__ */
|
|
8368
|
-
return /* @__PURE__ */
|
|
8741
|
+
const renderedHeader = header === null ? null : header !== void 0 ? header : /* @__PURE__ */ jsx76("div", { className: "stn-layer-1__header", children: /* @__PURE__ */ jsx76(StnHeader, { variant: "page", children: /* @__PURE__ */ jsx76(StnHeader.Left, { children: /* @__PURE__ */ jsx76(StnHeaderPageTitle, { children: title }) }) }) });
|
|
8742
|
+
return /* @__PURE__ */ jsxs53("div", { className: cn("stn-list-view-layout", "stn-layer-1", className), ...rest, children: [
|
|
8369
8743
|
renderedHeader,
|
|
8370
|
-
/* @__PURE__ */
|
|
8744
|
+
/* @__PURE__ */ jsx76(
|
|
8371
8745
|
"div",
|
|
8372
8746
|
{
|
|
8373
8747
|
className: cn("stn-content-area", sidebar ? hasLnbClass : null, search ? "has_sch" : null),
|
|
@@ -8377,10 +8751,10 @@ function StnListViewLayoutRoot({
|
|
|
8377
8751
|
] });
|
|
8378
8752
|
}
|
|
8379
8753
|
function StnListViewLayoutHeader({ className, children, ...rest }) {
|
|
8380
|
-
return /* @__PURE__ */
|
|
8754
|
+
return /* @__PURE__ */ jsx76("div", { className: cn("stn-layer-1__header", className), ...rest, children });
|
|
8381
8755
|
}
|
|
8382
8756
|
function StnListViewLayoutSearch({ className, children, ...rest }) {
|
|
8383
|
-
return /* @__PURE__ */
|
|
8757
|
+
return /* @__PURE__ */ jsx76("div", { className: cn("search_area", className), ...rest, children });
|
|
8384
8758
|
}
|
|
8385
8759
|
function StnListViewLayoutSidebar({
|
|
8386
8760
|
side = "left",
|
|
@@ -8389,16 +8763,16 @@ function StnListViewLayoutSidebar({
|
|
|
8389
8763
|
...rest
|
|
8390
8764
|
}) {
|
|
8391
8765
|
const lnbClass = side === "right" ? "lnb_box_right" : "lnb_box";
|
|
8392
|
-
return /* @__PURE__ */
|
|
8766
|
+
return /* @__PURE__ */ jsx76("aside", { className: cn(lnbClass, className), ...rest, children });
|
|
8393
8767
|
}
|
|
8394
8768
|
function StnListViewLayoutContent({ className, children, ...rest }) {
|
|
8395
|
-
return /* @__PURE__ */
|
|
8769
|
+
return /* @__PURE__ */ jsx76("div", { className: cn("content_box", className), ...rest, children });
|
|
8396
8770
|
}
|
|
8397
8771
|
function StnListViewLayoutTable({ className, children, ...rest }) {
|
|
8398
|
-
return /* @__PURE__ */
|
|
8772
|
+
return /* @__PURE__ */ jsx76("div", { className: cn("stn-table", className), ...rest, children });
|
|
8399
8773
|
}
|
|
8400
8774
|
function StnListViewLayoutPagination({ className, children, ...rest }) {
|
|
8401
|
-
return /* @__PURE__ */
|
|
8775
|
+
return /* @__PURE__ */ jsx76("div", { className: cn("stn-list-view-layout__pagination-wrap", className), ...rest, children });
|
|
8402
8776
|
}
|
|
8403
8777
|
var StnListViewLayout = Object.assign(StnListViewLayoutRoot, {
|
|
8404
8778
|
Body: StnListViewLayoutBody,
|
|
@@ -8439,9 +8813,9 @@ import {
|
|
|
8439
8813
|
STN_ALERT_CENTER_DEMO_WORK
|
|
8440
8814
|
} from "@stn-uiux/pub-ui/data/stnAlertCenter";
|
|
8441
8815
|
import { systemIconSrc } from "@stn-uiux/pub-ui/data/stnSystemIcons";
|
|
8442
|
-
import { Fragment as Fragment9, jsx as
|
|
8816
|
+
import { Fragment as Fragment9, jsx as jsx77, jsxs as jsxs54 } from "react/jsx-runtime";
|
|
8443
8817
|
function defaultTopologyHeader(_clock) {
|
|
8444
|
-
return /* @__PURE__ */
|
|
8818
|
+
return /* @__PURE__ */ jsx77(StnHeader, { variant: "widget" });
|
|
8445
8819
|
}
|
|
8446
8820
|
function AlertCenterPageScaffold({
|
|
8447
8821
|
gnbAlertPanel,
|
|
@@ -8460,7 +8834,7 @@ function AlertCenterPageScaffold({
|
|
|
8460
8834
|
}) {
|
|
8461
8835
|
const [gnbOpen, setGnbOpen] = useState16(defaultGnbOpen);
|
|
8462
8836
|
const panel = useMemo5(
|
|
8463
|
-
() => gnbAlertPanel ?? /* @__PURE__ */
|
|
8837
|
+
() => gnbAlertPanel ?? /* @__PURE__ */ jsx77(
|
|
8464
8838
|
StnAlertCenterPanel,
|
|
8465
8839
|
{
|
|
8466
8840
|
alerts: STN_ALERT_CENTER_DEMO_ALERTS,
|
|
@@ -8471,26 +8845,26 @@ function AlertCenterPageScaffold({
|
|
|
8471
8845
|
[gnbAlertPanel]
|
|
8472
8846
|
);
|
|
8473
8847
|
const sideNav = useMemo5(
|
|
8474
|
-
() => gnbProp ?? /* @__PURE__ */
|
|
8475
|
-
/* @__PURE__ */
|
|
8848
|
+
() => gnbProp ?? /* @__PURE__ */ jsxs54(Fragment9, { children: [
|
|
8849
|
+
/* @__PURE__ */ jsxs54(
|
|
8476
8850
|
StnSideNavigation,
|
|
8477
8851
|
{
|
|
8478
8852
|
collapsed: !gnbOpen,
|
|
8479
8853
|
onCollapseChange: (col) => setGnbOpen(!col),
|
|
8480
8854
|
children: [
|
|
8481
|
-
/* @__PURE__ */
|
|
8482
|
-
/* @__PURE__ */
|
|
8483
|
-
/* @__PURE__ */
|
|
8855
|
+
/* @__PURE__ */ jsxs54(StnSideNavigation.Header, { children: [
|
|
8856
|
+
/* @__PURE__ */ jsx77(StnSideNavigation.Logo, {}),
|
|
8857
|
+
/* @__PURE__ */ jsx77(StnSideNavigation.Toggle, {})
|
|
8484
8858
|
] }),
|
|
8485
|
-
/* @__PURE__ */
|
|
8486
|
-
/* @__PURE__ */
|
|
8487
|
-
/* @__PURE__ */
|
|
8488
|
-
/* @__PURE__ */
|
|
8859
|
+
/* @__PURE__ */ jsxs54(StnSideNavigation.Menu, { children: [
|
|
8860
|
+
/* @__PURE__ */ jsx77(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/layout-grid"), label: "\uBA54\uC778 \uB300\uC2DC\uBCF4\uB4DC", active: true }),
|
|
8861
|
+
/* @__PURE__ */ jsx77(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/server_2"), label: "\uC11C\uBC84 \uBAA8\uB2C8\uD130\uB9C1" }),
|
|
8862
|
+
/* @__PURE__ */ jsx77(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/activity"), label: "\uB124\uD2B8\uC6CC\uD06C \uBD84\uC11D" })
|
|
8489
8863
|
] }),
|
|
8490
|
-
/* @__PURE__ */
|
|
8491
|
-
/* @__PURE__ */
|
|
8492
|
-
/* @__PURE__ */
|
|
8493
|
-
/* @__PURE__ */
|
|
8864
|
+
/* @__PURE__ */ jsx77(StnSideNavigation.Spacer, {}),
|
|
8865
|
+
/* @__PURE__ */ jsxs54(StnSideNavigation.Footer, { curved: true, children: [
|
|
8866
|
+
/* @__PURE__ */ jsx77(StnSideNavigation.Watermark, {}),
|
|
8867
|
+
/* @__PURE__ */ jsx77(
|
|
8494
8868
|
StnSideNavigation.Item,
|
|
8495
8869
|
{
|
|
8496
8870
|
iconSrc: systemIconSrc("line/bell"),
|
|
@@ -8499,7 +8873,7 @@ function AlertCenterPageScaffold({
|
|
|
8499
8873
|
onClick: void 0
|
|
8500
8874
|
}
|
|
8501
8875
|
),
|
|
8502
|
-
/* @__PURE__ */
|
|
8876
|
+
/* @__PURE__ */ jsx77(StnSideNavigation.Item, { iconSrc: systemIconSrc("line/settings"), label: "\uC124\uC815" })
|
|
8503
8877
|
] })
|
|
8504
8878
|
]
|
|
8505
8879
|
}
|
|
@@ -8508,8 +8882,8 @@ function AlertCenterPageScaffold({
|
|
|
8508
8882
|
] }),
|
|
8509
8883
|
[gnbProp, gnbOpen, panel]
|
|
8510
8884
|
);
|
|
8511
|
-
const faultSlot = faultPanel ?? (showFaultPanelPlaceholder ? /* @__PURE__ */
|
|
8512
|
-
return /* @__PURE__ */
|
|
8885
|
+
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);
|
|
8886
|
+
return /* @__PURE__ */ jsx77(
|
|
8513
8887
|
DashboardPageScaffold,
|
|
8514
8888
|
{
|
|
8515
8889
|
gnb: sideNav,
|
|
@@ -8517,7 +8891,7 @@ function AlertCenterPageScaffold({
|
|
|
8517
8891
|
mapMessage,
|
|
8518
8892
|
mapNote,
|
|
8519
8893
|
faultPanel: faultSlot,
|
|
8520
|
-
right: right ?? /* @__PURE__ */
|
|
8894
|
+
right: right ?? /* @__PURE__ */ jsx77(AlertCenterDashboard, {}),
|
|
8521
8895
|
wrapId,
|
|
8522
8896
|
wrapClassName: "stn-page--map-bg",
|
|
8523
8897
|
...shellProps
|
|
@@ -8527,7 +8901,7 @@ function AlertCenterPageScaffold({
|
|
|
8527
8901
|
|
|
8528
8902
|
// src/patterns/scaffold/LoginPageScaffold.tsx
|
|
8529
8903
|
import { useState as useState17 } from "react";
|
|
8530
|
-
import { jsx as
|
|
8904
|
+
import { jsx as jsx78, jsxs as jsxs55 } from "react/jsx-runtime";
|
|
8531
8905
|
var LOGIN_TABS = [
|
|
8532
8906
|
{ value: "normal", label: "\uC77C\uBC18 \uB85C\uADF8\uC778" },
|
|
8533
8907
|
{ value: "social", label: "\uC18C\uC15C \uB85C\uADF8\uC778" }
|
|
@@ -8545,8 +8919,8 @@ function DefaultLoginForm({
|
|
|
8545
8919
|
e.preventDefault();
|
|
8546
8920
|
onLogin?.(userId, password);
|
|
8547
8921
|
}
|
|
8548
|
-
return /* @__PURE__ */
|
|
8549
|
-
/* @__PURE__ */
|
|
8922
|
+
return /* @__PURE__ */ jsxs55(StnLoginFormStack, { onSubmit: handleSubmit, children: [
|
|
8923
|
+
/* @__PURE__ */ jsx78(
|
|
8550
8924
|
StnSegmented,
|
|
8551
8925
|
{
|
|
8552
8926
|
"aria-label": "\uB85C\uADF8\uC778 \uBC29\uC2DD",
|
|
@@ -8555,8 +8929,8 @@ function DefaultLoginForm({
|
|
|
8555
8929
|
options: LOGIN_TABS
|
|
8556
8930
|
}
|
|
8557
8931
|
),
|
|
8558
|
-
mode === "normal" ? /* @__PURE__ */
|
|
8559
|
-
/* @__PURE__ */
|
|
8932
|
+
mode === "normal" ? /* @__PURE__ */ jsxs55(StnLoginFormFields, { children: [
|
|
8933
|
+
/* @__PURE__ */ jsx78(
|
|
8560
8934
|
StnLoginTextField,
|
|
8561
8935
|
{
|
|
8562
8936
|
icon: "line/user",
|
|
@@ -8568,7 +8942,7 @@ function DefaultLoginForm({
|
|
|
8568
8942
|
"aria-label": "\uC544\uC774\uB514"
|
|
8569
8943
|
}
|
|
8570
8944
|
),
|
|
8571
|
-
/* @__PURE__ */
|
|
8945
|
+
/* @__PURE__ */ jsx78(
|
|
8572
8946
|
StnLoginTextField,
|
|
8573
8947
|
{
|
|
8574
8948
|
icon: "line/lock",
|
|
@@ -8581,11 +8955,11 @@ function DefaultLoginForm({
|
|
|
8581
8955
|
"aria-label": "\uBE44\uBC00\uBC88\uD638"
|
|
8582
8956
|
}
|
|
8583
8957
|
)
|
|
8584
|
-
] }) : socialContent ?? /* @__PURE__ */
|
|
8585
|
-
/* @__PURE__ */
|
|
8586
|
-
/* @__PURE__ */
|
|
8587
|
-
/* @__PURE__ */
|
|
8588
|
-
/* @__PURE__ */
|
|
8958
|
+
] }) : socialContent ?? /* @__PURE__ */ jsx78(StnLoginPlaceholder, {}),
|
|
8959
|
+
/* @__PURE__ */ jsx78(StnButton, { type: "submit", size: "xl", fullWidth: true, children: "\uB85C\uADF8\uC778" }),
|
|
8960
|
+
/* @__PURE__ */ jsxs55(StnLoginFormLinks, { children: [
|
|
8961
|
+
/* @__PURE__ */ jsx78("a", { href: signUpHref, children: "\uD68C\uC6D0\uAC00\uC785" }),
|
|
8962
|
+
/* @__PURE__ */ jsx78("a", { href: recoverHref, children: "\uC544\uC774\uB514 / \uBE44\uBC00\uBC88\uD638 \uCC3E\uAE30" })
|
|
8589
8963
|
] })
|
|
8590
8964
|
] });
|
|
8591
8965
|
}
|
|
@@ -8599,16 +8973,16 @@ function DefaultLoginCard({
|
|
|
8599
8973
|
signUpHref,
|
|
8600
8974
|
recoverHref
|
|
8601
8975
|
}) {
|
|
8602
|
-
return /* @__PURE__ */
|
|
8976
|
+
return /* @__PURE__ */ jsx78(
|
|
8603
8977
|
StnLoginCard,
|
|
8604
8978
|
{
|
|
8605
8979
|
glow,
|
|
8606
8980
|
variant,
|
|
8607
|
-
brand: /* @__PURE__ */
|
|
8608
|
-
logo ?? /* @__PURE__ */
|
|
8609
|
-
/* @__PURE__ */
|
|
8981
|
+
brand: /* @__PURE__ */ jsxs55(StnLoginBrandStack, { children: [
|
|
8982
|
+
logo ?? /* @__PURE__ */ jsx78(StnLogo, { variant: "vertical", size: "xl" }),
|
|
8983
|
+
/* @__PURE__ */ jsx78("p", { className: "stn-login-card__caption", children: productCaption })
|
|
8610
8984
|
] }),
|
|
8611
|
-
children: /* @__PURE__ */
|
|
8985
|
+
children: /* @__PURE__ */ jsx78(
|
|
8612
8986
|
DefaultLoginForm,
|
|
8613
8987
|
{
|
|
8614
8988
|
onLogin,
|
|
@@ -8634,8 +9008,8 @@ function LoginPageScaffold({
|
|
|
8634
9008
|
recoverHref,
|
|
8635
9009
|
...shellProps
|
|
8636
9010
|
}) {
|
|
8637
|
-
const resolvedLayer0 = layer0 ?? /* @__PURE__ */
|
|
8638
|
-
const resolvedCard = children ?? /* @__PURE__ */
|
|
9011
|
+
const resolvedLayer0 = layer0 ?? /* @__PURE__ */ jsx78(StnLayer0Background, { variant: "login" });
|
|
9012
|
+
const resolvedCard = children ?? /* @__PURE__ */ jsx78(
|
|
8639
9013
|
DefaultLoginCard,
|
|
8640
9014
|
{
|
|
8641
9015
|
logo,
|
|
@@ -8648,7 +9022,7 @@ function LoginPageScaffold({
|
|
|
8648
9022
|
recoverHref
|
|
8649
9023
|
}
|
|
8650
9024
|
);
|
|
8651
|
-
return /* @__PURE__ */
|
|
9025
|
+
return /* @__PURE__ */ jsxs55(
|
|
8652
9026
|
"div",
|
|
8653
9027
|
{
|
|
8654
9028
|
className: cn("stn-wrap stn-page--login", wrapClassName),
|
|
@@ -8656,7 +9030,7 @@ function LoginPageScaffold({
|
|
|
8656
9030
|
...shellProps,
|
|
8657
9031
|
children: [
|
|
8658
9032
|
resolvedLayer0,
|
|
8659
|
-
/* @__PURE__ */
|
|
9033
|
+
/* @__PURE__ */ jsx78("div", { className: "stn-login", children: resolvedCard })
|
|
8660
9034
|
]
|
|
8661
9035
|
}
|
|
8662
9036
|
);
|
|
@@ -8685,7 +9059,7 @@ import {
|
|
|
8685
9059
|
|
|
8686
9060
|
// src/patterns/toolbar/StnFloatingToolbar.tsx
|
|
8687
9061
|
import React4 from "react";
|
|
8688
|
-
import { jsx as
|
|
9062
|
+
import { jsx as jsx79, jsxs as jsxs56 } from "react/jsx-runtime";
|
|
8689
9063
|
var DEFAULT_MAP_MODES = [
|
|
8690
9064
|
{ value: "sphere", label: "\uAD6C\uBA74" },
|
|
8691
9065
|
{ value: "plane", label: "\uD3C9\uBA74" },
|
|
@@ -8695,7 +9069,7 @@ var StnFloatingToolbar = React4.forwardRef(
|
|
|
8695
9069
|
({ placement = "none", orientation = "horizontal", className, children, ...restProps }, ref) => {
|
|
8696
9070
|
const placementClass = placement !== "none" ? `stn-floating-toolbar--${placement}` : "";
|
|
8697
9071
|
const orientationClass = orientation === "vertical" ? "stn-floating-toolbar--vertical" : "";
|
|
8698
|
-
return /* @__PURE__ */
|
|
9072
|
+
return /* @__PURE__ */ jsx79(
|
|
8699
9073
|
"div",
|
|
8700
9074
|
{
|
|
8701
9075
|
ref,
|
|
@@ -8728,7 +9102,7 @@ var StnMapToolbar = React4.forwardRef(
|
|
|
8728
9102
|
children,
|
|
8729
9103
|
...restProps
|
|
8730
9104
|
}, ref) => {
|
|
8731
|
-
return /* @__PURE__ */
|
|
9105
|
+
return /* @__PURE__ */ jsxs56(
|
|
8732
9106
|
StnFloatingToolbar,
|
|
8733
9107
|
{
|
|
8734
9108
|
ref,
|
|
@@ -8738,7 +9112,7 @@ var StnMapToolbar = React4.forwardRef(
|
|
|
8738
9112
|
"aria-label": "\uC9C0\uB3C4 \uBC0F \uD1A0\uD3F4\uB85C\uC9C0 \uB3C4\uAD6C \uBAA8\uC74C",
|
|
8739
9113
|
...restProps,
|
|
8740
9114
|
children: [
|
|
8741
|
-
modeOptions && modeOptions.length > 0 && /* @__PURE__ */
|
|
9115
|
+
modeOptions && modeOptions.length > 0 && /* @__PURE__ */ jsx79(
|
|
8742
9116
|
StnDropdown,
|
|
8743
9117
|
{
|
|
8744
9118
|
size: "md",
|
|
@@ -8749,75 +9123,75 @@ var StnMapToolbar = React4.forwardRef(
|
|
|
8749
9123
|
"aria-label": "\uD22C\uC601 \uBAA8\uB4DC \uC120\uD0DD"
|
|
8750
9124
|
}
|
|
8751
9125
|
),
|
|
8752
|
-
onRestore && /* @__PURE__ */
|
|
9126
|
+
onRestore && /* @__PURE__ */ jsx79(
|
|
8753
9127
|
StnButton,
|
|
8754
9128
|
{
|
|
8755
9129
|
variant: buttonVariant,
|
|
8756
9130
|
size: "md",
|
|
8757
9131
|
shape: "square",
|
|
8758
|
-
icon: /* @__PURE__ */
|
|
8759
|
-
/* @__PURE__ */
|
|
8760
|
-
/* @__PURE__ */
|
|
8761
|
-
/* @__PURE__ */
|
|
9132
|
+
icon: /* @__PURE__ */ jsxs56("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.6", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
|
|
9133
|
+
/* @__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" }),
|
|
9134
|
+
/* @__PURE__ */ jsx79("path", { d: "M3 4.00098V9.00098H8" }),
|
|
9135
|
+
/* @__PURE__ */ jsx79("circle", { cx: "12", cy: "12", r: "1", fill: "currentColor" })
|
|
8762
9136
|
] }),
|
|
8763
9137
|
"aria-label": "\uCD08\uAE30\uD654 (Restore)",
|
|
8764
9138
|
title: "\uCD08\uAE30\uD654 (Restore)",
|
|
8765
9139
|
onClick: onRestore
|
|
8766
9140
|
}
|
|
8767
9141
|
),
|
|
8768
|
-
onFullscreen && /* @__PURE__ */
|
|
9142
|
+
onFullscreen && /* @__PURE__ */ jsx79(
|
|
8769
9143
|
StnButton,
|
|
8770
9144
|
{
|
|
8771
9145
|
variant: buttonVariant,
|
|
8772
9146
|
size: "md",
|
|
8773
9147
|
shape: "square",
|
|
8774
|
-
icon: /* @__PURE__ */
|
|
8775
|
-
/* @__PURE__ */
|
|
8776
|
-
/* @__PURE__ */
|
|
8777
|
-
/* @__PURE__ */
|
|
8778
|
-
/* @__PURE__ */
|
|
9148
|
+
icon: /* @__PURE__ */ jsxs56("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.6", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
|
|
9149
|
+
/* @__PURE__ */ jsx79("path", { d: "M16 4H20V8" }),
|
|
9150
|
+
/* @__PURE__ */ jsx79("path", { d: "M14 10L20 4" }),
|
|
9151
|
+
/* @__PURE__ */ jsx79("path", { d: "M8 20H4V16" }),
|
|
9152
|
+
/* @__PURE__ */ jsx79("path", { d: "M4 20L10 14" })
|
|
8779
9153
|
] }),
|
|
8780
9154
|
"aria-label": "\uC804\uCCB4\uD654\uBA74",
|
|
8781
9155
|
title: "\uC804\uCCB4\uD654\uBA74",
|
|
8782
9156
|
onClick: onFullscreen
|
|
8783
9157
|
}
|
|
8784
9158
|
),
|
|
8785
|
-
onZoomIn && /* @__PURE__ */
|
|
9159
|
+
onZoomIn && /* @__PURE__ */ jsx79(
|
|
8786
9160
|
StnButton,
|
|
8787
9161
|
{
|
|
8788
9162
|
variant: buttonVariant,
|
|
8789
9163
|
size: "md",
|
|
8790
9164
|
shape: "square",
|
|
8791
|
-
icon: /* @__PURE__ */
|
|
8792
|
-
/* @__PURE__ */
|
|
8793
|
-
/* @__PURE__ */
|
|
9165
|
+
icon: /* @__PURE__ */ jsxs56("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
|
|
9166
|
+
/* @__PURE__ */ jsx79("path", { d: "M12 5V19" }),
|
|
9167
|
+
/* @__PURE__ */ jsx79("path", { d: "M5 12H19" })
|
|
8794
9168
|
] }),
|
|
8795
9169
|
"aria-label": "\uD655\uB300",
|
|
8796
9170
|
title: "\uD655\uB300",
|
|
8797
9171
|
onClick: onZoomIn
|
|
8798
9172
|
}
|
|
8799
9173
|
),
|
|
8800
|
-
onZoomOut && /* @__PURE__ */
|
|
9174
|
+
onZoomOut && /* @__PURE__ */ jsx79(
|
|
8801
9175
|
StnButton,
|
|
8802
9176
|
{
|
|
8803
9177
|
variant: buttonVariant,
|
|
8804
9178
|
size: "md",
|
|
8805
9179
|
shape: "square",
|
|
8806
|
-
icon: /* @__PURE__ */
|
|
9180
|
+
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" }) }),
|
|
8807
9181
|
"aria-label": "\uCD95\uC18C",
|
|
8808
9182
|
title: "\uCD95\uC18C",
|
|
8809
9183
|
onClick: onZoomOut
|
|
8810
9184
|
}
|
|
8811
9185
|
),
|
|
8812
|
-
onRefresh && /* @__PURE__ */
|
|
9186
|
+
onRefresh && /* @__PURE__ */ jsx79(
|
|
8813
9187
|
StnButton,
|
|
8814
9188
|
{
|
|
8815
9189
|
variant: buttonVariant,
|
|
8816
9190
|
size: "md",
|
|
8817
9191
|
shape: "square",
|
|
8818
|
-
icon: /* @__PURE__ */
|
|
8819
|
-
/* @__PURE__ */
|
|
8820
|
-
/* @__PURE__ */
|
|
9192
|
+
icon: /* @__PURE__ */ jsxs56("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.6", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [
|
|
9193
|
+
/* @__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" }),
|
|
9194
|
+
/* @__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" })
|
|
8821
9195
|
] }),
|
|
8822
9196
|
"aria-label": "\uC0C8\uB85C\uACE0\uCE68",
|
|
8823
9197
|
title: "\uC0C8\uB85C\uACE0\uCE68",
|
|
@@ -8853,6 +9227,7 @@ export {
|
|
|
8853
9227
|
STN_ALERT_CENTER_TABS2 as STN_ALERT_CENTER_TABS,
|
|
8854
9228
|
STN_ALERT_CENTER_TAB_IDS,
|
|
8855
9229
|
STN_ALERT_CENTER_USAGE,
|
|
9230
|
+
STN_ALERT_CENTER_USAGE_HTML,
|
|
8856
9231
|
STN_DATE_PICKER_INTRO,
|
|
8857
9232
|
STN_DATE_PICKER_KO_NAME,
|
|
8858
9233
|
STN_DATE_PICKER_NAME,
|
|
@@ -8958,6 +9333,7 @@ export {
|
|
|
8958
9333
|
STN_WIDGET_SHELL_ROWS,
|
|
8959
9334
|
STN_WIDGET_USAGE,
|
|
8960
9335
|
SideNavContext,
|
|
9336
|
+
StnAlertCard,
|
|
8961
9337
|
StnAlertCenterDocPreview,
|
|
8962
9338
|
StnAlertCenterPanel,
|
|
8963
9339
|
StnBadge,
|
|
@@ -8996,6 +9372,7 @@ export {
|
|
|
8996
9372
|
StnHeaderToolbar,
|
|
8997
9373
|
StnIcon,
|
|
8998
9374
|
StnIconBox,
|
|
9375
|
+
StnLabelPrefix,
|
|
8999
9376
|
StnLayer2 as StnLayer,
|
|
9000
9377
|
StnLayer0Background,
|
|
9001
9378
|
StnLayerBackground,
|
|
@@ -9029,6 +9406,7 @@ export {
|
|
|
9029
9406
|
StnLogo,
|
|
9030
9407
|
StnMapCanvas,
|
|
9031
9408
|
StnMapToolbar,
|
|
9409
|
+
StnModal,
|
|
9032
9410
|
StnPageScaffold,
|
|
9033
9411
|
StnPageScaffoldLayer,
|
|
9034
9412
|
StnPageScaffoldMapCanvas,
|
|
@@ -9087,6 +9465,7 @@ export {
|
|
|
9087
9465
|
StnTopologyNodePreview,
|
|
9088
9466
|
StnTopologyRing,
|
|
9089
9467
|
StnTree,
|
|
9468
|
+
StnTreeItem,
|
|
9090
9469
|
StnTreeNode,
|
|
9091
9470
|
StnWidget,
|
|
9092
9471
|
StnWidgetActions,
|