@uniai-fe/uds-primitives 0.2.9 → 0.2.11

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.
Files changed (73) hide show
  1. package/dist/styles.css +415 -0
  2. package/package.json +2 -1
  3. package/src/components/calendar/types/calendar.ts +5 -0
  4. package/src/components/info-box/img/ban.svg +5 -0
  5. package/src/components/info-box/img/caution.svg +5 -0
  6. package/src/components/info-box/img/check.svg +4 -0
  7. package/src/components/info-box/img/info.svg +6 -0
  8. package/src/components/info-box/index.scss +1 -0
  9. package/src/components/info-box/index.tsx +4 -0
  10. package/src/components/info-box/markup/Icon.tsx +14 -0
  11. package/src/components/info-box/markup/InfoBox.tsx +65 -0
  12. package/src/components/info-box/markup/index.ts +2 -0
  13. package/src/components/info-box/styles/index.scss +2 -0
  14. package/src/components/info-box/styles/info-box.scss +61 -0
  15. package/src/components/info-box/styles/variables.scss +33 -0
  16. package/src/components/info-box/types/index.ts +1 -0
  17. package/src/components/info-box/types/props.ts +34 -0
  18. package/src/components/input/markup/date/Template.tsx +36 -5
  19. package/src/components/input/markup/date/Trigger.tsx +22 -4
  20. package/src/components/input/markup/foundation/Input.tsx +19 -11
  21. package/src/components/input/markup/foundation/Utility.tsx +11 -7
  22. package/src/components/input/styles/date.scss +21 -0
  23. package/src/components/input/styles/foundation.scss +30 -0
  24. package/src/components/input/styles/variables.scss +11 -0
  25. package/src/components/input/types/date.ts +15 -0
  26. package/src/components/input/types/foundation.ts +18 -11
  27. package/src/components/input/utils/date.ts +15 -1
  28. package/src/components/select/markup/Default.tsx +6 -3
  29. package/src/components/select/markup/foundation/Base.tsx +1 -1
  30. package/src/components/select/markup/foundation/Icon.tsx +6 -1
  31. package/src/components/select/markup/multiple/Multiple.tsx +6 -3
  32. package/src/components/select/styles/select.scss +50 -0
  33. package/src/components/select/styles/variables.scss +26 -0
  34. package/src/components/select/types/base.ts +3 -2
  35. package/src/components/select/types/icon.ts +7 -6
  36. package/src/components/select/types/props.ts +1 -0
  37. package/src/components/select/types/trigger.ts +4 -0
  38. package/src/components/table/hooks/index.ts +0 -3
  39. package/src/components/table/index.tsx +5 -3
  40. package/src/components/table/markup/Container.tsx +126 -0
  41. package/src/components/table/markup/foundation/Body.tsx +24 -0
  42. package/src/components/table/markup/foundation/Cell.tsx +72 -0
  43. package/src/components/table/markup/foundation/Col.tsx +22 -0
  44. package/src/components/table/markup/foundation/Colgroup.tsx +29 -0
  45. package/src/components/table/markup/foundation/Foot.tsx +24 -0
  46. package/src/components/table/markup/foundation/Head.tsx +24 -0
  47. package/src/components/table/markup/foundation/Root.tsx +32 -0
  48. package/src/components/table/markup/foundation/Row.tsx +32 -0
  49. package/src/components/table/markup/foundation/Td.tsx +37 -0
  50. package/src/components/table/markup/foundation/Th.tsx +39 -0
  51. package/src/components/table/markup/foundation/index.tsx +30 -0
  52. package/src/components/table/markup/index.tsx +8 -2
  53. package/src/components/table/styles/foundation.scss +247 -0
  54. package/src/components/table/styles/index.scss +2 -0
  55. package/src/components/table/styles/variables.scss +29 -0
  56. package/src/components/table/types/foundation.ts +250 -0
  57. package/src/components/table/types/index.ts +1 -4
  58. package/src/components/tooltip/img/info.svg +5 -0
  59. package/src/components/tooltip/img/information.svg +9 -0
  60. package/src/components/tooltip/index.scss +1 -0
  61. package/src/components/tooltip/index.tsx +4 -0
  62. package/src/components/tooltip/markup/Message.tsx +70 -0
  63. package/src/components/tooltip/markup/Root.tsx +32 -0
  64. package/src/components/tooltip/markup/Template.tsx +46 -0
  65. package/src/components/tooltip/markup/Trigger.tsx +32 -0
  66. package/src/components/tooltip/markup/index.tsx +18 -0
  67. package/src/components/tooltip/styles/index.scss +2 -0
  68. package/src/components/tooltip/styles/tooltip.scss +47 -0
  69. package/src/components/tooltip/styles/variables.scss +14 -0
  70. package/src/components/tooltip/types/index.ts +1 -0
  71. package/src/components/tooltip/types/props.ts +118 -0
  72. package/src/index.scss +1 -0
  73. package/src/index.tsx +2 -0
@@ -0,0 +1,29 @@
1
+ import clsx from "clsx";
2
+ import { forwardRef } from "react";
3
+ import type { TableColgroupProps } from "../../types";
4
+
5
+ /**
6
+ * Table Foundation; Colgroup 마크업 컴포넌트
7
+ * @component
8
+ * @param {TableColgroupProps} props
9
+ * @param {string} [props.className] colgroup className
10
+ * @param {React.ReactNode} [props.children] col 목록
11
+ * @deprecated `Table.Container` 또는 native `<colgroup />` 사용을 권장한다.
12
+ */
13
+ const TableColgroup = forwardRef<HTMLTableColElement, TableColgroupProps>(
14
+ ({ className, children, ...colgroupProps }, ref) => {
15
+ return (
16
+ <colgroup
17
+ {...colgroupProps}
18
+ ref={ref}
19
+ className={clsx("table-colgroup", className)}
20
+ >
21
+ {children}
22
+ </colgroup>
23
+ );
24
+ },
25
+ );
26
+
27
+ TableColgroup.displayName = "TableFoundation.Colgroup";
28
+
29
+ export default TableColgroup;
@@ -0,0 +1,24 @@
1
+ import clsx from "clsx";
2
+ import { forwardRef } from "react";
3
+ import type { TableFootProps } from "../../types";
4
+
5
+ /**
6
+ * Table Foundation; Tfoot 마크업 컴포넌트
7
+ * @component
8
+ * @param {TableFootProps} props
9
+ * @param {string} [props.className] tfoot className
10
+ * @param {React.ReactNode} [props.children] tfoot 내부 콘텐츠
11
+ */
12
+ const TableFoot = forwardRef<HTMLTableSectionElement, TableFootProps>(
13
+ ({ className, children, ...footProps }, ref) => {
14
+ return (
15
+ <tfoot {...footProps} ref={ref} className={clsx("table-foot", className)}>
16
+ {children}
17
+ </tfoot>
18
+ );
19
+ },
20
+ );
21
+
22
+ TableFoot.displayName = "TableFoundation.Foot";
23
+
24
+ export default TableFoot;
@@ -0,0 +1,24 @@
1
+ import clsx from "clsx";
2
+ import { forwardRef } from "react";
3
+ import type { TableHeadProps } from "../../types";
4
+
5
+ /**
6
+ * Table Foundation; Thead 마크업 컴포넌트
7
+ * @component
8
+ * @param {TableHeadProps} props
9
+ * @param {string} [props.className] thead className
10
+ * @param {React.ReactNode} [props.children] thead 내부 콘텐츠
11
+ */
12
+ const TableHead = forwardRef<HTMLTableSectionElement, TableHeadProps>(
13
+ ({ className, children, ...headProps }, ref) => {
14
+ return (
15
+ <thead {...headProps} ref={ref} className={clsx("table-head", className)}>
16
+ {children}
17
+ </thead>
18
+ );
19
+ },
20
+ );
21
+
22
+ TableHead.displayName = "TableFoundation.Head";
23
+
24
+ export default TableHead;
@@ -0,0 +1,32 @@
1
+ import clsx from "clsx";
2
+ import { forwardRef } from "react";
3
+ import type { TableRootProps } from "../../types";
4
+
5
+ /**
6
+ * Table Foundation; Table Root 마크업 컴포넌트
7
+ * @component
8
+ * @param {TableRootProps} props
9
+ * @param {string} [props.className] table 루트 className
10
+ * @param {React.ReactNode} [props.children] table 내부 콘텐츠
11
+ */
12
+ const TableRoot = forwardRef<HTMLTableElement, TableRootProps>(
13
+ ({ className, children, role, layout = "line", ...tableProps }, ref) => {
14
+ return (
15
+ <table
16
+ {...tableProps}
17
+ ref={ref}
18
+ className={clsx("table", "table-container", className)}
19
+ // 변경: line/grid 스타일 축을 data attribute로 명시해 foundation.scss에서 분기한다.
20
+ data-layout={layout}
21
+ // 기본 접근성 role은 table로 고정하고, 외부에서 전달한 role이 있으면 우선한다.
22
+ role={role ?? "table"}
23
+ >
24
+ {children}
25
+ </table>
26
+ );
27
+ },
28
+ );
29
+
30
+ TableRoot.displayName = "TableFoundation.Root";
31
+
32
+ export default TableRoot;
@@ -0,0 +1,32 @@
1
+ import clsx from "clsx";
2
+ import { forwardRef } from "react";
3
+ import type { TableRowProps } from "../../types";
4
+
5
+ /**
6
+ * Table Foundation; Tr 마크업 컴포넌트
7
+ * @component
8
+ * @param {TableRowProps} props
9
+ * @param {string} [props.className] tr className
10
+ * @param {React.ReactNode} [props.children] row 내부 콘텐츠
11
+ */
12
+ const TableRow = forwardRef<HTMLTableRowElement, TableRowProps>(
13
+ ({ className, children, section, ...rowProps }, ref) => {
14
+ return (
15
+ <tr
16
+ {...rowProps}
17
+ ref={ref}
18
+ className={clsx(
19
+ "table-row",
20
+ section && `table-${section}-row`,
21
+ className,
22
+ )}
23
+ >
24
+ {children}
25
+ </tr>
26
+ );
27
+ },
28
+ );
29
+
30
+ TableRow.displayName = "TableFoundation.Row";
31
+
32
+ export default TableRow;
@@ -0,0 +1,37 @@
1
+ import clsx from "clsx";
2
+ import { forwardRef } from "react";
3
+ import type { TableTdProps } from "../../types";
4
+
5
+ /**
6
+ * Table Foundation; Td 마크업 컴포넌트
7
+ * @component
8
+ * @param {TableTdProps} props
9
+ * @param {string} [props.className] td className
10
+ * @param {React.ReactNode} [props.children] 셀 콘텐츠
11
+ */
12
+ const TableTd = forwardRef<HTMLTableCellElement, TableTdProps>(
13
+ ({ className, children, style, ...cellProps }, ref) => {
14
+ return (
15
+ <td
16
+ {...cellProps}
17
+ ref={ref}
18
+ className={clsx("table-native-cell", "table-td", className)}
19
+ // 변경: th/td 레벨 text-align은 기본 left 고정으로 유지한다.
20
+ style={{ ...style, textAlign: "left" }}
21
+ >
22
+ {/* 변경: 태그 셀렉터 의존을 피하기 위해 className 기반 텍스트 노드를 사용한다. */}
23
+ {typeof children === "string" || typeof children === "number" ? (
24
+ <span className={clsx("table-native-cell-text", "table-td-text")}>
25
+ {children}
26
+ </span>
27
+ ) : (
28
+ children
29
+ )}
30
+ </td>
31
+ );
32
+ },
33
+ );
34
+
35
+ TableTd.displayName = "TableFoundation.Td";
36
+
37
+ export default TableTd;
@@ -0,0 +1,39 @@
1
+ import clsx from "clsx";
2
+ import { forwardRef } from "react";
3
+ import type { TableThProps } from "../../types";
4
+
5
+ /**
6
+ * Table Foundation; Th 마크업 컴포넌트
7
+ * @component
8
+ * @param {TableThProps} props
9
+ * @param {string} [props.className] th className
10
+ * @param {React.ReactNode} [props.children] 셀 콘텐츠
11
+ */
12
+ const TableTh = forwardRef<HTMLTableCellElement, TableThProps>(
13
+ ({ className, children, scope, style, ...cellProps }, ref) => {
14
+ return (
15
+ <th
16
+ {...cellProps}
17
+ ref={ref}
18
+ className={clsx("table-native-cell", "table-th", className)}
19
+ // th 기본 scope는 col로 유지한다.
20
+ scope={scope ?? "col"}
21
+ // 변경: th/td 레벨 text-align은 기본 left 고정으로 유지한다.
22
+ style={{ ...style, textAlign: "left" }}
23
+ >
24
+ {/* 변경: 태그 셀렉터 의존을 피하기 위해 className 기반 텍스트 노드를 사용한다. */}
25
+ {typeof children === "string" || typeof children === "number" ? (
26
+ <span className={clsx("table-native-cell-text", "table-th-text")}>
27
+ {children}
28
+ </span>
29
+ ) : (
30
+ children
31
+ )}
32
+ </th>
33
+ );
34
+ },
35
+ );
36
+
37
+ TableTh.displayName = "TableFoundation.Th";
38
+
39
+ export default TableTh;
@@ -0,0 +1,30 @@
1
+ import TableBody from "./Body";
2
+ import TableCell from "./Cell";
3
+ import TableCol from "./Col";
4
+ import TableColgroup from "./Colgroup";
5
+ import TableFoot from "./Foot";
6
+ import TableHead from "./Head";
7
+ import TableTh from "./Th";
8
+ import TableRoot from "./Root";
9
+ import TableRow from "./Row";
10
+ import TableTd from "./Td";
11
+
12
+ /**
13
+ * Table Foundation; 기초 마크업 컴포넌트 세트
14
+ */
15
+ export const TableFoundation = {
16
+ Root: TableRoot,
17
+ Colgroup: TableColgroup,
18
+ Col: TableCol,
19
+ Head: TableHead,
20
+ Body: TableBody,
21
+ Foot: TableFoot,
22
+ Row: TableRow,
23
+ Cell: TableCell,
24
+ Thead: TableHead,
25
+ Tbody: TableBody,
26
+ Tfoot: TableFoot,
27
+ Tr: TableRow,
28
+ Th: TableTh,
29
+ Td: TableTd,
30
+ };
@@ -1,4 +1,10 @@
1
+ import { TableFoundation } from "./foundation";
2
+ import TableContainer from "./Container";
3
+
1
4
  /**
2
- * TODO(table): SOT 및 사용자 제약에 따라 컴포넌트를 구현한다.
5
+ * Table; 마크업 네임스페이스
3
6
  */
4
- export {};
7
+ export const Table = {
8
+ ...TableFoundation,
9
+ Container: TableContainer,
10
+ };
@@ -0,0 +1,247 @@
1
+ .table.table-container {
2
+ width: 100%;
3
+ border-collapse: collapse;
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
+ // 변경: grid 타입은 모든 셀 border와 헤더 배경을 기본 제공한다.
41
+ .table.table-container[data-layout="grid"] .table-native-cell.table-th,
42
+ .table.table-container[data-layout="grid"] .table-native-cell.table-td {
43
+ // table cell 내부 field full-bleed 계산을 위해 padding 값을 변수로 노출한다.
44
+ --table-cell-padding-inline: var(--table-grid-cell-padding-inline);
45
+ --table-cell-padding-block: var(--table-grid-cell-padding-block);
46
+ border: 1px solid var(--table-border-color);
47
+ height: var(--table-grid-cell-height);
48
+ }
49
+
50
+ .table.table-container[data-layout="grid"] {
51
+ border-radius: var(--table-grid-border-radius);
52
+ overflow: hidden;
53
+ }
54
+
55
+ .table.table-container[data-layout="grid"]
56
+ .table-head
57
+ .table-native-cell.table-th {
58
+ background-color: var(--table-grid-head-background-color);
59
+ }
60
+
61
+ // 변경: tag selector 대신 className selector로 텍스트 스타일 적용 범위를 고정한다.
62
+ .table-native-cell.table-th .table-native-cell-text {
63
+ color: var(--table-th-text-color);
64
+ font-size: var(--table-th-text-size);
65
+ font-weight: var(--table-th-text-weight);
66
+ line-height: var(--table-th-text-line-height);
67
+ }
68
+
69
+ .table-native-cell.table-td .table-native-cell-text {
70
+ color: var(--table-td-text-color);
71
+ font-size: var(--table-td-text-size);
72
+ font-weight: var(--table-td-text-weight);
73
+ line-height: var(--table-td-text-line-height);
74
+ }
75
+
76
+ // Cell 콘텐츠 래퍼는 다양한 입력 컴포넌트 정렬을 위한 공통 슬롯이다.
77
+ .table-cell-content {
78
+ display: flex;
79
+ align-items: center;
80
+ width: 100%;
81
+ height: 100%;
82
+ justify-content: flex-start;
83
+ box-sizing: border-box;
84
+ padding-inline: var(--table-cell-padding-inline);
85
+ padding-block: var(--table-cell-padding-block);
86
+ }
87
+
88
+ .table-cell-content[data-padding="none"] {
89
+ padding: 0;
90
+ }
91
+
92
+ .table-cell-content[data-no-padding="true"] {
93
+ padding: 0;
94
+ }
95
+
96
+ // 변경: table cell 내부에서는 input table이 셀 영역을 가득 채우도록 컨텍스트 규칙을 둔다.
97
+ .table-cell-content[data-padding="default"] .input[data-priority="table"] {
98
+ width: calc(100% + (var(--table-cell-padding-inline) * 2));
99
+ height: 100%;
100
+ min-height: calc(100% + (var(--table-cell-padding-block) * 2));
101
+ margin-inline: calc(var(--table-cell-padding-inline) * -1);
102
+ margin-block: calc(var(--table-cell-padding-block) * -1);
103
+ flex: 1 1 auto;
104
+ }
105
+
106
+ .table-cell-content[data-padding="default"]
107
+ :where(.input[data-priority="table"] .input-box),
108
+ .table-cell-content[data-padding="default"]
109
+ :where(.input[data-priority="table"] .input-field) {
110
+ width: 100%;
111
+ height: 100%;
112
+ }
113
+
114
+ .table-cell-content[data-padding="default"] .input-date-field {
115
+ width: calc(100% + (var(--table-cell-padding-inline) * 2));
116
+ height: 100%;
117
+ min-height: calc(100% + (var(--table-cell-padding-block) * 2));
118
+ margin-inline: calc(var(--table-cell-padding-inline) * -1);
119
+ margin-block: calc(var(--table-cell-padding-block) * -1);
120
+ }
121
+
122
+ .table-cell-content[data-padding="default"] :where(.select.select-container) {
123
+ width: calc(100% + (var(--table-cell-padding-inline) * 2));
124
+ height: 100%;
125
+ min-height: calc(100% + (var(--table-cell-padding-block) * 2));
126
+ margin-inline: calc(var(--table-cell-padding-inline) * -1);
127
+ margin-block: calc(var(--table-cell-padding-block) * -1);
128
+ flex: 1 1 auto;
129
+ }
130
+
131
+ .table-cell-content[data-padding="default"]
132
+ :where(.select.select-container .select-button) {
133
+ width: 100%;
134
+ height: 100%;
135
+ }
136
+
137
+ .table-cell-content[data-padding="none"]
138
+ :where(
139
+ .input[data-priority="table"],
140
+ .input[data-priority="table"] .input-box,
141
+ .input[data-priority="table"] .input-field,
142
+ .input-date-field,
143
+ .select.select-container,
144
+ .select.select-container .select-button
145
+ ),
146
+ .table-cell-content[data-no-padding="true"]
147
+ :where(
148
+ .input[data-priority="table"],
149
+ .input[data-priority="table"] .input-box,
150
+ .input[data-priority="table"] .input-field,
151
+ .input-date-field,
152
+ .select.select-container,
153
+ .select.select-container .select-button
154
+ ) {
155
+ width: 100%;
156
+ height: 100%;
157
+ min-height: 100%;
158
+ margin: 0;
159
+ }
160
+
161
+ // 변경: Cell 슬롯 텍스트도 className selector로 기본 타이포를 동일하게 맞춘다.
162
+ .table-cell-content .table-cell-text {
163
+ color: inherit;
164
+ font-size: inherit;
165
+ font-weight: inherit;
166
+ line-height: inherit;
167
+ }
168
+
169
+ // 변경: Cell.alignX/alignY로 콘텐츠 정렬을 제어한다.
170
+ .table-cell-content[data-align-x="left"],
171
+ .table-cell-content[data-align="left"] {
172
+ justify-content: flex-start;
173
+ text-align: left;
174
+ }
175
+
176
+ .table-cell-content[data-align-x="center"],
177
+ .table-cell-content[data-align="center"] {
178
+ justify-content: center;
179
+ text-align: center;
180
+ }
181
+
182
+ .table-cell-content[data-align-x="right"],
183
+ .table-cell-content[data-align="right"] {
184
+ justify-content: flex-end;
185
+ text-align: right;
186
+ }
187
+
188
+ .table-cell-content[data-align-y="top"] {
189
+ align-items: flex-start;
190
+ }
191
+
192
+ .table-cell-content[data-align-y="center"] {
193
+ align-items: center;
194
+ }
195
+
196
+ .table-cell-content[data-align-y="bottom"] {
197
+ align-items: flex-end;
198
+ }
199
+
200
+ // 변경: section 기반 Cell 텍스트는 native cell 토큰과 동일한 스케일을 따르게 한다.
201
+ .table-cell.table-head-cell .table-cell-text {
202
+ color: var(--table-th-text-color);
203
+ font-size: var(--table-th-text-size);
204
+ font-weight: var(--table-th-text-weight);
205
+ line-height: var(--table-th-text-line-height);
206
+ }
207
+
208
+ // 변경: table priority input/select는 size와 무관하게 table body 텍스트 스케일(15px)을 사용한다.
209
+ .table-cell .input[data-priority="table"] .input-element,
210
+ .table-cell
211
+ .select.select-container
212
+ .select-button[data-priority="table"]
213
+ .select-label,
214
+ .table-cell
215
+ .select.select-container
216
+ .select-button[data-priority="table"]
217
+ .select-label-placeholder {
218
+ color: var(--table-td-text-color);
219
+ font-size: var(--table-td-text-size);
220
+ font-weight: var(--table-td-text-weight);
221
+ line-height: var(--table-td-text-line-height);
222
+ }
223
+
224
+ // 변경: radio 라벨은 section 타이포를 따른다(head 13px / body-foot 15px).
225
+ .table-cell.table-head-cell .radio-label-text {
226
+ color: var(--table-th-text-color);
227
+ font-size: var(--table-th-text-size);
228
+ font-weight: var(--table-th-text-weight);
229
+ line-height: var(--table-th-text-line-height);
230
+ }
231
+
232
+ .table-cell.table-body-cell .table-cell-text,
233
+ .table-cell.table-foot-cell .table-cell-text {
234
+ color: var(--table-td-text-color);
235
+ font-size: var(--table-td-text-size);
236
+ font-weight: var(--table-td-text-weight);
237
+ line-height: var(--table-td-text-line-height);
238
+ }
239
+
240
+ // 변경: Cell(body/foot) 컨텍스트에서는 table priority input/select 텍스트를 15px 축으로 강제한다.
241
+ .table-cell.table-body-cell .radio-label-text,
242
+ .table-cell.table-foot-cell .radio-label-text {
243
+ color: var(--table-td-text-color);
244
+ font-size: var(--table-td-text-size);
245
+ font-weight: var(--table-td-text-weight);
246
+ line-height: var(--table-td-text-line-height);
247
+ }
@@ -0,0 +1,2 @@
1
+ @use "./variables.scss";
2
+ @use "./foundation.scss";
@@ -0,0 +1,29 @@
1
+ :root {
2
+ // 변경: Figma(705:12000, 726:14739) 값을 foundation 토큰으로 역매핑한 table 모듈 전용 토큰 레이어.
3
+ --table-border-color: var(--color-border-standard-cool-gray);
4
+ --table-line-head-background-color: var(--color-surface-static-cool-gray);
5
+ --table-grid-head-background-color: var(
6
+ --color-background-alternative-cool-gray
7
+ );
8
+ --table-cell-background-color: var(--color-surface-static-white);
9
+
10
+ --table-line-cell-height-head: 44px;
11
+ --table-line-cell-height-body: 56px;
12
+ --table-grid-cell-height: 48px;
13
+ --table-grid-border-radius: var(--theme-radius-large-1);
14
+
15
+ --table-line-cell-padding-inline: var(--spacing-padding-6);
16
+ --table-line-cell-padding-block: 9px;
17
+ --table-grid-cell-padding-inline: var(--spacing-padding-6);
18
+ --table-grid-cell-padding-block: 9px;
19
+
20
+ --table-th-text-color: var(--color-label-standard);
21
+ --table-th-text-size: 13px;
22
+ --table-th-text-weight: var(--font-label-small-weight);
23
+ --table-th-text-line-height: var(--font-label-small-line-height);
24
+
25
+ --table-td-text-color: var(--color-label-standard);
26
+ --table-td-text-size: 15px;
27
+ --table-td-text-weight: var(--font-body-xsmall-weight);
28
+ --table-td-text-line-height: var(--font-body-xsmall-line-height);
29
+ }