@stn-uiux/pub-ui 0.1.66 → 0.1.67
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-QAPQ4DB2.js → chunk-HJCUNRB3.js} +3 -2
- package/dist/chunk-HJCUNRB3.js.map +1 -0
- package/dist/chunk-OGCKPHGD.js +9 -0
- package/dist/chunk-OGCKPHGD.js.map +1 -0
- package/dist/{chunk-6NHITPET.js → chunk-YN774RCQ.js} +1 -13
- package/dist/{chunk-6NHITPET.js.map → chunk-YN774RCQ.js.map} +1 -1
- package/dist/cli.js +1 -1
- package/dist/data/index.js +3 -3
- package/dist/data/stnColorPalette.js +1 -1
- package/dist/data/stnLayer0Background.d.ts +4 -4
- package/dist/data/stnLayer0Background.js +1 -1
- package/dist/data/stnPackageVersion.d.ts +2 -2
- package/dist/data/stnPackageVersion.js +1 -1
- package/dist/index.js +3 -3
- package/package.json +1 -1
- package/styles/layouts/stn-layer0-bg.css +8 -17
- package/styles/tokens/stn-colors-semantic.css +0 -4
- package/styles/tokens/stn-gradients.css +2 -0
- package/styles/utils/reset.css +2 -2
- package/dist/chunk-QAPQ4DB2.js.map +0 -1
- package/dist/chunk-XPARWRVD.js +0 -9
- package/dist/chunk-XPARWRVD.js.map +0 -1
|
@@ -116,7 +116,8 @@ var STN_LAYER0_BACKGROUND_USAGE_HTML = `<!-- L0 background \u2014 color / image
|
|
|
116
116
|
var STN_LAYER0_MAP_LIGHT_OVERLAY = 0.2;
|
|
117
117
|
var STN_LAYER0_BACKGROUND_PLAYGROUND_PRESETS = [
|
|
118
118
|
{ id: "dashboard", label: "dashboard", asset: "\uB300\uC2DC\uBCF4\uB4DC \uBC30\uACBD (dashboard-light / dark)", variant: "dashboard" },
|
|
119
|
-
{ id: "color", label: "color", asset: "\uB2E8\uC0C9 \uD14C\uB9C8 \uBC30\uACBD (
|
|
119
|
+
{ id: "color", label: "color", asset: "\uB2E8\uC0C9 \uD14C\uB9C8 \uBC30\uACBD (solid default)", variant: "none" },
|
|
120
|
+
{ id: "gradient", label: "gradient", asset: "\uACF5\uC2DD \uC570\uBE44\uC5B8\uD2B8 \uADF8\uB77C\uB370\uC774\uC158 (\uC6CC\uC2DC/\uC2EC\uB3C4)", variant: "gradient" },
|
|
120
121
|
{ id: "map", label: "map", asset: "GIS \uC9C0\uB3C4 \uBC30\uACBD (map-light)", variant: "map-light" },
|
|
121
122
|
{ id: "topology", label: "topology", asset: "\uD1A0\uD3F4\uB85C\uC9C0 \uBC30\uACBD (showroom-b)", variant: "showroom-b" },
|
|
122
123
|
{ id: "none", label: "none", asset: "L0 \uBC30\uACBD \uC5C6\uC74C (\uC678\uBD80 \uCE94\uBC84\uC2A4 \uC804\uC6A9)", variant: "none" }
|
|
@@ -131,4 +132,4 @@ export {
|
|
|
131
132
|
STN_LAYER0_MAP_LIGHT_OVERLAY,
|
|
132
133
|
STN_LAYER0_BACKGROUND_PLAYGROUND_PRESETS
|
|
133
134
|
};
|
|
134
|
-
//# sourceMappingURL=chunk-
|
|
135
|
+
//# sourceMappingURL=chunk-HJCUNRB3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/data/stnLayer0Background.ts"],"sourcesContent":["/**\n * Infomap Layer 0 background pattern\n * Light: 41267 · 186876 · 186860 · 202895\n * Dark: 80488 · 35369 · 84014 · 91183\n * @see StnLayer0Background · layouts/stn-layer0-bg.css\n */\n\nexport const STN_LAYER0_BACKGROUND_FIGMA = {\n none: '40000040:41267',\n noneDark: '40000040:80488',\n showroomA: '40000042:186876',\n showroomADark: '40002117:35369',\n showroomB: '40000042:186860',\n showroomBDark: '40000040:84014',\n mapLight: '40000042:202895',\n mapDark: '40000040:91183',\n login: '40004209:78293',\n loginDark: '40004209:78293',\n dashboard: '40004209:78300',\n dashboardDark: '40004209:78300',\n} as const\n\nexport type StnLayer0BackgroundKind = 'color' | 'gradient' | 'image'\n\n/** Figma 예제 프리셋 — color 1종 · gradient 1종 · image 5종 (light/dark 자동 전환) */\nexport type StnLayer0BackgroundPreset = 'none' | 'gradient' | 'showroom-a' | 'showroom-b' | 'map-light' | 'login' | 'dashboard'\n\n/** Doc site · Pub HTML 기준 경로 — 앱에서는 동일 경로 또는 자산 URL로 교체 */\nexport {\n STN_LAYER0_BACKGROUND_ASSET_PATHS,\n STN_LAYER0_BACKGROUND_DEMO_IMAGES,\n} from './stnLayer0BackgroundAssets'\n\nexport const STN_LAYER0_BACKGROUND_INTRO =\n '페이지 최하단 레벨(Level 0)에 위치하는 시스템 바닥면 배경 패턴입니다. 단색 컬러 및 맵·토폴로지 캔버스 배경 이미지를 `StnLayer0BackgroundPreset`으로 손쉽게 적용할 수 있습니다.'\n\nexport const STN_LAYER0_BACKGROUND_VARIANT_ROWS = [\n {\n preset: 'none',\n kind: 'color',\n figma: STN_LAYER0_BACKGROUND_FIGMA.none,\n figmaDark: STN_LAYER0_BACKGROUND_FIGMA.noneDark,\n note: 'Light gradient · Dark elevation surface-0 (gray-950)',\n },\n {\n preset: 'dashboard',\n kind: 'image',\n figma: STN_LAYER0_BACKGROUND_FIGMA.dashboard,\n figmaDark: STN_LAYER0_BACKGROUND_FIGMA.dashboardDark,\n note: 'Dashboard · light/dark pair',\n },\n {\n preset: 'showroom-a',\n kind: 'image',\n figma: STN_LAYER0_BACKGROUND_FIGMA.showroomA,\n figmaDark: STN_LAYER0_BACKGROUND_FIGMA.showroomADark,\n note: 'Showroom A · dark logo stage',\n },\n {\n preset: 'showroom-b',\n kind: 'image',\n figma: STN_LAYER0_BACKGROUND_FIGMA.showroomB,\n figmaDark: STN_LAYER0_BACKGROUND_FIGMA.showroomBDark,\n note: 'Showroom B · dark + radial vignette',\n },\n {\n preset: 'map-light',\n kind: 'image',\n figma: STN_LAYER0_BACKGROUND_FIGMA.mapLight,\n figmaDark: STN_LAYER0_BACKGROUND_FIGMA.mapDark,\n note: 'Map light(+20% white) · Map dark',\n },\n {\n preset: 'login',\n kind: 'image',\n figma: STN_LAYER0_BACKGROUND_FIGMA.login,\n figmaDark: STN_LAYER0_BACKGROUND_FIGMA.loginDark,\n note: 'Login · light/dark pair',\n },\n] as const satisfies ReadonlyArray<{\n preset: StnLayer0BackgroundPreset\n kind: StnLayer0BackgroundKind\n figma: string\n figmaDark: string\n note: string\n}>\n\nexport const STN_LAYER0_BACKGROUND_USAGE = `import {\n StnLayer,\n StnLayer0Background,\n StnLayer0BackgroundPreset,\n DashboardPageScaffold,\n} from '@stn-uiux/pub-ui-react'\n\n/** Map / Topology — wrapClassName만 (맵 배경은 elevation CSS) */\n<DashboardPageScaffold\n shell=\"layer\"\n wrapClassName=\"stn-page--map-bg\"\n gnb={…}\n header={…}\n/>\n\n/** 일반 페이지 — L0 color (default = elevation-surface-0) */\n<StnLayer.Background>\n <StnLayer0Background color=\"default\" />\n <StnLayer.Content>{/* 본문 */}</StnLayer.Content>\n</StnLayer.Background>\n\n/** Figma image 프리셋 — showroom · map · login */\n<StnLayer.Background>\n <StnLayer0BackgroundPreset variant=\"map-light\" />\n <StnLayer.Content>{/* 본문 */}</StnLayer.Content>\n</StnLayer.Background>\n\n<StnLayer.Background>\n <StnLayer0BackgroundPreset variant=\"login\" />\n <StnLayer.Content>{/* 본문 */}</StnLayer.Content>\n</StnLayer.Background>\n\n/** 직접 조합 — light/dark 이미지 */\n<StnLayer.Background>\n <StnLayer0Background\n kind=\"image\"\n src=\"/assets/bg-light.png\"\n srcDark=\"/assets/bg-dark.png\"\n />\n <StnLayer.Content>…</StnLayer.Content>\n</StnLayer.Background>`\n\nexport const STN_LAYER0_BACKGROUND_USAGE_HTML = `<!-- L0 background — color / image -->\n<div class=\"stn-elev-0 stn-layer0-bg\">\n <!-- color -->\n <div class=\"stn-layer0-bg color default\" aria-hidden=\"true\"></div>\n\n <!-- 또는 image -->\n <div\n class=\"stn-layer0-bg image\"\n style=\"--stn-layer0-bg-image: url('/assets/bg-light.png')\"\n aria-hidden=\"true\"\n ></div>\n\n <main class=\"stn-elev-1\"><!-- L1 content --></main>\n</div>`\n\nexport const STN_LAYER0_MAP_LIGHT_OVERLAY = 0.2\n\n/** Patterns → Background playground 프리셋 (UI 라벨 · 내부 variant) */\nexport type StnLayer0BackgroundPlaygroundPresetId =\n | 'dashboard'\n | 'color'\n | 'gradient'\n | 'map'\n | 'topology'\n | 'none'\n\nexport const STN_LAYER0_BACKGROUND_PLAYGROUND_PRESETS: {\n id: StnLayer0BackgroundPlaygroundPresetId\n label: string\n asset: string\n variant?: StnLayer0BackgroundPreset\n}[] = [\n { id: 'dashboard', label: 'dashboard', asset: '대시보드 배경 (dashboard-light / dark)', variant: 'dashboard' },\n { id: 'color', label: 'color', asset: '단색 테마 배경 (solid default)', variant: 'none' },\n { id: 'gradient', label: 'gradient', asset: '공식 앰비언트 그라데이션 (워시/심도)', variant: 'gradient' },\n { id: 'map', label: 'map', asset: 'GIS 지도 배경 (map-light)', variant: 'map-light' },\n { id: 'topology', label: 'topology', asset: '토폴로지 배경 (showroom-b)', variant: 'showroom-b' },\n { id: 'none', label: 'none', asset: 'L0 배경 없음 (외부 캔버스 전용)', variant: 'none' },\n]\n"],"mappings":";AAOO,IAAM,8BAA8B;AAAA,EACzC,MAAM;AAAA,EACN,UAAU;AAAA,EACV,WAAW;AAAA,EACX,eAAe;AAAA,EACf,WAAW;AAAA,EACX,eAAe;AAAA,EACf,UAAU;AAAA,EACV,SAAS;AAAA,EACT,OAAO;AAAA,EACP,WAAW;AAAA,EACX,WAAW;AAAA,EACX,eAAe;AACjB;AAaO,IAAM,8BACX;AAEK,IAAM,qCAAqC;AAAA,EAChD;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO,4BAA4B;AAAA,IACnC,WAAW,4BAA4B;AAAA,IACvC,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO,4BAA4B;AAAA,IACnC,WAAW,4BAA4B;AAAA,IACvC,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO,4BAA4B;AAAA,IACnC,WAAW,4BAA4B;AAAA,IACvC,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO,4BAA4B;AAAA,IACnC,WAAW,4BAA4B;AAAA,IACvC,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO,4BAA4B;AAAA,IACnC,WAAW,4BAA4B;AAAA,IACvC,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO,4BAA4B;AAAA,IACnC,WAAW,4BAA4B;AAAA,IACvC,MAAM;AAAA,EACR;AACF;AAQO,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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0CpC,IAAM,mCAAmC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAezC,IAAM,+BAA+B;AAWrC,IAAM,2CAKP;AAAA,EACJ,EAAE,IAAI,aAAa,OAAO,aAAa,OAAO,kEAAoC,SAAS,YAAY;AAAA,EACvG,EAAE,IAAI,SAAS,OAAO,SAAS,OAAO,0DAA4B,SAAS,OAAO;AAAA,EAClF,EAAE,IAAI,YAAY,OAAO,YAAY,OAAO,oGAAyB,SAAS,WAAW;AAAA,EACzF,EAAE,IAAI,OAAO,OAAO,OAAO,OAAO,6CAAyB,SAAS,YAAY;AAAA,EAChF,EAAE,IAAI,YAAY,OAAO,YAAY,OAAO,sDAAwB,SAAS,aAAa;AAAA,EAC1F,EAAE,IAAI,QAAQ,OAAO,QAAQ,OAAO,+EAAwB,SAAS,OAAO;AAC9E;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/data/stnPackageVersion.ts"],"sourcesContent":["/** Package version constants */\nexport const STN_UI_VERSION = '0.1.67'\nexport const STN_UI_VERSION_LABEL = 'v0.1.67'\n"],"mappings":";AACO,IAAM,iBAAiB;AACvB,IAAM,uBAAuB;","names":[]}
|
|
@@ -401,18 +401,6 @@ var STN_SEMANTIC_DS_ALIAS_LIGHT = [
|
|
|
401
401
|
cssVar: "--stn-elevation-surface-2",
|
|
402
402
|
hex: "#ffffff",
|
|
403
403
|
primitiveToken: "pub.static.white"
|
|
404
|
-
},
|
|
405
|
-
{
|
|
406
|
-
token: "pub.light.ds.elev.3",
|
|
407
|
-
cssVar: "--stn-elevation-surface-3",
|
|
408
|
-
hex: "#ffffff",
|
|
409
|
-
primitiveToken: "pub.static.white"
|
|
410
|
-
},
|
|
411
|
-
{
|
|
412
|
-
token: "pub.light.ds.elev.4",
|
|
413
|
-
cssVar: "--stn-elevation-surface-4",
|
|
414
|
-
hex: "#ffffff",
|
|
415
|
-
primitiveToken: "pub.static.white"
|
|
416
404
|
}
|
|
417
405
|
];
|
|
418
406
|
var STN_SEMANTIC_LIGHT_ROWS = [
|
|
@@ -458,4 +446,4 @@ export {
|
|
|
458
446
|
STN_SEMANTIC_LIGHT_ROWS,
|
|
459
447
|
STN_SEMANTIC_DARK_ROWS
|
|
460
448
|
};
|
|
461
|
-
//# sourceMappingURL=chunk-
|
|
449
|
+
//# sourceMappingURL=chunk-YN774RCQ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/data/stnColorPalette.ts"],"sourcesContent":["/**\n * Foundations Color · Tokens ??�� primitive ?�레??\n * `hex` ?�드??#RRGGBB ?�는 rgba() ??`packages/stn-pub-ui/css/stn-pub-colors.css` ?� ?�기?�합?�다.\n */\nimport { STN_FEEDBACK_SEMANTIC_ROWS } from './stnFeedbackColors'\nimport { STN_GRADE_SEMANTIC_ROWS } from './stnGradeColors'\nimport {\n STN_THEME_SEMANTIC_DARK_ROWS,\n STN_THEME_SEMANTIC_LIGHT_ROWS,\n} from './stnThemeSemantic.generated'\n\nexport type StnPaletteRow = {\n /** 문서?????�기 (?? pub.gray.100) */\n token: string\n /** ?�제 CSS 변??*/\n cssVar: `--${string}`\n hex: string\n}\n\n/** ?�맨???�큰 ???�시(pub.gray.* ????매핑 */\nexport type StnSemanticTokenRow = {\n token: string\n cssVar: `--${string}`\n hex: string\n primitiveToken: string\n}\n\nfunction pubRow(family: string, step: string, value: string): StnPaletteRow {\n const parts = [...family.split('.'), step]\n return {\n token: `pub.${parts.join('.')}`,\n cssVar: `--stn-${parts.join('-')}`,\n hex: value,\n }\n}\n\nfunction hexScale(family: string, steps: Record<string, string>): StnPaletteRow[] {\n return Object.entries(steps).map(([step, hex]) => pubRow(family, step, hex.toLowerCase()))\n}\n\nconst OPACITY_PERCENT_STEPS = [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95] as const\n\nfunction opacityBlackValue(percent: number): string {\n const a = (percent / 100).toFixed(4)\n return `rgba(0, 0, 0, ${a})`\n}\n\nfunction opacityWhiteValue(percent: number): string {\n const a = (percent / 100).toFixed(4)\n return `rgba(255, 255, 255, ${a})`\n}\n\nfunction opacityScale(kind: 'black' | 'white'): StnPaletteRow[] {\n const family = `opacity.${kind}`\n return OPACITY_PERCENT_STEPS.map((p) =>\n pubRow(family, String(p), kind === 'black' ? opacityBlackValue(p) : opacityWhiteValue(p)),\n )\n}\n\nexport const STN_STATIC: StnPaletteRow[] = [\n { token: 'pub.static.white', cssVar: '--stn-static-white', hex: '#ffffff' },\n { token: 'pub.static.black', cssVar: '--stn-static-black', hex: '#000000' },\n]\n\nexport const STN_GRAY_SCALE: StnPaletteRow[] = hexScale('gray', {\n '25': '#f7f9fb',\n '50': '#f2f5f8',\n '75': '#edf1f5',\n '100': '#e6ebf0',\n '150': '#d8dee6',\n '200': '#c8d0d9',\n '250': '#b8c1cc',\n '300': '#a8b2be',\n '350': '#98a3af',\n '400': '#87929e',\n '450': '#77818d',\n '500': '#66707b',\n '550': '#59626d',\n '600': '#4c545e',\n '650': '#40474f',\n '700': '#353b42',\n '750': '#2a2f35',\n '800': '#21252a',\n '850': '#191d21',\n '900': '#121518',\n '950': '#0b0e11',\n})\n\nexport const STN_RED_SCALE: StnPaletteRow[] = hexScale('red', {\n '25': '#fff6f7',\n '50': '#ffedee',\n '75': '#ffe0e3',\n '100': '#ffd0d5',\n '150': '#ffb1b9',\n '200': '#ff8f9a',\n '250': '#fa6f7d',\n '300': '#f14d5f',\n '350': '#e6374c',\n '400': '#d61f3a',\n '450': '#c71a32',\n '500': '#bf1d33',\n '550': '#b6172c',\n '600': '#931222',\n '650': '#82101e',\n '700': '#710e1a',\n '750': '#600c16',\n '800': '#500a12',\n})\n\n/** Secondary ??Cyan */\nexport const STN_CYAN_SCALE: StnPaletteRow[] = hexScale('cyan', {\n '25': '#f2fdff',\n '50': '#e6fbff',\n '75': '#d0f7ff',\n '100': '#b3f0fc',\n '150': '#80e6f7',\n '200': '#4fd9f2',\n '250': '#26cdeb',\n '300': '#06b6d4',\n '350': '#00a9c7',\n '400': '#0891b2',\n '450': '#0a839f',\n '500': '#0b7285',\n '550': '#0c6372',\n '600': '#0d5560',\n '650': '#0d474f',\n '700': '#0d3a3f',\n '750': '#0b2d31',\n '800': '#081f22',\n})\n\nexport const STN_TEAL_SCALE: StnPaletteRow[] = hexScale('teal', {\n '25': '#f2fdfc',\n '50': '#e6fbf8',\n '75': '#d1f7f1',\n '100': '#b3f0e6',\n '150': '#80e3d0',\n '200': '#4fd4b8',\n '250': '#26c7a8',\n '300': '#14b8a6',\n '350': '#0fa899',\n '400': '#0d9488',\n '450': '#0c857a',\n '500': '#0f766e',\n '550': '#10675f',\n '600': '#115850',\n '650': '#114a43',\n '700': '#103c36',\n '750': '#0d302b',\n '800': '#0a2420',\n})\n\n/** Primary ??Blue */\nexport const STN_BLUE_SCALE: StnPaletteRow[] = hexScale('blue', {\n '25': '#f2fcff',\n '50': '#e6f9ff',\n '75': '#d6f4ff',\n '100': '#c2eeff',\n '150': '#a3e3ff',\n '200': '#7fd5ff',\n '250': '#5bc7fa',\n '300': '#46bdf7',\n '350': '#28b2f2',\n '400': '#00aeef',\n '450': '#009cda',\n '500': '#0089c2',\n '550': '#0077a8',\n '600': '#00638d',\n '650': '#005174',\n '700': '#003f5c',\n '750': '#002f46',\n '800': '#001f30',\n})\n\n/** Infomap cobalt (primary gradient end) */\nexport const STN_COBALT_SCALE: StnPaletteRow[] = hexScale('cobalt', {\n '25': '#f2f6ff',\n '50': '#e6eeff',\n '75': '#d9e5ff',\n '100': '#c2d4ff',\n '150': '#a8c0ff',\n '200': '#8aa9ff',\n '250': '#6d91ff',\n '300': '#4e76f5',\n '350': '#2a58e6',\n '400': '#003bd2',\n '450': '#0035c2',\n '500': '#002fb0',\n '550': '#00299c',\n '600': '#002387',\n '650': '#001d72',\n '700': '#00175c',\n '750': '#001247',\n '800': '#000d33',\n})\n\nexport const STN_GREEN_SCALE: StnPaletteRow[] = hexScale('green', {\n '25': '#f6fef8',\n '50': '#ecfdf3',\n '75': '#ddf8e7',\n '100': '#c8f0d3',\n '150': '#a8e0b5',\n '200': '#84d39a',\n '250': '#5dc07a',\n '300': '#3ab76a',\n '350': '#2cb15c',\n '400': '#1fa550',\n '450': '#168e45',\n '500': '#0f7a37',\n '550': '#0d692f',\n '600': '#0a5927',\n '650': '#084a20',\n '700': '#073c1a',\n '750': '#052f14',\n '800': '#04240f',\n})\n\nexport const STN_YELLOW_SCALE: StnPaletteRow[] = hexScale('yellow', {\n '25': '#fffdf5',\n '50': '#fffdf0',\n '75': '#fff8d6',\n '100': '#fff4c2',\n '150': '#ffefaa',\n '200': '#ffe98f',\n '250': '#ffe372',\n '300': '#ffdc53',\n '350': '#ffd633',\n '400': '#ffcf1a',\n '450': '#f5c500',\n '500': '#e8b800',\n '550': '#d9a900',\n '600': '#c79800',\n '650': '#b58700',\n '700': '#9e7600',\n '750': '#856300',\n '800': '#6b4f00',\n})\n\nexport const STN_PURPLE_SCALE: StnPaletteRow[] = hexScale('purple', {\n '25': '#faf7ff',\n '50': '#f4f0ff',\n '75': '#ece4ff',\n '100': '#dfd2fa',\n '150': '#ccbbf2',\n '200': '#b59fe8',\n '250': '#9e84d9',\n '300': '#8a6cc8',\n '350': '#785ab5',\n '400': '#684aa1',\n '450': '#593d8d',\n '500': '#4d347a',\n '550': '#462f70',\n '600': '#402b66',\n '650': '#3b275d',\n '700': '#342250',\n '750': '#271a40',\n '800': '#190f2b',\n})\n\nexport const STN_ORANGE_SCALE: StnPaletteRow[] = hexScale('orange', {\n '25': '#fff9f3',\n '50': '#fff3e8',\n '75': '#ffe9d1',\n '100': '#ffd8b0',\n '150': '#ffc27f',\n '200': '#ffad57',\n '250': '#ff922b',\n '300': '#f97316',\n '350': '#f76707',\n '400': '#ea580c',\n '450': '#d9480f',\n '500': '#c2410c',\n '550': '#a9380a',\n '600': '#8f3008',\n '650': '#742706',\n '700': '#5f1f05',\n '750': '#4a1804',\n '800': '#361102',\n})\n\nexport const STN_OPACITY_BLACK_SCALE: StnPaletteRow[] = opacityScale('black')\nexport const STN_OPACITY_WHITE_SCALE: StnPaletteRow[] = opacityScale('white')\n\n/** Semantic ??brand primary (Infomap Blue · Pub `--point-color`) */\nexport const STN_SEMANTIC_PRIMARY_DARK: StnSemanticTokenRow = {\n token: 'pub.primary',\n cssVar: '--stn-primary',\n hex: '#00aeef',\n primitiveToken: 'pub.blue.400',\n}\n\nexport const STN_SEMANTIC_PRIMARY_LIGHT: StnSemanticTokenRow = {\n token: 'pub.primary',\n cssVar: '--stn-primary',\n hex: '#00aeef',\n primitiveToken: 'pub.blue.400',\n}\n\n/** Tokens ??· Primitive ???�체 */\nexport const STN_ALL_PALETTE_ROWS: StnPaletteRow[] = [\n ...STN_STATIC,\n ...STN_GRAY_SCALE,\n ...STN_RED_SCALE,\n ...STN_ORANGE_SCALE,\n ...STN_CYAN_SCALE,\n ...STN_TEAL_SCALE,\n ...STN_BLUE_SCALE,\n ...STN_COBALT_SCALE,\n ...STN_GREEN_SCALE,\n ...STN_YELLOW_SCALE,\n ...STN_PURPLE_SCALE,\n ...STN_OPACITY_BLACK_SCALE,\n ...STN_OPACITY_WHITE_SCALE,\n]\n\n/** Color Ratio 가?�드 ???�면 면적 비율 (flex ??10 ??60% · 20% · 10% · 10%) */\nexport type StnColorRatioSegment = {\n id: string\n flex: number\n topLabel: string\n bottomLabel: string\n graySteps?: readonly string[]\n hex?: string\n /** 브랜??그라?�이??미리보기 (dash-title · nav-active ?? */\n gradient?: string\n}\n\nfunction pubPrimitiveHex(family: string, step: string): string {\n const token = `pub.${family}.${step}`\n const row = [\n ...STN_STATIC,\n ...STN_GRAY_SCALE,\n ...STN_RED_SCALE,\n ...STN_ORANGE_SCALE,\n ...STN_PURPLE_SCALE,\n ...STN_TEAL_SCALE,\n ...STN_CYAN_SCALE,\n ...STN_BLUE_SCALE,\n ...STN_COBALT_SCALE,\n ].find((r) => r.token === token)\n return row?.hex ?? '#000000'\n}\n\n/** Dark ??gray elevation + white CTA + blue primary */\nexport const STN_COLOR_RATIO_SEGMENTS_DARK: StnColorRatioSegment[] = [\n {\n id: 'gray',\n flex: 6,\n topLabel: 'Gray Scale',\n bottomLabel: 'Surface · Elevation',\n graySteps: [\n pubPrimitiveHex('gray', '900'),\n pubPrimitiveHex('gray', '800'),\n pubPrimitiveHex('gray', '700'),\n pubPrimitiveHex('gray', '600'),\n pubPrimitiveHex('gray', '500'),\n pubPrimitiveHex('gray', '450'),\n ],\n },\n {\n id: 'white',\n flex: 2,\n topLabel: 'Static White',\n bottomLabel: 'CTA Button',\n hex: pubPrimitiveHex('static', 'white'),\n },\n {\n id: 'blue',\n flex: 2,\n topLabel: 'Blue Primary',\n bottomLabel: 'Point · Links',\n hex: pubPrimitiveHex('blue', '400'),\n },\n]\n\n/** Light ??gray background + black CTA + blue primary (Infomap) */\nexport const STN_COLOR_RATIO_SEGMENTS_LIGHT: StnColorRatioSegment[] = [\n {\n id: 'gray',\n flex: 6,\n topLabel: 'Gray Scale',\n bottomLabel: 'Background',\n graySteps: [\n pubPrimitiveHex('gray', '25'),\n pubPrimitiveHex('gray', '50'),\n pubPrimitiveHex('gray', '100'),\n pubPrimitiveHex('gray', '200'),\n pubPrimitiveHex('gray', '400'),\n pubPrimitiveHex('gray', '600'),\n ],\n },\n {\n id: 'black',\n flex: 2,\n topLabel: 'Static Black',\n bottomLabel: 'CTA Button',\n hex: pubPrimitiveHex('static', 'black'),\n },\n {\n id: 'blue',\n flex: 2,\n topLabel: 'Blue Primary',\n bottomLabel: 'Point · Links',\n hex: pubPrimitiveHex('blue', '400'),\n },\n]\n\n/** @deprecated {@link STN_COLOR_RATIO_SEGMENTS_LIGHT} 사용 */\nexport const STN_COLOR_RATIO_SEGMENTS = STN_COLOR_RATIO_SEGMENTS_LIGHT\n\nexport function hexToRgbString(value: string): string {\n const v = value.trim()\n if (v.startsWith('rgba(') || v.startsWith('rgb(')) return v\n const h = v.replace('#', '')\n if (h.length !== 6) return v\n const n = parseInt(h, 16)\n const r = (n >> 16) & 255\n const g = (n >> 8) & 255\n const b = n & 255\n return `rgb(${r}, ${g}, ${b})`\n}\n\nexport function paletteToJsonRecord(rows: StnPaletteRow[]): Record<string, string> {\n const o: Record<string, string> = {}\n for (const row of rows) {\n o[row.token] = row.hex\n }\n return o\n}\n\nexport type SemanticJsonEntry = {\n primitive: string\n hex: string\n pubVar?: string\n}\n\nexport function semanticPaletteToJsonRecord(\n rows: Array<StnSemanticTokenRow & { pubVar?: string }>,\n): Record<string, SemanticJsonEntry> {\n const o: Record<string, SemanticJsonEntry> = {}\n for (const row of rows) {\n const entry: SemanticJsonEntry = { primitive: row.primitiveToken, hex: row.hex }\n if (row.pubVar) entry.pubVar = row.pubVar\n o[row.token] = entry\n }\n return o\n}\n\n/** DS 문서??축약 alias (--stn-dm-* · Gray Scale 문서?� ?�동) */\nexport const STN_SEMANTIC_DS_ALIAS_DARK: StnSemanticTokenRow[] = [\n { token: 'pub.dark.ds.fill', cssVar: '--stn-dm-fill', hex: '#e6ebf0', primitiveToken: 'pub.gray.100' },\n { token: 'pub.dark.ds.subtext', cssVar: '--stn-dm-subtext', hex: '#c8d0d9', primitiveToken: 'pub.gray.200' },\n { token: 'pub.dark.ds.border', cssVar: '--stn-dm-border', hex: '#77818d', primitiveToken: 'pub.gray.450' },\n { token: 'pub.dark.ds.surface', cssVar: '--stn-dm-surface', hex: '#21252a', primitiveToken: 'pub.gray.800' },\n { token: 'pub.dark.ds.icon.default', cssVar: '--ico-default', hex: '#e6ebf0', primitiveToken: 'pub.gray.100' },\n { token: 'pub.dark.ds.icon.muted', cssVar: '--ico-muted', hex: 'rgba(255,255,255,0.55)', primitiveToken: 'pub.static.white · 55%' },\n { token: 'pub.dark.ds.icon.side', cssVar: '--side-font', hex: 'rgba(255,255,255,0.70)', primitiveToken: 'pub.static.white · 70%' },\n { token: 'pub.dark.ds.icon.inline', cssVar: '--icon-font', hex: 'rgba(255,255,255,0.80)', primitiveToken: 'pub.static.white · 80%' },\n]\n\n/** Light · elevation L0?�L4 �?UI ?�맨??(--stn-lm-* · pub.gray.*) */\nexport const STN_SEMANTIC_DS_ALIAS_LIGHT: StnSemanticTokenRow[] = [\n { token: 'pub.light.ds.fill', cssVar: '--stn-lm-fill', hex: '#f7f9fb', primitiveToken: 'pub.gray.25' },\n { token: 'pub.light.ds.surface', cssVar: '--stn-lm-surface', hex: '#ffffff', primitiveToken: 'pub.static.white' },\n { token: 'pub.light.ds.border', cssVar: '--stn-lm-border', hex: '#c8d0d9', primitiveToken: 'pub.gray.200' },\n { token: 'pub.light.ds.subtext', cssVar: '--stn-lm-subtext', hex: '#66707b', primitiveToken: 'pub.gray.500' },\n {\n token: 'pub.light.ds.elev.0',\n cssVar: '--stn-elevation-surface-0',\n hex: '#ffffff',\n primitiveToken: 'pub.static.white',\n },\n {\n token: 'pub.light.ds.elev.2',\n cssVar: '--stn-elevation-surface-2',\n hex: '#ffffff',\n primitiveToken: 'pub.static.white',\n },\n {\n token: 'pub.light.ds.elev.3',\n cssVar: '--stn-elevation-surface-3',\n hex: '#ffffff',\n primitiveToken: 'pub.static.white',\n },\n {\n token: 'pub.light.ds.elev.4',\n cssVar: '--stn-elevation-surface-4',\n hex: '#ffffff',\n primitiveToken: 'pub.static.white',\n },\n]\n\n/** ?�이???�마 ?�맨????brand + 01 PC_HTML_Revision theme.css 근사 매핑 */\nexport const STN_SEMANTIC_LIGHT_ROWS: StnSemanticTokenRow[] = [\n STN_SEMANTIC_PRIMARY_LIGHT,\n ...STN_FEEDBACK_SEMANTIC_ROWS,\n ...STN_GRADE_SEMANTIC_ROWS,\n ...STN_SEMANTIC_DS_ALIAS_LIGHT,\n ...STN_THEME_SEMANTIC_LIGHT_ROWS,\n]\n\n/** ?�크 ?�마 ?�맨??*/\nexport const STN_SEMANTIC_DARK_ROWS: StnSemanticTokenRow[] = [\n STN_SEMANTIC_PRIMARY_DARK,\n ...STN_FEEDBACK_SEMANTIC_ROWS,\n ...STN_GRADE_SEMANTIC_ROWS,\n ...STN_SEMANTIC_DS_ALIAS_DARK,\n ...STN_THEME_SEMANTIC_DARK_ROWS,\n]\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/data/stnColorPalette.ts"],"sourcesContent":["/**\n * Foundations Color · Tokens ??�� primitive ?�레??\n * `hex` ?�드??#RRGGBB ?�는 rgba() ??`packages/stn-pub-ui/css/stn-pub-colors.css` ?� ?�기?�합?�다.\n */\nimport { STN_FEEDBACK_SEMANTIC_ROWS } from './stnFeedbackColors'\nimport { STN_GRADE_SEMANTIC_ROWS } from './stnGradeColors'\nimport {\n STN_THEME_SEMANTIC_DARK_ROWS,\n STN_THEME_SEMANTIC_LIGHT_ROWS,\n} from './stnThemeSemantic.generated'\n\nexport type StnPaletteRow = {\n /** 문서?????�기 (?? pub.gray.100) */\n token: string\n /** ?�제 CSS 변??*/\n cssVar: `--${string}`\n hex: string\n}\n\n/** ?�맨???�큰 ???�시(pub.gray.* ????매핑 */\nexport type StnSemanticTokenRow = {\n token: string\n cssVar: `--${string}`\n hex: string\n primitiveToken: string\n}\n\nfunction pubRow(family: string, step: string, value: string): StnPaletteRow {\n const parts = [...family.split('.'), step]\n return {\n token: `pub.${parts.join('.')}`,\n cssVar: `--stn-${parts.join('-')}`,\n hex: value,\n }\n}\n\nfunction hexScale(family: string, steps: Record<string, string>): StnPaletteRow[] {\n return Object.entries(steps).map(([step, hex]) => pubRow(family, step, hex.toLowerCase()))\n}\n\nconst OPACITY_PERCENT_STEPS = [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95] as const\n\nfunction opacityBlackValue(percent: number): string {\n const a = (percent / 100).toFixed(4)\n return `rgba(0, 0, 0, ${a})`\n}\n\nfunction opacityWhiteValue(percent: number): string {\n const a = (percent / 100).toFixed(4)\n return `rgba(255, 255, 255, ${a})`\n}\n\nfunction opacityScale(kind: 'black' | 'white'): StnPaletteRow[] {\n const family = `opacity.${kind}`\n return OPACITY_PERCENT_STEPS.map((p) =>\n pubRow(family, String(p), kind === 'black' ? opacityBlackValue(p) : opacityWhiteValue(p)),\n )\n}\n\nexport const STN_STATIC: StnPaletteRow[] = [\n { token: 'pub.static.white', cssVar: '--stn-static-white', hex: '#ffffff' },\n { token: 'pub.static.black', cssVar: '--stn-static-black', hex: '#000000' },\n]\n\nexport const STN_GRAY_SCALE: StnPaletteRow[] = hexScale('gray', {\n '25': '#f7f9fb',\n '50': '#f2f5f8',\n '75': '#edf1f5',\n '100': '#e6ebf0',\n '150': '#d8dee6',\n '200': '#c8d0d9',\n '250': '#b8c1cc',\n '300': '#a8b2be',\n '350': '#98a3af',\n '400': '#87929e',\n '450': '#77818d',\n '500': '#66707b',\n '550': '#59626d',\n '600': '#4c545e',\n '650': '#40474f',\n '700': '#353b42',\n '750': '#2a2f35',\n '800': '#21252a',\n '850': '#191d21',\n '900': '#121518',\n '950': '#0b0e11',\n})\n\nexport const STN_RED_SCALE: StnPaletteRow[] = hexScale('red', {\n '25': '#fff6f7',\n '50': '#ffedee',\n '75': '#ffe0e3',\n '100': '#ffd0d5',\n '150': '#ffb1b9',\n '200': '#ff8f9a',\n '250': '#fa6f7d',\n '300': '#f14d5f',\n '350': '#e6374c',\n '400': '#d61f3a',\n '450': '#c71a32',\n '500': '#bf1d33',\n '550': '#b6172c',\n '600': '#931222',\n '650': '#82101e',\n '700': '#710e1a',\n '750': '#600c16',\n '800': '#500a12',\n})\n\n/** Secondary ??Cyan */\nexport const STN_CYAN_SCALE: StnPaletteRow[] = hexScale('cyan', {\n '25': '#f2fdff',\n '50': '#e6fbff',\n '75': '#d0f7ff',\n '100': '#b3f0fc',\n '150': '#80e6f7',\n '200': '#4fd9f2',\n '250': '#26cdeb',\n '300': '#06b6d4',\n '350': '#00a9c7',\n '400': '#0891b2',\n '450': '#0a839f',\n '500': '#0b7285',\n '550': '#0c6372',\n '600': '#0d5560',\n '650': '#0d474f',\n '700': '#0d3a3f',\n '750': '#0b2d31',\n '800': '#081f22',\n})\n\nexport const STN_TEAL_SCALE: StnPaletteRow[] = hexScale('teal', {\n '25': '#f2fdfc',\n '50': '#e6fbf8',\n '75': '#d1f7f1',\n '100': '#b3f0e6',\n '150': '#80e3d0',\n '200': '#4fd4b8',\n '250': '#26c7a8',\n '300': '#14b8a6',\n '350': '#0fa899',\n '400': '#0d9488',\n '450': '#0c857a',\n '500': '#0f766e',\n '550': '#10675f',\n '600': '#115850',\n '650': '#114a43',\n '700': '#103c36',\n '750': '#0d302b',\n '800': '#0a2420',\n})\n\n/** Primary ??Blue */\nexport const STN_BLUE_SCALE: StnPaletteRow[] = hexScale('blue', {\n '25': '#f2fcff',\n '50': '#e6f9ff',\n '75': '#d6f4ff',\n '100': '#c2eeff',\n '150': '#a3e3ff',\n '200': '#7fd5ff',\n '250': '#5bc7fa',\n '300': '#46bdf7',\n '350': '#28b2f2',\n '400': '#00aeef',\n '450': '#009cda',\n '500': '#0089c2',\n '550': '#0077a8',\n '600': '#00638d',\n '650': '#005174',\n '700': '#003f5c',\n '750': '#002f46',\n '800': '#001f30',\n})\n\n/** Infomap cobalt (primary gradient end) */\nexport const STN_COBALT_SCALE: StnPaletteRow[] = hexScale('cobalt', {\n '25': '#f2f6ff',\n '50': '#e6eeff',\n '75': '#d9e5ff',\n '100': '#c2d4ff',\n '150': '#a8c0ff',\n '200': '#8aa9ff',\n '250': '#6d91ff',\n '300': '#4e76f5',\n '350': '#2a58e6',\n '400': '#003bd2',\n '450': '#0035c2',\n '500': '#002fb0',\n '550': '#00299c',\n '600': '#002387',\n '650': '#001d72',\n '700': '#00175c',\n '750': '#001247',\n '800': '#000d33',\n})\n\nexport const STN_GREEN_SCALE: StnPaletteRow[] = hexScale('green', {\n '25': '#f6fef8',\n '50': '#ecfdf3',\n '75': '#ddf8e7',\n '100': '#c8f0d3',\n '150': '#a8e0b5',\n '200': '#84d39a',\n '250': '#5dc07a',\n '300': '#3ab76a',\n '350': '#2cb15c',\n '400': '#1fa550',\n '450': '#168e45',\n '500': '#0f7a37',\n '550': '#0d692f',\n '600': '#0a5927',\n '650': '#084a20',\n '700': '#073c1a',\n '750': '#052f14',\n '800': '#04240f',\n})\n\nexport const STN_YELLOW_SCALE: StnPaletteRow[] = hexScale('yellow', {\n '25': '#fffdf5',\n '50': '#fffdf0',\n '75': '#fff8d6',\n '100': '#fff4c2',\n '150': '#ffefaa',\n '200': '#ffe98f',\n '250': '#ffe372',\n '300': '#ffdc53',\n '350': '#ffd633',\n '400': '#ffcf1a',\n '450': '#f5c500',\n '500': '#e8b800',\n '550': '#d9a900',\n '600': '#c79800',\n '650': '#b58700',\n '700': '#9e7600',\n '750': '#856300',\n '800': '#6b4f00',\n})\n\nexport const STN_PURPLE_SCALE: StnPaletteRow[] = hexScale('purple', {\n '25': '#faf7ff',\n '50': '#f4f0ff',\n '75': '#ece4ff',\n '100': '#dfd2fa',\n '150': '#ccbbf2',\n '200': '#b59fe8',\n '250': '#9e84d9',\n '300': '#8a6cc8',\n '350': '#785ab5',\n '400': '#684aa1',\n '450': '#593d8d',\n '500': '#4d347a',\n '550': '#462f70',\n '600': '#402b66',\n '650': '#3b275d',\n '700': '#342250',\n '750': '#271a40',\n '800': '#190f2b',\n})\n\nexport const STN_ORANGE_SCALE: StnPaletteRow[] = hexScale('orange', {\n '25': '#fff9f3',\n '50': '#fff3e8',\n '75': '#ffe9d1',\n '100': '#ffd8b0',\n '150': '#ffc27f',\n '200': '#ffad57',\n '250': '#ff922b',\n '300': '#f97316',\n '350': '#f76707',\n '400': '#ea580c',\n '450': '#d9480f',\n '500': '#c2410c',\n '550': '#a9380a',\n '600': '#8f3008',\n '650': '#742706',\n '700': '#5f1f05',\n '750': '#4a1804',\n '800': '#361102',\n})\n\nexport const STN_OPACITY_BLACK_SCALE: StnPaletteRow[] = opacityScale('black')\nexport const STN_OPACITY_WHITE_SCALE: StnPaletteRow[] = opacityScale('white')\n\n/** Semantic ??brand primary (Infomap Blue · Pub `--point-color`) */\nexport const STN_SEMANTIC_PRIMARY_DARK: StnSemanticTokenRow = {\n token: 'pub.primary',\n cssVar: '--stn-primary',\n hex: '#00aeef',\n primitiveToken: 'pub.blue.400',\n}\n\nexport const STN_SEMANTIC_PRIMARY_LIGHT: StnSemanticTokenRow = {\n token: 'pub.primary',\n cssVar: '--stn-primary',\n hex: '#00aeef',\n primitiveToken: 'pub.blue.400',\n}\n\n/** Tokens ??· Primitive ???�체 */\nexport const STN_ALL_PALETTE_ROWS: StnPaletteRow[] = [\n ...STN_STATIC,\n ...STN_GRAY_SCALE,\n ...STN_RED_SCALE,\n ...STN_ORANGE_SCALE,\n ...STN_CYAN_SCALE,\n ...STN_TEAL_SCALE,\n ...STN_BLUE_SCALE,\n ...STN_COBALT_SCALE,\n ...STN_GREEN_SCALE,\n ...STN_YELLOW_SCALE,\n ...STN_PURPLE_SCALE,\n ...STN_OPACITY_BLACK_SCALE,\n ...STN_OPACITY_WHITE_SCALE,\n]\n\n/** Color Ratio 가?�드 ???�면 면적 비율 (flex ??10 ??60% · 20% · 10% · 10%) */\nexport type StnColorRatioSegment = {\n id: string\n flex: number\n topLabel: string\n bottomLabel: string\n graySteps?: readonly string[]\n hex?: string\n /** 브랜??그라?�이??미리보기 (dash-title · nav-active ?? */\n gradient?: string\n}\n\nfunction pubPrimitiveHex(family: string, step: string): string {\n const token = `pub.${family}.${step}`\n const row = [\n ...STN_STATIC,\n ...STN_GRAY_SCALE,\n ...STN_RED_SCALE,\n ...STN_ORANGE_SCALE,\n ...STN_PURPLE_SCALE,\n ...STN_TEAL_SCALE,\n ...STN_CYAN_SCALE,\n ...STN_BLUE_SCALE,\n ...STN_COBALT_SCALE,\n ].find((r) => r.token === token)\n return row?.hex ?? '#000000'\n}\n\n/** Dark ??gray elevation + white CTA + blue primary */\nexport const STN_COLOR_RATIO_SEGMENTS_DARK: StnColorRatioSegment[] = [\n {\n id: 'gray',\n flex: 6,\n topLabel: 'Gray Scale',\n bottomLabel: 'Surface · Elevation',\n graySteps: [\n pubPrimitiveHex('gray', '900'),\n pubPrimitiveHex('gray', '800'),\n pubPrimitiveHex('gray', '700'),\n pubPrimitiveHex('gray', '600'),\n pubPrimitiveHex('gray', '500'),\n pubPrimitiveHex('gray', '450'),\n ],\n },\n {\n id: 'white',\n flex: 2,\n topLabel: 'Static White',\n bottomLabel: 'CTA Button',\n hex: pubPrimitiveHex('static', 'white'),\n },\n {\n id: 'blue',\n flex: 2,\n topLabel: 'Blue Primary',\n bottomLabel: 'Point · Links',\n hex: pubPrimitiveHex('blue', '400'),\n },\n]\n\n/** Light ??gray background + black CTA + blue primary (Infomap) */\nexport const STN_COLOR_RATIO_SEGMENTS_LIGHT: StnColorRatioSegment[] = [\n {\n id: 'gray',\n flex: 6,\n topLabel: 'Gray Scale',\n bottomLabel: 'Background',\n graySteps: [\n pubPrimitiveHex('gray', '25'),\n pubPrimitiveHex('gray', '50'),\n pubPrimitiveHex('gray', '100'),\n pubPrimitiveHex('gray', '200'),\n pubPrimitiveHex('gray', '400'),\n pubPrimitiveHex('gray', '600'),\n ],\n },\n {\n id: 'black',\n flex: 2,\n topLabel: 'Static Black',\n bottomLabel: 'CTA Button',\n hex: pubPrimitiveHex('static', 'black'),\n },\n {\n id: 'blue',\n flex: 2,\n topLabel: 'Blue Primary',\n bottomLabel: 'Point · Links',\n hex: pubPrimitiveHex('blue', '400'),\n },\n]\n\n/** @deprecated {@link STN_COLOR_RATIO_SEGMENTS_LIGHT} 사용 */\nexport const STN_COLOR_RATIO_SEGMENTS = STN_COLOR_RATIO_SEGMENTS_LIGHT\n\nexport function hexToRgbString(value: string): string {\n const v = value.trim()\n if (v.startsWith('rgba(') || v.startsWith('rgb(')) return v\n const h = v.replace('#', '')\n if (h.length !== 6) return v\n const n = parseInt(h, 16)\n const r = (n >> 16) & 255\n const g = (n >> 8) & 255\n const b = n & 255\n return `rgb(${r}, ${g}, ${b})`\n}\n\nexport function paletteToJsonRecord(rows: StnPaletteRow[]): Record<string, string> {\n const o: Record<string, string> = {}\n for (const row of rows) {\n o[row.token] = row.hex\n }\n return o\n}\n\nexport type SemanticJsonEntry = {\n primitive: string\n hex: string\n pubVar?: string\n}\n\nexport function semanticPaletteToJsonRecord(\n rows: Array<StnSemanticTokenRow & { pubVar?: string }>,\n): Record<string, SemanticJsonEntry> {\n const o: Record<string, SemanticJsonEntry> = {}\n for (const row of rows) {\n const entry: SemanticJsonEntry = { primitive: row.primitiveToken, hex: row.hex }\n if (row.pubVar) entry.pubVar = row.pubVar\n o[row.token] = entry\n }\n return o\n}\n\n/** DS 문서??축약 alias (--stn-dm-* · Gray Scale 문서?� ?�동) */\nexport const STN_SEMANTIC_DS_ALIAS_DARK: StnSemanticTokenRow[] = [\n { token: 'pub.dark.ds.fill', cssVar: '--stn-dm-fill', hex: '#e6ebf0', primitiveToken: 'pub.gray.100' },\n { token: 'pub.dark.ds.subtext', cssVar: '--stn-dm-subtext', hex: '#c8d0d9', primitiveToken: 'pub.gray.200' },\n { token: 'pub.dark.ds.border', cssVar: '--stn-dm-border', hex: '#77818d', primitiveToken: 'pub.gray.450' },\n { token: 'pub.dark.ds.surface', cssVar: '--stn-dm-surface', hex: '#21252a', primitiveToken: 'pub.gray.800' },\n { token: 'pub.dark.ds.icon.default', cssVar: '--ico-default', hex: '#e6ebf0', primitiveToken: 'pub.gray.100' },\n { token: 'pub.dark.ds.icon.muted', cssVar: '--ico-muted', hex: 'rgba(255,255,255,0.55)', primitiveToken: 'pub.static.white · 55%' },\n { token: 'pub.dark.ds.icon.side', cssVar: '--side-font', hex: 'rgba(255,255,255,0.70)', primitiveToken: 'pub.static.white · 70%' },\n { token: 'pub.dark.ds.icon.inline', cssVar: '--icon-font', hex: 'rgba(255,255,255,0.80)', primitiveToken: 'pub.static.white · 80%' },\n]\n\n/** Light · elevation L0?�L4 �?UI ?�맨??(--stn-lm-* · pub.gray.*) */\nexport const STN_SEMANTIC_DS_ALIAS_LIGHT: StnSemanticTokenRow[] = [\n { token: 'pub.light.ds.fill', cssVar: '--stn-lm-fill', hex: '#f7f9fb', primitiveToken: 'pub.gray.25' },\n { token: 'pub.light.ds.surface', cssVar: '--stn-lm-surface', hex: '#ffffff', primitiveToken: 'pub.static.white' },\n { token: 'pub.light.ds.border', cssVar: '--stn-lm-border', hex: '#c8d0d9', primitiveToken: 'pub.gray.200' },\n { token: 'pub.light.ds.subtext', cssVar: '--stn-lm-subtext', hex: '#66707b', primitiveToken: 'pub.gray.500' },\n {\n token: 'pub.light.ds.elev.0',\n cssVar: '--stn-elevation-surface-0',\n hex: '#ffffff',\n primitiveToken: 'pub.static.white',\n },\n {\n token: 'pub.light.ds.elev.2',\n cssVar: '--stn-elevation-surface-2',\n hex: '#ffffff',\n primitiveToken: 'pub.static.white',\n },\n]\n\n/** ?�이???�마 ?�맨????brand + 01 PC_HTML_Revision theme.css 근사 매핑 */\nexport const STN_SEMANTIC_LIGHT_ROWS: StnSemanticTokenRow[] = [\n STN_SEMANTIC_PRIMARY_LIGHT,\n ...STN_FEEDBACK_SEMANTIC_ROWS,\n ...STN_GRADE_SEMANTIC_ROWS,\n ...STN_SEMANTIC_DS_ALIAS_LIGHT,\n ...STN_THEME_SEMANTIC_LIGHT_ROWS,\n]\n\n/** ?�크 ?�마 ?�맨??*/\nexport const STN_SEMANTIC_DARK_ROWS: StnSemanticTokenRow[] = [\n STN_SEMANTIC_PRIMARY_DARK,\n ...STN_FEEDBACK_SEMANTIC_ROWS,\n ...STN_GRADE_SEMANTIC_ROWS,\n ...STN_SEMANTIC_DS_ALIAS_DARK,\n ...STN_THEME_SEMANTIC_DARK_ROWS,\n]\n"],"mappings":"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","names":[]}
|
package/dist/cli.js
CHANGED
package/dist/data/index.js
CHANGED
|
@@ -135,7 +135,7 @@ import {
|
|
|
135
135
|
import {
|
|
136
136
|
STN_UI_VERSION,
|
|
137
137
|
STN_UI_VERSION_LABEL
|
|
138
|
-
} from "../chunk-
|
|
138
|
+
} from "../chunk-OGCKPHGD.js";
|
|
139
139
|
import {
|
|
140
140
|
STN_PAGE_ENTER_MOTION_INTRO,
|
|
141
141
|
STN_PAGE_ENTER_MOTION_ROWS,
|
|
@@ -280,7 +280,7 @@ import {
|
|
|
280
280
|
hexToRgbString,
|
|
281
281
|
paletteToJsonRecord,
|
|
282
282
|
semanticPaletteToJsonRecord
|
|
283
|
-
} from "../chunk-
|
|
283
|
+
} from "../chunk-YN774RCQ.js";
|
|
284
284
|
import {
|
|
285
285
|
STN_THEME_SEMANTIC_DARK_ROWS,
|
|
286
286
|
STN_THEME_SEMANTIC_LIGHT_ROWS
|
|
@@ -422,7 +422,7 @@ import {
|
|
|
422
422
|
STN_LAYER0_BACKGROUND_USAGE_HTML,
|
|
423
423
|
STN_LAYER0_BACKGROUND_VARIANT_ROWS,
|
|
424
424
|
STN_LAYER0_MAP_LIGHT_OVERLAY
|
|
425
|
-
} from "../chunk-
|
|
425
|
+
} from "../chunk-HJCUNRB3.js";
|
|
426
426
|
import {
|
|
427
427
|
STN_CDN_ASSET_BASE,
|
|
428
428
|
STN_LAYER0_BACKGROUND_ASSET_PATHS,
|
|
@@ -20,9 +20,9 @@ declare const STN_LAYER0_BACKGROUND_FIGMA: {
|
|
|
20
20
|
readonly dashboard: "40004209:78300";
|
|
21
21
|
readonly dashboardDark: "40004209:78300";
|
|
22
22
|
};
|
|
23
|
-
type StnLayer0BackgroundKind = 'color' | 'image';
|
|
24
|
-
/** Figma 예제 프리셋 — color 1종 · image 5종 (light/dark 자동 전환) */
|
|
25
|
-
type StnLayer0BackgroundPreset = 'none' | 'showroom-a' | 'showroom-b' | 'map-light' | 'login' | 'dashboard';
|
|
23
|
+
type StnLayer0BackgroundKind = 'color' | 'gradient' | 'image';
|
|
24
|
+
/** Figma 예제 프리셋 — color 1종 · gradient 1종 · image 5종 (light/dark 자동 전환) */
|
|
25
|
+
type StnLayer0BackgroundPreset = 'none' | 'gradient' | 'showroom-a' | 'showroom-b' | 'map-light' | 'login' | 'dashboard';
|
|
26
26
|
|
|
27
27
|
declare const STN_LAYER0_BACKGROUND_INTRO = "\uD398\uC774\uC9C0 \uCD5C\uD558\uB2E8 \uB808\uBCA8(Level 0)\uC5D0 \uC704\uCE58\uD558\uB294 \uC2DC\uC2A4\uD15C \uBC14\uB2E5\uBA74 \uBC30\uACBD \uD328\uD134\uC785\uB2C8\uB2E4. \uB2E8\uC0C9 \uCEEC\uB7EC \uBC0F \uB9F5\u00B7\uD1A0\uD3F4\uB85C\uC9C0 \uCE94\uBC84\uC2A4 \uBC30\uACBD \uC774\uBBF8\uC9C0\uB97C `StnLayer0BackgroundPreset`\uC73C\uB85C \uC190\uC27D\uAC8C \uC801\uC6A9\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.";
|
|
28
28
|
declare const STN_LAYER0_BACKGROUND_VARIANT_ROWS: readonly [{
|
|
@@ -66,7 +66,7 @@ declare const STN_LAYER0_BACKGROUND_USAGE = "import {\n StnLayer,\n StnLayer0B
|
|
|
66
66
|
declare const STN_LAYER0_BACKGROUND_USAGE_HTML = "<!-- L0 background \u2014 color / image -->\n<div class=\"stn-elev-0 stn-layer0-bg\">\n <!-- color -->\n <div class=\"stn-layer0-bg color default\" aria-hidden=\"true\"></div>\n\n <!-- \uB610\uB294 image -->\n <div\n class=\"stn-layer0-bg image\"\n style=\"--stn-layer0-bg-image: url('/assets/bg-light.png')\"\n aria-hidden=\"true\"\n ></div>\n\n <main class=\"stn-elev-1\"><!-- L1 content --></main>\n</div>";
|
|
67
67
|
declare const STN_LAYER0_MAP_LIGHT_OVERLAY = 0.2;
|
|
68
68
|
/** Patterns → Background playground 프리셋 (UI 라벨 · 내부 variant) */
|
|
69
|
-
type StnLayer0BackgroundPlaygroundPresetId = 'dashboard' | 'color' | 'map' | 'topology' | 'none';
|
|
69
|
+
type StnLayer0BackgroundPlaygroundPresetId = 'dashboard' | 'color' | 'gradient' | 'map' | 'topology' | 'none';
|
|
70
70
|
declare const STN_LAYER0_BACKGROUND_PLAYGROUND_PRESETS: {
|
|
71
71
|
id: StnLayer0BackgroundPlaygroundPresetId;
|
|
72
72
|
label: string;
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
STN_LAYER0_BACKGROUND_USAGE_HTML,
|
|
7
7
|
STN_LAYER0_BACKGROUND_VARIANT_ROWS,
|
|
8
8
|
STN_LAYER0_MAP_LIGHT_OVERLAY
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-HJCUNRB3.js";
|
|
10
10
|
import {
|
|
11
11
|
STN_LAYER0_BACKGROUND_ASSET_PATHS,
|
|
12
12
|
STN_LAYER0_BACKGROUND_DEMO_IMAGES
|
|
@@ -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.67";
|
|
3
|
+
declare const STN_UI_VERSION_LABEL = "v0.1.67";
|
|
4
4
|
|
|
5
5
|
export { STN_UI_VERSION, STN_UI_VERSION_LABEL };
|
package/dist/index.js
CHANGED
|
@@ -140,7 +140,7 @@ import {
|
|
|
140
140
|
import {
|
|
141
141
|
STN_UI_VERSION,
|
|
142
142
|
STN_UI_VERSION_LABEL
|
|
143
|
-
} from "./chunk-
|
|
143
|
+
} from "./chunk-OGCKPHGD.js";
|
|
144
144
|
import {
|
|
145
145
|
STN_PAGE_ENTER_MOTION_INTRO,
|
|
146
146
|
STN_PAGE_ENTER_MOTION_ROWS,
|
|
@@ -285,7 +285,7 @@ import {
|
|
|
285
285
|
hexToRgbString,
|
|
286
286
|
paletteToJsonRecord,
|
|
287
287
|
semanticPaletteToJsonRecord
|
|
288
|
-
} from "./chunk-
|
|
288
|
+
} from "./chunk-YN774RCQ.js";
|
|
289
289
|
import {
|
|
290
290
|
STN_THEME_SEMANTIC_DARK_ROWS,
|
|
291
291
|
STN_THEME_SEMANTIC_LIGHT_ROWS
|
|
@@ -427,7 +427,7 @@ import {
|
|
|
427
427
|
STN_LAYER0_BACKGROUND_USAGE_HTML,
|
|
428
428
|
STN_LAYER0_BACKGROUND_VARIANT_ROWS,
|
|
429
429
|
STN_LAYER0_MAP_LIGHT_OVERLAY
|
|
430
|
-
} from "./chunk-
|
|
430
|
+
} from "./chunk-HJCUNRB3.js";
|
|
431
431
|
import {
|
|
432
432
|
STN_CDN_ASSET_BASE,
|
|
433
433
|
STN_LAYER0_BACKGROUND_ASSET_PATHS,
|
package/package.json
CHANGED
|
@@ -5,16 +5,6 @@
|
|
|
5
5
|
* modifier는 `.stn-layer0-bg.color` / `.stn-layer0-bg.image`로만 매칭
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
:root {
|
|
9
|
-
--stn-layer0-bg-gradient:
|
|
10
|
-
linear-gradient(
|
|
11
|
-
224.38deg,
|
|
12
|
-
color-mix(in srgb, var(--stn-layer0-wash) 50%, transparent) 0%,
|
|
13
|
-
color-mix(in srgb, var(--stn-static-white) 50%, transparent) 67.15%
|
|
14
|
-
),
|
|
15
|
-
linear-gradient(90deg, var(--stn-static-white) 0%, var(--stn-static-white) 100%);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
8
|
.stn-layer0-bg {
|
|
19
9
|
position: absolute;
|
|
20
10
|
inset: 0;
|
|
@@ -25,28 +15,29 @@
|
|
|
25
15
|
pointer-events: none;
|
|
26
16
|
}
|
|
27
17
|
|
|
28
|
-
/* Color preset — named look은 `.default` (
|
|
18
|
+
/* 1. Color preset — named look은 `.default` (다크/라이트 모두 순수 단색 바닥면) */
|
|
29
19
|
.stn-layer0-bg.color,
|
|
30
20
|
.stn-layer0-bg.color.default {
|
|
31
21
|
background-color: var(--stn-elevation-surface-0);
|
|
32
22
|
background-image: none;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/* 2. Gradient preset — 공식 앰비언트 그라데이션 바닥면 (다크/라이트 자동 전환) */
|
|
26
|
+
.stn-layer0-bg.gradient {
|
|
27
|
+
background-color: var(--stn-elevation-surface-0);
|
|
28
|
+
background-image: var(--stn-gradient-l0-background);
|
|
33
29
|
background-size: cover;
|
|
34
30
|
background-position: center;
|
|
35
31
|
background-repeat: no-repeat;
|
|
36
32
|
}
|
|
37
33
|
|
|
38
|
-
[data-theme='light'] .stn-layer0-bg.color {
|
|
39
|
-
background-color: var(--stn-elevation-surface-0, var(--stn-static-white));
|
|
40
|
-
background-image: var(--stn-layer0-bg-gradient);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
34
|
/* Image preset */
|
|
44
35
|
.stn-layer0-bg.image {
|
|
45
36
|
background-color: var(--stn-elevation-surface-0);
|
|
46
37
|
}
|
|
47
38
|
|
|
48
39
|
[data-theme='light'] .stn-layer0-bg.image {
|
|
49
|
-
background-color: var(--stn-elevation-surface-0
|
|
40
|
+
background-color: var(--stn-elevation-surface-0);
|
|
50
41
|
}
|
|
51
42
|
|
|
52
43
|
.stn-layer0-bg__media {
|
|
@@ -51,8 +51,6 @@
|
|
|
51
51
|
--stn-elevation-surface-1: var(--stn-opacity-black-0);
|
|
52
52
|
--stn-elevation-surface-2: var(--stn-gray-800);
|
|
53
53
|
--stn-elevation-surface-widget: var(--stn-gray-850);
|
|
54
|
-
--stn-elevation-surface-3: var(--stn-gray-700);
|
|
55
|
-
--stn-elevation-surface-4: var(--stn-opacity-black-0);
|
|
56
54
|
--stn-dim-bg: color-mix(in srgb, var(--stn-gray-950) 50%, transparent);
|
|
57
55
|
--stn-dim-blur: 4px;
|
|
58
56
|
--stn-input-bg: var(--stn-gray-900);
|
|
@@ -645,8 +643,6 @@
|
|
|
645
643
|
--stn-elevation-surface-1: var(--stn-opacity-black-0);
|
|
646
644
|
--stn-elevation-surface-2: var(--stn-static-white);
|
|
647
645
|
--stn-elevation-surface-widget: var(--stn-static-white);
|
|
648
|
-
--stn-elevation-surface-3: var(--stn-static-white);
|
|
649
|
-
--stn-elevation-surface-4: var(--stn-opacity-black-0);
|
|
650
646
|
--stn-dim-bg: color-mix(in srgb, var(--stn-gray-900) 20%, transparent);
|
|
651
647
|
--stn-dim-blur: 2px;
|
|
652
648
|
--stn-input-bg: var(--stn-static-white);
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
:root,
|
|
10
10
|
[data-theme='dark'] {
|
|
11
|
+
--stn-gradient-l0-background: linear-gradient(135deg, var(--stn-gray-850) 0%, var(--stn-gray-950) 100%);
|
|
11
12
|
--stn-gradient-main: linear-gradient(135deg, var(--stn-blue-300) 0%, var(--stn-purple-250) 100%);
|
|
12
13
|
--stn-gradient-primary: linear-gradient(135deg, var(--stn-blue-500) 0%, var(--stn-blue-350) 100%);
|
|
13
14
|
--stn-gradient-secondary: linear-gradient(135deg, var(--stn-purple-500) 0%, var(--stn-purple-300) 100%);
|
|
@@ -26,6 +27,7 @@
|
|
|
26
27
|
}
|
|
27
28
|
|
|
28
29
|
[data-theme='light'] {
|
|
30
|
+
--stn-gradient-l0-background: linear-gradient(224.38deg, color-mix(in srgb, var(--stn-layer0-wash) 50%, transparent) 0%, color-mix(in srgb, var(--stn-elevation-surface-0) 50%, transparent) 67.15%), linear-gradient(90deg, var(--stn-elevation-surface-0) 0%, var(--stn-elevation-surface-0) 100%);
|
|
29
31
|
--stn-gradient-main: linear-gradient(135deg, var(--stn-blue-400) 0%, var(--stn-purple-400) 100%);
|
|
30
32
|
--stn-gradient-primary: linear-gradient(135deg, var(--stn-blue-600) 0%, var(--stn-blue-400) 100%);
|
|
31
33
|
--stn-gradient-secondary: linear-gradient(135deg, var(--stn-purple-600) 0%, var(--stn-purple-400) 100%);
|
package/styles/utils/reset.css
CHANGED
|
@@ -130,13 +130,13 @@ strong {
|
|
|
130
130
|
|
|
131
131
|
body {
|
|
132
132
|
margin: 0;
|
|
133
|
-
color: var(--stn-text-primary
|
|
133
|
+
color: var(--stn-text-primary);
|
|
134
134
|
font-size: var(--stn-text-body-md-size);
|
|
135
135
|
font-family: var(--stn-font-body);
|
|
136
136
|
font-weight: var(--stn-text-body-md-weight);
|
|
137
137
|
line-height: var(--stn-text-body-md-line-height);
|
|
138
138
|
font-variant: tabular-nums;
|
|
139
|
-
background-color: var(--stn-
|
|
139
|
+
background-color: var(--stn-elevation-surface-0);
|
|
140
140
|
font-feature-settings: "tnum";
|
|
141
141
|
}
|
|
142
142
|
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/data/stnLayer0Background.ts"],"sourcesContent":["/**\n * Infomap Layer 0 background pattern\n * Light: 41267 · 186876 · 186860 · 202895\n * Dark: 80488 · 35369 · 84014 · 91183\n * @see StnLayer0Background · layouts/stn-layer0-bg.css\n */\n\nexport const STN_LAYER0_BACKGROUND_FIGMA = {\n none: '40000040:41267',\n noneDark: '40000040:80488',\n showroomA: '40000042:186876',\n showroomADark: '40002117:35369',\n showroomB: '40000042:186860',\n showroomBDark: '40000040:84014',\n mapLight: '40000042:202895',\n mapDark: '40000040:91183',\n login: '40004209:78293',\n loginDark: '40004209:78293',\n dashboard: '40004209:78300',\n dashboardDark: '40004209:78300',\n} as const\n\nexport type StnLayer0BackgroundKind = 'color' | 'image'\n\n/** Figma 예제 프리셋 — color 1종 · image 5종 (light/dark 자동 전환) */\nexport type StnLayer0BackgroundPreset = 'none' | 'showroom-a' | 'showroom-b' | 'map-light' | 'login' | 'dashboard'\n\n/** Doc site · Pub HTML 기준 경로 — 앱에서는 동일 경로 또는 자산 URL로 교체 */\nexport {\n STN_LAYER0_BACKGROUND_ASSET_PATHS,\n STN_LAYER0_BACKGROUND_DEMO_IMAGES,\n} from './stnLayer0BackgroundAssets'\n\nexport const STN_LAYER0_BACKGROUND_INTRO =\n '페이지 최하단 레벨(Level 0)에 위치하는 시스템 바닥면 배경 패턴입니다. 단색 컬러 및 맵·토폴로지 캔버스 배경 이미지를 `StnLayer0BackgroundPreset`으로 손쉽게 적용할 수 있습니다.'\n\nexport const STN_LAYER0_BACKGROUND_VARIANT_ROWS = [\n {\n preset: 'none',\n kind: 'color',\n figma: STN_LAYER0_BACKGROUND_FIGMA.none,\n figmaDark: STN_LAYER0_BACKGROUND_FIGMA.noneDark,\n note: 'Light gradient · Dark elevation surface-0 (gray-950)',\n },\n {\n preset: 'dashboard',\n kind: 'image',\n figma: STN_LAYER0_BACKGROUND_FIGMA.dashboard,\n figmaDark: STN_LAYER0_BACKGROUND_FIGMA.dashboardDark,\n note: 'Dashboard · light/dark pair',\n },\n {\n preset: 'showroom-a',\n kind: 'image',\n figma: STN_LAYER0_BACKGROUND_FIGMA.showroomA,\n figmaDark: STN_LAYER0_BACKGROUND_FIGMA.showroomADark,\n note: 'Showroom A · dark logo stage',\n },\n {\n preset: 'showroom-b',\n kind: 'image',\n figma: STN_LAYER0_BACKGROUND_FIGMA.showroomB,\n figmaDark: STN_LAYER0_BACKGROUND_FIGMA.showroomBDark,\n note: 'Showroom B · dark + radial vignette',\n },\n {\n preset: 'map-light',\n kind: 'image',\n figma: STN_LAYER0_BACKGROUND_FIGMA.mapLight,\n figmaDark: STN_LAYER0_BACKGROUND_FIGMA.mapDark,\n note: 'Map light(+20% white) · Map dark',\n },\n {\n preset: 'login',\n kind: 'image',\n figma: STN_LAYER0_BACKGROUND_FIGMA.login,\n figmaDark: STN_LAYER0_BACKGROUND_FIGMA.loginDark,\n note: 'Login · light/dark pair',\n },\n] as const satisfies ReadonlyArray<{\n preset: StnLayer0BackgroundPreset\n kind: StnLayer0BackgroundKind\n figma: string\n figmaDark: string\n note: string\n}>\n\nexport const STN_LAYER0_BACKGROUND_USAGE = `import {\n StnLayer,\n StnLayer0Background,\n StnLayer0BackgroundPreset,\n DashboardPageScaffold,\n} from '@stn-uiux/pub-ui-react'\n\n/** Map / Topology — wrapClassName만 (맵 배경은 elevation CSS) */\n<DashboardPageScaffold\n shell=\"layer\"\n wrapClassName=\"stn-page--map-bg\"\n gnb={…}\n header={…}\n/>\n\n/** 일반 페이지 — L0 color (default = elevation-surface-0) */\n<StnLayer.Background>\n <StnLayer0Background color=\"default\" />\n <StnLayer.Content>{/* 본문 */}</StnLayer.Content>\n</StnLayer.Background>\n\n/** Figma image 프리셋 — showroom · map · login */\n<StnLayer.Background>\n <StnLayer0BackgroundPreset variant=\"map-light\" />\n <StnLayer.Content>{/* 본문 */}</StnLayer.Content>\n</StnLayer.Background>\n\n<StnLayer.Background>\n <StnLayer0BackgroundPreset variant=\"login\" />\n <StnLayer.Content>{/* 본문 */}</StnLayer.Content>\n</StnLayer.Background>\n\n/** 직접 조합 — light/dark 이미지 */\n<StnLayer.Background>\n <StnLayer0Background\n kind=\"image\"\n src=\"/assets/bg-light.png\"\n srcDark=\"/assets/bg-dark.png\"\n />\n <StnLayer.Content>…</StnLayer.Content>\n</StnLayer.Background>`\n\nexport const STN_LAYER0_BACKGROUND_USAGE_HTML = `<!-- L0 background — color / image -->\n<div class=\"stn-elev-0 stn-layer0-bg\">\n <!-- color -->\n <div class=\"stn-layer0-bg color default\" aria-hidden=\"true\"></div>\n\n <!-- 또는 image -->\n <div\n class=\"stn-layer0-bg image\"\n style=\"--stn-layer0-bg-image: url('/assets/bg-light.png')\"\n aria-hidden=\"true\"\n ></div>\n\n <main class=\"stn-elev-1\"><!-- L1 content --></main>\n</div>`\n\nexport const STN_LAYER0_MAP_LIGHT_OVERLAY = 0.2\n\n/** Patterns → Background playground 프리셋 (UI 라벨 · 내부 variant) */\nexport type StnLayer0BackgroundPlaygroundPresetId =\n | 'dashboard'\n | 'color'\n | 'map'\n | 'topology'\n | 'none'\n\nexport const STN_LAYER0_BACKGROUND_PLAYGROUND_PRESETS: {\n id: StnLayer0BackgroundPlaygroundPresetId\n label: string\n asset: string\n variant?: StnLayer0BackgroundPreset\n}[] = [\n { id: 'dashboard', label: 'dashboard', asset: '대시보드 배경 (dashboard-light / dark)', variant: 'dashboard' },\n { id: 'color', label: 'color', asset: '단색 테마 배경 (color gradient)', variant: 'none' },\n { id: 'map', label: 'map', asset: 'GIS 지도 배경 (map-light)', variant: 'map-light' },\n { id: 'topology', label: 'topology', asset: '토폴로지 배경 (showroom-b)', variant: 'showroom-b' },\n { id: 'none', label: 'none', asset: 'L0 배경 없음 (외부 캔버스 전용)', variant: 'none' },\n]\n"],"mappings":";AAOO,IAAM,8BAA8B;AAAA,EACzC,MAAM;AAAA,EACN,UAAU;AAAA,EACV,WAAW;AAAA,EACX,eAAe;AAAA,EACf,WAAW;AAAA,EACX,eAAe;AAAA,EACf,UAAU;AAAA,EACV,SAAS;AAAA,EACT,OAAO;AAAA,EACP,WAAW;AAAA,EACX,WAAW;AAAA,EACX,eAAe;AACjB;AAaO,IAAM,8BACX;AAEK,IAAM,qCAAqC;AAAA,EAChD;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO,4BAA4B;AAAA,IACnC,WAAW,4BAA4B;AAAA,IACvC,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO,4BAA4B;AAAA,IACnC,WAAW,4BAA4B;AAAA,IACvC,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO,4BAA4B;AAAA,IACnC,WAAW,4BAA4B;AAAA,IACvC,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO,4BAA4B;AAAA,IACnC,WAAW,4BAA4B;AAAA,IACvC,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO,4BAA4B;AAAA,IACnC,WAAW,4BAA4B;AAAA,IACvC,MAAM;AAAA,EACR;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,OAAO,4BAA4B;AAAA,IACnC,WAAW,4BAA4B;AAAA,IACvC,MAAM;AAAA,EACR;AACF;AAQO,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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0CpC,IAAM,mCAAmC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAezC,IAAM,+BAA+B;AAUrC,IAAM,2CAKP;AAAA,EACJ,EAAE,IAAI,aAAa,OAAO,aAAa,OAAO,kEAAoC,SAAS,YAAY;AAAA,EACvG,EAAE,IAAI,SAAS,OAAO,SAAS,OAAO,2DAA6B,SAAS,OAAO;AAAA,EACnF,EAAE,IAAI,OAAO,OAAO,OAAO,OAAO,6CAAyB,SAAS,YAAY;AAAA,EAChF,EAAE,IAAI,YAAY,OAAO,YAAY,OAAO,sDAAwB,SAAS,aAAa;AAAA,EAC1F,EAAE,IAAI,QAAQ,OAAO,QAAQ,OAAO,+EAAwB,SAAS,OAAO;AAC9E;","names":[]}
|
package/dist/chunk-XPARWRVD.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/data/stnPackageVersion.ts"],"sourcesContent":["/** Package version constants */\nexport const STN_UI_VERSION = '0.1.58'\nexport const STN_UI_VERSION_LABEL = 'v0.1.58'\n"],"mappings":";AACO,IAAM,iBAAiB;AACvB,IAAM,uBAAuB;","names":[]}
|