@stn-uiux/pub-ui 0.1.87 → 0.1.88

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.
@@ -0,0 +1,9 @@
1
+ // src/data/stnPackageVersion.ts
2
+ var STN_UI_VERSION = "0.1.88";
3
+ var STN_UI_VERSION_LABEL = "v0.1.88";
4
+
5
+ export {
6
+ STN_UI_VERSION,
7
+ STN_UI_VERSION_LABEL
8
+ };
9
+ //# sourceMappingURL=chunk-6RJFVO4M.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/data/stnPackageVersion.ts"],"sourcesContent":["/** Package version constants */\nexport const STN_UI_VERSION = '0.1.88'\nexport const STN_UI_VERSION_LABEL = 'v0.1.88'\n"],"mappings":";AACO,IAAM,iBAAiB;AACvB,IAAM,uBAAuB;","names":[]}
@@ -3,6 +3,7 @@ var STN_CARD_VARIANTS = ["flat", "outlined", "elevated"];
3
3
  var STN_CARD_RADII = ["sm", "md", "lg", "none"];
4
4
  var STN_CARD_PADDINGS = ["none", "sm", "md", "lg"];
5
5
  var STN_CARD_SEVERITIES = ["critical", "major", "minor", "warning"];
6
+ var STN_CARD_FOOTER_ALIGNS = ["right", "left", "center", "between"];
6
7
  var STN_CARD_INTRO = '\uCF58\uD150\uCE20\uB97C \uC2DC\uAC01\uC801\uC73C\uB85C \uADF8\uB8F9\uD654\uD558\uACE0 \uACC4\uCE35\uC744 \uBD80\uC5EC\uD558\uB294 \uD45C\uC900 \uC11C\uD53C\uC2A4(Surface) \uCEE8\uD14C\uC774\uB108 \uCEF4\uD3EC\uB10C\uD2B8\uC785\uB2C8\uB2E4. \uD50C\uB7AB, \uC544\uC6C3\uB77C\uC778, \uC5D8\uB9AC\uBCA0\uC774\uD2F0\uB4DC \uBCC0\uD615\uACFC \uB77C\uC6B4\uB4DC \uBC0F \uD328\uB529 \uADDC\uACA9\uC744 \uC81C\uACF5\uD558\uBA70, \uB2E8\uB3C5 \uD2C0\uB85C\uC11C \uD639\uC740 \uD5E4\uB354/\uBCF8\uBB38/\uD478\uD130 \uD569\uC131 \uAD6C\uC870\uB85C \uC720\uC5F0\uD558\uAC8C \uD65C\uC6A9\uB429\uB2C8\uB2E4. \uB9F5\xB7\uD0D0\uC0C9 Split\uC740 padding="none" + Body flush + Patterns Split View \uB808\uC2DC\uD53C\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4.';
7
8
 
8
9
  export {
@@ -10,6 +11,7 @@ export {
10
11
  STN_CARD_RADII,
11
12
  STN_CARD_PADDINGS,
12
13
  STN_CARD_SEVERITIES,
14
+ STN_CARD_FOOTER_ALIGNS,
13
15
  STN_CARD_INTRO
14
16
  };
15
- //# sourceMappingURL=chunk-2VSSPMZ3.js.map
17
+ //# sourceMappingURL=chunk-R7HPVMSM.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/data/stnCard.ts"],"sourcesContent":["export type StnCardVariant = 'flat' | 'outlined' | 'elevated'\nexport type StnCardRadius = 'sm' | 'md' | 'lg' | 'none'\nexport type StnCardPadding = 'none' | 'sm' | 'md' | 'lg'\nexport type StnCardSeverity = 'critical' | 'major' | 'minor' | 'warning'\n\nexport const STN_CARD_VARIANTS: readonly StnCardVariant[] = ['flat', 'outlined', 'elevated'] as const\nexport const STN_CARD_RADII: readonly StnCardRadius[] = ['sm', 'md', 'lg', 'none'] as const\nexport const STN_CARD_PADDINGS: readonly StnCardPadding[] = ['none', 'sm', 'md', 'lg'] as const\nexport const STN_CARD_SEVERITIES: readonly StnCardSeverity[] = ['critical', 'major', 'minor', 'warning'] as const\n\nexport const STN_CARD_INTRO =\n '콘텐츠를 시각적으로 그룹화하고 계층을 부여하는 표준 서피스(Surface) 컨테이너 컴포넌트입니다. 플랫, 아웃라인, 엘리베이티드 변형과 라운드 및 패딩 규격을 제공하며, 단독 틀로서 혹은 헤더/본문/푸터 합성 구조로 유연하게 활용됩니다. 맵·탐색 Split은 padding=\"none\" + Body flush + Patterns Split View 레시피를 사용합니다.'\n"],"mappings":";AAKO,IAAM,oBAA+C,CAAC,QAAQ,YAAY,UAAU;AACpF,IAAM,iBAA2C,CAAC,MAAM,MAAM,MAAM,MAAM;AAC1E,IAAM,oBAA+C,CAAC,QAAQ,MAAM,MAAM,IAAI;AAC9E,IAAM,sBAAkD,CAAC,YAAY,SAAS,SAAS,SAAS;AAEhG,IAAM,iBACX;","names":[]}
1
+ {"version":3,"sources":["../src/data/stnCard.ts"],"sourcesContent":["export type StnCardVariant = 'flat' | 'outlined' | 'elevated'\nexport type StnCardRadius = 'sm' | 'md' | 'lg' | 'none'\nexport type StnCardPadding = 'none' | 'sm' | 'md' | 'lg'\nexport type StnCardSeverity = 'critical' | 'major' | 'minor' | 'warning'\nexport type StnCardFooterAlign = 'right' | 'left' | 'center' | 'between'\n\nexport const STN_CARD_VARIANTS: readonly StnCardVariant[] = ['flat', 'outlined', 'elevated'] as const\nexport const STN_CARD_RADII: readonly StnCardRadius[] = ['sm', 'md', 'lg', 'none'] as const\nexport const STN_CARD_PADDINGS: readonly StnCardPadding[] = ['none', 'sm', 'md', 'lg'] as const\nexport const STN_CARD_SEVERITIES: readonly StnCardSeverity[] = ['critical', 'major', 'minor', 'warning'] as const\nexport const STN_CARD_FOOTER_ALIGNS: readonly StnCardFooterAlign[] = ['right', 'left', 'center', 'between'] as const\n\nexport const STN_CARD_INTRO =\n '콘텐츠를 시각적으로 그룹화하고 계층을 부여하는 표준 서피스(Surface) 컨테이너 컴포넌트입니다. 플랫, 아웃라인, 엘리베이티드 변형과 라운드 및 패딩 규격을 제공하며, 단독 틀로서 혹은 헤더/본문/푸터 합성 구조로 유연하게 활용됩니다. 맵·탐색 Split은 padding=\"none\" + Body flush + Patterns Split View 레시피를 사용합니다.'\n"],"mappings":";AAMO,IAAM,oBAA+C,CAAC,QAAQ,YAAY,UAAU;AACpF,IAAM,iBAA2C,CAAC,MAAM,MAAM,MAAM,MAAM;AAC1E,IAAM,oBAA+C,CAAC,QAAQ,MAAM,MAAM,IAAI;AAC9E,IAAM,sBAAkD,CAAC,YAAY,SAAS,SAAS,SAAS;AAChG,IAAM,yBAAwD,CAAC,SAAS,QAAQ,UAAU,SAAS;AAEnG,IAAM,iBACX;","names":[]}
@@ -62,7 +62,7 @@ export { STN_TOGGLE_BUTTON_PLAYGROUND_DEFAULT, STN_TOGGLE_BUTTON_PLAYGROUND_INTR
62
62
  export { STN_TREE_DEMO, STN_TREE_FIGMA, STN_TREE_INTRO, STN_TREE_PARTS, STN_TREE_PATTERN_PLAYGROUND_DEFAULT, STN_TREE_PATTERN_PLAYGROUND_PROPERTIES, STN_TREE_REACT_EXAMPLE, STN_TREE_SECTION_SIDE_FIGMA, STN_TREE_USAGE_HTML, StnTreeDemoNode, StnTreePatternPlaygroundConfig, describeTreePatternReact } from './stnTree.js';
63
63
  export { STN_TYPE_SCALE_CLASS, STN_TYPE_SCALE_INTRO, STN_TYPE_SCALE_ROWS, StnTypeScaleCategory, StnTypeScaleRow, resolveTypeScaleName, typeScalePill } from './stnTypeScale.js';
64
64
  export { STN_FONT_FAMILY_ROWS, STN_FONT_SCALE_STEPS, STN_FONT_SCALE_USAGE, STN_FONT_SIZE_ROWS, STN_FONT_WEIGHT_ROWS, STN_LINE_HEIGHT_ROWS, STN_TYPOGRAPHY_PRIMITIVE_GROUPS, STN_TYPOGRAPHY_SEMANTIC_ROWS, StnFontScaleStepRow, StnTypographyPrimitiveRow, StnTypographySemanticRow, scaleFontPx, typographyPrimitivesToJson, typographySemanticsToJson } from './stnTypography.js';
65
- export { STN_CARD_INTRO, STN_CARD_PADDINGS, STN_CARD_RADII, STN_CARD_SEVERITIES, STN_CARD_VARIANTS, StnCardPadding, StnCardRadius, StnCardSeverity, StnCardVariant } from './stnCard.js';
65
+ export { STN_CARD_FOOTER_ALIGNS, STN_CARD_INTRO, STN_CARD_PADDINGS, STN_CARD_RADII, STN_CARD_SEVERITIES, STN_CARD_VARIANTS, StnCardFooterAlign, StnCardPadding, StnCardRadius, StnCardSeverity, StnCardVariant } from './stnCard.js';
66
66
  export { STN_ALERT_CENTER_DASHBOARD_USAGE, STN_ALERT_CENTER_DASHBOARD_WIDGETS, STN_WIDGET_APPEARANCE_ROWS, STN_WIDGET_CHART_SLOT_HTML, STN_WIDGET_CHART_SLOT_REACT, STN_WIDGET_DISABILITY_STATUS_DEMO, STN_WIDGET_FIGMA, STN_WIDGET_FIGMA_DARK, STN_WIDGET_FIGMA_DARK_URL, STN_WIDGET_FIGMA_SHELL_HTML, STN_WIDGET_FIGMA_SHELL_REACT, STN_WIDGET_FIGMA_URL, STN_WIDGET_GRADE_ROW_DEMO, STN_WIDGET_HEADER_HTML, STN_WIDGET_HEADER_REACT, STN_WIDGET_INTRO, STN_WIDGET_KINDS, STN_WIDGET_SHELL_ROWS, STN_WIDGET_TOP5_BARS_DEMO, STN_WIDGET_TRAFFIC_BARS_DEMO, STN_WIDGET_USAGE, STN_WIDGET_USAGE_HTML, StnWidgetAppearance, StnWidgetAppearanceLegacy, StnWidgetAppearanceShell, StnWidgetAssetId, StnWidgetBackgroundMode, StnWidgetContentFamily, StnWidgetGradeRowGrade, StnWidgetKind, StnWidgetKindBodySlot, StnWidgetKindPreview, StnWidgetShell, buildStnWidgetKindUsage, getStnWidgetKind, isStnWidgetKindSlug, normalizeStnWidgetAppearance, resolveStnWidgetBackground, resolveStnWidgetKindAppearance, resolveStnWidgetKindBodySlot, stnWidgetSampleUrl } from './stnWidget.js';
67
67
  export { STN_STATUS_DEMO_STEPS, StnStatusDotState, StnStatusFlowStep, StnStatusFlowStepColor } from './stnStatus.js';
68
68
  export { StnTabIconPosition, StnTabIconSize, StnTabItem, StnTabPanelPadding, StnTabScrollButtons, StnTabsSize, StnTabsVariant } from './stnTabs.js';
@@ -190,7 +190,7 @@ import {
190
190
  import {
191
191
  STN_UI_VERSION,
192
192
  STN_UI_VERSION_LABEL
193
- } from "../chunk-ZGYPJEU3.js";
193
+ } from "../chunk-6RJFVO4M.js";
194
194
  import {
195
195
  STN_HEADER_TITLE_DEMO,
196
196
  STN_HEADER_TITLE_FIGMA,
@@ -269,12 +269,13 @@ import {
269
269
  getButtonStateCell
270
270
  } from "../chunk-ZVBPC3MI.js";
271
271
  import {
272
+ STN_CARD_FOOTER_ALIGNS,
272
273
  STN_CARD_INTRO,
273
274
  STN_CARD_PADDINGS,
274
275
  STN_CARD_RADII,
275
276
  STN_CARD_SEVERITIES,
276
277
  STN_CARD_VARIANTS
277
- } from "../chunk-2VSSPMZ3.js";
278
+ } from "../chunk-R7HPVMSM.js";
278
279
  import {
279
280
  STN_CHART_COLOR_DEFINITIONS,
280
281
  STN_CHART_INTRO,
@@ -630,6 +631,7 @@ export {
630
631
  STN_BUTTON_STATE_STATES,
631
632
  STN_BUTTON_STATE_VARIANTS,
632
633
  STN_BUTTON_VARIANT_MAP,
634
+ STN_CARD_FOOTER_ALIGNS,
633
635
  STN_CARD_INTRO,
634
636
  STN_CARD_PADDINGS,
635
637
  STN_CARD_RADII,
@@ -2,10 +2,12 @@ type StnCardVariant = 'flat' | 'outlined' | 'elevated';
2
2
  type StnCardRadius = 'sm' | 'md' | 'lg' | 'none';
3
3
  type StnCardPadding = 'none' | 'sm' | 'md' | 'lg';
4
4
  type StnCardSeverity = 'critical' | 'major' | 'minor' | 'warning';
5
+ type StnCardFooterAlign = 'right' | 'left' | 'center' | 'between';
5
6
  declare const STN_CARD_VARIANTS: readonly StnCardVariant[];
6
7
  declare const STN_CARD_RADII: readonly StnCardRadius[];
7
8
  declare const STN_CARD_PADDINGS: readonly StnCardPadding[];
8
9
  declare const STN_CARD_SEVERITIES: readonly StnCardSeverity[];
10
+ declare const STN_CARD_FOOTER_ALIGNS: readonly StnCardFooterAlign[];
9
11
  declare const STN_CARD_INTRO = "\uCF58\uD150\uCE20\uB97C \uC2DC\uAC01\uC801\uC73C\uB85C \uADF8\uB8F9\uD654\uD558\uACE0 \uACC4\uCE35\uC744 \uBD80\uC5EC\uD558\uB294 \uD45C\uC900 \uC11C\uD53C\uC2A4(Surface) \uCEE8\uD14C\uC774\uB108 \uCEF4\uD3EC\uB10C\uD2B8\uC785\uB2C8\uB2E4. \uD50C\uB7AB, \uC544\uC6C3\uB77C\uC778, \uC5D8\uB9AC\uBCA0\uC774\uD2F0\uB4DC \uBCC0\uD615\uACFC \uB77C\uC6B4\uB4DC \uBC0F \uD328\uB529 \uADDC\uACA9\uC744 \uC81C\uACF5\uD558\uBA70, \uB2E8\uB3C5 \uD2C0\uB85C\uC11C \uD639\uC740 \uD5E4\uB354/\uBCF8\uBB38/\uD478\uD130 \uD569\uC131 \uAD6C\uC870\uB85C \uC720\uC5F0\uD558\uAC8C \uD65C\uC6A9\uB429\uB2C8\uB2E4. \uB9F5\u00B7\uD0D0\uC0C9 Split\uC740 padding=\"none\" + Body flush + Patterns Split View \uB808\uC2DC\uD53C\uB97C \uC0AC\uC6A9\uD569\uB2C8\uB2E4.";
10
12
 
11
- export { STN_CARD_INTRO, STN_CARD_PADDINGS, STN_CARD_RADII, STN_CARD_SEVERITIES, STN_CARD_VARIANTS, type StnCardPadding, type StnCardRadius, type StnCardSeverity, type StnCardVariant };
13
+ export { STN_CARD_FOOTER_ALIGNS, STN_CARD_INTRO, STN_CARD_PADDINGS, STN_CARD_RADII, STN_CARD_SEVERITIES, STN_CARD_VARIANTS, type StnCardFooterAlign, type StnCardPadding, type StnCardRadius, type StnCardSeverity, type StnCardVariant };
@@ -1,11 +1,13 @@
1
1
  import {
2
+ STN_CARD_FOOTER_ALIGNS,
2
3
  STN_CARD_INTRO,
3
4
  STN_CARD_PADDINGS,
4
5
  STN_CARD_RADII,
5
6
  STN_CARD_SEVERITIES,
6
7
  STN_CARD_VARIANTS
7
- } from "../chunk-2VSSPMZ3.js";
8
+ } from "../chunk-R7HPVMSM.js";
8
9
  export {
10
+ STN_CARD_FOOTER_ALIGNS,
9
11
  STN_CARD_INTRO,
10
12
  STN_CARD_PADDINGS,
11
13
  STN_CARD_RADII,
@@ -1,5 +1,5 @@
1
1
  /** Package version constants */
2
- declare const STN_UI_VERSION = "0.1.87";
3
- declare const STN_UI_VERSION_LABEL = "v0.1.87";
2
+ declare const STN_UI_VERSION = "0.1.88";
3
+ declare const STN_UI_VERSION_LABEL = "v0.1.88";
4
4
 
5
5
  export { STN_UI_VERSION, STN_UI_VERSION_LABEL };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  STN_UI_VERSION,
3
3
  STN_UI_VERSION_LABEL
4
- } from "../chunk-ZGYPJEU3.js";
4
+ } from "../chunk-6RJFVO4M.js";
5
5
  export {
6
6
  STN_UI_VERSION,
7
7
  STN_UI_VERSION_LABEL
package/dist/index.d.ts CHANGED
@@ -62,7 +62,7 @@ export { STN_TOGGLE_BUTTON_PLAYGROUND_DEFAULT, STN_TOGGLE_BUTTON_PLAYGROUND_INTR
62
62
  export { STN_TREE_DEMO, STN_TREE_FIGMA, STN_TREE_INTRO, STN_TREE_PARTS, STN_TREE_PATTERN_PLAYGROUND_DEFAULT, STN_TREE_PATTERN_PLAYGROUND_PROPERTIES, STN_TREE_REACT_EXAMPLE, STN_TREE_SECTION_SIDE_FIGMA, STN_TREE_USAGE_HTML, StnTreeDemoNode, StnTreePatternPlaygroundConfig, describeTreePatternReact } from './data/stnTree.js';
63
63
  export { STN_TYPE_SCALE_CLASS, STN_TYPE_SCALE_INTRO, STN_TYPE_SCALE_ROWS, StnTypeScaleCategory, StnTypeScaleRow, resolveTypeScaleName, typeScalePill } from './data/stnTypeScale.js';
64
64
  export { STN_FONT_FAMILY_ROWS, STN_FONT_SCALE_STEPS, STN_FONT_SCALE_USAGE, STN_FONT_SIZE_ROWS, STN_FONT_WEIGHT_ROWS, STN_LINE_HEIGHT_ROWS, STN_TYPOGRAPHY_PRIMITIVE_GROUPS, STN_TYPOGRAPHY_SEMANTIC_ROWS, StnFontScaleStepRow, StnTypographyPrimitiveRow, StnTypographySemanticRow, scaleFontPx, typographyPrimitivesToJson, typographySemanticsToJson } from './data/stnTypography.js';
65
- export { STN_CARD_INTRO, STN_CARD_PADDINGS, STN_CARD_RADII, STN_CARD_SEVERITIES, STN_CARD_VARIANTS, StnCardPadding, StnCardRadius, StnCardSeverity, StnCardVariant } from './data/stnCard.js';
65
+ export { STN_CARD_FOOTER_ALIGNS, STN_CARD_INTRO, STN_CARD_PADDINGS, STN_CARD_RADII, STN_CARD_SEVERITIES, STN_CARD_VARIANTS, StnCardFooterAlign, StnCardPadding, StnCardRadius, StnCardSeverity, StnCardVariant } from './data/stnCard.js';
66
66
  export { STN_ALERT_CENTER_DASHBOARD_USAGE, STN_ALERT_CENTER_DASHBOARD_WIDGETS, STN_WIDGET_APPEARANCE_ROWS, STN_WIDGET_CHART_SLOT_HTML, STN_WIDGET_CHART_SLOT_REACT, STN_WIDGET_DISABILITY_STATUS_DEMO, STN_WIDGET_FIGMA, STN_WIDGET_FIGMA_DARK, STN_WIDGET_FIGMA_DARK_URL, STN_WIDGET_FIGMA_SHELL_HTML, STN_WIDGET_FIGMA_SHELL_REACT, STN_WIDGET_FIGMA_URL, STN_WIDGET_GRADE_ROW_DEMO, STN_WIDGET_HEADER_HTML, STN_WIDGET_HEADER_REACT, STN_WIDGET_INTRO, STN_WIDGET_KINDS, STN_WIDGET_SHELL_ROWS, STN_WIDGET_TOP5_BARS_DEMO, STN_WIDGET_TRAFFIC_BARS_DEMO, STN_WIDGET_USAGE, STN_WIDGET_USAGE_HTML, StnWidgetAppearance, StnWidgetAppearanceLegacy, StnWidgetAppearanceShell, StnWidgetAssetId, StnWidgetBackgroundMode, StnWidgetContentFamily, StnWidgetGradeRowGrade, StnWidgetKind, StnWidgetKindBodySlot, StnWidgetKindPreview, StnWidgetShell, buildStnWidgetKindUsage, getStnWidgetKind, isStnWidgetKindSlug, normalizeStnWidgetAppearance, resolveStnWidgetBackground, resolveStnWidgetKindAppearance, resolveStnWidgetKindBodySlot, stnWidgetSampleUrl } from './data/stnWidget.js';
67
67
  export { STN_STATUS_DEMO_STEPS, StnStatusDotState, StnStatusFlowStep, StnStatusFlowStepColor } from './data/stnStatus.js';
68
68
  export { StnTabIconPosition, StnTabIconSize, StnTabItem, StnTabPanelPadding, StnTabScrollButtons, StnTabsSize, StnTabsVariant } from './data/stnTabs.js';
package/dist/index.js CHANGED
@@ -195,7 +195,7 @@ import {
195
195
  import {
196
196
  STN_UI_VERSION,
197
197
  STN_UI_VERSION_LABEL
198
- } from "./chunk-ZGYPJEU3.js";
198
+ } from "./chunk-6RJFVO4M.js";
199
199
  import {
200
200
  STN_HEADER_TITLE_DEMO,
201
201
  STN_HEADER_TITLE_FIGMA,
@@ -274,12 +274,13 @@ import {
274
274
  getButtonStateCell
275
275
  } from "./chunk-ZVBPC3MI.js";
276
276
  import {
277
+ STN_CARD_FOOTER_ALIGNS,
277
278
  STN_CARD_INTRO,
278
279
  STN_CARD_PADDINGS,
279
280
  STN_CARD_RADII,
280
281
  STN_CARD_SEVERITIES,
281
282
  STN_CARD_VARIANTS
282
- } from "./chunk-2VSSPMZ3.js";
283
+ } from "./chunk-R7HPVMSM.js";
283
284
  import {
284
285
  STN_CHART_COLOR_DEFINITIONS,
285
286
  STN_CHART_INTRO,
@@ -635,6 +636,7 @@ export {
635
636
  STN_BUTTON_STATE_STATES,
636
637
  STN_BUTTON_STATE_VARIANTS,
637
638
  STN_BUTTON_VARIANT_MAP,
639
+ STN_CARD_FOOTER_ALIGNS,
638
640
  STN_CARD_INTRO,
639
641
  STN_CARD_PADDINGS,
640
642
  STN_CARD_RADII,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stn-uiux/pub-ui",
3
- "version": "0.1.87",
3
+ "version": "0.1.88",
4
4
  "description": "STN Pub design system — tokens, specs, and CSS for product HTML / React apps",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -210,4 +210,12 @@
210
210
  padding-top: var(--stn-space-12, 12px);
211
211
  border-top: var(--stn-size-1, 1px) solid var(--stn-card-border-color);
212
212
  margin-top: var(--stn-space-12, 12px);
213
+ box-sizing: border-box;
214
+ width: 100%;
213
215
  }
216
+
217
+ /* Card footer alignment modifiers (right · left · center · between) */
218
+ .stn-card__footer.align-right { justify-content: flex-end; }
219
+ .stn-card__footer.align-left { justify-content: flex-start; }
220
+ .stn-card__footer.align-center { justify-content: center; }
221
+ .stn-card__footer.align-between { justify-content: space-between; }
@@ -17,6 +17,15 @@
17
17
  pointer-events: auto;
18
18
  }
19
19
 
20
+ /* 서브메뉴/중첩 팝오버용 no-backdrop 모드: 팝오버 전체는 pointer-events 통과, 페이퍼만 상호작용 */
21
+ .stn-popover--no-backdrop.is-open {
22
+ pointer-events: none;
23
+ }
24
+
25
+ .stn-popover--no-backdrop .stn-popover__paper {
26
+ pointer-events: auto;
27
+ }
28
+
20
29
  /* 1. 투명 백드롭 — 배경을 가리지 않고 외부 클릭을 감지 */
21
30
  .stn-popover__backdrop {
22
31
  position: fixed;
@@ -492,7 +492,6 @@ td.stn-table__col-check .stn-checkbox {
492
492
  gap: var(--stn-spacing-xs, 4px);
493
493
  padding: 0 var(--stn-spacing-md, 16px);
494
494
  background: var(--stn-table-row-hover);
495
- box-shadow: -12px 0 16px -8px rgba(0, 0, 0, 0.3);
496
495
  opacity: 0;
497
496
  visibility: hidden;
498
497
  transition: opacity 0.2s, visibility 0.2s;
@@ -8,16 +8,46 @@
8
8
  /* ==========================================================================
9
9
  Topology Labels & Tooltips (STN 시멘틱 토큰 기반 회선/노드 라벨 표준 규격)
10
10
  ========================================================================== */
11
+ .stn-topology-link__label {
12
+ pointer-events: none;
13
+ user-select: none;
14
+ transition: opacity 0.18s cubic-bezier(0.2, 0, 0, 1);
15
+ }
16
+
11
17
  .stn-topology-link__label text {
12
18
  fill: var(--stn-topology-link-label-fg, var(--stn-text-secondary));
13
19
  stroke: var(--stn-topology-link-label-halo, var(--stn-elevation-surface-0));
14
- stroke-width: 2.4px;
20
+ stroke-width: 1.2px;
15
21
  paint-order: stroke;
16
22
  stroke-linejoin: round;
17
23
  font-weight: 600;
18
24
  letter-spacing: -0.2px;
19
25
  }
20
26
 
27
+ /* ── 회선 라벨 인터랙션 모드 (hover: 평소 숨김 / 링크 호버 시 일제히 표시, always, none) ── */
28
+ .stn-topology-links-group--label-hover .stn-topology-link__label {
29
+ opacity: 0;
30
+ transition: opacity 0.18s cubic-bezier(0.2, 0, 0, 1);
31
+ pointer-events: none;
32
+ }
33
+
34
+ .stn-topology-links-group--label-hover.is-link-hovered .stn-topology-link__label {
35
+ opacity: 1;
36
+ }
37
+
38
+ .stn-topology-links-group--label-none .stn-topology-link__label {
39
+ display: none;
40
+ }
41
+
42
+ .stn-topology-links-group--label-always .stn-topology-link__label {
43
+ opacity: 1;
44
+ }
45
+
46
+ .stn-topology-link.is-hovered line:not([stroke="transparent"]),
47
+ .stn-topology-link:hover line:not([stroke="transparent"]) {
48
+ opacity: 1;
49
+ }
50
+
21
51
  .stn-topology-node__bottom-label--plain text {
22
52
  fill: var(--stn-topology-node-label-fg, var(--stn-text-primary));
23
53
  stroke: var(--stn-topology-node-label-halo, var(--stn-elevation-surface-0));
@@ -26,6 +56,8 @@
26
56
  stroke-linejoin: round;
27
57
  font-weight: 700;
28
58
  letter-spacing: -0.2px;
59
+ user-select: none;
60
+ pointer-events: none;
29
61
  }
30
62
 
31
63
  .stn-topology-node__label-badge.neutral.subtle {
@@ -176,10 +208,10 @@
176
208
  :is(.stn-topology-node-mark.is-current, .stn-topology-node-mark.current) .stn-topology-node__circle {
177
209
  outline: none;
178
210
  box-shadow:
179
- 0 0 0 3px var(--stn-topology-node-selected-gap, var(--stn-elevation-surface-0)),
180
- 0 0 0 5.5px var(--stn-topology-node-current-ring),
181
- 0 0 16px var(--stn-topology-node-current-glow);
182
- transform: scale(1.06);
211
+ 0 0 0 2px var(--stn-topology-node-selected-gap, var(--stn-elevation-surface-0)),
212
+ 0 0 0 3.5px var(--stn-topology-node-current-ring),
213
+ 0 0 10px var(--stn-topology-node-current-glow);
214
+ transform: scale(1.04);
183
215
  }
184
216
 
185
217
  :is(.stn-topology-node-mark.shape-diamond.is-current, .stn-topology-node-mark.shape-diamond.current) .stn-topology-node__circle {
@@ -208,6 +240,27 @@
208
240
  transition: fill 0.2s ease;
209
241
  }
210
242
 
243
+ /* SVG foreignObject Badge Wrapper */
244
+ .stn-topology-node__badge-fo {
245
+ overflow: visible;
246
+ pointer-events: none;
247
+ }
248
+
249
+ .stn-topology-node__badge-fo-inner {
250
+ display: flex;
251
+ justify-content: center;
252
+ align-items: center;
253
+ width: 100%;
254
+ height: 100%;
255
+ pointer-events: none;
256
+ }
257
+
258
+ .stn-topology-node__badge-fo-scale {
259
+ display: inline-flex;
260
+ transform-origin: center center;
261
+ user-select: none;
262
+ }
263
+
211
264
  /* STN 토폴로지 노드 벡터 외곽선 stroke-width 표준 시멘틱 토큰 강제 규격 */
212
265
  .stn-topology-node > g > rect,
213
266
  .stn-topology-node > g > circle:not([class*='stn-topology-pulse-ring']),
@@ -368,10 +421,17 @@
368
421
  white-space: nowrap;
369
422
  }
370
423
 
371
- /* SVG foreignObject container — 브라우저 기본 overflow:hidden 클리핑 방지 */
424
+ /* SVG foreignObject container — 브라우저 기본 overflow:hidden 클리핑 방지 및 플렉스 센터 정렬 */
372
425
  .stn-topology-node-fo {
373
426
  overflow: visible;
374
427
  }
428
+ .stn-topology-node-fo > div {
429
+ width: 100%;
430
+ height: 100%;
431
+ display: flex;
432
+ align-items: center;
433
+ justify-content: center;
434
+ }
375
435
 
376
436
  /* ==========================================================================
377
437
  Topology Graph 3D Spatial Engine & Interactive Controls
@@ -473,6 +533,24 @@
473
533
  .stn-topology-node-tooltip {
474
534
  transition: opacity 0.15s ease;
475
535
  pointer-events: none;
536
+ user-select: none;
537
+ }
538
+
539
+ .stn-topology-node-tooltip__box {
540
+ filter: drop-shadow(0px 1px 2px var(--stn-opacity-black-25));
541
+ }
542
+
543
+ .stn-topology-node-tooltip text {
544
+ user-select: none;
545
+ pointer-events: none;
546
+ font-family: inherit;
547
+ }
548
+
549
+ /* Topology Stage Canvas — 풀사이즈 캔버스 및 반응형 최소 높이(600px) 보장 */
550
+ .stn-topology-stage-canvas {
551
+ width: 100%;
552
+ height: 100%;
553
+ min-height: 600px;
476
554
  }
477
555
 
478
556
 
@@ -498,7 +498,8 @@
498
498
  --stn-topology-orbit-start: var(--stn-blue-300);
499
499
  --stn-topology-orbit-mid: var(--stn-blue-400);
500
500
  --stn-topology-orbit-end: var(--stn-purple-300);
501
- --stn-topology-link-line: var(--stn-opacity-white-45);
501
+ --stn-topology-link-line: var(--stn-opacity-white-80);
502
+ --stn-topology-node-normal: var(--stn-gray-250);
502
503
  --stn-topology-node-selected-border: var(--stn-blue-300);
503
504
  --stn-topology-node-selected-gap: var(--stn-gray-950);
504
505
  --stn-topology-node-selected-glow: color-mix(in srgb, var(--stn-blue-300) 50%, transparent);
@@ -878,7 +879,7 @@
878
879
  --stn-table-pill-bg: var(--stn-static-white);
879
880
  --stn-table-pill-fg: var(--stn-gray-750);
880
881
  --stn-table-pill-shadow: 1px 1px 2px color-mix(in srgb, var(--stn-static-black) 10%, transparent);
881
- --stn-table-row-hover: var(--stn-gray-25);
882
+ --stn-table-row-hover: var(--stn-gray-50);
882
883
  --stn-table-td-fg: var(--stn-gray-750);
883
884
  --stn-table-th-bg: var(--stn-gray-75);
884
885
  --stn-table-th-fg: var(--stn-gray-700);
@@ -1232,7 +1233,8 @@
1232
1233
  --stn-topology-orbit-start: var(--stn-blue-400);
1233
1234
  --stn-topology-orbit-mid: var(--stn-blue-500);
1234
1235
  --stn-topology-orbit-end: var(--stn-purple-400);
1235
- --stn-topology-link-line: var(--stn-opacity-black-25);
1236
+ --stn-topology-link-line: var(--stn-opacity-black-45);
1237
+ --stn-topology-node-normal: var(--stn-gray-600);
1236
1238
  --stn-topology-node-selected-border: var(--stn-blue-400);
1237
1239
  --stn-topology-node-selected-gap: var(--stn-static-white);
1238
1240
  --stn-topology-node-selected-glow: color-mix(in srgb, var(--stn-blue-400) 40%, transparent);
@@ -1,9 +0,0 @@
1
- // src/data/stnPackageVersion.ts
2
- var STN_UI_VERSION = "0.1.87";
3
- var STN_UI_VERSION_LABEL = "v0.1.87";
4
-
5
- export {
6
- STN_UI_VERSION,
7
- STN_UI_VERSION_LABEL
8
- };
9
- //# sourceMappingURL=chunk-ZGYPJEU3.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/data/stnPackageVersion.ts"],"sourcesContent":["/** Package version constants */\nexport const STN_UI_VERSION = '0.1.87'\nexport const STN_UI_VERSION_LABEL = 'v0.1.87'\n"],"mappings":";AACO,IAAM,iBAAiB;AACvB,IAAM,uBAAuB;","names":[]}