@xfilecom/xframe 0.1.26 → 0.1.28
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/defaults.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 앱·브랜드별 토큰 + (선택) atoms 보강.
|
|
3
3
|
*
|
|
4
|
+
* xframe 레포에서 example 을 `yarn dev` 할 때는 이 템플릿이 아니라
|
|
5
|
+
* `example/web/shared/src/styles/xfc-theme.css` 를 고치세요 (Vite 가 그 경로를 import 합니다).
|
|
6
|
+
*
|
|
4
7
|
* 엔트리(main.tsx) 권장 순서:
|
|
5
8
|
* 1. @xfilecom/front-core/tokens.css
|
|
6
9
|
* 2. @xfilecom/front-core/base.css
|
|
@@ -9,22 +12,84 @@
|
|
|
9
12
|
*
|
|
10
13
|
* :root 의 --xfc-* 는 어느 시점에 두어도 var() 해석 시 최종 값이 쓰이고,
|
|
11
14
|
* 아래 .xfc-btn 규칙은 base.css 다음에 로드되어야 덮어쓰기가 됩니다.
|
|
15
|
+
*
|
|
16
|
+
* ---------------------------------------------------------------------------
|
|
17
|
+
* @xfilecom/front-core 참조 인덱스 (여기서 덮어쓸 대상을 빠르게 찾기)
|
|
18
|
+
* 원본: 패키지 src/tokens.css · src/base.css · src/index.ts
|
|
19
|
+
* (패키지 메이저 시 목록이 달라질 수 있음 — 필요하면 소스 파일을 직접 확인)
|
|
20
|
+
* ---------------------------------------------------------------------------
|
|
21
|
+
*
|
|
22
|
+
* [tokens.css — :root 변수]
|
|
23
|
+
* Surfaces: --xfc-bg, --xfc-bg-elevated, --xfc-bg-muted, --xfc-bg-disabled
|
|
24
|
+
* Text: --xfc-fg, --xfc-fg-strong, --xfc-fg-label, --xfc-fg-muted,
|
|
25
|
+
* --xfc-fg-placeholder, --xfc-fg-icon
|
|
26
|
+
* Lines: --xfc-border, --xfc-border-strong, --xfc-border-header
|
|
27
|
+
* Brand: --xfc-accent, --xfc-accent-hover, --xfc-accent-fg
|
|
28
|
+
* Status: --xfc-danger, --xfc-success, --xfc-success-bg, --xfc-warning, --xfc-warning-bg
|
|
29
|
+
* Toast: --xfc-toast-info-bg, --xfc-toast-success-bg, --xfc-toast-warn-bg,
|
|
30
|
+
* --xfc-toast-error-bg, --xfc-toast-shadow, --xfc-toast-radius
|
|
31
|
+
* Effects: --xfc-input-shadow, --xfc-card-shadow
|
|
32
|
+
* Radius: --xfc-radius-xs|sm|md|lg|full
|
|
33
|
+
* Space: --xfc-space-xs|sm|md|lg|xl|2xl
|
|
34
|
+
* Type: --xfc-font-sans, --xfc-font-mono, --xfc-text-display|appbar|section|body|small|input,
|
|
35
|
+
* --xfc-leading-tight|normal|label|menu
|
|
36
|
+
* Focus: --xfc-focus-ring
|
|
37
|
+
*
|
|
38
|
+
* [base.css — 전역]
|
|
39
|
+
* *, body(폰트·배경·색), a / a:hover
|
|
40
|
+
*
|
|
41
|
+
* [base.css — Typography .xfc-text]
|
|
42
|
+
* 베이스 .xfc-text
|
|
43
|
+
* 변형: --title, --appbar, --section, --subtitle, --body, --small, --muted, --accent, --label-block
|
|
44
|
+
*
|
|
45
|
+
* [base.css — Layout]
|
|
46
|
+
* .xfc-stack + --column | --row | --gap-none|sm|md|lg | --align-start|center|stretch
|
|
47
|
+
* .xfc-box + --p-sm | --p-md | --p-lg
|
|
48
|
+
* .xfc-card
|
|
49
|
+
*
|
|
50
|
+
* [base.css — Button .xfc-btn]
|
|
51
|
+
* variant 클래스: --primary, --secondary, --outline, --muted, --ghost
|
|
52
|
+
* (React: Button variant prop 과 동일 이름)
|
|
53
|
+
*
|
|
54
|
+
* [base.css — Input]
|
|
55
|
+
* .xfc-input, ::placeholder, :focus, :disabled
|
|
56
|
+
*
|
|
57
|
+
* [base.css — Badge .xfc-badge]
|
|
58
|
+
* --neutral, --accent, --success, --danger
|
|
59
|
+
* (React: Badge tone prop)
|
|
60
|
+
*
|
|
61
|
+
* [base.css — LoadingOverlay]
|
|
62
|
+
* .xfc-loading-overlay, --spinner, --message (+ keyframes, reduced-motion)
|
|
63
|
+
*
|
|
64
|
+
* [base.css — Toast]
|
|
65
|
+
* .xfc-toast-list, .xfc-toast + --info|--success|--warn|--error
|
|
66
|
+
* .xfc-toast__icon, .xfc-toast__message, .xfc-toast-dismiss
|
|
67
|
+
*
|
|
68
|
+
* [base.css — Inline errors]
|
|
69
|
+
* .xfc-inline-error-list, .xfc-inline-error-item, .xfc-inline-error-dismiss
|
|
70
|
+
*
|
|
71
|
+
* [index.ts — export 목록]
|
|
72
|
+
* Badge, Box, Button, Card, InlineErrorList, Input, LoadingOverlay, Stack, Text,
|
|
73
|
+
* Toast, ToastList, ToastSeverityIcon (+ 각종 Props·ToastEntry 등 타입)
|
|
74
|
+
* 상수: XFRAME_FRONT_CORE_VERSION, tokenVars (위 --xfc-* 이름을 TS에서 참조할 때)
|
|
75
|
+
* 서브패스 import: @xfilecom/front-core/atoms
|
|
76
|
+
* ---------------------------------------------------------------------------
|
|
12
77
|
*/
|
|
13
78
|
|
|
14
|
-
:root {
|
|
15
|
-
--xfc-accent: #
|
|
79
|
+
/* :root {
|
|
80
|
+
--xfc-accent: #143c38;
|
|
16
81
|
--xfc-accent-hover: #0f766e;
|
|
17
82
|
--xfc-accent-fg: #ffffff;
|
|
18
83
|
--xfc-bg-muted: #f0fdfa;
|
|
19
84
|
--xfc-radius-xs: 10px;
|
|
20
85
|
--xfc-focus-ring: 0 0 0 3px color-mix(in srgb, var(--xfc-accent) 30%, transparent);
|
|
21
|
-
/* 버튼·인풋 등 padding 에 쓰이는 토큰 */
|
|
22
86
|
--xfc-space-lg: 18px;
|
|
23
87
|
--xfc-space-xl: 26px;
|
|
24
|
-
}
|
|
88
|
+
}
|
|
89
|
+
*/
|
|
25
90
|
|
|
26
91
|
/* 스캐폴드 기본 예시 — primary 버튼 톤 (base.css 이후 로드 전제) */
|
|
27
|
-
.xfc-btn {
|
|
92
|
+
/* .xfc-btn {
|
|
28
93
|
min-height: 44px;
|
|
29
94
|
font-weight: 800;
|
|
30
95
|
letter-spacing: 0.08em;
|
|
@@ -33,7 +98,7 @@
|
|
|
33
98
|
}
|
|
34
99
|
|
|
35
100
|
.xfc-btn--primary {
|
|
36
|
-
border:
|
|
101
|
+
border: 1px solid color-mix(in srgb, var(--xfc-accent-fg) 35%, transparent);
|
|
37
102
|
box-shadow:
|
|
38
103
|
0 1px 0 color-mix(in srgb, #000 18%, transparent),
|
|
39
104
|
0 8px 24px color-mix(in srgb, var(--xfc-accent) 40%, transparent);
|
|
@@ -43,4 +108,5 @@
|
|
|
43
108
|
box-shadow:
|
|
44
109
|
0 2px 0 color-mix(in srgb, #000 22%, transparent),
|
|
45
110
|
0 10px 28px color-mix(in srgb, var(--xfc-accent) 48%, transparent);
|
|
46
|
-
}
|
|
111
|
+
}
|
|
112
|
+
*/
|