@stn-uiux/pub-ui 0.1.57 → 0.1.59
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/{chunk-L7DYM4V7.js → chunk-2FHXIAM3.js} +10 -28
- package/dist/{chunk-L7DYM4V7.js.map → chunk-2FHXIAM3.js.map} +1 -1
- package/dist/chunk-2WKT7X65.js +407 -0
- package/dist/chunk-2WKT7X65.js.map +1 -0
- package/dist/{chunk-7ASY5YJ6.js → chunk-36BAGMYT.js} +3 -3
- package/dist/chunk-36BAGMYT.js.map +1 -0
- package/dist/{chunk-THCCTVUM.js → chunk-5F63CMM7.js} +11 -1
- package/dist/chunk-5F63CMM7.js.map +1 -0
- package/dist/{chunk-Q3W7QA7N.js → chunk-75GHU6VI.js} +24 -43
- package/dist/chunk-75GHU6VI.js.map +1 -0
- package/dist/chunk-A5KLX6NX.js +1 -0
- package/dist/{chunk-4C7ABT2K.js → chunk-AE4CKAEK.js} +3 -3
- package/dist/chunk-AE4CKAEK.js.map +1 -0
- package/dist/{chunk-UPXSNRIJ.js → chunk-AOS3IX4T.js} +2 -2
- package/dist/chunk-AOS3IX4T.js.map +1 -0
- package/dist/{chunk-XNGYRPZI.js → chunk-CHJATVOT.js} +4 -4
- package/dist/{chunk-XNGYRPZI.js.map → chunk-CHJATVOT.js.map} +1 -1
- package/dist/{chunk-XZ3JOUX2.js → chunk-EQTZA7I2.js} +2 -14
- package/dist/chunk-EQTZA7I2.js.map +1 -0
- package/dist/{chunk-P5V6SFR7.js → chunk-H4ZJQ5YW.js} +2 -2
- package/dist/{chunk-GR76L7M7.js → chunk-JPILTFLI.js} +5 -5
- package/dist/chunk-JPILTFLI.js.map +1 -0
- package/dist/{chunk-WRGBYWRV.js → chunk-LKVTW54X.js} +1 -1
- package/dist/chunk-LKVTW54X.js.map +1 -0
- package/dist/{chunk-OMCBVK57.js → chunk-SKZOEF3H.js} +2 -2
- package/dist/chunk-SQJPE6HH.js +12 -0
- package/dist/chunk-SQJPE6HH.js.map +1 -0
- package/dist/{chunk-V7HD6SBG.js → chunk-XEG4WDUD.js} +7 -18
- package/dist/chunk-XEG4WDUD.js.map +1 -0
- package/dist/chunk-XPARWRVD.js +9 -0
- package/dist/chunk-XPARWRVD.js.map +1 -0
- package/dist/{chunk-S4YA4H2S.js → chunk-YBNEQ5LB.js} +2 -2
- package/dist/cli.js +15 -15
- package/dist/data/index.d.ts +2 -1
- package/dist/data/index.js +31 -27
- package/dist/data/stnAlertCenter.d.ts +4 -3
- package/dist/data/stnAlertCenter.js +1 -1
- package/dist/data/stnBreadcrumb.js +3 -3
- package/dist/data/stnDatePicker.js +2 -2
- package/dist/data/stnDateRangeField.d.ts +1 -1
- package/dist/data/stnDateRangeField.js +1 -1
- package/dist/data/stnDropdown.d.ts +1 -1
- package/dist/data/stnDropdown.js +1 -1
- package/dist/data/stnHeader.d.ts +2 -2
- package/dist/data/stnHeader.js +3 -3
- package/dist/data/stnLayout.d.ts +1 -1
- package/dist/data/stnLayout.js +1 -1
- package/dist/data/stnPackageVersion.d.ts +2 -2
- package/dist/data/stnPackageVersion.js +1 -1
- package/dist/data/stnPopup.d.ts +19 -41
- package/dist/data/stnPopup.js +1 -1
- package/dist/data/stnScroll.d.ts +1 -1
- package/dist/data/stnScroll.js +1 -1
- package/dist/data/stnSearchRequirement.d.ts +4 -4
- package/dist/data/stnSearchRequirement.js +1 -1
- package/dist/data/stnSideNavItem.js +3 -3
- package/dist/data/stnSizeSemantic.js +1 -1
- package/dist/data/stnStatus.d.ts +11 -0
- package/dist/data/stnStatus.js +7 -0
- package/dist/data/stnStatus.js.map +1 -0
- package/dist/data/stnSystemIcons.d.ts +1 -1
- package/dist/data/stnSystemIcons.js +2 -2
- package/dist/data/stnSystemIconsData.generated.js +1 -1
- package/dist/data/stnTree.d.ts +1 -1
- package/dist/data/stnTree.js +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +31 -27
- package/package.json +1 -1
- package/styles/@assets/svg/system/line/eye-off.svg +5 -0
- package/styles/components/stn-btn.css +10 -1
- package/styles/components/stn-date-picker.css +13 -5
- package/styles/components/stn-date-range-field.css +153 -16
- package/styles/components/stn-dropdown.css +161 -42
- package/styles/components/stn-label-prefix.css +356 -0
- package/styles/components/stn-pagination.css +113 -5
- package/styles/components/stn-popup.css +78 -132
- package/styles/components/stn-scroll.css +51 -66
- package/styles/components/stn-search-requirement.css +27 -20
- package/styles/components/stn-segmented.css +3 -1
- package/styles/components/stn-status.css +853 -0
- package/styles/components/stn-table.css +32 -5
- package/styles/components/stn-text-field.css +396 -374
- package/styles/components/stn-toast.css +17 -0
- package/styles/components/stn-toggle-button.css +37 -0
- package/styles/layouts/stn-container.css +9 -0
- package/styles/layouts/stn-layer1-content.css +105 -0
- package/styles/patterns/stn-alert-center.css +114 -4
- package/styles/patterns/stn-header.css +7 -145
- package/styles/patterns/stn-section-side.css +64 -0
- package/styles/patterns/stn-tree.css +193 -2
- package/styles/style-pub.css +2 -1
- package/styles/tokens/stn-breakpoint.css +12 -0
- package/styles/tokens/stn-colors-semantic.css +13 -7
- package/styles/tokens/stn-radius-semantic.css +4 -3
- package/styles/tokens/stn-size-semantic.css +19 -6
- package/styles/tokens/stn-size.css +2 -0
- package/styles/tokens/stn-spacing-semantic.css +12 -0
- package/styles/tokens/stn-typography.css +1 -0
- package/dist/chunk-4C7ABT2K.js.map +0 -1
- package/dist/chunk-7ASY5YJ6.js.map +0 -1
- package/dist/chunk-GR76L7M7.js.map +0 -1
- package/dist/chunk-LHV26PEP.js +0 -1
- package/dist/chunk-Q3W7QA7N.js.map +0 -1
- package/dist/chunk-QT4HHVZH.js +0 -9
- package/dist/chunk-QT4HHVZH.js.map +0 -1
- package/dist/chunk-THCCTVUM.js.map +0 -1
- package/dist/chunk-UPXSNRIJ.js.map +0 -1
- package/dist/chunk-V7HD6SBG.js.map +0 -1
- package/dist/chunk-WRGBYWRV.js.map +0 -1
- package/dist/chunk-XZ3JOUX2.js.map +0 -1
- package/dist/chunk-ZI6EF4XD.js +0 -209
- package/dist/chunk-ZI6EF4XD.js.map +0 -1
- package/styles/@assets/svg/system/3d/print.png +0 -0
- package/styles/@assets/svg/system/3d/print_1.png +0 -0
- package/styles/@assets/svg/system/3d/server1.png +0 -0
- package/styles/@assets/svg/system/3d/server1_1.png +0 -0
- package/styles/@assets/svg/system/3d/server2.png +0 -0
- package/styles/@assets/svg/system/3d/server2_1.png +0 -0
- package/styles/@assets/svg/system/3d/signal.png +0 -0
- package/styles/@assets/svg/system/3d/signal_1.png +0 -0
- package/styles/@assets/svg/system/3d/wifi.png +0 -0
- package/styles/@assets/svg/system/3d/wifi_1.png +0 -0
- package/styles/@assets/svg/system/ai_agent.png +0 -0
- package/styles/@assets/svg/system/line/input.svg +0 -3
- package/styles/@assets/svg/system/line/radio.svg +0 -3
- package/styles/components/stn-severity-badge.css +0 -227
- /package/dist/{chunk-LHV26PEP.js.map → chunk-A5KLX6NX.js.map} +0 -0
- /package/dist/{chunk-P5V6SFR7.js.map → chunk-H4ZJQ5YW.js.map} +0 -0
- /package/dist/{chunk-OMCBVK57.js.map → chunk-SKZOEF3H.js.map} +0 -0
- /package/dist/{chunk-S4YA4H2S.js.map → chunk-YBNEQ5LB.js.map} +0 -0
package/dist/chunk-ZI6EF4XD.js
DELETED
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
// src/data/stnAlertCenter.ts
|
|
2
|
-
var STN_ALERT_CENTER_INTRO = "GNB \uD558\uB2E8 \uC575\uCEE4\uC5D0\uC11C \uB808\uC774\uC5B4\uB85C \uD45C\uCD9C\uB418\uB294 \uC54C\uB9BC\uC13C\uD130 \uD328\uD134\uC785\uB2C8\uB2E4. \uC2E4\uC2DC\uAC04 \uC7A5\uC560 \uC54C\uB9BC, \uC791\uC5C5 \uD56D\uBAA9, \uBC30\uD3EC \uD604\uD669 \uD0ED \uBC0F \uAC1C\uBCC4 \uD56D\uBAA9 \uC0C1\uC138 \uB2E4\uC774\uC5BC\uB85C\uADF8 \uC5F0\uB3D9\uC744 \uC81C\uACF5\uD569\uB2C8\uB2E4.";
|
|
3
|
-
var STN_ALERT_CENTER_TAB_IDS = {
|
|
4
|
-
error: "gnb-alert-tab-error",
|
|
5
|
-
work: "gnb-alert-tab-work",
|
|
6
|
-
deploy: "gnb-alert-tab-deploy"
|
|
7
|
-
};
|
|
8
|
-
var STN_ALERT_CENTER_TABS = [
|
|
9
|
-
{ id: "error", label: "\uC7A5\uC560", listWrapClass: "alert_list_wrap" },
|
|
10
|
-
{ id: "work", label: "\uC791\uC5C5", listWrapClass: "work_list_wrap" },
|
|
11
|
-
{ id: "deploy", label: "\uACF5\uC0AC", listWrapClass: "deploy_list_wrap" }
|
|
12
|
-
];
|
|
13
|
-
var STN_ALERT_CENTER_DEMO_ALERTS = [
|
|
14
|
-
{
|
|
15
|
-
id: "alert-1",
|
|
16
|
-
grade: "critical",
|
|
17
|
-
title: "Ping \uC218\uC9D1 \uC7A5\uC560",
|
|
18
|
-
description: "101\uACBD\uBE44\uB2E8_UPS 10.15.71.161 / 101\uACBD\uBE44\uB2E8",
|
|
19
|
-
occurredAt: "2026-05-29 14:23",
|
|
20
|
-
time: "11\uBD84 \uC804",
|
|
21
|
-
icon: "line/alert-circle",
|
|
22
|
-
unread: true
|
|
23
|
-
},
|
|
24
|
-
{
|
|
25
|
-
id: "alert-2",
|
|
26
|
-
grade: "major",
|
|
27
|
-
title: "\uC778\uD130\uD398\uC774\uC2A4 OperStatus \uB2E4\uC6B4",
|
|
28
|
-
description: "\uC218\uC0AC\uC9C0\uC6D0\uCCAD\uC0AC_\uC5C5\uBB34\uB9DD L3(Stack)#2 50.52.41.2 / \uC548\uBCF4\uC218\uC0AC\uACFC / ...",
|
|
29
|
-
time: "3\uC77C \uC804",
|
|
30
|
-
icon: "line/arrow-narrow-down",
|
|
31
|
-
unread: true
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
id: "alert-3",
|
|
35
|
-
grade: "warning",
|
|
36
|
-
title: "NMS\uAC00 Ping \uC73C\uB85C \uC7A5\uBE44\uC758 \uB124\uD2B8\uC6CC\uD06C \uC0C1\uD0DC\uB97C ...",
|
|
37
|
-
description: "85\uAE30\uB3D9\uB300(\uC11C\uBD80)_L2#1 70.70.197.44 / 85\uAE30\uB3D9\uB300(\uB9C8\uD3EC) / ...",
|
|
38
|
-
time: "15\uBD84 \uC804",
|
|
39
|
-
icon: "line/wifi",
|
|
40
|
-
unread: true
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
id: "alert-4",
|
|
44
|
-
grade: "critical",
|
|
45
|
-
title: "BGP \uC138\uC158 \uB2E4\uC6B4 (Neighbor 10.20.1.1)",
|
|
46
|
-
description: "\uBCF8\uCCAD \uBC31\uBCF8 \uB77C\uC6B0\uD130 #1 / \uC815\uBCF4\uD1B5\uC2E0\uACFC / \uC8FC\uC694 \uB300\uC5ED \uD68C\uC120 \uC21C\uB2E8",
|
|
47
|
-
occurredAt: "2026-05-29 13:50",
|
|
48
|
-
time: "44\uBD84 \uC804",
|
|
49
|
-
icon: "line/alert-circle",
|
|
50
|
-
unread: true
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
id: "alert-5",
|
|
54
|
-
grade: "major",
|
|
55
|
-
title: "\uD3EC\uD2B8 \uB9C1\uD06C \uB2E4\uC6B4 (Te1/0/24)",
|
|
56
|
-
description: "\uB0A8\uB300\uBB38\uACBD\uCC30\uC11C_\uBCF4\uC548 L2 \uC2A4\uC704\uCE58 20.12.5.3 / \uC0DD\uD65C\uC548\uC804\uACFC",
|
|
57
|
-
time: "5\uC2DC\uAC04 \uC804",
|
|
58
|
-
icon: "line/arrow-narrow-down",
|
|
59
|
-
unread: false
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
id: "alert-6",
|
|
63
|
-
grade: "warning",
|
|
64
|
-
title: "\uBB34\uC120 AP \uD1B5\uC2E0 \uC9C0\uC5F0 (\uC751\uB2F5\uC2DC\uAC04 350ms \uCD08\uACFC)",
|
|
65
|
-
description: "\uC885\uB85C\uACBD\uCC30\uC11C \uBCF8\uAD00 3\uCE35 AP-04 / \uBB34\uC120 \uB124\uD2B8\uC6CC\uD06C \uBD80\uD558 \uBC1C\uC0DD",
|
|
66
|
-
time: "1\uC77C \uC804",
|
|
67
|
-
icon: "line/wifi",
|
|
68
|
-
unread: false
|
|
69
|
-
}
|
|
70
|
-
];
|
|
71
|
-
var STN_ALERT_CENTER_DEMO_WORK = [
|
|
72
|
-
{
|
|
73
|
-
typeLabel: "[ \uC791\uC5C5\uC608\uC57D ]",
|
|
74
|
-
text: "2026-03-05 16:01:00 \uC815\uAE30 \uC810\uAC80 \uC548\uB0B4 - \uC791\uC5C5\uC601\uC5ED / \uC601\uD5A5\uB3C4 : \uC11C\uBE44\uC2A4 \uC21C\uB2E8 \uBC1C\uC0DD \uAC00\uB2A5 / \uC791\uC5C5\uC790 : \uD64D\uAE38\uB3D9",
|
|
75
|
-
time: "11\uB2EC\uC804"
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
typeLabel: "[ \uAE34\uAE09\uC791\uC5C5 ]",
|
|
79
|
-
text: "\uC7A5\uBE44\uBA85 \uD328\uCE58 \uBC0F \uC7AC\uBD80\uD305 \uC608\uC815 \uC11C\uBE44\uC2A4 \uC601\uD5A5 \uBC94\uC704 \uD655\uC778 \uBC0F \uBCF5\uAD6C \uC791\uC5C5 \uC9C4\uD589 \uC608\uC815",
|
|
80
|
-
time: "3\uC77C\uC804"
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
typeLabel: "[ \uC791\uC5C5\uC9C4\uD589 ]",
|
|
84
|
-
text: "\uBCF8\uCCAD \uBC29\uD654\uBCBD \uC815\uCC45 \uC815\uAE30 \uB3D9\uAE30\uD654 \uC791\uC5C5 \u2014 \uC778\uAC00 \uB300\uC5ED \uC678 \uCC28\uB2E8 \uB8F0 \uAC31\uC2E0",
|
|
85
|
-
time: "2\uC2DC\uAC04\uC804"
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
typeLabel: "[ \uC791\uC5C5\uC644\uB8CC ]",
|
|
89
|
-
text: "\uB9DD\uBD84\uB9AC \uC5F0\uACC4 \uC2A4\uC704\uCE58 \uD38C\uC6E8\uC5B4 v4.12 \uD328\uCE58 \uC644\uB8CC \uBC0F \uBB34\uC911\uB2E8 \uC808\uCCB4 \uC2DC\uD5D8",
|
|
90
|
-
time: "\uC5B4\uC81C"
|
|
91
|
-
}
|
|
92
|
-
];
|
|
93
|
-
var STN_ALERT_CENTER_DEMO_DEPLOY = [
|
|
94
|
-
{
|
|
95
|
-
typeLabel: "[ \uACF5\uC0AC\uC608\uC57D ]",
|
|
96
|
-
text: "2026-03-05 16:01:00 \uC815\uAE30 \uC810\uAC80 \uC548\uB0B4 - \uACF5\uC0AC\uC601\uC5ED / \uC601\uD5A5\uB3C4 : \uC11C\uBE44\uC2A4 \uC21C\uB2E8 \uBC1C\uC0DD \uAC00\uB2A5",
|
|
97
|
-
time: "11\uB2EC\uC804"
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
typeLabel: "[ \uAE34\uAE09\uACF5\uC0AC ]",
|
|
101
|
-
text: "\uC7A5\uBE44\uBA85 \uD328\uCE58 \uBC0F \uC7AC\uBD80\uD305 \uC608\uC815 \u2014 \uC2DC\uC791 : 2026-03-05 16:01:00 / \uC608\uC0C1 \uC18C\uC694\uC2DC\uAC04 : 1\uC2DC\uAC04",
|
|
102
|
-
time: "3\uC77C\uC804"
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
typeLabel: "[ \uD1B5\uC2E0\uACF5\uC0AC ]",
|
|
106
|
-
text: "\uC81C2\uBCC4\uAD00 4\uCE35 \uAD11\uCF00\uC774\uBE14 \uD3EC\uC124 \uBC0F \uB178\uD6C4 \uD328\uCE58\uD328\uB110 \uC804\uBA74 \uAD50\uCCB4 \uACF5\uC0AC",
|
|
107
|
-
time: "1\uC8FC\uC77C\uC804"
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
typeLabel: "[ \uC804\uC6D0\uACF5\uC0AC ]",
|
|
111
|
-
text: "\uC804\uC0B0\uC2E4 \uC218\uBCC0\uC804\uC124\uBE44 \uC815\uAE30 \uC548\uC804 \uC810\uAC80 \uBC0F \uBE44\uC0C1 \uBC1C\uC804\uAE30 \uAC00\uB3D9 \uC2DC\uD5D8",
|
|
112
|
-
time: "2\uC8FC\uC77C\uC804"
|
|
113
|
-
}
|
|
114
|
-
];
|
|
115
|
-
var STN_ALERT_CENTER_INTEGRATION_USAGE = `import {
|
|
116
|
-
StnAlertCenterPanel,
|
|
117
|
-
StnSideNavigation,
|
|
118
|
-
StnLayerShell,
|
|
119
|
-
} from '@stn-uiux/pub-ui-react'
|
|
120
|
-
|
|
121
|
-
export function AppChrome() {
|
|
122
|
-
const [alertOpen, setAlertOpen] = useState(false)
|
|
123
|
-
|
|
124
|
-
return (
|
|
125
|
-
<StnLayerShell
|
|
126
|
-
gnb={
|
|
127
|
-
<StnSideNavigation>
|
|
128
|
-
<StnSideNavigation.Header>
|
|
129
|
-
<StnSideNavigation.Logo />
|
|
130
|
-
<StnSideNavigation.Toggle />
|
|
131
|
-
</StnSideNavigation.Header>
|
|
132
|
-
<StnSideNavigation.Menu>
|
|
133
|
-
<StnSideNavigation.Item label="\uB300\uC2DC\uBCF4\uB4DC" active />
|
|
134
|
-
</StnSideNavigation.Menu>
|
|
135
|
-
<StnSideNavigation.Spacer />
|
|
136
|
-
<StnSideNavigation.Footer curved>
|
|
137
|
-
<StnSideNavigation.Watermark />
|
|
138
|
-
<StnSideNavigation.Item
|
|
139
|
-
label="\uC54C\uB9BC"
|
|
140
|
-
badge={12}
|
|
141
|
-
onClick={() => setAlertOpen(!alertOpen)}
|
|
142
|
-
/>
|
|
143
|
-
</StnSideNavigation.Footer>
|
|
144
|
-
</StnSideNavigation>
|
|
145
|
-
}
|
|
146
|
-
>
|
|
147
|
-
<main>\u2026\uBCF8\uBB38\u2026</main>
|
|
148
|
-
{alertOpen && (
|
|
149
|
-
<StnAlertCenterPanel
|
|
150
|
-
alerts={alerts}
|
|
151
|
-
workItems={workItems}
|
|
152
|
-
deployItems={deployItems}
|
|
153
|
-
onClose={() => setAlertOpen(false)}
|
|
154
|
-
/>
|
|
155
|
-
)}
|
|
156
|
-
</StnLayerShell>
|
|
157
|
-
)
|
|
158
|
-
}`;
|
|
159
|
-
var STN_GNB_ALERT_INTEGRATION_USAGE = STN_ALERT_CENTER_INTEGRATION_USAGE;
|
|
160
|
-
var STN_ALERT_CENTER_USAGE = `import { StnAlertCenterPanel } from '@stn-uiux/pub-ui-react'
|
|
161
|
-
|
|
162
|
-
<StnAlertCenterPanel
|
|
163
|
-
alerts={alerts}
|
|
164
|
-
workItems={workItems}
|
|
165
|
-
deployItems={deployItems}
|
|
166
|
-
onClose={() => setOpen(false)}
|
|
167
|
-
/>`;
|
|
168
|
-
var STN_ALERT_CENTER_USAGE_HTML = `<!-- Pub stn-alert-center \u2014 GNB \uC606 float -->
|
|
169
|
-
<div class="stn-alert-center gnb_alert_modal" id="gnb_alert_modal" style="display: block">
|
|
170
|
-
<div class="stn-alert-center__header alert_header">
|
|
171
|
-
<div class="stn-alert-center__header-left header_left">
|
|
172
|
-
<span class="stn-alert-center__title title">\uC54C\uB9BC\uC13C\uD130</span>
|
|
173
|
-
<div class="stn-alert-center__toggle alert_toggle">
|
|
174
|
-
<input type="radio" name="gnb-alert-tab" id="gnb-alert-tab-error" checked />
|
|
175
|
-
<label for="gnb-alert-tab-error">\uC7A5\uC560</label>
|
|
176
|
-
<input type="radio" name="gnb-alert-tab" id="gnb-alert-tab-work" />
|
|
177
|
-
<label for="gnb-alert-tab-work">\uC791\uC5C5</label>
|
|
178
|
-
<input type="radio" name="gnb-alert-tab" id="gnb-alert-tab-deploy" />
|
|
179
|
-
<label for="gnb-alert-tab-deploy">\uACF5\uC0AC</label>
|
|
180
|
-
</div>
|
|
181
|
-
</div>
|
|
182
|
-
<button type="button" class="stn-alert-center__close close_alert_modal" aria-label="\uB2EB\uAE30"></button>
|
|
183
|
-
</div>
|
|
184
|
-
<div class="stn-alert-center__list-wrap alert_list_wrap">
|
|
185
|
-
<ul class="stn-alert-center__list alert_list">
|
|
186
|
-
<li class="stn-alert-center__item alert_item">
|
|
187
|
-
<span class="stn-alert-center__dot dot" aria-hidden="true"></span>
|
|
188
|
-
<span class="stn-badge stn-badge--filled stn-badge--critical">CR</span>
|
|
189
|
-
<span class="stn-alert-center__title-cell title_cell">Ping \uC218\uC9D1 \uC7A5\uC560</span>
|
|
190
|
-
<span class="stn-alert-center__desc-cell desc_cell">\uC7A5\uBE44 \uC751\uB2F5 \uC5C6\uC74C</span>
|
|
191
|
-
<span class="stn-alert-center__time-cell time_cell">11\uB2EC\uC804</span>
|
|
192
|
-
</li>
|
|
193
|
-
</ul>
|
|
194
|
-
</div>
|
|
195
|
-
</div>`;
|
|
196
|
-
|
|
197
|
-
export {
|
|
198
|
-
STN_ALERT_CENTER_INTRO,
|
|
199
|
-
STN_ALERT_CENTER_TAB_IDS,
|
|
200
|
-
STN_ALERT_CENTER_TABS,
|
|
201
|
-
STN_ALERT_CENTER_DEMO_ALERTS,
|
|
202
|
-
STN_ALERT_CENTER_DEMO_WORK,
|
|
203
|
-
STN_ALERT_CENTER_DEMO_DEPLOY,
|
|
204
|
-
STN_ALERT_CENTER_INTEGRATION_USAGE,
|
|
205
|
-
STN_GNB_ALERT_INTEGRATION_USAGE,
|
|
206
|
-
STN_ALERT_CENTER_USAGE,
|
|
207
|
-
STN_ALERT_CENTER_USAGE_HTML
|
|
208
|
-
};
|
|
209
|
-
//# sourceMappingURL=chunk-ZI6EF4XD.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/data/stnAlertCenter.ts"],"sourcesContent":["import type { StnChipGrade } from './stnChip'\n\nexport const STN_ALERT_CENTER_INTRO =\n 'GNB 하단 앵커에서 레이어로 표출되는 알림센터 패턴입니다. 실시간 장애 알림, 작업 항목, 배포 현황 탭 및 개별 항목 상세 다이얼로그 연동을 제공합니다.'\n\nexport type StnAlertCenterTab = 'error' | 'work' | 'deploy'\nexport type StnAlertCenterSize = 'sm' | 'md' | 'lg'\n\n/** Pub CSS `:has(#gnb-alert-tab-*)` 와 호환 — 페이지당 1패널이면 기본값 사용 */\nexport const STN_ALERT_CENTER_TAB_IDS: Record<StnAlertCenterTab, string> = {\n error: 'gnb-alert-tab-error',\n work: 'gnb-alert-tab-work',\n deploy: 'gnb-alert-tab-deploy',\n}\n\nexport const STN_ALERT_CENTER_TABS: readonly {\n id: StnAlertCenterTab\n label: string\n listWrapClass: string\n}[] = [\n { id: 'error', label: '장애', listWrapClass: 'alert_list_wrap' },\n { id: 'work', label: '작업', listWrapClass: 'work_list_wrap' },\n { id: 'deploy', label: '공사', listWrapClass: 'deploy_list_wrap' },\n]\n\nexport type StnAlertCenterAlertItem = {\n id?: string\n grade: StnChipGrade\n title: string\n description: string\n time: string\n icon?: string\n occurredAt?: string\n unread?: boolean\n}\n\nexport type StnAlertCenterWorkItem = {\n id?: string\n typeLabel: string\n text: string\n time: string\n}\n\nexport const STN_ALERT_CENTER_DEMO_ALERTS: StnAlertCenterAlertItem[] = [\n {\n id: 'alert-1',\n grade: 'critical',\n title: 'Ping 수집 장애',\n description: '101경비단_UPS 10.15.71.161 / 101경비단',\n occurredAt: '2026-05-29 14:23',\n time: '11분 전',\n icon: 'line/alert-circle',\n unread: true,\n },\n {\n id: 'alert-2',\n grade: 'major',\n title: '인터페이스 OperStatus 다운',\n description: '수사지원청사_업무망 L3(Stack)#2 50.52.41.2 / 안보수사과 / ...',\n time: '3일 전',\n icon: 'line/arrow-narrow-down',\n unread: true,\n },\n {\n id: 'alert-3',\n grade: 'warning',\n title: 'NMS가 Ping 으로 장비의 네트워크 상태를 ...',\n description: '85기동대(서부)_L2#1 70.70.197.44 / 85기동대(마포) / ...',\n time: '15분 전',\n icon: 'line/wifi',\n unread: true,\n },\n {\n id: 'alert-4',\n grade: 'critical',\n title: 'BGP 세션 다운 (Neighbor 10.20.1.1)',\n description: '본청 백본 라우터 #1 / 정보통신과 / 주요 대역 회선 순단',\n occurredAt: '2026-05-29 13:50',\n time: '44분 전',\n icon: 'line/alert-circle',\n unread: true,\n },\n {\n id: 'alert-5',\n grade: 'major',\n title: '포트 링크 다운 (Te1/0/24)',\n description: '남대문경찰서_보안 L2 스위치 20.12.5.3 / 생활안전과',\n time: '5시간 전',\n icon: 'line/arrow-narrow-down',\n unread: false,\n },\n {\n id: 'alert-6',\n grade: 'warning',\n title: '무선 AP 통신 지연 (응답시간 350ms 초과)',\n description: '종로경찰서 본관 3층 AP-04 / 무선 네트워크 부하 발생',\n time: '1일 전',\n icon: 'line/wifi',\n unread: false,\n },\n]\n\nexport const STN_ALERT_CENTER_DEMO_WORK: StnAlertCenterWorkItem[] = [\n {\n typeLabel: '[ 작업예약 ]',\n text: '2026-03-05 16:01:00 정기 점검 안내 - 작업영역 / 영향도 : 서비스 순단 발생 가능 / 작업자 : 홍길동',\n time: '11달전',\n },\n {\n typeLabel: '[ 긴급작업 ]',\n text: '장비명 패치 및 재부팅 예정 서비스 영향 범위 확인 및 복구 작업 진행 예정',\n time: '3일전',\n },\n {\n typeLabel: '[ 작업진행 ]',\n text: '본청 방화벽 정책 정기 동기화 작업 — 인가 대역 외 차단 룰 갱신',\n time: '2시간전',\n },\n {\n typeLabel: '[ 작업완료 ]',\n text: '망분리 연계 스위치 펌웨어 v4.12 패치 완료 및 무중단 절체 시험',\n time: '어제',\n },\n]\n\nexport const STN_ALERT_CENTER_DEMO_DEPLOY: StnAlertCenterWorkItem[] = [\n {\n typeLabel: '[ 공사예약 ]',\n text: '2026-03-05 16:01:00 정기 점검 안내 - 공사영역 / 영향도 : 서비스 순단 발생 가능',\n time: '11달전',\n },\n {\n typeLabel: '[ 긴급공사 ]',\n text: '장비명 패치 및 재부팅 예정 — 시작 : 2026-03-05 16:01:00 / 예상 소요시간 : 1시간',\n time: '3일전',\n },\n {\n typeLabel: '[ 통신공사 ]',\n text: '제2별관 4층 광케이블 포설 및 노후 패치패널 전면 교체 공사',\n time: '1주일전',\n },\n {\n typeLabel: '[ 전원공사 ]',\n text: '전산실 수변전설비 정기 안전 점검 및 비상 발전기 가동 시험',\n time: '2주일전',\n },\n]\n\nexport const STN_ALERT_CENTER_INTEGRATION_USAGE = `import {\n StnAlertCenterPanel,\n StnSideNavigation,\n StnLayerShell,\n} from '@stn-uiux/pub-ui-react'\n\nexport function AppChrome() {\n const [alertOpen, setAlertOpen] = useState(false)\n\n return (\n <StnLayerShell\n gnb={\n <StnSideNavigation>\n <StnSideNavigation.Header>\n <StnSideNavigation.Logo />\n <StnSideNavigation.Toggle />\n </StnSideNavigation.Header>\n <StnSideNavigation.Menu>\n <StnSideNavigation.Item label=\"대시보드\" active />\n </StnSideNavigation.Menu>\n <StnSideNavigation.Spacer />\n <StnSideNavigation.Footer curved>\n <StnSideNavigation.Watermark />\n <StnSideNavigation.Item\n label=\"알림\"\n badge={12}\n onClick={() => setAlertOpen(!alertOpen)}\n />\n </StnSideNavigation.Footer>\n </StnSideNavigation>\n }\n >\n <main>…본문…</main>\n {alertOpen && (\n <StnAlertCenterPanel\n alerts={alerts}\n workItems={workItems}\n deployItems={deployItems}\n onClose={() => setAlertOpen(false)}\n />\n )}\n </StnLayerShell>\n )\n}`\n\nexport const STN_GNB_ALERT_INTEGRATION_USAGE = STN_ALERT_CENTER_INTEGRATION_USAGE\n\nexport const STN_ALERT_CENTER_USAGE = `import { StnAlertCenterPanel } from '@stn-uiux/pub-ui-react'\n\n<StnAlertCenterPanel\n alerts={alerts}\n workItems={workItems}\n deployItems={deployItems}\n onClose={() => setOpen(false)}\n/>`\n\nexport const STN_ALERT_CENTER_USAGE_HTML = `<!-- Pub stn-alert-center — GNB 옆 float -->\n<div class=\"stn-alert-center gnb_alert_modal\" id=\"gnb_alert_modal\" style=\"display: block\">\n <div class=\"stn-alert-center__header alert_header\">\n <div class=\"stn-alert-center__header-left header_left\">\n <span class=\"stn-alert-center__title title\">알림센터</span>\n <div class=\"stn-alert-center__toggle alert_toggle\">\n <input type=\"radio\" name=\"gnb-alert-tab\" id=\"gnb-alert-tab-error\" checked />\n <label for=\"gnb-alert-tab-error\">장애</label>\n <input type=\"radio\" name=\"gnb-alert-tab\" id=\"gnb-alert-tab-work\" />\n <label for=\"gnb-alert-tab-work\">작업</label>\n <input type=\"radio\" name=\"gnb-alert-tab\" id=\"gnb-alert-tab-deploy\" />\n <label for=\"gnb-alert-tab-deploy\">공사</label>\n </div>\n </div>\n <button type=\"button\" class=\"stn-alert-center__close close_alert_modal\" aria-label=\"닫기\"></button>\n </div>\n <div class=\"stn-alert-center__list-wrap alert_list_wrap\">\n <ul class=\"stn-alert-center__list alert_list\">\n <li class=\"stn-alert-center__item alert_item\">\n <span class=\"stn-alert-center__dot dot\" aria-hidden=\"true\"></span>\n <span class=\"stn-badge stn-badge--filled stn-badge--critical\">CR</span>\n <span class=\"stn-alert-center__title-cell title_cell\">Ping 수집 장애</span>\n <span class=\"stn-alert-center__desc-cell desc_cell\">장비 응답 없음</span>\n <span class=\"stn-alert-center__time-cell time_cell\">11달전</span>\n </li>\n </ul>\n </div>\n</div>`\n"],"mappings":";AAEO,IAAM,yBACX;AAMK,IAAM,2BAA8D;AAAA,EACzE,OAAO;AAAA,EACP,MAAM;AAAA,EACN,QAAQ;AACV;AAEO,IAAM,wBAIP;AAAA,EACJ,EAAE,IAAI,SAAS,OAAO,gBAAM,eAAe,kBAAkB;AAAA,EAC7D,EAAE,IAAI,QAAQ,OAAO,gBAAM,eAAe,iBAAiB;AAAA,EAC3D,EAAE,IAAI,UAAU,OAAO,gBAAM,eAAe,mBAAmB;AACjE;AAoBO,IAAM,+BAA0D;AAAA,EACrE;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,OAAO;AAAA,IACP,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,OAAO;AAAA,IACP,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,OAAO;AAAA,IACP,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,OAAO;AAAA,IACP,aAAa;AAAA,IACb,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,OAAO;AAAA,IACP,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AAAA,EACA;AAAA,IACE,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,OAAO;AAAA,IACP,aAAa;AAAA,IACb,MAAM;AAAA,IACN,MAAM;AAAA,IACN,QAAQ;AAAA,EACV;AACF;AAEO,IAAM,6BAAuD;AAAA,EAClE;AAAA,IACE,WAAW;AAAA,IACX,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,WAAW;AAAA,IACX,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,WAAW;AAAA,IACX,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,WAAW;AAAA,IACX,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACF;AAEO,IAAM,+BAAyD;AAAA,EACpE;AAAA,IACE,WAAW;AAAA,IACX,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,WAAW;AAAA,IACX,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,WAAW;AAAA,IACX,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,WAAW;AAAA,IACX,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACF;AAEO,IAAM,qCAAqC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6C3C,IAAM,kCAAkC;AAExC,IAAM,yBAAyB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAS/B,IAAM,8BAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;","names":[]}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
@charset "utf-8";
|
|
2
|
-
/**
|
|
3
|
-
* StnSeverityBadge — 관제 알람 심각도 뱃지 및 필터
|
|
4
|
-
*
|
|
5
|
-
* 위험도 클래스: critical · major · minor · warning
|
|
6
|
-
* 크기 클래스: sm · md · lg
|
|
7
|
-
*
|
|
8
|
-
* Modes:
|
|
9
|
-
* - `badge`: 상태 표시용 뱃지 (height: var(--stn-severity-badge-height), font: 11px)
|
|
10
|
-
* - `filter`: 대시보드 다중 필터 토글용 (width: var(--stn-severity-filter-width), height: var(--stn-severity-filter-height), font: 14px)
|
|
11
|
-
*
|
|
12
|
-
* 100% 시맨틱 토큰 SSOT 기반 구축
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
.stn-severity-filter-group {
|
|
16
|
-
display: inline-flex;
|
|
17
|
-
align-items: center;
|
|
18
|
-
gap: var(--stn-space-8, 8px);
|
|
19
|
-
flex-wrap: wrap;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.stn-severity-badge {
|
|
23
|
-
box-sizing: border-box;
|
|
24
|
-
display: inline-flex;
|
|
25
|
-
align-items: center;
|
|
26
|
-
justify-content: center;
|
|
27
|
-
gap: var(--stn-space-2, 2px);
|
|
28
|
-
border-radius: var(--stn-radius-4, 4px);
|
|
29
|
-
font-family: var(--stn-font-body, Pretendard, sans-serif);
|
|
30
|
-
line-height: 1.2;
|
|
31
|
-
user-select: none;
|
|
32
|
-
vertical-align: middle;
|
|
33
|
-
white-space: nowrap;
|
|
34
|
-
transition: opacity 0.15s ease, filter 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/* Shape (기본 4px rounded vs 9999px round 알약형) */
|
|
38
|
-
.stn-severity-badge.round,
|
|
39
|
-
.stn-severity-badge.rounded-full {
|
|
40
|
-
border-radius: var(--stn-radius-circle, 9999px);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/* 1. 기본 뱃지 모드 (Badge - Display: sm / md / lg) */
|
|
44
|
-
.stn-severity-badge.badge,
|
|
45
|
-
.stn-severity-badge:not(.filter) {
|
|
46
|
-
height: var(--stn-severity-badge-height-md, var(--stn-severity-badge-height, var(--stn-size-20, 20px)));
|
|
47
|
-
padding: var(--stn-severity-badge-padding-md, var(--stn-severity-badge-padding, var(--stn-space-2, 2px) var(--stn-space-8, 8px)));
|
|
48
|
-
font-size: var(--stn-font-size-11, 11px);
|
|
49
|
-
font-weight: var(--stn-font-weight-bold, 700);
|
|
50
|
-
letter-spacing: -0.1px;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.stn-severity-badge.badge .stn-severity-badge__icon,
|
|
54
|
-
.stn-severity-badge:not(.filter) .stn-severity-badge__icon {
|
|
55
|
-
width: var(--stn-severity-badge-icon-size-md, var(--stn-severity-badge-icon-size, var(--stn-size-14, 14px)));
|
|
56
|
-
height: var(--stn-severity-badge-icon-size-md, var(--stn-severity-badge-icon-size, var(--stn-size-14, 14px)));
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/* Sizes: sm (18px) */
|
|
60
|
-
.stn-severity-badge.sm {
|
|
61
|
-
height: var(--stn-severity-badge-height-sm, var(--stn-size-18, 18px));
|
|
62
|
-
padding: var(--stn-severity-badge-padding-sm, var(--stn-space-2, 2px) var(--stn-space-6, 6px));
|
|
63
|
-
font-size: var(--stn-font-size-10, 10px);
|
|
64
|
-
gap: var(--stn-space-2, 2px);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.stn-severity-badge.sm .stn-severity-badge__icon {
|
|
68
|
-
width: var(--stn-severity-badge-icon-size-sm, var(--stn-size-12, 12px));
|
|
69
|
-
height: var(--stn-severity-badge-icon-size-sm, var(--stn-size-12, 12px));
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/* Sizes: md (20px - 기본) */
|
|
73
|
-
.stn-severity-badge.md {
|
|
74
|
-
height: var(--stn-severity-badge-height-md, var(--stn-size-20, 20px));
|
|
75
|
-
padding: var(--stn-severity-badge-padding-md, var(--stn-space-2, 2px) var(--stn-space-8, 8px));
|
|
76
|
-
font-size: var(--stn-font-size-11, 11px);
|
|
77
|
-
gap: var(--stn-space-2, 2px);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
.stn-severity-badge.md .stn-severity-badge__icon {
|
|
81
|
-
width: var(--stn-severity-badge-icon-size-md, var(--stn-size-14, 14px));
|
|
82
|
-
height: var(--stn-severity-badge-icon-size-md, var(--stn-size-14, 14px));
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/* Sizes: lg (24px) */
|
|
86
|
-
.stn-severity-badge.lg {
|
|
87
|
-
height: var(--stn-severity-badge-height-lg, var(--stn-size-24, 24px));
|
|
88
|
-
padding: var(--stn-severity-badge-padding-lg, var(--stn-space-4, 4px) var(--stn-space-10, 10px));
|
|
89
|
-
font-size: var(--stn-font-size-12, 12px);
|
|
90
|
-
gap: var(--stn-space-4, 4px);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
.stn-severity-badge.lg .stn-severity-badge__icon {
|
|
94
|
-
width: var(--stn-severity-badge-icon-size-lg, var(--stn-size-16, 16px));
|
|
95
|
-
height: var(--stn-severity-badge-icon-size-lg, var(--stn-size-16, 16px));
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/* 2. 아이콘 전용 모드 (Icon-Only - 정사각 4px / 원형 9999px) */
|
|
99
|
-
.stn-severity-badge.icon-only {
|
|
100
|
-
width: var(--stn-severity-badge-height-md, var(--stn-size-20, 20px));
|
|
101
|
-
height: var(--stn-severity-badge-height-md, var(--stn-size-20, 20px));
|
|
102
|
-
padding: 0;
|
|
103
|
-
gap: 0;
|
|
104
|
-
flex-shrink: 0;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
.stn-severity-badge.icon-only.sm {
|
|
108
|
-
width: var(--stn-severity-badge-height-sm, var(--stn-size-18, 18px));
|
|
109
|
-
height: var(--stn-severity-badge-height-sm, var(--stn-size-18, 18px));
|
|
110
|
-
padding: 0;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
.stn-severity-badge.icon-only.md {
|
|
114
|
-
width: var(--stn-severity-badge-height-md, var(--stn-size-20, 20px));
|
|
115
|
-
height: var(--stn-severity-badge-height-md, var(--stn-size-20, 20px));
|
|
116
|
-
padding: 0;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
.stn-severity-badge.icon-only.lg {
|
|
120
|
-
width: var(--stn-severity-badge-height-lg, var(--stn-size-24, 24px));
|
|
121
|
-
height: var(--stn-severity-badge-height-lg, var(--stn-size-24, 24px));
|
|
122
|
-
padding: 0;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
.stn-severity-badge.icon-only .stn-severity-badge__label {
|
|
126
|
-
display: none;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
/* 3. 필터 모드 (Filter Toggle - 52px x 26px) */
|
|
130
|
-
.stn-severity-badge.filter {
|
|
131
|
-
width: var(--stn-severity-filter-width, var(--stn-size-52, 52px));
|
|
132
|
-
height: var(--stn-severity-filter-height, var(--stn-size-26, 26px));
|
|
133
|
-
padding: var(--stn-space-4, 4px);
|
|
134
|
-
font-size: var(--stn-font-size-14, 14px);
|
|
135
|
-
font-weight: var(--stn-font-weight-bold, 700);
|
|
136
|
-
cursor: pointer;
|
|
137
|
-
background: transparent;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
.stn-severity-badge.filter .stn-severity-badge__icon {
|
|
141
|
-
width: var(--stn-severity-icon-size, var(--stn-size-16, 16px));
|
|
142
|
-
height: var(--stn-severity-icon-size, var(--stn-size-16, 16px));
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
.stn-severity-badge.filter:hover {
|
|
146
|
-
filter: brightness(1.15);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
.stn-severity-badge.filter:active {
|
|
150
|
-
filter: brightness(0.92);
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
/* 필터 비활성 상태 */
|
|
154
|
-
.stn-severity-badge.filter.is-inactive,
|
|
155
|
-
.stn-severity-badge.filter:not(.is-active) {
|
|
156
|
-
opacity: 0.35;
|
|
157
|
-
filter: grayscale(0.5);
|
|
158
|
-
box-shadow: none !important;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
.stn-severity-badge.filter.is-inactive:hover,
|
|
162
|
-
.stn-severity-badge.filter:not(.is-active):hover {
|
|
163
|
-
opacity: 0.65;
|
|
164
|
-
filter: grayscale(0.2);
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
/* 아이콘 래퍼 */
|
|
168
|
-
.stn-severity-badge__icon {
|
|
169
|
-
display: inline-flex;
|
|
170
|
-
align-items: center;
|
|
171
|
-
justify-content: center;
|
|
172
|
-
flex-shrink: 0;
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
.stn-severity-badge__icon img,
|
|
176
|
-
.stn-severity-badge__icon svg {
|
|
177
|
-
display: block;
|
|
178
|
-
width: 100%;
|
|
179
|
-
height: 100%;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
.stn-severity-badge__label {
|
|
183
|
-
display: inline-block;
|
|
184
|
-
line-height: 1;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
/* ==========================================================================
|
|
188
|
-
3. 심각도 등급별 색상 (시맨틱 토큰 연동)
|
|
189
|
-
========================================================================== */
|
|
190
|
-
|
|
191
|
-
.stn-severity-badge.critical {
|
|
192
|
-
--stn-badge-glow-color: var(--stn-severity-glow);
|
|
193
|
-
background: var(--stn-severity-critical-bg);
|
|
194
|
-
border: 1px solid var(--stn-severity-critical-border);
|
|
195
|
-
color: var(--stn-severity-fg);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
.stn-severity-badge.major {
|
|
199
|
-
--stn-badge-glow-color: var(--stn-severity-glow-major);
|
|
200
|
-
background: var(--stn-severity-major-bg);
|
|
201
|
-
border: 1px solid var(--stn-severity-major-border);
|
|
202
|
-
color: var(--stn-severity-fg);
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
.stn-severity-badge.minor {
|
|
206
|
-
--stn-badge-glow-color: var(--stn-severity-glow-minor);
|
|
207
|
-
background: var(--stn-severity-minor-bg);
|
|
208
|
-
border: 1px solid var(--stn-severity-minor-border);
|
|
209
|
-
color: var(--stn-severity-fg);
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
.stn-severity-badge.warning {
|
|
213
|
-
--stn-badge-glow-color: var(--stn-severity-glow-warning);
|
|
214
|
-
background: var(--stn-severity-warning-bg);
|
|
215
|
-
border: 1px solid var(--stn-severity-warning-border);
|
|
216
|
-
color: var(--stn-severity-fg);
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
/* ==========================================================================
|
|
220
|
-
4. Glow 발광 변형 (.glow)
|
|
221
|
-
========================================================================== */
|
|
222
|
-
|
|
223
|
-
.stn-severity-badge.glow {
|
|
224
|
-
box-shadow: 0 0 var(--stn-space-8, 8px) var(--stn-badge-glow-color);
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|