@stn-uiux/pub-ui 0.1.76 → 0.1.77
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-VC72NQIU.js → chunk-EKPLU5KT.js} +33 -10
- package/dist/chunk-EKPLU5KT.js.map +1 -0
- package/dist/chunk-RSKMNZIS.js +9 -0
- package/dist/chunk-RSKMNZIS.js.map +1 -0
- package/dist/data/index.d.ts +1 -1
- package/dist/data/index.js +4 -2
- package/dist/data/stnPackageVersion.d.ts +2 -2
- package/dist/data/stnPackageVersion.js +1 -1
- package/dist/data/stnTypeScale.d.ts +6 -1
- package/dist/data/stnTypeScale.js +3 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -2
- package/package.json +1 -1
- package/styles/foundations/stn-typography.css +166 -0
- package/styles/style-pub.css +1 -0
- package/styles/tokens/stn-typography-semantic.css +7 -3
- package/styles/tokens/stn-typography.css +3 -3
- package/dist/chunk-RY53LLWK.js +0 -9
- package/dist/chunk-RY53LLWK.js.map +0 -1
- package/dist/chunk-VC72NQIU.js.map +0 -1
|
@@ -6,11 +6,11 @@ var STN_TYPE_SCALE_ROWS = [
|
|
|
6
6
|
category: "Display",
|
|
7
7
|
name: "Display 1",
|
|
8
8
|
weights: "Medium, Bold",
|
|
9
|
-
sizePx:
|
|
10
|
-
sizeRem: "
|
|
9
|
+
sizePx: 52,
|
|
10
|
+
sizeRem: "3.25rem",
|
|
11
11
|
lineHeight: "130%",
|
|
12
12
|
role: "\uCD5C\uC0C1\uC704 \uD5E4\uB4DC\uB77C\uC778 (PC\uAD8C\uC7A5)",
|
|
13
|
-
pubSizeToken: "pub.font-size.
|
|
13
|
+
pubSizeToken: "pub.font-size.52",
|
|
14
14
|
semanticToken: "pub.text.display.xlarge"
|
|
15
15
|
},
|
|
16
16
|
{
|
|
@@ -18,11 +18,11 @@ var STN_TYPE_SCALE_ROWS = [
|
|
|
18
18
|
category: "Display",
|
|
19
19
|
name: "Display 2",
|
|
20
20
|
weights: "Medium, Bold",
|
|
21
|
-
sizePx:
|
|
22
|
-
sizeRem: "2.
|
|
21
|
+
sizePx: 44,
|
|
22
|
+
sizeRem: "2.75rem",
|
|
23
23
|
lineHeight: "130%",
|
|
24
24
|
role: "\uBA54\uC778 \uD0C0\uC774\uD2C0 (PC \uAD8C\uC7A5)",
|
|
25
|
-
pubSizeToken: "pub.font-size.
|
|
25
|
+
pubSizeToken: "pub.font-size.44",
|
|
26
26
|
semanticToken: "pub.text.display.large"
|
|
27
27
|
},
|
|
28
28
|
{
|
|
@@ -30,11 +30,11 @@ var STN_TYPE_SCALE_ROWS = [
|
|
|
30
30
|
category: "Display",
|
|
31
31
|
name: "Display 3",
|
|
32
32
|
weights: "Medium, Bold",
|
|
33
|
-
sizePx:
|
|
34
|
-
sizeRem: "2.
|
|
33
|
+
sizePx: 40,
|
|
34
|
+
sizeRem: "2.5rem",
|
|
35
35
|
lineHeight: "148%",
|
|
36
36
|
role: "\uAC15\uC870\uD615 \uD5E4\uB4DC\uB77C\uC778",
|
|
37
|
-
pubSizeToken: "pub.font-size.
|
|
37
|
+
pubSizeToken: "pub.font-size.40",
|
|
38
38
|
semanticToken: "pub.text.display.medium"
|
|
39
39
|
},
|
|
40
40
|
{
|
|
@@ -137,6 +137,7 @@ var STN_TYPE_SCALE_ROWS = [
|
|
|
137
137
|
lineHeight: "148% / 158%",
|
|
138
138
|
role: "\uBCF8\uBB38 \uD14D\uC2A4\uD2B8",
|
|
139
139
|
pubSizeToken: "pub.font-size.15",
|
|
140
|
+
semanticToken: "pub.text.body.medium-large",
|
|
140
141
|
pubHtmlExample: "dashboard_map \xB7 GNB 1Depth \xB7 \uD14C\uC774\uBE14 \uD5E4\uB354"
|
|
141
142
|
},
|
|
142
143
|
{
|
|
@@ -253,6 +254,27 @@ var STN_TYPE_SCALE_ROWS = [
|
|
|
253
254
|
pubHtmlExample: "dashboard_map \xB7 node_icon \uB77C\uBCA8 \xB7 gnb_alert \uD0DC\uADF8"
|
|
254
255
|
}
|
|
255
256
|
];
|
|
257
|
+
var STN_TYPE_SCALE_CLASS = {
|
|
258
|
+
"display-1": { className: "stn-text-display-1", variant: "display-1" },
|
|
259
|
+
"display-2": { className: "stn-text-display-2", variant: "display-2" },
|
|
260
|
+
"display-3": { className: "stn-text-display-3", variant: "display-3" },
|
|
261
|
+
"heading-1": { className: "stn-text-heading-1", variant: "heading-1" },
|
|
262
|
+
"heading-2": { className: "stn-text-heading-2", variant: "heading-2" },
|
|
263
|
+
"heading-3": { className: "stn-text-heading-3", variant: "heading-3" },
|
|
264
|
+
"title-1": { className: "stn-text-title-1", variant: "title-1" },
|
|
265
|
+
"title-2": { className: "stn-text-title-2", variant: "title-2" },
|
|
266
|
+
"title-3": { className: "stn-text-title-3", variant: "title-3" },
|
|
267
|
+
"body-1": { className: "stn-text-body-1", variant: "body-1" },
|
|
268
|
+
"body-2": { className: "stn-text-body-2", variant: "body-2" },
|
|
269
|
+
"body-3": { className: "stn-text-body-3", variant: "body-3" },
|
|
270
|
+
"body-small": { className: "stn-text-body-small", variant: "body-small" },
|
|
271
|
+
"label-1": { className: "stn-text-label-1", variant: "label-1" },
|
|
272
|
+
"label-2": { className: "stn-text-label-2", variant: "label-2" },
|
|
273
|
+
"label-3": { className: "stn-text-label-3", variant: "label-3" },
|
|
274
|
+
"label-4": { className: "stn-text-label-4", variant: "label-4" },
|
|
275
|
+
"caption-large": { className: "stn-text-caption-large", variant: "caption-large" },
|
|
276
|
+
caption: { className: "stn-text-caption", variant: "caption" }
|
|
277
|
+
};
|
|
256
278
|
var WEIGHT_LABEL = {
|
|
257
279
|
300: "Regular",
|
|
258
280
|
500: "Medium",
|
|
@@ -273,7 +295,8 @@ function typeScalePill(scaleName, sizePx, weight) {
|
|
|
273
295
|
export {
|
|
274
296
|
STN_TYPE_SCALE_INTRO,
|
|
275
297
|
STN_TYPE_SCALE_ROWS,
|
|
298
|
+
STN_TYPE_SCALE_CLASS,
|
|
276
299
|
resolveTypeScaleName,
|
|
277
300
|
typeScalePill
|
|
278
301
|
};
|
|
279
|
-
//# sourceMappingURL=chunk-
|
|
302
|
+
//# sourceMappingURL=chunk-EKPLU5KT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/data/stnTypeScale.ts"],"sourcesContent":["/**\n * Figma Type Scale — Display / Heading / Title / Body / Label / Caption\n * Pub HTML은 primitive(font-size·weight)로 조합하며, semantic samples는 일부만 시연합니다.\n */\n\nexport type StnTypeScaleCategory =\n | 'Display'\n | 'Heading'\n | 'Title'\n | 'Body'\n | 'Label'\n | 'Caption'\n | 'Pub extension'\n\nexport type StnTypeScaleRow = {\n id: string\n category: StnTypeScaleCategory\n name: string\n weights: string\n sizePx: number\n sizeRem: string\n lineHeight: string\n role: string\n pubSizeToken: string\n /** Tokens 탭 semantic (있으면) */\n semanticToken?: string\n /** dashboard_map.html 등 실제 화면 예 (있을 때만) */\n pubHtmlExample?: string\n}\n\nexport const STN_TYPE_SCALE_INTRO =\n 'Display, Heading, Title, Body, Label, Caption으로 정의한 6단계 위계에 맞게 조합하여 사용합니다.'\n\nexport const STN_TYPE_SCALE_ROWS: StnTypeScaleRow[] = [\n {\n id: 'display-1',\n category: 'Display',\n name: 'Display 1',\n weights: 'Medium, Bold',\n sizePx: 52,\n sizeRem: '3.25rem',\n lineHeight: '130%',\n role: '최상위 헤드라인 (PC권장)',\n pubSizeToken: 'pub.font-size.52',\n semanticToken: 'pub.text.display.xlarge',\n },\n {\n id: 'display-2',\n category: 'Display',\n name: 'Display 2',\n weights: 'Medium, Bold',\n sizePx: 44,\n sizeRem: '2.75rem',\n lineHeight: '130%',\n role: '메인 타이틀 (PC 권장)',\n pubSizeToken: 'pub.font-size.44',\n semanticToken: 'pub.text.display.large',\n },\n {\n id: 'display-3',\n category: 'Display',\n name: 'Display 3',\n weights: 'Medium, Bold',\n sizePx: 40,\n sizeRem: '2.5rem',\n lineHeight: '148%',\n role: '강조형 헤드라인',\n pubSizeToken: 'pub.font-size.40',\n semanticToken: 'pub.text.display.medium',\n },\n {\n id: 'heading-1',\n category: 'Heading',\n name: 'Heading 1',\n weights: 'Medium, Bold',\n sizePx: 32,\n sizeRem: '2.133rem',\n lineHeight: '148%',\n role: '페이지 상위 제목',\n pubSizeToken: 'pub.font-size.32',\n semanticToken: 'pub.text.heading.large',\n pubHtmlExample: 'dashboard_map · converged-header 페이지명',\n },\n {\n id: 'heading-2',\n category: 'Heading',\n name: 'Heading 2',\n weights: 'Medium, Bold',\n sizePx: 24,\n sizeRem: '1.6rem',\n lineHeight: '148%',\n role: '하위 제목',\n pubSizeToken: 'pub.font-size.24',\n semanticToken: 'pub.text.heading.medium',\n pubHtmlExample: 'dashboard_map · 장애 등급 수치(24px Bold)',\n },\n {\n id: 'heading-3',\n category: 'Heading',\n name: 'Heading 3',\n weights: 'Medium, Bold',\n sizePx: 22,\n sizeRem: '1.47rem',\n lineHeight: '148%',\n role: '소제목, 그룹 제목',\n pubSizeToken: 'pub.font-size.22',\n semanticToken: 'pub.text.heading.small',\n },\n {\n id: 'title-1',\n category: 'Title',\n name: 'Title 1',\n weights: 'Medium, Bold',\n sizePx: 20,\n sizeRem: '1.33rem',\n lineHeight: '148%',\n role: '콘텐츠 타이틀',\n pubSizeToken: 'pub.font-size.20',\n semanticToken: 'pub.text.title.large',\n pubHtmlExample: 'dashboard_map · 헤더 시계(#time)',\n },\n {\n id: 'title-2',\n category: 'Title',\n name: 'Title 2',\n weights: 'Medium, Semibold, Bold',\n sizePx: 18,\n sizeRem: '1.2rem',\n lineHeight: '148%',\n role: '서브 페이지 제목',\n pubSizeToken: 'pub.font-size.18',\n semanticToken: 'pub.text.title.medium',\n pubHtmlExample: 'alert_center · 모달 타이틀「알림센터」',\n },\n {\n id: 'title-3',\n category: 'Title',\n name: 'Title 3',\n weights: 'Medium',\n sizePx: 16,\n sizeRem: '1.07rem',\n lineHeight: '148%',\n role: '서브 타이틀 · 헤더',\n pubSizeToken: 'pub.font-size.16',\n semanticToken: 'pub.text.title.small',\n pubHtmlExample: 'stn-header · stn-widget 헤더',\n },\n {\n id: 'body-1',\n category: 'Body',\n name: 'Body 1',\n weights: 'Regular, Medium, Semibold, Bold',\n sizePx: 16,\n sizeRem: '1.07rem',\n lineHeight: '148% / 170%',\n role: '본문 텍스트 (PC 권장)',\n pubSizeToken: 'pub.font-size.16',\n semanticToken: 'pub.text.body.large',\n pubHtmlExample: 'dashboard_map · fault_table 본문 셀',\n },\n {\n id: 'body-2',\n category: 'Body',\n name: 'Body 2',\n weights: 'Regular, Medium, Semibold, Bold',\n sizePx: 15,\n sizeRem: '1rem',\n lineHeight: '148% / 158%',\n role: '본문 텍스트',\n pubSizeToken: 'pub.font-size.15',\n semanticToken: 'pub.text.body.medium-large',\n pubHtmlExample: 'dashboard_map · GNB 1Depth · 테이블 헤더',\n },\n {\n id: 'body-3',\n category: 'Body',\n name: 'Body 3',\n weights: 'Regular, Medium, Semibold, Bold',\n sizePx: 14,\n sizeRem: '0.933rem',\n lineHeight: '148% / 158%',\n role: '본문 소형 텍스트',\n pubSizeToken: 'pub.font-size.14',\n semanticToken: 'pub.text.body.medium',\n pubHtmlExample: 'Pub reset 기본 · 위젯 타이틀·GNB 하단·헤더 날짜',\n },\n {\n id: 'body-small',\n category: 'Body',\n name: 'Body Small',\n weights: 'Regular',\n sizePx: 13,\n sizeRem: '0.87rem',\n lineHeight: '148%',\n role: '본문 소형 · 입력·드롭다운·테이블',\n pubSizeToken: 'pub.font-size.13',\n semanticToken: 'pub.text.body.small',\n pubHtmlExample: 'stn-table · stn-dropdown · stn-text-field · stn-btn(sm)',\n },\n {\n id: 'label-1',\n category: 'Label',\n name: 'Label 1',\n weights: 'Medium',\n sizePx: 17,\n sizeRem: '1.133rem',\n lineHeight: '148%',\n role: '버튼 라벨 (PC 권장)',\n pubSizeToken: 'pub.font-size.17',\n semanticToken: 'pub.text.label.large',\n },\n {\n id: 'label-2',\n category: 'Label',\n name: 'Label 2',\n weights: 'SemiBold',\n sizePx: 15,\n sizeRem: '1rem',\n lineHeight: '148%',\n role: '버튼, 입력 폼',\n pubSizeToken: 'pub.font-size.15',\n semanticToken: 'pub.text.label.medium',\n },\n {\n id: 'label-3',\n category: 'Label',\n name: 'Label 3',\n weights: 'Medium, Semibold',\n sizePx: 13,\n sizeRem: '0.87rem',\n lineHeight: '148%',\n role: '입력 레이블',\n pubSizeToken: 'pub.font-size.13',\n semanticToken: 'pub.text.label.small',\n pubHtmlExample: 'dashboard_map · GNB 2Depth · 장애 요약',\n },\n {\n id: 'label-4',\n category: 'Label',\n name: 'Label 4',\n weights: 'Medium, Semibold, Bold',\n sizePx: 10,\n sizeRem: '0.625rem',\n lineHeight: 'Auto',\n role: '바텀 아이콘 레이블',\n pubSizeToken: 'pub.font-size.10',\n semanticToken: 'pub.text.label.xsmall',\n },\n {\n id: 'caption-large',\n category: 'Caption',\n name: 'Caption Large',\n weights: 'Regular',\n sizePx: 14,\n sizeRem: '0.933rem',\n lineHeight: '130%',\n role: '캡션 대형 · 로그인 카드 서브캡션',\n pubSizeToken: 'pub.font-size.14',\n semanticToken: 'pub.text.caption.large',\n pubHtmlExample: 'stn-login-card 서브캡션',\n },\n {\n id: 'caption',\n category: 'Caption',\n name: 'Caption',\n weights: 'Medium, SemiBold',\n sizePx: 12,\n sizeRem: '0.8rem',\n lineHeight: '148%',\n role: '툴팁, 보조 설명',\n pubSizeToken: 'pub.font-size.12',\n semanticToken: 'pub.text.caption.medium',\n pubHtmlExample: 'alert_center 목록 · dashboard_map 등급 라벨·위젯 소제목',\n },\n {\n id: 'pub-11',\n category: 'Pub extension',\n name: '11px (Pub)',\n weights: 'Bold',\n sizePx: 11,\n sizeRem: '0.73rem',\n lineHeight: '148%',\n role: '지도 노드·알림 등급 태그 등 Pub 전용',\n pubSizeToken: 'pub.font-size.11',\n pubHtmlExample: 'dashboard_map · node_icon 라벨 · gnb_alert 태그',\n },\n]\n\n/** Type Scale id → 유틸리티 클래스 (styles/foundations/stn-typography.css) · StnText variant */\nexport const STN_TYPE_SCALE_CLASS: Record<string, { className: string; variant: string }> = {\n 'display-1': { className: 'stn-text-display-1', variant: 'display-1' },\n 'display-2': { className: 'stn-text-display-2', variant: 'display-2' },\n 'display-3': { className: 'stn-text-display-3', variant: 'display-3' },\n 'heading-1': { className: 'stn-text-heading-1', variant: 'heading-1' },\n 'heading-2': { className: 'stn-text-heading-2', variant: 'heading-2' },\n 'heading-3': { className: 'stn-text-heading-3', variant: 'heading-3' },\n 'title-1': { className: 'stn-text-title-1', variant: 'title-1' },\n 'title-2': { className: 'stn-text-title-2', variant: 'title-2' },\n 'title-3': { className: 'stn-text-title-3', variant: 'title-3' },\n 'body-1': { className: 'stn-text-body-1', variant: 'body-1' },\n 'body-2': { className: 'stn-text-body-2', variant: 'body-2' },\n 'body-3': { className: 'stn-text-body-3', variant: 'body-3' },\n 'body-small': { className: 'stn-text-body-small', variant: 'body-small' },\n 'label-1': { className: 'stn-text-label-1', variant: 'label-1' },\n 'label-2': { className: 'stn-text-label-2', variant: 'label-2' },\n 'label-3': { className: 'stn-text-label-3', variant: 'label-3' },\n 'label-4': { className: 'stn-text-label-4', variant: 'label-4' },\n 'caption-large': { className: 'stn-text-caption-large', variant: 'caption-large' },\n caption: { className: 'stn-text-caption', variant: 'caption' },\n}\n\nconst WEIGHT_LABEL: Record<number, string> = {\n 300: 'Regular',\n 500: 'Medium',\n 700: 'Bold',\n}\n\n/** px(+weight) → Type Scale 이름 (가장 가까운 스케일) */\nexport function resolveTypeScaleName(sizePx: number, weight = 400): {\n scale: string\n weightLabel: string\n pill: string\n} {\n const w = weight >= 600 ? 700 : weight >= 500 ? 500 : 300\n const weightLabel = WEIGHT_LABEL[w] ?? `${weight}`\n const row =\n STN_TYPE_SCALE_ROWS.find((r) => r.sizePx === sizePx) ??\n STN_TYPE_SCALE_ROWS.find((r) => Math.abs(r.sizePx - sizePx) <= 1)\n const scale = row?.name ?? `${sizePx}px`\n const pill = `${scale} (${sizePx}, ${w})`\n return { scale, weightLabel, pill }\n}\n\n/** dashboard_map Use case — Type Scale 기준 라벨 */\nexport function typeScalePill(\n scaleName: string,\n sizePx: number,\n weight: number,\n): string {\n return `${scaleName} (${sizePx}, ${weight})`\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/data/stnPackageVersion.ts"],"sourcesContent":["/** Package version constants */\nexport const STN_UI_VERSION = '0.1.77'\nexport const STN_UI_VERSION_LABEL = 'v0.1.77'\n"],"mappings":";AACO,IAAM,iBAAiB;AACvB,IAAM,uBAAuB;","names":[]}
|
package/dist/data/index.d.ts
CHANGED
|
@@ -59,7 +59,7 @@ export { STN_THEME_SEMANTIC_DARK_ROWS, STN_THEME_SEMANTIC_LIGHT_ROWS, StnThemeSe
|
|
|
59
59
|
export { STN_TOAST_DEMO_MSG, STN_TOAST_ICON_SLUG, STN_TOAST_INTRO, STN_TOAST_KINDS, STN_TOAST_REACT_USAGE, STN_TOAST_SETUP, STN_TOAST_TOKEN_ROWS, STN_TOAST_USAGE_HTML, StnToastKind } from './stnToast.js';
|
|
60
60
|
export { STN_TOGGLE_BUTTON_PLAYGROUND_DEFAULT, STN_TOGGLE_BUTTON_PLAYGROUND_INTRO, STN_TOGGLE_BUTTON_PLAYGROUND_PROPERTIES, STN_TOGGLE_BUTTON_REACT_USAGE, STN_TOGGLE_BUTTON_USAGE_HTML, StnToggleButtonPlaygroundConfig, countToggleButtonPlaygroundCombinations, describeToggleButtonPlaygroundReact, listToggleButtonPlaygroundMatrix } from './stnToggleButton.js';
|
|
61
61
|
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';
|
|
62
|
-
export { STN_TYPE_SCALE_INTRO, STN_TYPE_SCALE_ROWS, StnTypeScaleCategory, StnTypeScaleRow, resolveTypeScaleName, typeScalePill } from './stnTypeScale.js';
|
|
62
|
+
export { STN_TYPE_SCALE_CLASS, STN_TYPE_SCALE_INTRO, STN_TYPE_SCALE_ROWS, StnTypeScaleCategory, StnTypeScaleRow, resolveTypeScaleName, typeScalePill } from './stnTypeScale.js';
|
|
63
63
|
export { STN_FONT_FAMILY_ROWS, STN_FONT_SIZE_ROWS, STN_FONT_WEIGHT_ROWS, STN_LINE_HEIGHT_ROWS, STN_TYPOGRAPHY_PRIMITIVE_GROUPS, STN_TYPOGRAPHY_SEMANTIC_ROWS, StnTypographyPrimitiveRow, StnTypographySemanticRow, typographyPrimitivesToJson, typographySemanticsToJson } from './stnTypography.js';
|
|
64
64
|
export { STN_CARD_INTRO, STN_CARD_PADDINGS, STN_CARD_RADII, STN_CARD_SEVERITIES, STN_CARD_VARIANTS, StnCardPadding, StnCardRadius, StnCardSeverity, StnCardVariant } from './stnCard.js';
|
|
65
65
|
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';
|
package/dist/data/index.js
CHANGED
|
@@ -10,11 +10,12 @@ import {
|
|
|
10
10
|
listToggleButtonPlaygroundMatrix
|
|
11
11
|
} from "../chunk-7AMA6OZ6.js";
|
|
12
12
|
import {
|
|
13
|
+
STN_TYPE_SCALE_CLASS,
|
|
13
14
|
STN_TYPE_SCALE_INTRO,
|
|
14
15
|
STN_TYPE_SCALE_ROWS,
|
|
15
16
|
resolveTypeScaleName,
|
|
16
17
|
typeScalePill
|
|
17
|
-
} from "../chunk-
|
|
18
|
+
} from "../chunk-EKPLU5KT.js";
|
|
18
19
|
import {
|
|
19
20
|
STN_FONT_FAMILY_ROWS,
|
|
20
21
|
STN_FONT_SIZE_ROWS,
|
|
@@ -136,7 +137,7 @@ import {
|
|
|
136
137
|
import {
|
|
137
138
|
STN_UI_VERSION,
|
|
138
139
|
STN_UI_VERSION_LABEL
|
|
139
|
-
} from "../chunk-
|
|
140
|
+
} from "../chunk-RSKMNZIS.js";
|
|
140
141
|
import {
|
|
141
142
|
STN_PAGE_ENTER_MOTION_INTRO,
|
|
142
143
|
STN_PAGE_ENTER_MOTION_ROWS,
|
|
@@ -891,6 +892,7 @@ export {
|
|
|
891
892
|
STN_TREE_REACT_EXAMPLE,
|
|
892
893
|
STN_TREE_SECTION_SIDE_FIGMA,
|
|
893
894
|
STN_TREE_USAGE_HTML,
|
|
895
|
+
STN_TYPE_SCALE_CLASS,
|
|
894
896
|
STN_TYPE_SCALE_INTRO,
|
|
895
897
|
STN_TYPE_SCALE_ROWS,
|
|
896
898
|
STN_TYPOGRAPHY_PRIMITIVE_GROUPS,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Package version constants */
|
|
2
|
-
declare const STN_UI_VERSION = "0.1.
|
|
3
|
-
declare const STN_UI_VERSION_LABEL = "v0.1.
|
|
2
|
+
declare const STN_UI_VERSION = "0.1.77";
|
|
3
|
+
declare const STN_UI_VERSION_LABEL = "v0.1.77";
|
|
4
4
|
|
|
5
5
|
export { STN_UI_VERSION, STN_UI_VERSION_LABEL };
|
|
@@ -20,6 +20,11 @@ type StnTypeScaleRow = {
|
|
|
20
20
|
};
|
|
21
21
|
declare const STN_TYPE_SCALE_INTRO = "Display, Heading, Title, Body, Label, Caption\uC73C\uB85C \uC815\uC758\uD55C 6\uB2E8\uACC4 \uC704\uACC4\uC5D0 \uB9DE\uAC8C \uC870\uD569\uD558\uC5EC \uC0AC\uC6A9\uD569\uB2C8\uB2E4.";
|
|
22
22
|
declare const STN_TYPE_SCALE_ROWS: StnTypeScaleRow[];
|
|
23
|
+
/** Type Scale id → 유틸리티 클래스 (styles/foundations/stn-typography.css) · StnText variant */
|
|
24
|
+
declare const STN_TYPE_SCALE_CLASS: Record<string, {
|
|
25
|
+
className: string;
|
|
26
|
+
variant: string;
|
|
27
|
+
}>;
|
|
23
28
|
/** px(+weight) → Type Scale 이름 (가장 가까운 스케일) */
|
|
24
29
|
declare function resolveTypeScaleName(sizePx: number, weight?: number): {
|
|
25
30
|
scale: string;
|
|
@@ -29,4 +34,4 @@ declare function resolveTypeScaleName(sizePx: number, weight?: number): {
|
|
|
29
34
|
/** dashboard_map Use case — Type Scale 기준 라벨 */
|
|
30
35
|
declare function typeScalePill(scaleName: string, sizePx: number, weight: number): string;
|
|
31
36
|
|
|
32
|
-
export { STN_TYPE_SCALE_INTRO, STN_TYPE_SCALE_ROWS, type StnTypeScaleCategory, type StnTypeScaleRow, resolveTypeScaleName, typeScalePill };
|
|
37
|
+
export { STN_TYPE_SCALE_CLASS, STN_TYPE_SCALE_INTRO, STN_TYPE_SCALE_ROWS, type StnTypeScaleCategory, type StnTypeScaleRow, resolveTypeScaleName, typeScalePill };
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
|
+
STN_TYPE_SCALE_CLASS,
|
|
2
3
|
STN_TYPE_SCALE_INTRO,
|
|
3
4
|
STN_TYPE_SCALE_ROWS,
|
|
4
5
|
resolveTypeScaleName,
|
|
5
6
|
typeScalePill
|
|
6
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-EKPLU5KT.js";
|
|
7
8
|
export {
|
|
9
|
+
STN_TYPE_SCALE_CLASS,
|
|
8
10
|
STN_TYPE_SCALE_INTRO,
|
|
9
11
|
STN_TYPE_SCALE_ROWS,
|
|
10
12
|
resolveTypeScaleName,
|
package/dist/index.d.ts
CHANGED
|
@@ -59,7 +59,7 @@ export { STN_THEME_SEMANTIC_DARK_ROWS, STN_THEME_SEMANTIC_LIGHT_ROWS, StnThemeSe
|
|
|
59
59
|
export { STN_TOAST_DEMO_MSG, STN_TOAST_ICON_SLUG, STN_TOAST_INTRO, STN_TOAST_KINDS, STN_TOAST_REACT_USAGE, STN_TOAST_SETUP, STN_TOAST_TOKEN_ROWS, STN_TOAST_USAGE_HTML, StnToastKind } from './data/stnToast.js';
|
|
60
60
|
export { STN_TOGGLE_BUTTON_PLAYGROUND_DEFAULT, STN_TOGGLE_BUTTON_PLAYGROUND_INTRO, STN_TOGGLE_BUTTON_PLAYGROUND_PROPERTIES, STN_TOGGLE_BUTTON_REACT_USAGE, STN_TOGGLE_BUTTON_USAGE_HTML, StnToggleButtonPlaygroundConfig, countToggleButtonPlaygroundCombinations, describeToggleButtonPlaygroundReact, listToggleButtonPlaygroundMatrix } from './data/stnToggleButton.js';
|
|
61
61
|
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';
|
|
62
|
-
export { STN_TYPE_SCALE_INTRO, STN_TYPE_SCALE_ROWS, StnTypeScaleCategory, StnTypeScaleRow, resolveTypeScaleName, typeScalePill } from './data/stnTypeScale.js';
|
|
62
|
+
export { STN_TYPE_SCALE_CLASS, STN_TYPE_SCALE_INTRO, STN_TYPE_SCALE_ROWS, StnTypeScaleCategory, StnTypeScaleRow, resolveTypeScaleName, typeScalePill } from './data/stnTypeScale.js';
|
|
63
63
|
export { STN_FONT_FAMILY_ROWS, STN_FONT_SIZE_ROWS, STN_FONT_WEIGHT_ROWS, STN_LINE_HEIGHT_ROWS, STN_TYPOGRAPHY_PRIMITIVE_GROUPS, STN_TYPOGRAPHY_SEMANTIC_ROWS, StnTypographyPrimitiveRow, StnTypographySemanticRow, typographyPrimitivesToJson, typographySemanticsToJson } from './data/stnTypography.js';
|
|
64
64
|
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
65
|
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';
|
package/dist/index.js
CHANGED
|
@@ -15,11 +15,12 @@ import {
|
|
|
15
15
|
listToggleButtonPlaygroundMatrix
|
|
16
16
|
} from "./chunk-7AMA6OZ6.js";
|
|
17
17
|
import {
|
|
18
|
+
STN_TYPE_SCALE_CLASS,
|
|
18
19
|
STN_TYPE_SCALE_INTRO,
|
|
19
20
|
STN_TYPE_SCALE_ROWS,
|
|
20
21
|
resolveTypeScaleName,
|
|
21
22
|
typeScalePill
|
|
22
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-EKPLU5KT.js";
|
|
23
24
|
import {
|
|
24
25
|
STN_FONT_FAMILY_ROWS,
|
|
25
26
|
STN_FONT_SIZE_ROWS,
|
|
@@ -141,7 +142,7 @@ import {
|
|
|
141
142
|
import {
|
|
142
143
|
STN_UI_VERSION,
|
|
143
144
|
STN_UI_VERSION_LABEL
|
|
144
|
-
} from "./chunk-
|
|
145
|
+
} from "./chunk-RSKMNZIS.js";
|
|
145
146
|
import {
|
|
146
147
|
STN_PAGE_ENTER_MOTION_INTRO,
|
|
147
148
|
STN_PAGE_ENTER_MOTION_ROWS,
|
|
@@ -896,6 +897,7 @@ export {
|
|
|
896
897
|
STN_TREE_REACT_EXAMPLE,
|
|
897
898
|
STN_TREE_SECTION_SIDE_FIGMA,
|
|
898
899
|
STN_TREE_USAGE_HTML,
|
|
900
|
+
STN_TYPE_SCALE_CLASS,
|
|
899
901
|
STN_TYPE_SCALE_INTRO,
|
|
900
902
|
STN_TYPE_SCALE_ROWS,
|
|
901
903
|
STN_TYPOGRAPHY_PRIMITIVE_GROUPS,
|
package/package.json
CHANGED
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
@charset "utf-8";
|
|
2
|
+
/**
|
|
3
|
+
* STN Design System — Typography Utilities (Type Scale)
|
|
4
|
+
* Foundation › Typography 문서의 Type Scale 이름을 그대로 클래스화합니다.
|
|
5
|
+
* 모든 값은 --stn-text-* / --stn-font-* 시맨틱 토큰만 사용합니다.
|
|
6
|
+
*
|
|
7
|
+
* 사용: <h1 class="stn-text-heading-1">페이지 제목</h1>
|
|
8
|
+
* 수정자: .stn-text-weight-*, .stn-text-color-*, .stn-text-truncate
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/* ── Display ───────────────────────────────────────────── */
|
|
12
|
+
.stn-text-display-1 {
|
|
13
|
+
font-family: var(--stn-font-display);
|
|
14
|
+
font-size: var(--stn-text-display-xlarge-size);
|
|
15
|
+
font-weight: var(--stn-text-display-xlarge-weight);
|
|
16
|
+
line-height: var(--stn-text-display-xlarge-line-height);
|
|
17
|
+
}
|
|
18
|
+
.stn-text-display-2 {
|
|
19
|
+
font-family: var(--stn-font-display);
|
|
20
|
+
font-size: var(--stn-text-display-large-size);
|
|
21
|
+
font-weight: var(--stn-text-display-large-weight);
|
|
22
|
+
line-height: var(--stn-text-display-large-line-height);
|
|
23
|
+
}
|
|
24
|
+
.stn-text-display-3 {
|
|
25
|
+
font-family: var(--stn-font-display);
|
|
26
|
+
font-size: var(--stn-text-display-medium-size);
|
|
27
|
+
font-weight: var(--stn-text-display-medium-weight);
|
|
28
|
+
line-height: var(--stn-text-display-medium-line-height);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/* ── Heading ───────────────────────────────────────────── */
|
|
32
|
+
.stn-text-heading-1 {
|
|
33
|
+
font-family: var(--stn-font-display);
|
|
34
|
+
font-size: var(--stn-text-heading-large-size);
|
|
35
|
+
font-weight: var(--stn-text-heading-large-weight);
|
|
36
|
+
line-height: var(--stn-text-heading-large-line-height);
|
|
37
|
+
}
|
|
38
|
+
.stn-text-heading-2 {
|
|
39
|
+
font-family: var(--stn-font-display);
|
|
40
|
+
font-size: var(--stn-text-heading-medium-size);
|
|
41
|
+
font-weight: var(--stn-text-heading-medium-weight);
|
|
42
|
+
line-height: var(--stn-text-heading-medium-line-height);
|
|
43
|
+
}
|
|
44
|
+
.stn-text-heading-3 {
|
|
45
|
+
font-family: var(--stn-font-display);
|
|
46
|
+
font-size: var(--stn-text-heading-small-size);
|
|
47
|
+
font-weight: var(--stn-text-heading-small-weight);
|
|
48
|
+
line-height: var(--stn-text-heading-small-line-height);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/* ── Title ─────────────────────────────────────────────── */
|
|
52
|
+
.stn-text-title-1 {
|
|
53
|
+
font-family: var(--stn-font-body);
|
|
54
|
+
font-size: var(--stn-text-title-large-size);
|
|
55
|
+
font-weight: var(--stn-text-title-large-weight);
|
|
56
|
+
line-height: var(--stn-text-title-large-line-height);
|
|
57
|
+
}
|
|
58
|
+
.stn-text-title-2 {
|
|
59
|
+
font-family: var(--stn-font-body);
|
|
60
|
+
font-size: var(--stn-text-title-medium-size);
|
|
61
|
+
font-weight: var(--stn-text-title-medium-weight);
|
|
62
|
+
line-height: var(--stn-text-title-medium-line-height);
|
|
63
|
+
}
|
|
64
|
+
.stn-text-title-3 {
|
|
65
|
+
font-family: var(--stn-font-body);
|
|
66
|
+
font-size: var(--stn-text-title-small-size);
|
|
67
|
+
font-weight: var(--stn-text-title-small-weight);
|
|
68
|
+
line-height: var(--stn-text-title-small-line-height);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/* ── Body ──────────────────────────────────────────────── */
|
|
72
|
+
.stn-text-body-1 {
|
|
73
|
+
font-family: var(--stn-font-body);
|
|
74
|
+
font-size: var(--stn-text-body-large-size);
|
|
75
|
+
font-weight: var(--stn-text-body-large-weight);
|
|
76
|
+
line-height: var(--stn-text-body-large-line-height);
|
|
77
|
+
}
|
|
78
|
+
.stn-text-body-2 {
|
|
79
|
+
font-family: var(--stn-font-body);
|
|
80
|
+
font-size: var(--stn-text-body-medium-large-size);
|
|
81
|
+
font-weight: var(--stn-text-body-medium-large-weight);
|
|
82
|
+
line-height: var(--stn-text-body-medium-large-line-height);
|
|
83
|
+
}
|
|
84
|
+
.stn-text-body-3 {
|
|
85
|
+
font-family: var(--stn-font-body);
|
|
86
|
+
font-size: var(--stn-text-body-medium-size);
|
|
87
|
+
font-weight: var(--stn-text-body-medium-weight);
|
|
88
|
+
line-height: var(--stn-text-body-medium-line-height);
|
|
89
|
+
}
|
|
90
|
+
.stn-text-body-small {
|
|
91
|
+
font-family: var(--stn-font-body);
|
|
92
|
+
font-size: var(--stn-text-body-small-size);
|
|
93
|
+
font-weight: var(--stn-text-body-small-weight);
|
|
94
|
+
line-height: var(--stn-text-body-small-line-height);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/* ── Label ─────────────────────────────────────────────── */
|
|
98
|
+
.stn-text-label-1 {
|
|
99
|
+
font-family: var(--stn-font-body);
|
|
100
|
+
font-size: var(--stn-text-label-large-size);
|
|
101
|
+
font-weight: var(--stn-text-label-large-weight);
|
|
102
|
+
line-height: var(--stn-text-label-large-line-height);
|
|
103
|
+
}
|
|
104
|
+
.stn-text-label-2 {
|
|
105
|
+
font-family: var(--stn-font-body);
|
|
106
|
+
font-size: var(--stn-text-label-medium-size);
|
|
107
|
+
font-weight: var(--stn-text-label-medium-weight);
|
|
108
|
+
line-height: var(--stn-text-label-medium-line-height);
|
|
109
|
+
}
|
|
110
|
+
.stn-text-label-3 {
|
|
111
|
+
font-family: var(--stn-font-body);
|
|
112
|
+
font-size: var(--stn-text-label-small-size);
|
|
113
|
+
font-weight: var(--stn-text-label-small-weight);
|
|
114
|
+
line-height: var(--stn-text-label-small-line-height);
|
|
115
|
+
}
|
|
116
|
+
.stn-text-label-4 {
|
|
117
|
+
font-family: var(--stn-font-body);
|
|
118
|
+
font-size: var(--stn-text-label-xsmall-size);
|
|
119
|
+
font-weight: var(--stn-text-label-xsmall-weight);
|
|
120
|
+
line-height: var(--stn-text-label-xsmall-line-height);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/* ── Caption ───────────────────────────────────────────── */
|
|
124
|
+
.stn-text-caption-large {
|
|
125
|
+
font-family: var(--stn-font-body);
|
|
126
|
+
font-size: var(--stn-text-caption-large-size);
|
|
127
|
+
font-weight: var(--stn-text-caption-large-weight);
|
|
128
|
+
line-height: var(--stn-text-caption-large-line-height);
|
|
129
|
+
}
|
|
130
|
+
.stn-text-caption {
|
|
131
|
+
font-family: var(--stn-font-body);
|
|
132
|
+
font-size: var(--stn-text-caption-medium-size);
|
|
133
|
+
font-weight: var(--stn-text-caption-medium-weight);
|
|
134
|
+
line-height: var(--stn-text-caption-medium-line-height);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/* ── Weight modifiers ──────────────────────────────────── */
|
|
138
|
+
.stn-text-weight-regular { font-weight: var(--stn-font-weight-regular); }
|
|
139
|
+
.stn-text-weight-medium { font-weight: var(--stn-font-weight-medium); }
|
|
140
|
+
.stn-text-weight-semibold { font-weight: var(--stn-font-weight-semibold); }
|
|
141
|
+
.stn-text-weight-bold { font-weight: var(--stn-font-weight-bold); }
|
|
142
|
+
|
|
143
|
+
/* ── Color modifiers ───────────────────────────────────── */
|
|
144
|
+
.stn-text-color-primary { color: var(--stn-text-primary); }
|
|
145
|
+
.stn-text-color-secondary { color: var(--stn-text-secondary); }
|
|
146
|
+
.stn-text-color-tertiary { color: var(--stn-text-tertiary); }
|
|
147
|
+
.stn-text-color-muted { color: var(--stn-text-muted); }
|
|
148
|
+
.stn-text-color-success { color: var(--stn-feedback-success); }
|
|
149
|
+
.stn-text-color-error { color: var(--stn-feedback-error); }
|
|
150
|
+
.stn-text-color-info { color: var(--stn-feedback-info); }
|
|
151
|
+
.stn-text-color-critical { color: var(--stn-grade-critical); }
|
|
152
|
+
.stn-text-color-major { color: var(--stn-grade-major); }
|
|
153
|
+
.stn-text-color-minor { color: var(--stn-grade-minor); }
|
|
154
|
+
.stn-text-color-warning { color: var(--stn-grade-warning); }
|
|
155
|
+
|
|
156
|
+
/* ── Layout helpers ────────────────────────────────────── */
|
|
157
|
+
.stn-text-truncate {
|
|
158
|
+
overflow: hidden;
|
|
159
|
+
text-overflow: ellipsis;
|
|
160
|
+
white-space: nowrap;
|
|
161
|
+
}
|
|
162
|
+
.stn-text-reset-margin { margin: 0; }
|
|
163
|
+
.stn-text-numeric {
|
|
164
|
+
font-family: var(--stn-font-number);
|
|
165
|
+
font-variant-numeric: tabular-nums;
|
|
166
|
+
}
|
package/styles/style-pub.css
CHANGED
|
@@ -9,13 +9,14 @@
|
|
|
9
9
|
:root {
|
|
10
10
|
--stn-font-display: var(--stn-font-family-pretendard);
|
|
11
11
|
--stn-font-body: var(--stn-font-family-pretendard);
|
|
12
|
-
--stn-
|
|
12
|
+
--stn-font-number: var(--stn-font-family-pretendard);
|
|
13
|
+
--stn-text-display-xlarge-size: var(--stn-font-size-52);
|
|
13
14
|
--stn-text-display-xlarge-weight: var(--stn-font-weight-bold);
|
|
14
15
|
--stn-text-display-xlarge-line-height: var(--stn-line-height-reading-3);
|
|
15
|
-
--stn-text-display-large-size: var(--stn-font-size-
|
|
16
|
+
--stn-text-display-large-size: var(--stn-font-size-44);
|
|
16
17
|
--stn-text-display-large-weight: var(--stn-font-weight-bold);
|
|
17
18
|
--stn-text-display-large-line-height: var(--stn-line-height-reading-3);
|
|
18
|
-
--stn-text-display-medium-size: var(--stn-font-size-
|
|
19
|
+
--stn-text-display-medium-size: var(--stn-font-size-40);
|
|
19
20
|
--stn-text-display-medium-weight: var(--stn-font-weight-bold);
|
|
20
21
|
--stn-text-display-medium-line-height: var(--stn-line-height-default);
|
|
21
22
|
--stn-text-heading-large-size: var(--stn-font-size-32);
|
|
@@ -39,6 +40,9 @@
|
|
|
39
40
|
--stn-text-body-large-size: var(--stn-font-size-16);
|
|
40
41
|
--stn-text-body-large-weight: var(--stn-font-weight-regular);
|
|
41
42
|
--stn-text-body-large-line-height: var(--stn-line-height-default);
|
|
43
|
+
--stn-text-body-medium-large-size: var(--stn-font-size-15);
|
|
44
|
+
--stn-text-body-medium-large-weight: var(--stn-font-weight-regular);
|
|
45
|
+
--stn-text-body-medium-large-line-height: var(--stn-line-height-default);
|
|
42
46
|
--stn-text-body-medium-size: var(--stn-font-size-14);
|
|
43
47
|
--stn-text-body-medium-weight: var(--stn-font-weight-regular);
|
|
44
48
|
--stn-text-body-medium-line-height: var(--stn-line-height-default);
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
:root {
|
|
10
10
|
--stn-font-family-pretendard: Pretendard, -apple-system, BlinkMacSystemFont, system-ui, 'Apple SD Gothic Neo', 'Noto Sans KR', 'Malgun Gothic', sans-serif;
|
|
11
11
|
--stn-font-size-base: 16px;
|
|
12
|
-
--stn-font-size-
|
|
13
|
-
--stn-font-size-
|
|
14
|
-
--stn-font-size-
|
|
12
|
+
--stn-font-size-52: calc(var(--stn-font-size-base) * 52 / 16);
|
|
13
|
+
--stn-font-size-48: calc(var(--stn-font-size-base) * 48 / 16);
|
|
14
|
+
--stn-font-size-44: calc(var(--stn-font-size-base) * 44 / 16);
|
|
15
15
|
--stn-font-size-40: calc(var(--stn-font-size-base) * 40 / 16);
|
|
16
16
|
--stn-font-size-36: calc(var(--stn-font-size-base) * 36 / 16);
|
|
17
17
|
--stn-font-size-32: calc(var(--stn-font-size-base) * 32 / 16);
|
package/dist/chunk-RY53LLWK.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/data/stnPackageVersion.ts"],"sourcesContent":["/** Package version constants */\nexport const STN_UI_VERSION = '0.1.76'\nexport const STN_UI_VERSION_LABEL = 'v0.1.76'\n"],"mappings":";AACO,IAAM,iBAAiB;AACvB,IAAM,uBAAuB;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/data/stnTypeScale.ts"],"sourcesContent":["/**\n * Figma Type Scale — Display / Heading / Title / Body / Label / Caption\n * Pub HTML은 primitive(font-size·weight)로 조합하며, semantic samples는 일부만 시연합니다.\n */\n\nexport type StnTypeScaleCategory =\n | 'Display'\n | 'Heading'\n | 'Title'\n | 'Body'\n | 'Label'\n | 'Caption'\n | 'Pub extension'\n\nexport type StnTypeScaleRow = {\n id: string\n category: StnTypeScaleCategory\n name: string\n weights: string\n sizePx: number\n sizeRem: string\n lineHeight: string\n role: string\n pubSizeToken: string\n /** Tokens 탭 semantic (있으면) */\n semanticToken?: string\n /** dashboard_map.html 등 실제 화면 예 (있을 때만) */\n pubHtmlExample?: string\n}\n\nexport const STN_TYPE_SCALE_INTRO =\n 'Display, Heading, Title, Body, Label, Caption으로 정의한 6단계 위계에 맞게 조합하여 사용합니다.'\n\nexport const STN_TYPE_SCALE_ROWS: StnTypeScaleRow[] = [\n {\n id: 'display-1',\n category: 'Display',\n name: 'Display 1',\n weights: 'Medium, Bold',\n sizePx: 60,\n sizeRem: '4rem',\n lineHeight: '130%',\n role: '최상위 헤드라인 (PC권장)',\n pubSizeToken: 'pub.font-size.60',\n semanticToken: 'pub.text.display.xlarge',\n },\n {\n id: 'display-2',\n category: 'Display',\n name: 'Display 2',\n weights: 'Medium, Bold',\n sizePx: 40,\n sizeRem: '2.67rem',\n lineHeight: '130%',\n role: '메인 타이틀 (PC 권장)',\n pubSizeToken: 'pub.font-size.40',\n semanticToken: 'pub.text.display.large',\n },\n {\n id: 'display-3',\n category: 'Display',\n name: 'Display 3',\n weights: 'Medium, Bold',\n sizePx: 36,\n sizeRem: '2.4rem',\n lineHeight: '148%',\n role: '강조형 헤드라인',\n pubSizeToken: 'pub.font-size.36',\n semanticToken: 'pub.text.display.medium',\n },\n {\n id: 'heading-1',\n category: 'Heading',\n name: 'Heading 1',\n weights: 'Medium, Bold',\n sizePx: 32,\n sizeRem: '2.133rem',\n lineHeight: '148%',\n role: '페이지 상위 제목',\n pubSizeToken: 'pub.font-size.32',\n semanticToken: 'pub.text.heading.large',\n pubHtmlExample: 'dashboard_map · converged-header 페이지명',\n },\n {\n id: 'heading-2',\n category: 'Heading',\n name: 'Heading 2',\n weights: 'Medium, Bold',\n sizePx: 24,\n sizeRem: '1.6rem',\n lineHeight: '148%',\n role: '하위 제목',\n pubSizeToken: 'pub.font-size.24',\n semanticToken: 'pub.text.heading.medium',\n pubHtmlExample: 'dashboard_map · 장애 등급 수치(24px Bold)',\n },\n {\n id: 'heading-3',\n category: 'Heading',\n name: 'Heading 3',\n weights: 'Medium, Bold',\n sizePx: 22,\n sizeRem: '1.47rem',\n lineHeight: '148%',\n role: '소제목, 그룹 제목',\n pubSizeToken: 'pub.font-size.22',\n semanticToken: 'pub.text.heading.small',\n },\n {\n id: 'title-1',\n category: 'Title',\n name: 'Title 1',\n weights: 'Medium, Bold',\n sizePx: 20,\n sizeRem: '1.33rem',\n lineHeight: '148%',\n role: '콘텐츠 타이틀',\n pubSizeToken: 'pub.font-size.20',\n semanticToken: 'pub.text.title.large',\n pubHtmlExample: 'dashboard_map · 헤더 시계(#time)',\n },\n {\n id: 'title-2',\n category: 'Title',\n name: 'Title 2',\n weights: 'Medium, Semibold, Bold',\n sizePx: 18,\n sizeRem: '1.2rem',\n lineHeight: '148%',\n role: '서브 페이지 제목',\n pubSizeToken: 'pub.font-size.18',\n semanticToken: 'pub.text.title.medium',\n pubHtmlExample: 'alert_center · 모달 타이틀「알림센터」',\n },\n {\n id: 'title-3',\n category: 'Title',\n name: 'Title 3',\n weights: 'Medium',\n sizePx: 16,\n sizeRem: '1.07rem',\n lineHeight: '148%',\n role: '서브 타이틀 · 헤더',\n pubSizeToken: 'pub.font-size.16',\n semanticToken: 'pub.text.title.small',\n pubHtmlExample: 'stn-header · stn-widget 헤더',\n },\n {\n id: 'body-1',\n category: 'Body',\n name: 'Body 1',\n weights: 'Regular, Medium, Semibold, Bold',\n sizePx: 16,\n sizeRem: '1.07rem',\n lineHeight: '148% / 170%',\n role: '본문 텍스트 (PC 권장)',\n pubSizeToken: 'pub.font-size.16',\n semanticToken: 'pub.text.body.large',\n pubHtmlExample: 'dashboard_map · fault_table 본문 셀',\n },\n {\n id: 'body-2',\n category: 'Body',\n name: 'Body 2',\n weights: 'Regular, Medium, Semibold, Bold',\n sizePx: 15,\n sizeRem: '1rem',\n lineHeight: '148% / 158%',\n role: '본문 텍스트',\n pubSizeToken: 'pub.font-size.15',\n pubHtmlExample: 'dashboard_map · GNB 1Depth · 테이블 헤더',\n },\n {\n id: 'body-3',\n category: 'Body',\n name: 'Body 3',\n weights: 'Regular, Medium, Semibold, Bold',\n sizePx: 14,\n sizeRem: '0.933rem',\n lineHeight: '148% / 158%',\n role: '본문 소형 텍스트',\n pubSizeToken: 'pub.font-size.14',\n semanticToken: 'pub.text.body.medium',\n pubHtmlExample: 'Pub reset 기본 · 위젯 타이틀·GNB 하단·헤더 날짜',\n },\n {\n id: 'body-small',\n category: 'Body',\n name: 'Body Small',\n weights: 'Regular',\n sizePx: 13,\n sizeRem: '0.87rem',\n lineHeight: '148%',\n role: '본문 소형 · 입력·드롭다운·테이블',\n pubSizeToken: 'pub.font-size.13',\n semanticToken: 'pub.text.body.small',\n pubHtmlExample: 'stn-table · stn-dropdown · stn-text-field · stn-btn(sm)',\n },\n {\n id: 'label-1',\n category: 'Label',\n name: 'Label 1',\n weights: 'Medium',\n sizePx: 17,\n sizeRem: '1.133rem',\n lineHeight: '148%',\n role: '버튼 라벨 (PC 권장)',\n pubSizeToken: 'pub.font-size.17',\n semanticToken: 'pub.text.label.large',\n },\n {\n id: 'label-2',\n category: 'Label',\n name: 'Label 2',\n weights: 'SemiBold',\n sizePx: 15,\n sizeRem: '1rem',\n lineHeight: '148%',\n role: '버튼, 입력 폼',\n pubSizeToken: 'pub.font-size.15',\n semanticToken: 'pub.text.label.medium',\n },\n {\n id: 'label-3',\n category: 'Label',\n name: 'Label 3',\n weights: 'Medium, Semibold',\n sizePx: 13,\n sizeRem: '0.87rem',\n lineHeight: '148%',\n role: '입력 레이블',\n pubSizeToken: 'pub.font-size.13',\n semanticToken: 'pub.text.label.small',\n pubHtmlExample: 'dashboard_map · GNB 2Depth · 장애 요약',\n },\n {\n id: 'label-4',\n category: 'Label',\n name: 'Label 4',\n weights: 'Medium, Semibold, Bold',\n sizePx: 10,\n sizeRem: '0.625rem',\n lineHeight: 'Auto',\n role: '바텀 아이콘 레이블',\n pubSizeToken: 'pub.font-size.10',\n semanticToken: 'pub.text.label.xsmall',\n },\n {\n id: 'caption-large',\n category: 'Caption',\n name: 'Caption Large',\n weights: 'Regular',\n sizePx: 14,\n sizeRem: '0.933rem',\n lineHeight: '130%',\n role: '캡션 대형 · 로그인 카드 서브캡션',\n pubSizeToken: 'pub.font-size.14',\n semanticToken: 'pub.text.caption.large',\n pubHtmlExample: 'stn-login-card 서브캡션',\n },\n {\n id: 'caption',\n category: 'Caption',\n name: 'Caption',\n weights: 'Medium, SemiBold',\n sizePx: 12,\n sizeRem: '0.8rem',\n lineHeight: '148%',\n role: '툴팁, 보조 설명',\n pubSizeToken: 'pub.font-size.12',\n semanticToken: 'pub.text.caption.medium',\n pubHtmlExample: 'alert_center 목록 · dashboard_map 등급 라벨·위젯 소제목',\n },\n {\n id: 'pub-11',\n category: 'Pub extension',\n name: '11px (Pub)',\n weights: 'Bold',\n sizePx: 11,\n sizeRem: '0.73rem',\n lineHeight: '148%',\n role: '지도 노드·알림 등급 태그 등 Pub 전용',\n pubSizeToken: 'pub.font-size.11',\n pubHtmlExample: 'dashboard_map · node_icon 라벨 · gnb_alert 태그',\n },\n]\n\nconst WEIGHT_LABEL: Record<number, string> = {\n 300: 'Regular',\n 500: 'Medium',\n 700: 'Bold',\n}\n\n/** px(+weight) → Type Scale 이름 (가장 가까운 스케일) */\nexport function resolveTypeScaleName(sizePx: number, weight = 400): {\n scale: string\n weightLabel: string\n pill: string\n} {\n const w = weight >= 600 ? 700 : weight >= 500 ? 500 : 300\n const weightLabel = WEIGHT_LABEL[w] ?? `${weight}`\n const row =\n STN_TYPE_SCALE_ROWS.find((r) => r.sizePx === sizePx) ??\n STN_TYPE_SCALE_ROWS.find((r) => Math.abs(r.sizePx - sizePx) <= 1)\n const scale = row?.name ?? `${sizePx}px`\n const pill = `${scale} (${sizePx}, ${w})`\n return { scale, weightLabel, pill }\n}\n\n/** dashboard_map Use case — Type Scale 기준 라벨 */\nexport function typeScalePill(\n scaleName: string,\n sizePx: number,\n weight: number,\n): string {\n return `${scaleName} (${sizePx}, ${weight})`\n}\n"],"mappings":"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","names":[]}
|