@uniai-fe/uds-primitives 0.3.16 → 0.3.18

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.
@@ -1,263 +1,313 @@
1
- .table.table-container {
1
+ .table {
2
2
  width: 100%;
3
3
  border-collapse: collapse;
4
4
  border-spacing: 0;
5
- }
6
-
7
- .table.table-container .table-native-cell.table-th,
8
- .table.table-container .table-native-cell.table-td {
9
- vertical-align: middle;
10
- background-color: var(--table-cell-background-color);
11
- text-align: left;
12
- }
13
-
14
- // 변경: line 타입은 상/하 border 중심과 헤더/바디 높이 축을 고정한다.
15
- .table.table-container[data-layout="line"] .table-native-cell.table-th,
16
- .table.table-container[data-layout="line"] .table-native-cell.table-td {
17
- // table cell 내부 field full-bleed 계산을 위해 padding 값을 변수로 노출한다.
18
- --table-cell-padding-inline: var(--table-line-cell-padding-inline);
19
- --table-cell-padding-block: var(--table-line-cell-padding-block);
20
- border-bottom: 1px solid var(--table-border-color);
21
- }
22
-
23
- .table.table-container[data-layout="line"]
24
- .table-head
25
- .table-native-cell.table-th {
26
- height: var(--table-line-cell-height-head);
27
- border-top: 1px solid var(--table-border-color);
28
- background-color: var(--table-line-head-background-color);
29
- }
30
-
31
- .table.table-container[data-layout="line"]
32
- .table-body
33
- .table-native-cell.table-td,
34
- .table.table-container[data-layout="line"]
35
- .table-foot
36
- .table-native-cell.table-td {
37
- height: var(--table-line-cell-height-body);
38
- }
39
-
40
- // 변경: line(list) 타입에서 tbody th 셀 텍스트를 600으로 고정한다.
41
- .table.table-container[data-layout="line"]
42
- .table-body
43
- .table-native-cell.table-th
44
- .table-native-cell-text,
45
- .table.table-container[data-layout="line"]
46
- .table-body
47
- .table-native-cell.table-th
48
- .table-cell-text {
49
- font-weight: 600;
50
- }
51
-
52
- // 변경: line(list) 타입에서 rowspan 셀은 기본적으로 우측 경계선을 표시한다.
53
- .table.table-container[data-layout="line"] .table-native-cell[rowspan] {
54
- border-right: 1px solid var(--table-border-color);
55
- }
56
-
57
- // 변경: grid 타입은 모든 셀 border와 헤더 배경을 기본 제공한다.
58
- .table.table-container[data-layout="grid"] .table-native-cell.table-th,
59
- .table.table-container[data-layout="grid"] .table-native-cell.table-td {
60
- // table cell 내부 field full-bleed 계산을 위해 padding 값을 변수로 노출한다.
61
- --table-cell-padding-inline: var(--table-grid-cell-padding-inline);
62
- --table-cell-padding-block: var(--table-grid-cell-padding-block);
63
- height: var(--table-grid-cell-height);
64
- }
65
-
66
- .table.table-container[data-layout="grid"] {
67
- border-radius: var(--table-grid-border-radius);
68
- // 변경: Tooltip/Popover/Dropdown clipping을 막기 위해 grid container overflow를 제거한다.
69
- overflow: visible;
70
- // 변경: sticky cell layering 기준점을 분리해 z-index 충돌을 줄인다.
71
- isolation: isolate;
72
- }
73
-
74
- .table.table-container[data-layout="grid"]
75
- .table-head
76
- .table-native-cell.table-th {
77
- background-color: var(--table-grid-head-background-color);
78
- }
79
-
80
- // 변경: grid 타입의 row-header(th, tbody)는 항상 전용 배경색을 유지한다.
81
- .table.table-container[data-layout="grid"]
82
- .table-body
83
- .table-native-cell.table-th {
84
- background-color: var(--table-grid-row-header-background-color);
85
- }
86
-
87
- // 변경: grid foot의 th도 body row-header와 동일한 배경으로 유지해 sticky 겹침 시 시각 이탈을 방지한다.
88
- .table.table-container[data-layout="grid"]
89
- .table-foot
90
- .table-native-cell.table-th {
91
- background-color: var(--table-grid-row-header-background-color);
92
- }
93
-
94
- // 변경: grid 타입 highlighted row는 row-header(th)보다 우선해 th/td 모두 blue tint를 적용한다.
95
- .table.table-container[data-layout="grid"]
96
- .table-row[data-highlighted="true"]
97
- .table-native-cell.table-th,
98
- .table.table-container[data-layout="grid"]
99
- .table-row[data-highlighted="true"]
100
- .table-native-cell.table-td {
101
- background-color: var(--table-grid-row-highlight-background-color);
102
- }
103
-
104
- // 변경: 인라인 스타일 대신 각 row의 첫 번째 th만 sticky로 고정한다.
105
- .table.table-container .table-row > .table-native-cell.table-th:first-child {
106
- position: sticky;
107
- left: 0;
108
- }
109
-
110
- // 변경: sticky된 첫 번째 th가 td 위에서 안정적으로 보이도록 섹션별 z-index를 50단위로 분리한다.
111
- .table.table-container
112
- .table-head
113
- .table-row
114
- > .table-native-cell.table-th:first-child {
115
- z-index: 150;
116
- }
117
-
118
- .table.table-container
119
- .table-body
120
- .table-row
121
- > .table-native-cell.table-th:first-child {
122
- z-index: 100;
123
- }
124
-
125
- .table.table-container
126
- .table-foot
127
- .table-row
128
- > .table-native-cell.table-th:first-child {
129
- z-index: 50;
130
- }
131
-
132
- // 변경: scroll 시 index 0 컬럼의 첫 header th가 항상 최상단에 보이도록 z-index를 상향한다.
133
- .table.table-container
134
- .table-head
135
- .table-row:first-child
136
- > .table-native-cell.table-th:first-child {
137
- z-index: 200;
138
- }
139
-
140
- // 변경: sticky th와 겹치는 td 텍스트가 앞서 보이지 않도록 td를 기본 레이어로 고정한다.
141
- .table.table-container .table-native-cell.table-td {
142
- position: relative;
143
- z-index: 0;
144
- }
145
-
146
- // 변경: grid 코너 라운드는 cell(th/td) 자체에 직접 적용해 sticky/scroll 상황에서도 모서리 형상을 유지한다.
147
- .table.table-container[data-layout="grid"]
148
- .table-head
149
- .table-row:first-child
150
- > .table-native-cell:first-child {
151
- border-top-left-radius: var(--table-grid-border-radius);
152
- }
153
5
 
154
- .table.table-container[data-layout="grid"]
155
- .table-head
156
- .table-row:first-child
157
- > .table-native-cell:last-child {
158
- border-top-right-radius: var(--table-grid-border-radius);
159
- }
160
-
161
- .table.table-container[data-layout="grid"]
162
- .table-foot
163
- .table-row:last-child
164
- > .table-native-cell:first-child,
165
- .table.table-container[data-layout="grid"]:not([data-has-footer="true"])
166
- .table-body:last-of-type
167
- .table-row:last-child
168
- > .table-native-cell:first-child {
169
- border-bottom-left-radius: var(--table-grid-border-radius);
170
- }
171
-
172
- .table.table-container[data-layout="grid"]
173
- .table-foot
174
- .table-row:last-child
175
- > .table-native-cell:last-child,
176
- .table.table-container[data-layout="grid"]:not([data-has-footer="true"])
177
- .table-body:last-of-type
178
- .table-row:last-child
179
- > .table-native-cell:last-child {
180
- border-bottom-right-radius: var(--table-grid-border-radius);
181
- }
182
-
183
- // 변경: grid border를 native cell 아닌 cell-content에 그려 sticky 겹침/코너 clipping을 안정화한다.
184
- .table.table-container[data-layout="grid"] .table-cell-content {
185
- border-right: 1px solid var(--table-border-color);
186
- border-bottom: 1px solid var(--table-border-color);
187
- }
188
-
189
- // 변경: border-top은 thead 내부 첫 row의 cell에만 적용한다.
190
- .table.table-container[data-layout="grid"]
191
- .table-head
192
- .table-row:first-child
193
- > .table-native-cell
194
- > .table-cell-content {
195
- border-top: 1px solid var(--table-border-color);
196
- }
197
-
198
- .table.table-container[data-layout="grid"]
199
- .table-row
200
- > .table-native-cell:first-child
201
- > .table-cell-content {
202
- border-left: 1px solid var(--table-border-color);
203
- }
204
-
205
- // 변경: grid 병합(rowspan) 셀은 우측 border를 제거하고, 인접 다음 셀의 좌측 border로 경계를 표현한다.
206
- .table.table-container[data-layout="grid"]
207
- .table-row
208
- > .table-native-cell[rowspan]
209
- > .table-cell-content {
210
- border-right: 0;
211
- }
212
-
213
- .table.table-container[data-layout="grid"]
214
- .table-row
215
- > .table-native-cell[rowspan]
216
- + .table-native-cell
217
- > .table-cell-content {
218
- border-left: 1px solid var(--table-border-color);
219
- }
220
-
221
- // 변경: 요청사항(and) 맞춰 코너 셀의 th/td와 내부 cell-content 모두 동일 반경을 공유한다.
222
-
223
- .table.table-container[data-layout="grid"]
224
- .table-row:first-child
225
- > .table-native-cell:first-child
226
- .table-cell-content {
227
- border-top-left-radius: inherit;
228
- }
229
-
230
- .table.table-container[data-layout="grid"]
231
- .table-row:first-child
232
- > .table-native-cell:last-child
233
- .table-cell-content {
234
- border-top-right-radius: inherit;
235
- }
236
-
237
- .table.table-container[data-layout="grid"]
238
- .table-foot
239
- .table-row:last-child
240
- > .table-native-cell:first-child
241
- .table-cell-content,
242
- .table.table-container[data-layout="grid"]:not([data-has-footer="true"])
243
- .table-body:last-of-type
244
- .table-row:last-child
245
- > .table-native-cell:first-child
246
- .table-cell-content {
247
- border-bottom-left-radius: inherit;
248
- }
249
-
250
- .table.table-container[data-layout="grid"]
251
- .table-foot
252
- .table-row:last-child
253
- > .table-native-cell:last-child
254
- .table-cell-content,
255
- .table.table-container[data-layout="grid"]:not([data-has-footer="true"])
256
- .table-body:last-of-type
257
- .table-row:last-child
258
- > .table-native-cell:last-child
259
- .table-cell-content {
260
- border-bottom-right-radius: inherit;
6
+ // 변경: root anchor(.table)는 고정하고, 하위 구조 selector는 :where로 specificity를 낮춘다.
7
+ :where(.table-native-cell) {
8
+ &:where(.table-th) {
9
+ vertical-align: middle;
10
+ background-color: var(--table-cell-background-color);
11
+ text-align: left;
12
+ }
13
+
14
+ &:where(.table-td) {
15
+ vertical-align: middle;
16
+ background-color: var(--table-cell-background-color);
17
+ text-align: left;
18
+ // 변경: sticky th와 겹치는 td 텍스트가 앞서 보이지 않도록 td를 기본 레이어로 고정한다.
19
+ position: relative;
20
+ z-index: 0;
21
+ }
22
+ }
23
+
24
+ &[data-layout="line"] {
25
+ // 변경: line 타입은 상/하 border 중심과 헤더/바디 높이 축을 고정한다.
26
+ :where(.table-native-cell) {
27
+ &:where(.table-th) {
28
+ // table cell 내부 field full-bleed 계산을 위해 padding 값을 변수로 노출한다.
29
+ --table-cell-padding-inline: var(--table-line-cell-padding-inline);
30
+ --table-cell-padding-block: var(--table-line-cell-padding-block);
31
+ border-bottom: 1px solid var(--table-border-color);
32
+ }
33
+
34
+ &:where(.table-td) {
35
+ --table-cell-padding-inline: var(--table-line-cell-padding-inline);
36
+ --table-cell-padding-block: var(--table-line-cell-padding-block);
37
+ border-bottom: 1px solid var(--table-border-color);
38
+ }
39
+ }
40
+
41
+ :where(.table-head) {
42
+ :where(.table-native-cell) {
43
+ &:where(.table-th) {
44
+ height: var(--table-line-cell-height-head);
45
+ border-top: 1px solid var(--table-border-color);
46
+ background-color: var(--table-line-head-background-color);
47
+ }
48
+ }
49
+ }
50
+
51
+ :where(.table-body) {
52
+ :where(.table-native-cell) {
53
+ &:where(.table-td) {
54
+ height: var(--table-line-cell-height-body);
55
+ }
56
+ }
57
+
58
+ // 변경: line(list) 타입에서 tbody th 셀 텍스트를 600으로 고정한다.
59
+ :where(.table-native-cell) {
60
+ &:where(.table-th) {
61
+ :where(.table-native-cell-text) {
62
+ font-weight: 600;
63
+ }
64
+
65
+ :where(.table-cell-text) {
66
+ font-weight: 600;
67
+ }
68
+ }
69
+ }
70
+ }
71
+
72
+ :where(.table-foot) {
73
+ :where(.table-native-cell) {
74
+ &:where(.table-td) {
75
+ height: var(--table-line-cell-height-body);
76
+ }
77
+ }
78
+ }
79
+
80
+ // 변경: line(list) 타입에서 rowspan 셀은 기본적으로 우측 경계선을 표시한다.
81
+ :where(.table-native-cell[rowspan]) {
82
+ border-right: 1px solid var(--table-border-color);
83
+ }
84
+ }
85
+
86
+ &[data-layout="grid"] {
87
+ border-radius: var(--table-grid-border-radius);
88
+ // 변경: Tooltip/Popover/Dropdown clipping을 막기 위해 grid container overflow를 제거한다.
89
+ overflow: visible;
90
+ // 변경: sticky cell layering 기준점을 분리해 z-index 충돌을 줄인다.
91
+ isolation: isolate;
92
+
93
+ // 변경: grid 타입은 모든 셀 border와 헤더 배경을 기본 제공한다.
94
+ :where(.table-native-cell) {
95
+ &:where(.table-th) {
96
+ --table-cell-padding-inline: var(--table-grid-cell-padding-inline);
97
+ --table-cell-padding-block: var(--table-grid-cell-padding-block);
98
+ height: var(--table-grid-cell-height);
99
+ }
100
+
101
+ &:where(.table-td) {
102
+ --table-cell-padding-inline: var(--table-grid-cell-padding-inline);
103
+ --table-cell-padding-block: var(--table-grid-cell-padding-block);
104
+ height: var(--table-grid-cell-height);
105
+ }
106
+ }
107
+
108
+ :where(.table-head) {
109
+ :where(.table-native-cell) {
110
+ &:where(.table-th) {
111
+ background-color: var(--table-grid-head-background-color);
112
+ }
113
+ }
114
+
115
+ :where(.table-row:first-child) {
116
+ > :where(.table-native-cell:first-child) {
117
+ border-top-left-radius: var(--table-grid-border-radius);
118
+ }
119
+
120
+ > :where(.table-native-cell:last-child) {
121
+ border-top-right-radius: var(--table-grid-border-radius);
122
+ }
123
+ }
124
+ }
125
+
126
+ // 변경: grid 타입의 row-header(th, tbody)는 항상 전용 배경색을 유지한다.
127
+ :where(.table-body) {
128
+ :where(.table-native-cell) {
129
+ &:where(.table-th) {
130
+ background-color: var(--table-grid-row-header-background-color);
131
+ }
132
+ }
133
+ }
134
+
135
+ // 변경: grid foot의 th도 body row-header와 동일한 배경으로 유지해 sticky 겹침 시 시각 이탈을 방지한다.
136
+ :where(.table-foot) {
137
+ :where(.table-native-cell) {
138
+ &:where(.table-th) {
139
+ background-color: var(--table-grid-row-header-background-color);
140
+ }
141
+ }
142
+ }
143
+
144
+ // 변경: grid 타입 highlighted row는 row-header(th)보다 우선해 th/td 모두 blue tint를 적용한다.
145
+ :where(.table-row[data-highlighted="true"]) {
146
+ :where(.table-native-cell) {
147
+ &:where(.table-th) {
148
+ background-color: var(--table-grid-row-highlight-background-color);
149
+ }
150
+
151
+ &:where(.table-td) {
152
+ background-color: var(--table-grid-row-highlight-background-color);
153
+ }
154
+ }
155
+ }
156
+
157
+ // 변경: grid border를 native cell이 아닌 cell-content에 그려 sticky 겹침/코너 clipping을 안정화한다.
158
+ :where(.table-cell-content) {
159
+ border-right: 1px solid var(--table-border-color);
160
+ border-bottom: 1px solid var(--table-border-color);
161
+ }
162
+
163
+ // 변경: border-top은 thead 내부 첫 row의 cell에만 적용한다.
164
+ :where(.table-head) {
165
+ :where(.table-row:first-child) {
166
+ > :where(.table-native-cell) {
167
+ > :where(.table-cell-content) {
168
+ border-top: 1px solid var(--table-border-color);
169
+ }
170
+ }
171
+ }
172
+ }
173
+
174
+ :where(.table-row) {
175
+ > :where(.table-native-cell:first-child) {
176
+ > :where(.table-cell-content) {
177
+ border-left: 1px solid var(--table-border-color);
178
+ }
179
+ }
180
+ }
181
+
182
+ // 변경: grid 병합(rowspan) 셀은 우측 border를 제거하고, 인접 다음 셀의 좌측 border로 경계를 표현한다.
183
+ :where(.table-row) {
184
+ > :where(.table-native-cell[rowspan]) {
185
+ > :where(.table-cell-content) {
186
+ border-right: 0;
187
+ }
188
+ }
189
+
190
+ > :where(.table-native-cell[rowspan] + .table-native-cell) {
191
+ > :where(.table-cell-content) {
192
+ border-left: 1px solid var(--table-border-color);
193
+ }
194
+ }
195
+ }
196
+
197
+ // 변경: 요청사항(and)에 맞춰 코너 셀의 th/td와 내부 cell-content 모두 동일 반경을 공유한다.
198
+ :where(.table-row:first-child) {
199
+ > :where(.table-native-cell:first-child) {
200
+ :where(.table-cell-content) {
201
+ border-top-left-radius: inherit;
202
+ }
203
+ }
204
+
205
+ > :where(.table-native-cell:last-child) {
206
+ :where(.table-cell-content) {
207
+ border-top-right-radius: inherit;
208
+ }
209
+ }
210
+ }
211
+
212
+ :where(.table-foot) {
213
+ :where(.table-row:last-child) {
214
+ > :where(.table-native-cell:first-child) {
215
+ border-bottom-left-radius: var(--table-grid-border-radius);
216
+
217
+ :where(.table-cell-content) {
218
+ border-bottom-left-radius: inherit;
219
+ }
220
+ }
221
+
222
+ > :where(.table-native-cell:last-child) {
223
+ border-bottom-right-radius: var(--table-grid-border-radius);
224
+
225
+ :where(.table-cell-content) {
226
+ border-bottom-right-radius: inherit;
227
+ }
228
+ }
229
+ }
230
+ }
231
+ }
232
+
233
+ &[data-layout="grid"]:not([data-has-footer="true"]) {
234
+ :where(.table-body:last-of-type) {
235
+ :where(.table-row:last-child) {
236
+ > :where(.table-native-cell:first-child) {
237
+ border-bottom-left-radius: var(--table-grid-border-radius);
238
+
239
+ :where(.table-cell-content) {
240
+ border-bottom-left-radius: inherit;
241
+ }
242
+ }
243
+
244
+ > :where(.table-native-cell:last-child) {
245
+ border-bottom-right-radius: var(--table-grid-border-radius);
246
+
247
+ :where(.table-cell-content) {
248
+ border-bottom-right-radius: inherit;
249
+ }
250
+ }
251
+ }
252
+ }
253
+ }
254
+
255
+ // 변경: 인라인 스타일 대신 각 row의 첫 번째 th만 sticky로 고정한다.
256
+ :where(.table-row) {
257
+ > :where(.table-native-cell:first-child):where(.table-th) {
258
+ position: sticky;
259
+ left: 0;
260
+ }
261
+ }
262
+
263
+ // 변경: sticky된 첫 번째 th가 td 위에서 안정적으로 보이도록 섹션별 z-index를 50단위로 분리한다.
264
+ :where(.table-head) {
265
+ :where(.table-row) {
266
+ > :where(.table-native-cell:first-child):where(.table-th) {
267
+ z-index: 150;
268
+ }
269
+ }
270
+ }
271
+
272
+ :where(.table-body) {
273
+ :where(.table-row) {
274
+ > :where(.table-native-cell:first-child):where(.table-th) {
275
+ z-index: 100;
276
+ }
277
+ }
278
+ }
279
+
280
+ :where(.table-foot) {
281
+ :where(.table-row) {
282
+ > :where(.table-native-cell:first-child):where(.table-th) {
283
+ z-index: 50;
284
+ }
285
+ }
286
+ }
287
+
288
+ // 변경: scroll 시 index 0 컬럼의 첫 header th가 항상 최상단에 보이도록 z-index를 상향한다.
289
+ :where(.table-head) {
290
+ :where(.table-row:first-child) {
291
+ > :where(.table-native-cell:first-child):where(.table-th) {
292
+ z-index: 200;
293
+ }
294
+ }
295
+ }
296
+
297
+ // 변경: footer(table-foot) 내부 셀 콘텐츠 타이포를 body와 동일한 td 스케일로 고정한다.
298
+ :where(.table-foot .table-cell-content) {
299
+ color: var(--table-td-text-color);
300
+ font-size: var(--table-td-text-size);
301
+ font-weight: var(--table-td-text-weight);
302
+ line-height: var(--table-td-text-line-height);
303
+ }
304
+
305
+ :where(.table-foot .table-cell-text) {
306
+ color: var(--table-td-text-color);
307
+ font-size: var(--table-td-text-size);
308
+ font-weight: var(--table-td-text-weight);
309
+ line-height: var(--table-td-text-line-height);
310
+ }
261
311
  }
262
312
 
263
313
  // 변경: optional scroll 래퍼를 통해 필요한 화면에서만 스크롤 레이어를 분리한다.
@@ -281,18 +331,24 @@
281
331
  }
282
332
 
283
333
  // 변경: tag selector 대신 className selector로 텍스트 스타일 적용 범위를 고정한다.
284
- .table-native-cell.table-th .table-native-cell-text {
285
- color: var(--table-th-text-color);
286
- font-size: var(--table-th-text-size);
287
- font-weight: var(--table-th-text-weight);
288
- line-height: var(--table-th-text-line-height);
289
- }
290
-
291
- .table-native-cell.table-td .table-native-cell-text {
292
- color: var(--table-td-text-color);
293
- font-size: var(--table-td-text-size);
294
- font-weight: var(--table-td-text-weight);
295
- line-height: var(--table-td-text-line-height);
334
+ :where(.table-native-cell) {
335
+ &:where(.table-th) {
336
+ .table-native-cell-text {
337
+ color: var(--table-th-text-color);
338
+ font-size: var(--table-th-text-size);
339
+ font-weight: var(--table-th-text-weight);
340
+ line-height: var(--table-th-text-line-height);
341
+ }
342
+ }
343
+
344
+ &:where(.table-td) {
345
+ .table-native-cell-text {
346
+ color: var(--table-td-text-color);
347
+ font-size: var(--table-td-text-size);
348
+ font-weight: var(--table-td-text-weight);
349
+ line-height: var(--table-td-text-line-height);
350
+ }
351
+ }
296
352
  }
297
353
 
298
354
  // Cell 콘텐츠 래퍼는 다양한 입력 컴포넌트 정렬을 위한 공통 슬롯이다.
@@ -381,12 +437,14 @@
381
437
  margin: 0;
382
438
  }
383
439
 
384
- // 변경: Cell 슬롯 텍스트도 className selector로 기본 타이포를 동일하게 맞춘다.
385
- .table-cell-content .table-cell-text {
386
- color: inherit;
387
- font-size: inherit;
388
- font-weight: inherit;
389
- line-height: inherit;
440
+ // 변경: Cell 슬롯 기본 텍스트 inherit는 저특이성(:where)으로 두어 section 토큰 규칙이 우선되게 한다.
441
+ :where(.table-cell-content) {
442
+ :where(.table-cell-text) {
443
+ color: inherit;
444
+ font-size: inherit;
445
+ font-weight: inherit;
446
+ line-height: inherit;
447
+ }
390
448
  }
391
449
 
392
450
  // 변경: Cell.alignX/alignY로 콘텐츠 정렬을 제어한다.
@@ -487,11 +545,15 @@
487
545
  }
488
546
 
489
547
  // 변경: section 기반 Cell 텍스트는 native cell 토큰과 동일한 스케일을 따르게 한다.
490
- .table-cell.table-head-cell .table-cell-text {
491
- color: var(--table-th-text-color);
492
- font-size: var(--table-th-text-size);
493
- font-weight: var(--table-th-text-weight);
494
- line-height: var(--table-th-text-line-height);
548
+ :where(.table-cell) {
549
+ &:where(.table-head-cell) {
550
+ .table-cell-text {
551
+ color: var(--table-th-text-color);
552
+ font-size: var(--table-th-text-size);
553
+ font-weight: var(--table-th-text-weight);
554
+ line-height: var(--table-th-text-line-height);
555
+ }
556
+ }
495
557
  }
496
558
 
497
559
  // 변경: table priority input/select는 size와 무관하게 table body 텍스트 스케일(15px)을 사용한다.
@@ -511,35 +573,47 @@
511
573
  }
512
574
 
513
575
  // 변경: radio 라벨은 section 타이포를 따른다(head 13px / body-foot 15px).
514
- .table-cell.table-head-cell .radio-label-text {
515
- color: var(--table-th-text-color);
516
- font-size: var(--table-th-text-size);
517
- font-weight: var(--table-th-text-weight);
518
- line-height: var(--table-th-text-line-height);
519
- }
520
-
521
- .table-cell.table-body-cell .table-cell-text,
522
- .table-cell.table-foot-cell .table-cell-text {
523
- color: var(--table-td-text-color);
524
- font-size: var(--table-td-text-size);
525
- font-weight: var(--table-td-text-weight);
526
- line-height: var(--table-td-text-line-height);
527
- }
528
-
529
- // 변경: footer(table-foot) 내부 셀 콘텐츠 타이포를 body와 동일한 td 스케일로 고정한다.
530
- .table.table-container .table-foot .table-cell-content,
531
- .table.table-container .table-foot .table-cell-text {
532
- color: var(--table-td-text-color);
533
- font-size: var(--table-td-text-size);
534
- font-weight: var(--table-td-text-weight);
535
- line-height: var(--table-td-text-line-height);
536
- }
537
-
538
- // 변경: Cell(body/foot) 컨텍스트에서는 table priority input/select 텍스트를 15px 축으로 강제한다.
539
- .table-cell.table-body-cell .radio-label-text,
540
- .table-cell.table-foot-cell .radio-label-text {
541
- color: var(--table-td-text-color);
542
- font-size: var(--table-td-text-size);
543
- font-weight: var(--table-td-text-weight);
544
- line-height: var(--table-td-text-line-height);
576
+ :where(.table-cell) {
577
+ &:where(.table-head-cell) {
578
+ .radio-label-text {
579
+ color: var(--table-th-text-color);
580
+ font-size: var(--table-th-text-size);
581
+ font-weight: var(--table-th-text-weight);
582
+ line-height: var(--table-th-text-line-height);
583
+ }
584
+ }
585
+
586
+ &:where(.table-body-cell) {
587
+ .table-cell-text {
588
+ color: var(--table-td-text-color);
589
+ font-size: var(--table-td-text-size);
590
+ font-weight: var(--table-td-text-weight);
591
+ line-height: var(--table-td-text-line-height);
592
+ }
593
+
594
+ // 변경: Cell(body/foot) 컨텍스트에서는 table priority input/select 텍스트를 15px 축으로 강제한다.
595
+ .radio-label-text {
596
+ color: var(--table-td-text-color);
597
+ font-size: var(--table-td-text-size);
598
+ font-weight: var(--table-td-text-weight);
599
+ line-height: var(--table-td-text-line-height);
600
+ }
601
+ }
602
+
603
+ &:where(.table-foot-cell) {
604
+ .table-cell-text {
605
+ color: var(--table-td-text-color);
606
+ font-size: var(--table-td-text-size);
607
+ font-weight: var(--table-td-text-weight);
608
+ line-height: var(--table-td-text-line-height);
609
+ }
610
+
611
+ // 변경: Cell(body/foot) 컨텍스트에서는 table priority input/select 텍스트를 15px 축으로 강제한다.
612
+ .radio-label-text {
613
+ color: var(--table-td-text-color);
614
+ font-size: var(--table-td-text-size);
615
+ font-weight: var(--table-td-text-weight);
616
+ line-height: var(--table-td-text-line-height);
617
+ }
618
+ }
545
619
  }