@uniai-fe/uds-primitives 0.3.59 → 0.4.0
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/README.md +209 -3
- package/dist/styles.css +91 -76
- package/package.json +1 -1
- package/src/components/alternate/index.tsx +7 -1
- package/src/components/alternate/markup/Label.tsx +10 -5
- package/src/components/alternate/markup/empty/Data.tsx +9 -6
- package/src/components/alternate/markup/index.tsx +8 -0
- package/src/components/alternate/markup/loading/Default.tsx +10 -6
- package/src/components/alternate/markup/loading/Icon.tsx +11 -4
- package/src/components/alternate/types/index.ts +75 -2
- package/src/components/badge/index.tsx +4 -1
- package/src/components/badge/markup/Badge.tsx +10 -8
- package/src/components/badge/types/index.ts +26 -2
- package/src/components/button/index.tsx +6 -1
- package/src/components/button/markup/Base.tsx +20 -18
- package/src/components/button/markup/Rounded.tsx +7 -4
- package/src/components/button/markup/Text.tsx +7 -4
- package/src/components/calendar/index.tsx +8 -0
- package/src/components/calendar/markup/index.tsx +7 -7
- package/src/components/carousel/index.tsx +8 -0
- package/src/components/carousel/markup/index.tsx +9 -0
- package/src/components/checkbox/index.tsx +7 -0
- package/src/components/chip/index.tsx +7 -1
- package/src/components/chip/markup/index.tsx +9 -0
- package/src/components/divider/index.tsx +4 -0
- package/src/components/divider/markup/Divider.tsx +11 -7
- package/src/components/divider/types/index.ts +1 -0
- package/src/components/divider/types/props.ts +27 -0
- package/src/components/drawer/index.tsx +7 -0
- package/src/components/drawer/markup/index.tsx +6 -0
- package/src/components/dropdown/index.tsx +7 -0
- package/src/components/dropdown/markup/Template.tsx +9 -2
- package/src/components/dropdown/markup/foundation/Container.tsx +30 -12
- package/src/components/dropdown/markup/index.tsx +9 -10
- package/src/components/dropdown/types/base.ts +13 -0
- package/src/components/dropdown/types/props.ts +19 -2
- package/src/components/form/index.tsx +7 -0
- package/src/components/form/markup/index.tsx +6 -2
- package/src/components/info-box/index.tsx +7 -0
- package/src/components/info-box/markup/InfoBox.tsx +1 -1
- package/src/components/info-box/markup/index.ts +6 -0
- package/src/components/info-box/types/props.ts +2 -2
- package/src/components/input/index.tsx +6 -1
- package/src/components/input/markup/foundation/Input.tsx +2 -2
- package/src/components/input/styles/foundation.scss +57 -54
- package/src/components/input/types/foundation.ts +1 -1
- package/src/components/navigation/index.tsx +7 -0
- package/src/components/navigation/markup/index.tsx +6 -0
- package/src/components/pagination/index.tsx +6 -1
- package/src/components/pagination/markup/index.tsx +7 -0
- package/src/components/pop-over/index.tsx +7 -0
- package/src/components/pop-over/markup/index.tsx +5 -4
- package/src/components/radio/index.tsx +5 -1
- package/src/components/scrollbar/hooks/index.ts +1 -1
- package/src/components/scrollbar/index.tsx +1 -1
- package/src/components/scrollbar/markup/index.tsx +1 -1
- package/src/components/scrollbar/types/index.ts +1 -1
- package/src/components/scrollbar/utils/index.ts +1 -1
- package/src/components/segmented-control/index.tsx +5 -1
- package/src/components/segmented-control/markup/index.ts +6 -0
- package/src/components/select/index.tsx +6 -1
- package/src/components/select/markup/Default.tsx +10 -13
- package/src/components/select/markup/foundation/Selected.tsx +31 -26
- package/src/components/select/markup/index.tsx +1 -1
- package/src/components/select/markup/multiple/Multiple.tsx +32 -15
- package/src/components/select/styles/select.scss +15 -6
- package/src/components/select/styles/variables.scss +4 -0
- package/src/components/select/types/multiple.ts +19 -0
- package/src/components/select/types/props.ts +19 -6
- package/src/components/select/utils/display.tsx +41 -0
- package/src/components/select/utils/index.ts +1 -4
- package/src/components/slot/index.tsx +7 -0
- package/src/components/slot/markup/index.tsx +6 -0
- package/src/components/spinner/hooks/index.ts +1 -1
- package/src/components/spinner/index.tsx +1 -1
- package/src/components/spinner/markup/index.tsx +1 -1
- package/src/components/spinner/types/index.ts +1 -1
- package/src/components/spinner/utils/index.ts +1 -1
- package/src/components/tab/index.tsx +5 -1
- package/src/components/tab/markup/index.tsx +8 -0
- package/src/components/table/index.tsx +3 -0
- package/src/components/tooltip/index.tsx +7 -0
- package/src/components/tooltip/markup/index.tsx +7 -6
package/README.md
CHANGED
|
@@ -47,6 +47,212 @@ export default function Page() {
|
|
|
47
47
|
}
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
+
## 제공 도구 목록
|
|
51
|
+
|
|
52
|
+
- `Alternate.EmptyData`
|
|
53
|
+
- `Alternate.LoadingDefault`
|
|
54
|
+
- `Alternate.LoadingIcon`
|
|
55
|
+
- `Alternate.Text`
|
|
56
|
+
- `AlternateEmptyDataProps`
|
|
57
|
+
- `AlternateLoadingDefaultProps`
|
|
58
|
+
- `AlternateLoadingIconProps`
|
|
59
|
+
- `AlternateTextProps`
|
|
60
|
+
- `Badge`
|
|
61
|
+
- `BadgeProps`
|
|
62
|
+
- `Chip.Default`
|
|
63
|
+
- `Chip.ClickableStyle`
|
|
64
|
+
- `Chip.InputStyle`
|
|
65
|
+
- `Chip.Label`
|
|
66
|
+
- `Chip.List`
|
|
67
|
+
- `ChipProps`
|
|
68
|
+
- `ChipListRootProps`
|
|
69
|
+
- `ChipListItemData`
|
|
70
|
+
- `Calendar.Root`
|
|
71
|
+
- `Calendar.Container`
|
|
72
|
+
- `Calendar.Header`
|
|
73
|
+
- `Calendar.Body`
|
|
74
|
+
- `Calendar.Footer`
|
|
75
|
+
- `Calendar.Core`
|
|
76
|
+
- `Calendar.Icon`
|
|
77
|
+
- `CalendarValue`
|
|
78
|
+
- `CalendarRootProps`
|
|
79
|
+
- `CalendarContainerProps`
|
|
80
|
+
- `CalendarGridProps`
|
|
81
|
+
- `CalendarDatePickerProps`
|
|
82
|
+
- `Carousel.Provider`
|
|
83
|
+
- `Carousel.Container`
|
|
84
|
+
- `Carousel.Control`
|
|
85
|
+
- `Carousel.Track`
|
|
86
|
+
- `Carousel.Button.Base`
|
|
87
|
+
- `Carousel.Button.Prev`
|
|
88
|
+
- `Carousel.Button.Next`
|
|
89
|
+
- `useCarousel`
|
|
90
|
+
- `useCarouselProviderController`
|
|
91
|
+
- `CarouselProviderProps`
|
|
92
|
+
- `CarouselTrackProps`
|
|
93
|
+
- `CarouselContainerProps`
|
|
94
|
+
- `CarouselControlProps`
|
|
95
|
+
- `CarouselPrevButtonProps`
|
|
96
|
+
- `CarouselNextButtonProps`
|
|
97
|
+
- `DrawerRoot`
|
|
98
|
+
- `DrawerTrigger`
|
|
99
|
+
- `DrawerPortal`
|
|
100
|
+
- `DrawerOverlay`
|
|
101
|
+
- `DrawerContent`
|
|
102
|
+
- `DrawerHeader`
|
|
103
|
+
- `DrawerBody`
|
|
104
|
+
- `DrawerFooter`
|
|
105
|
+
- `DrawerTitle`
|
|
106
|
+
- `DrawerDescription`
|
|
107
|
+
- `DrawerClose`
|
|
108
|
+
- `DrawerRootProps`
|
|
109
|
+
- `DrawerTriggerProps`
|
|
110
|
+
- `DrawerContentProps`
|
|
111
|
+
- `useDrawerDrag`
|
|
112
|
+
- `Form.Provider`
|
|
113
|
+
- `Form.Field.Container`
|
|
114
|
+
- `Form.Field.Header`
|
|
115
|
+
- `Form.Field.Body`
|
|
116
|
+
- `Form.Field.Footer`
|
|
117
|
+
- `Form.Field.Template`
|
|
118
|
+
- `FormFieldTemplateProps`
|
|
119
|
+
- `FormFieldContainerProps`
|
|
120
|
+
- `FormFieldHeaderProps`
|
|
121
|
+
- `FormFieldFooterProps`
|
|
122
|
+
- `FormFieldWidth`
|
|
123
|
+
- `FormFieldState`
|
|
124
|
+
- `getFormFieldWidthAttr`
|
|
125
|
+
- `getFormFieldWidthValue`
|
|
126
|
+
- `InfoBox`
|
|
127
|
+
- `InfoBoxIcon`
|
|
128
|
+
- `InfoBoxProps`
|
|
129
|
+
- `InfoBoxState`
|
|
130
|
+
- `BottomNavigation`
|
|
131
|
+
- `BottomNavigationProps`
|
|
132
|
+
- `NavigationItem`
|
|
133
|
+
- `NavigationItemKey`
|
|
134
|
+
- `NavigationHrefItem`
|
|
135
|
+
- `NavigationActionItem`
|
|
136
|
+
- `NavigationSitemapNode`
|
|
137
|
+
- `NavigationSitemapCollection`
|
|
138
|
+
- `NavigationSitemapOptions`
|
|
139
|
+
- `composeNavigationClassName`
|
|
140
|
+
- `isHrefNavigationItem`
|
|
141
|
+
- `Pagination`
|
|
142
|
+
- `PaginationCarousel`
|
|
143
|
+
- `PaginationCount`
|
|
144
|
+
- `PaginationProps`
|
|
145
|
+
- `PaginationCarouselProps`
|
|
146
|
+
- `PaginationCountProps`
|
|
147
|
+
- `PaginationCountSize`
|
|
148
|
+
- `PaginationCarouselPriority`
|
|
149
|
+
- `normalizePaginationState`
|
|
150
|
+
- `createPaginationPages`
|
|
151
|
+
- `composePaginationClassName`
|
|
152
|
+
- `Slot.Base`
|
|
153
|
+
- `Slot.Text`
|
|
154
|
+
- `SlotComponentProps`
|
|
155
|
+
- `SlotTextProps`
|
|
156
|
+
- `TabRoot`
|
|
157
|
+
- `TabList`
|
|
158
|
+
- `TabTrigger`
|
|
159
|
+
- `TabContent`
|
|
160
|
+
- `TabRootProps`
|
|
161
|
+
- `TabListProps`
|
|
162
|
+
- `TabTriggerProps`
|
|
163
|
+
- `TabContentProps`
|
|
164
|
+
- `TabVariant`
|
|
165
|
+
- `TabScale`
|
|
166
|
+
- `TabContext`
|
|
167
|
+
- `useTabContext`
|
|
168
|
+
- `SegmentedControl`
|
|
169
|
+
- `SegmentedControlLabel`
|
|
170
|
+
- `SegmentedControlProps`
|
|
171
|
+
- `SegmentedControlOption`
|
|
172
|
+
- `SegmentedControlValue`
|
|
173
|
+
- `Divider`
|
|
174
|
+
- `DividerProps`
|
|
175
|
+
- `DividerDirection`
|
|
176
|
+
- `scrollbar` (현재 public export 없음)
|
|
177
|
+
- `spinner` (현재 public export 없음)
|
|
178
|
+
- `Table.Root`
|
|
179
|
+
- `Table.Head`
|
|
180
|
+
- `Table.Body`
|
|
181
|
+
- `Table.Foot`
|
|
182
|
+
- `Table.Row`
|
|
183
|
+
- `Table.Th`
|
|
184
|
+
- `Table.Td`
|
|
185
|
+
- `Table.Cell`
|
|
186
|
+
- `Table.Text`
|
|
187
|
+
- `Table.Container`
|
|
188
|
+
- `Table.Colgroup`
|
|
189
|
+
- `Table.Col`
|
|
190
|
+
- `TableColumnData`
|
|
191
|
+
- `TableRootProps`
|
|
192
|
+
- `TableContainerProps`
|
|
193
|
+
- `TableCellProps`
|
|
194
|
+
- `Button.Default`
|
|
195
|
+
- `Button.Text`
|
|
196
|
+
- `Button.Rounded`
|
|
197
|
+
- `Button.Label`
|
|
198
|
+
- `ButtonProps`
|
|
199
|
+
- `TextButtonProps`
|
|
200
|
+
- `RoundButtonProps`
|
|
201
|
+
- `Input.Base`
|
|
202
|
+
- `Input.TextArea`
|
|
203
|
+
- `Input.Text.Password`
|
|
204
|
+
- `Input.Text.Phone`
|
|
205
|
+
- `Input.Text.Email`
|
|
206
|
+
- `Input.Text.Search`
|
|
207
|
+
- `Input.Text.AuthCode`
|
|
208
|
+
- `Input.Date.Template`
|
|
209
|
+
- `Input.Address.Template`
|
|
210
|
+
- `Input.Address.Button`
|
|
211
|
+
- `Input.File.UploadButton`
|
|
212
|
+
- `Input.File.UploadedChip`
|
|
213
|
+
- `Input.File.List.*`
|
|
214
|
+
- `useInputFile`
|
|
215
|
+
- `useInputFileContext`
|
|
216
|
+
- `Select.Default`
|
|
217
|
+
- `Select.Multiple`
|
|
218
|
+
- `Select.Container`
|
|
219
|
+
- `Select.Trigger.Base`
|
|
220
|
+
- `Select.Selected.Base`
|
|
221
|
+
- `Select.Selected.Multiple`
|
|
222
|
+
- `SelectDropdownOption`
|
|
223
|
+
- `SelectMultipleTag`
|
|
224
|
+
- `Dropdown.Root`
|
|
225
|
+
- `Dropdown.Trigger`
|
|
226
|
+
- `Dropdown.Container`
|
|
227
|
+
- `Dropdown.Menu.Item`
|
|
228
|
+
- `Dropdown.Menu.List`
|
|
229
|
+
- `Dropdown.Template`
|
|
230
|
+
- `DropdownTemplateItem`
|
|
231
|
+
- `DropdownTemplateChangePayload`
|
|
232
|
+
- `Radio`
|
|
233
|
+
- `RadioField`
|
|
234
|
+
- `RadioCard`
|
|
235
|
+
- `RadioCardGroup`
|
|
236
|
+
- `RadioProps`
|
|
237
|
+
- `RadioFieldProps`
|
|
238
|
+
- `Checkbox`
|
|
239
|
+
- `CheckboxField`
|
|
240
|
+
- `CheckboxProps`
|
|
241
|
+
- `CheckboxFieldProps`
|
|
242
|
+
- `CheckboxSize`
|
|
243
|
+
- `Tooltip.Root`
|
|
244
|
+
- `Tooltip.Trigger`
|
|
245
|
+
- `Tooltip.Message`
|
|
246
|
+
- `Tooltip.Text`
|
|
247
|
+
- `Tooltip.Template`
|
|
248
|
+
- `TooltipMessageProps`
|
|
249
|
+
- `PopOver.Root`
|
|
250
|
+
- `PopOver.Trigger`
|
|
251
|
+
- `PopOver.Content`
|
|
252
|
+
- `PopOverRootProps`
|
|
253
|
+
- `PopOverTriggerProps`
|
|
254
|
+
- `PopOverContentProps`
|
|
255
|
+
|
|
50
256
|
### Link/Anchor로 사용하기
|
|
51
257
|
|
|
52
258
|
```tsx
|
|
@@ -103,11 +309,11 @@ function Templates() {
|
|
|
103
309
|
- 템플릿별 클래스를 추가로 노출한다: `.button-template-text`, `.button-template-text-size-*`, `.button-template-round`, `.button-template-round-size-*`.
|
|
104
310
|
- 스토리북 `primitives/Button` Story에서 solid/outlined/텍스트/라운드 4가지 카테고리를 한 번에 확인할 수 있다.
|
|
105
311
|
|
|
106
|
-
###
|
|
312
|
+
### Slot (폴리모픽 as 래퍼)
|
|
107
313
|
|
|
108
|
-
- `Button.Default`는 `
|
|
314
|
+
- `Button.Default`는 `Slot.Base`를 통해 `as` prop으로 전달된 요소(예: `Link`, `a`, `button`)에 공통 속성/`ref`를 안전하게 전달한다.
|
|
109
315
|
- `SlotComponentProps<C>`는 React가 허용하는 모든 native props + `data-*` 속성을 그대로 포함하고, `as/children/className`만 재정의한다.
|
|
110
|
-
- 필요 시 `import {
|
|
316
|
+
- 필요 시 `import { Slot } from "@uniai-fe/uds-primitives";` 후 `Slot.Base`, `Slot.Text`를 직접 사용해 카드/배너 래퍼나 텍스트 슬롯을 구현할 수 있다.
|
|
111
317
|
- 자세한 도입 배경과 API는 `docs/CONTEXT-SLOT.md`에서 확인할 수 있다.
|
|
112
318
|
|
|
113
319
|
### 최근 업데이트
|
package/dist/styles.css
CHANGED
|
@@ -614,6 +614,8 @@
|
|
|
614
614
|
--select-secondary-color-text-readonly: var(
|
|
615
615
|
--select-primary-color-text-readonly
|
|
616
616
|
);
|
|
617
|
+
--select-secondary-color-border-disabled: var(--color-label-disabled);
|
|
618
|
+
--select-secondary-color-border-readonly: transparent;
|
|
617
619
|
--select-secondary-color-placeholder: var(--color-label-alternative);
|
|
618
620
|
--select-secondary-color-placeholder-disabled: var(--color-label-disabled);
|
|
619
621
|
--select-secondary-color-placeholder-readonly: var(
|
|
@@ -623,9 +625,11 @@
|
|
|
623
625
|
--select-color-surface-secondary-hover: var(--color-surface-static-cool-gray);
|
|
624
626
|
--select-color-surface-secondary-active: var(--color-surface-standard);
|
|
625
627
|
--select-color-surface-secondary-disabled: var(--color-surface-neutral);
|
|
628
|
+
--select-color-surface-secondary-readonly: transparent;
|
|
626
629
|
--select-icon-color-default: var(--color-cool-gray-75);
|
|
627
630
|
--select-icon-color-focused: var(--color-cool-gray-20);
|
|
628
631
|
--select-icon-color-disabled: var(--color-cool-gray-85);
|
|
632
|
+
--select-icon-color-readonly: transparent;
|
|
629
633
|
/* Multi select chip */
|
|
630
634
|
--select-multiple-chip-gap: var(--spacing-gap-2);
|
|
631
635
|
--select-multiple-tag-label-gap: var(--spacing-gap-1);
|
|
@@ -2556,34 +2560,34 @@ figure.chip {
|
|
|
2556
2560
|
flex: var(--input-flex);
|
|
2557
2561
|
min-width: 0;
|
|
2558
2562
|
}
|
|
2559
|
-
.input[data-width=auto] {
|
|
2563
|
+
.input:where([data-width=auto]) {
|
|
2560
2564
|
--input-width: auto;
|
|
2561
2565
|
--input-flex: 0 1 auto;
|
|
2562
2566
|
}
|
|
2563
|
-
.input[data-width=fill] {
|
|
2567
|
+
.input:where([data-width=fill]) {
|
|
2564
2568
|
--input-width: auto;
|
|
2565
2569
|
--input-flex: 1 1 0%;
|
|
2566
2570
|
}
|
|
2567
|
-
.input[data-width=full], .input[data-block=true] {
|
|
2571
|
+
.input:where([data-width=full]), .input:where([data-block=true]) {
|
|
2568
2572
|
--input-width: 100%;
|
|
2569
2573
|
--input-flex: 0 0 100%;
|
|
2570
2574
|
}
|
|
2571
|
-
.input[data-width=fit] {
|
|
2575
|
+
.input:where([data-width=fit]) {
|
|
2572
2576
|
--input-width: fit-content;
|
|
2573
2577
|
--input-flex: 0 0 auto;
|
|
2574
2578
|
}
|
|
2575
|
-
.input[data-width=custom] {
|
|
2579
|
+
.input:where([data-width=custom]) {
|
|
2576
2580
|
--input-flex: 0 0 auto;
|
|
2577
2581
|
}
|
|
2578
2582
|
.input--block {
|
|
2579
2583
|
width: 100%;
|
|
2580
2584
|
}
|
|
2581
|
-
.input[data-priority=table] {
|
|
2585
|
+
.input:where([data-priority=table]) {
|
|
2582
2586
|
display: block;
|
|
2583
2587
|
--input-width: 100%;
|
|
2584
2588
|
height: 100%;
|
|
2585
2589
|
}
|
|
2586
|
-
.input[data-priority=table] .input-box {
|
|
2590
|
+
.input:where([data-priority=table]) .input-box {
|
|
2587
2591
|
height: 100%;
|
|
2588
2592
|
}
|
|
2589
2593
|
|
|
@@ -2626,21 +2630,21 @@ figure.chip {
|
|
|
2626
2630
|
outline: none;
|
|
2627
2631
|
box-shadow: none;
|
|
2628
2632
|
}
|
|
2629
|
-
.input-field[data-size=small] {
|
|
2633
|
+
.input-field:where([data-size=small]) {
|
|
2630
2634
|
min-height: var(--input-default-height-small);
|
|
2631
2635
|
--input-font-size: var(--input-text-small-size);
|
|
2632
2636
|
--input-line-height: var(--input-text-small-line-height);
|
|
2633
2637
|
--input-font-weight: var(--input-text-small-weight);
|
|
2634
2638
|
--input-letter-spacing: var(--input-text-small-letter-spacing);
|
|
2635
2639
|
}
|
|
2636
|
-
.input-field[data-size=large] {
|
|
2640
|
+
.input-field:where([data-size=large]) {
|
|
2637
2641
|
min-height: var(--input-default-height-large);
|
|
2638
2642
|
--input-font-size: var(--input-text-large-size);
|
|
2639
2643
|
--input-line-height: var(--input-text-large-line-height);
|
|
2640
2644
|
--input-font-weight: var(--input-text-large-weight);
|
|
2641
2645
|
--input-letter-spacing: var(--input-text-large-letter-spacing);
|
|
2642
2646
|
}
|
|
2643
|
-
.input-field[data-priority=secondary] {
|
|
2647
|
+
.input-field:where([data-priority=secondary]) {
|
|
2644
2648
|
border: none;
|
|
2645
2649
|
border-bottom: var(--input-border-width-default) solid var(--input-border-color);
|
|
2646
2650
|
border-radius: 0;
|
|
@@ -2648,23 +2652,23 @@ figure.chip {
|
|
|
2648
2652
|
padding-block: var(--input-secondary-padding-block);
|
|
2649
2653
|
background-color: var(--input-secondary-surface-color);
|
|
2650
2654
|
}
|
|
2651
|
-
.input-field[data-priority=secondary][data-state=active], .input-field[data-priority=secondary][data-state=focused] {
|
|
2655
|
+
.input-field:where([data-priority=secondary]):where([data-state=active]), .input-field:where([data-priority=secondary]):where([data-state=focused]) {
|
|
2652
2656
|
border-bottom-color: var(--input-border-active-color);
|
|
2653
2657
|
border-bottom-width: var(--input-border-width-emphasis);
|
|
2654
2658
|
}
|
|
2655
|
-
.input-field[data-priority=secondary][data-state=success] {
|
|
2659
|
+
.input-field:where([data-priority=secondary]):where([data-state=success]) {
|
|
2656
2660
|
border-bottom-color: var(--input-border-success-color);
|
|
2657
2661
|
border-bottom-width: var(--input-border-width-emphasis);
|
|
2658
2662
|
}
|
|
2659
|
-
.input-field[data-priority=secondary][data-state=error] {
|
|
2663
|
+
.input-field:where([data-priority=secondary]):where([data-state=error]) {
|
|
2660
2664
|
border-bottom-color: var(--input-border-error-color);
|
|
2661
2665
|
border-bottom-width: var(--input-border-width-emphasis);
|
|
2662
2666
|
}
|
|
2663
|
-
.input-field[data-priority=secondary][data-state=disabled] {
|
|
2667
|
+
.input-field:where([data-priority=secondary]):where([data-state=disabled]) {
|
|
2664
2668
|
border-bottom-color: var(--input-border-underline-disabled-color);
|
|
2665
2669
|
border-bottom-width: var(--input-border-width-default);
|
|
2666
2670
|
}
|
|
2667
|
-
.input-field[data-priority=tertiary] {
|
|
2671
|
+
.input-field:where([data-priority=tertiary]) {
|
|
2668
2672
|
border-radius: var(--input-tertiary-radius-base);
|
|
2669
2673
|
background-color: var(--input-surface-color);
|
|
2670
2674
|
min-height: var(--input-tertiary-height-base);
|
|
@@ -2677,7 +2681,7 @@ figure.chip {
|
|
|
2677
2681
|
flex-wrap: wrap;
|
|
2678
2682
|
align-items: center;
|
|
2679
2683
|
}
|
|
2680
|
-
.input-field[data-priority=tertiary] .input-field-control {
|
|
2684
|
+
.input-field:where([data-priority=tertiary]) .input-field-control {
|
|
2681
2685
|
display: grid;
|
|
2682
2686
|
grid-template-columns: auto minmax(0, 1fr);
|
|
2683
2687
|
column-gap: var(--input-default-gap);
|
|
@@ -2686,57 +2690,57 @@ figure.chip {
|
|
|
2686
2690
|
flex: 1 1 auto;
|
|
2687
2691
|
min-width: 0;
|
|
2688
2692
|
}
|
|
2689
|
-
.input-field[data-priority=tertiary] .input-inline-label {
|
|
2693
|
+
.input-field:where([data-priority=tertiary]) .input-inline-label {
|
|
2690
2694
|
grid-column: 1/-1;
|
|
2691
2695
|
margin: 0;
|
|
2692
2696
|
align-self: flex-start;
|
|
2693
2697
|
}
|
|
2694
|
-
.input-field[data-priority=tertiary] .input-element {
|
|
2698
|
+
.input-field:where([data-priority=tertiary]) .input-element {
|
|
2695
2699
|
min-height: var(--input-tertiary-element-min-height);
|
|
2696
2700
|
width: auto;
|
|
2697
2701
|
flex: 1 1 auto;
|
|
2698
2702
|
}
|
|
2699
|
-
.input-field[data-priority=tertiary] .input-field-utilities {
|
|
2703
|
+
.input-field:where([data-priority=tertiary]) .input-field-utilities {
|
|
2700
2704
|
align-self: center;
|
|
2701
2705
|
margin-left: 0;
|
|
2702
2706
|
}
|
|
2703
|
-
.input-field[data-priority=table] {
|
|
2707
|
+
.input-field:where([data-priority=table]) {
|
|
2704
2708
|
height: 100%;
|
|
2705
2709
|
border-radius: var(--input-table-radius-base);
|
|
2706
2710
|
border-color: var(--input-border-table-default-color);
|
|
2707
2711
|
background-color: var(--input-table-surface-color);
|
|
2708
2712
|
}
|
|
2709
|
-
.input-field[data-priority=table][data-state=disabled] {
|
|
2713
|
+
.input-field:where([data-priority=table]):where([data-state=disabled]) {
|
|
2710
2714
|
border-color: var(--input-border-table-disabled-color);
|
|
2711
2715
|
background-color: var(--input-table-surface-disabled-color);
|
|
2712
2716
|
}
|
|
2713
|
-
.input-field[data-priority=table][data-readonly=true] {
|
|
2717
|
+
.input-field:where([data-priority=table]):where([data-readonly=true]) {
|
|
2714
2718
|
border-color: var(--input-border-table-readonly-color);
|
|
2715
2719
|
background-color: var(--input-table-surface-readonly-color);
|
|
2716
2720
|
}
|
|
2717
|
-
.input-field:not([data-priority=secondary])[data-state=active], .input-field:not([data-priority=secondary])[data-state=focused] {
|
|
2721
|
+
.input-field:not([data-priority=secondary]):where([data-state=active]), .input-field:not([data-priority=secondary]):where([data-state=focused]) {
|
|
2718
2722
|
border-color: var(--input-border-active-color);
|
|
2719
2723
|
border-width: var(--input-border-width-emphasis);
|
|
2720
2724
|
}
|
|
2721
|
-
.input-field:not([data-priority=secondary])[data-state=success] {
|
|
2725
|
+
.input-field:not([data-priority=secondary]):where([data-state=success]) {
|
|
2722
2726
|
border-color: var(--input-border-success-color);
|
|
2723
2727
|
border-width: var(--input-border-width-emphasis);
|
|
2724
2728
|
}
|
|
2725
|
-
.input-field:not([data-priority=secondary])[data-state=error] {
|
|
2729
|
+
.input-field:not([data-priority=secondary]):where([data-state=error]) {
|
|
2726
2730
|
border-color: var(--input-border-error-color);
|
|
2727
2731
|
border-width: var(--input-border-width-emphasis);
|
|
2728
2732
|
}
|
|
2729
|
-
.input-field:not([data-priority=secondary])[data-state=disabled] {
|
|
2733
|
+
.input-field:not([data-priority=secondary]):where([data-state=disabled]) {
|
|
2730
2734
|
border-color: var(--input-border-disabled-color);
|
|
2731
2735
|
border-width: var(--input-border-width-default);
|
|
2732
2736
|
background-color: var(--input-surface-disabled-color); /* disabled 배경 토큰 */
|
|
2733
2737
|
}
|
|
2734
|
-
.input-field:not([data-priority=secondary])[data-readonly=true] {
|
|
2738
|
+
.input-field:not([data-priority=secondary]):where([data-readonly=true]) {
|
|
2735
2739
|
border-color: var(--input-border-disabled-color);
|
|
2736
2740
|
border-width: var(--input-border-width-default);
|
|
2737
2741
|
background-color: var(--input-surface-disabled-color);
|
|
2738
2742
|
}
|
|
2739
|
-
.input-field:not([data-priority=secondary])[data-state=error][data-readonly=true] {
|
|
2743
|
+
.input-field:not([data-priority=secondary]):where([data-state=error][data-readonly=true]) {
|
|
2740
2744
|
border-color: var(--input-border-error-color);
|
|
2741
2745
|
border-width: var(--input-border-width-emphasis);
|
|
2742
2746
|
}
|
|
@@ -2777,7 +2781,7 @@ figure.chip {
|
|
|
2777
2781
|
box-shadow: none;
|
|
2778
2782
|
}
|
|
2779
2783
|
|
|
2780
|
-
.input-field[data-has-value=true] .input-element:not(:disabled) {
|
|
2784
|
+
.input-field:where([data-has-value=true]) .input-element:not(:disabled) {
|
|
2781
2785
|
color: var(--input-text-color);
|
|
2782
2786
|
caret-color: var(--input-text-color);
|
|
2783
2787
|
}
|
|
@@ -2790,7 +2794,7 @@ figure.chip {
|
|
|
2790
2794
|
min-width: 0;
|
|
2791
2795
|
}
|
|
2792
2796
|
|
|
2793
|
-
.input[data-input-type=textarea] .input-field {
|
|
2797
|
+
.input:where([data-input-type=textarea]) .input-field {
|
|
2794
2798
|
--input-textarea-radius: var(--input-textarea-radius-medium);
|
|
2795
2799
|
--input-textarea-padding-inline: var(--input-textarea-padding-inline-medium);
|
|
2796
2800
|
--input-textarea-padding-block: var(--input-textarea-padding-block-medium);
|
|
@@ -2801,29 +2805,29 @@ figure.chip {
|
|
|
2801
2805
|
border-radius: var(--input-textarea-radius);
|
|
2802
2806
|
padding: var(--input-textarea-padding-block) var(--input-textarea-padding-inline);
|
|
2803
2807
|
}
|
|
2804
|
-
.input[data-input-type=textarea] .input-field[data-size=small] {
|
|
2808
|
+
.input:where([data-input-type=textarea]) .input-field:where([data-size=small]) {
|
|
2805
2809
|
--input-textarea-radius: var(--input-textarea-radius-small);
|
|
2806
2810
|
--input-textarea-padding-inline: var(--input-textarea-padding-inline-small);
|
|
2807
2811
|
--input-textarea-padding-block: var(--input-textarea-padding-block-small);
|
|
2808
2812
|
--input-textarea-gap: var(--input-textarea-gap-small);
|
|
2809
2813
|
}
|
|
2810
|
-
.input[data-input-type=textarea] .input-field[data-size=large] {
|
|
2814
|
+
.input:where([data-input-type=textarea]) .input-field:where([data-size=large]) {
|
|
2811
2815
|
--input-textarea-radius: var(--input-textarea-radius-large);
|
|
2812
2816
|
--input-textarea-padding-inline: var(--input-textarea-padding-inline-large);
|
|
2813
2817
|
--input-textarea-padding-block: var(--input-textarea-padding-block-large);
|
|
2814
2818
|
--input-textarea-gap: var(--input-textarea-gap-large);
|
|
2815
2819
|
}
|
|
2816
2820
|
|
|
2817
|
-
.input[data-input-type=textarea] {
|
|
2821
|
+
.input:where([data-input-type=textarea]) {
|
|
2818
2822
|
min-height: var(--input-textarea-height);
|
|
2819
2823
|
}
|
|
2820
|
-
.input[data-input-type=textarea] .input-box {
|
|
2824
|
+
.input:where([data-input-type=textarea]) .input-box {
|
|
2821
2825
|
height: 100%;
|
|
2822
2826
|
}
|
|
2823
|
-
.input[data-input-type=textarea] .input-field {
|
|
2827
|
+
.input:where([data-input-type=textarea]) .input-field {
|
|
2824
2828
|
height: 100%;
|
|
2825
2829
|
}
|
|
2826
|
-
.input[data-input-type=textarea] .input-field-control {
|
|
2830
|
+
.input:where([data-input-type=textarea]) .input-field-control {
|
|
2827
2831
|
flex: 1 1 auto;
|
|
2828
2832
|
width: 100%;
|
|
2829
2833
|
align-items: stretch;
|
|
@@ -2865,27 +2869,27 @@ figure.chip {
|
|
|
2865
2869
|
color: var(--input-label-color);
|
|
2866
2870
|
}
|
|
2867
2871
|
|
|
2868
|
-
.input-field[data-priority=secondary] .input-element {
|
|
2872
|
+
.input-field:where([data-priority=secondary]) .input-element {
|
|
2869
2873
|
padding-inline: 0;
|
|
2870
2874
|
}
|
|
2871
2875
|
|
|
2872
|
-
.input-field[data-priority=tertiary] .input-element {
|
|
2876
|
+
.input-field:where([data-priority=tertiary]) .input-element {
|
|
2873
2877
|
min-height: var(--input-tertiary-element-min-height);
|
|
2874
2878
|
}
|
|
2875
2879
|
|
|
2876
|
-
.input-field[data-priority=table][data-size=small] .input-element {
|
|
2880
|
+
.input-field:where([data-priority=table]):where([data-size=small]) .input-element {
|
|
2877
2881
|
font-size: var(--input-table-text-small-size);
|
|
2878
2882
|
line-height: var(--input-table-text-small-line-height);
|
|
2879
2883
|
font-weight: var(--input-table-text-small-weight);
|
|
2880
2884
|
}
|
|
2881
2885
|
|
|
2882
|
-
.input-field[data-priority=table][data-size=medium] .input-element {
|
|
2886
|
+
.input-field:where([data-priority=table]):where([data-size=medium]) .input-element {
|
|
2883
2887
|
font-size: var(--input-table-text-medium-size);
|
|
2884
2888
|
line-height: var(--input-table-text-medium-line-height);
|
|
2885
2889
|
font-weight: var(--input-table-text-medium-weight);
|
|
2886
2890
|
}
|
|
2887
2891
|
|
|
2888
|
-
.input-field[data-priority=table][data-size=large] .input-element {
|
|
2892
|
+
.input-field:where([data-priority=table]):where([data-size=large]) .input-element {
|
|
2889
2893
|
font-size: var(--input-table-text-large-size);
|
|
2890
2894
|
line-height: var(--input-table-text-large-line-height);
|
|
2891
2895
|
font-weight: var(--input-table-text-large-weight);
|
|
@@ -2896,10 +2900,10 @@ figure.chip {
|
|
|
2896
2900
|
font-size: var(--input-helper-font-size);
|
|
2897
2901
|
line-height: var(--input-helper-line-height);
|
|
2898
2902
|
}
|
|
2899
|
-
[data-state=error] .input-helper-text {
|
|
2903
|
+
:where([data-state=error]) .input-helper-text {
|
|
2900
2904
|
color: var(--input-border-error-color);
|
|
2901
2905
|
}
|
|
2902
|
-
[data-state=disabled] .input-helper-text {
|
|
2906
|
+
:where([data-state=disabled]) .input-helper-text {
|
|
2903
2907
|
color: var(--input-helper-disabled-color);
|
|
2904
2908
|
}
|
|
2905
2909
|
|
|
@@ -2920,77 +2924,78 @@ figure.chip {
|
|
|
2920
2924
|
.input-affix-clear, .input-affix-status {
|
|
2921
2925
|
color: var(--input-text-color);
|
|
2922
2926
|
}
|
|
2923
|
-
.input-affix-status[data-state=error] {
|
|
2927
|
+
.input-affix-status:where([data-state=error]) {
|
|
2924
2928
|
color: var(--input-status-error-color);
|
|
2925
2929
|
}
|
|
2926
|
-
.input-affix-status[data-state=success] {
|
|
2930
|
+
.input-affix-status:where([data-state=success]) {
|
|
2927
2931
|
color: var(--input-status-success-color);
|
|
2928
2932
|
}
|
|
2929
2933
|
|
|
2930
|
-
.input-field[data-priority=secondary] {
|
|
2934
|
+
.input-field:where([data-priority=secondary]) {
|
|
2931
2935
|
border-bottom-width: var(--input-border-width-default);
|
|
2932
2936
|
}
|
|
2933
|
-
.input-field[data-priority=secondary][data-state=active],
|
|
2937
|
+
.input-field:where([data-priority=secondary]) :where([data-state=active]),
|
|
2938
|
+
.input-field:where([data-priority=secondary]) :where([data-state=focused]) {
|
|
2934
2939
|
border-bottom-color: var(--input-border-active-color);
|
|
2935
2940
|
border-bottom-width: var(--input-border-width-emphasis);
|
|
2936
2941
|
}
|
|
2937
|
-
.input-field[data-priority=secondary][data-state=success] {
|
|
2942
|
+
.input-field:where([data-priority=secondary]) :where([data-state=success]) {
|
|
2938
2943
|
border-bottom-color: var(--input-border-success-color);
|
|
2939
2944
|
border-bottom-width: var(--input-border-width-emphasis);
|
|
2940
2945
|
}
|
|
2941
|
-
.input-field[data-priority=secondary][data-state=error] {
|
|
2946
|
+
.input-field:where([data-priority=secondary]) :where([data-state=error]) {
|
|
2942
2947
|
border-bottom-color: var(--input-border-error-color);
|
|
2943
2948
|
border-bottom-width: var(--input-border-width-emphasis);
|
|
2944
2949
|
}
|
|
2945
|
-
.input-field[data-priority=secondary][data-state=disabled] {
|
|
2950
|
+
.input-field:where([data-priority=secondary]) :where([data-state=disabled]) {
|
|
2946
2951
|
border-bottom-color: var(--input-border-underline-disabled-color);
|
|
2947
2952
|
border-bottom-width: var(--input-border-width-default);
|
|
2948
2953
|
}
|
|
2949
|
-
.input-field[data-priority=secondary][data-readonly=true] {
|
|
2954
|
+
.input-field:where([data-priority=secondary]) :where([data-readonly=true]) {
|
|
2950
2955
|
border-bottom-color: var(--input-border-underline-disabled-color);
|
|
2951
2956
|
border-bottom-width: var(--input-border-width-default);
|
|
2952
2957
|
}
|
|
2953
2958
|
|
|
2954
|
-
.input[data-state=active] .input-label,
|
|
2955
|
-
.input[data-state=active] .input-inline-label,
|
|
2956
|
-
.input[data-state=focused] .input-label,
|
|
2957
|
-
.input[data-state=focused] .input-inline-label,
|
|
2958
|
-
.input[data-state=success] .input-label,
|
|
2959
|
-
.input[data-state=success] .input-inline-label {
|
|
2959
|
+
.input:where([data-state=active]) .input-label,
|
|
2960
|
+
.input:where([data-state=active]) .input-inline-label,
|
|
2961
|
+
.input:where([data-state=focused]) .input-label,
|
|
2962
|
+
.input:where([data-state=focused]) .input-inline-label,
|
|
2963
|
+
.input:where([data-state=success]) .input-label,
|
|
2964
|
+
.input:where([data-state=success]) .input-inline-label {
|
|
2960
2965
|
color: var(--input-label-accent-color);
|
|
2961
2966
|
}
|
|
2962
2967
|
|
|
2963
|
-
.input[data-state=error] .input-label,
|
|
2964
|
-
.input[data-state=error] .input-inline-label {
|
|
2968
|
+
.input:where([data-state=error]) .input-label,
|
|
2969
|
+
.input:where([data-state=error]) .input-inline-label {
|
|
2965
2970
|
color: var(--input-label-error-color);
|
|
2966
2971
|
}
|
|
2967
|
-
.input[data-state=error] .input-helper-text {
|
|
2972
|
+
.input:where([data-state=error]) .input-helper-text {
|
|
2968
2973
|
color: var(--input-label-error-color);
|
|
2969
2974
|
}
|
|
2970
|
-
.input[data-state=error] .input-textarea-length {
|
|
2975
|
+
.input:where([data-state=error]) .input-textarea-length {
|
|
2971
2976
|
color: var(--input-label-error-color);
|
|
2972
2977
|
}
|
|
2973
2978
|
|
|
2974
|
-
.input[data-state=disabled] .input-label,
|
|
2975
|
-
.input[data-state=disabled] .input-inline-label,
|
|
2976
|
-
.input[data-state=disabled] .input-helper-text,
|
|
2977
|
-
.input[data-state=disabled] .input-affix,
|
|
2978
|
-
.input[data-state=disabled] .input-textarea-length {
|
|
2979
|
+
.input:where([data-state=disabled]) .input-label,
|
|
2980
|
+
.input:where([data-state=disabled]) .input-inline-label,
|
|
2981
|
+
.input:where([data-state=disabled]) .input-helper-text,
|
|
2982
|
+
.input:where([data-state=disabled]) .input-affix,
|
|
2983
|
+
.input:where([data-state=disabled]) .input-textarea-length {
|
|
2979
2984
|
color: var(--input-helper-disabled-color);
|
|
2980
2985
|
}
|
|
2981
|
-
.input[data-state=disabled] .input-field {
|
|
2986
|
+
.input:where([data-state=disabled]) .input-field {
|
|
2982
2987
|
border-color: var(--input-border-color);
|
|
2983
2988
|
background-color: var(--input-surface-disabled-color);
|
|
2984
2989
|
}
|
|
2985
|
-
.input[data-state=disabled] .input-field[data-priority=secondary] {
|
|
2990
|
+
.input:where([data-state=disabled]) .input-field[data-priority=secondary] {
|
|
2986
2991
|
background-color: var(--input-secondary-surface-color);
|
|
2987
2992
|
}
|
|
2988
|
-
.input[data-state=disabled] .input-field[data-priority=table] {
|
|
2993
|
+
.input:where([data-state=disabled]) .input-field[data-priority=table] {
|
|
2989
2994
|
background-color: var(--input-table-surface-disabled-color);
|
|
2990
2995
|
border-color: var(--input-border-table-disabled-color);
|
|
2991
2996
|
}
|
|
2992
2997
|
|
|
2993
|
-
.input[data-readonly=true] .input-field[data-priority=table] {
|
|
2998
|
+
.input:where([data-readonly=true]) .input-field:where([data-priority=table]) {
|
|
2994
2999
|
background-color: var(--input-table-surface-readonly-color);
|
|
2995
3000
|
border-color: var(--input-border-table-readonly-color);
|
|
2996
3001
|
}
|
|
@@ -3871,7 +3876,11 @@ figure.chip {
|
|
|
3871
3876
|
--select-flex: 1 1 0%;
|
|
3872
3877
|
}
|
|
3873
3878
|
|
|
3874
|
-
.select[data-width=full]
|
|
3879
|
+
.select:where([data-width=full]) {
|
|
3880
|
+
--select-width: 100%;
|
|
3881
|
+
--select-flex: 0 0 100%;
|
|
3882
|
+
}
|
|
3883
|
+
|
|
3875
3884
|
.select-block {
|
|
3876
3885
|
--select-width: 100%;
|
|
3877
3886
|
--select-flex: 0 0 100%;
|
|
@@ -3982,12 +3991,13 @@ figure.chip {
|
|
|
3982
3991
|
border-color: var(--select-primary-color-border-disabled);
|
|
3983
3992
|
background-color: var(--select-primary-color-surface-disabled);
|
|
3984
3993
|
cursor: default;
|
|
3985
|
-
--select-icon-fill: var(--select-icon-color-
|
|
3994
|
+
--select-icon-fill: var(--select-icon-color-readonly);
|
|
3986
3995
|
}
|
|
3987
3996
|
.select-button:where([data-priority=secondary]):where([data-readonly=true]) {
|
|
3988
|
-
border-color:
|
|
3989
|
-
background-color: var(--select-color-surface-secondary-
|
|
3997
|
+
border-color: var(--select-secondary-color-border-readonly);
|
|
3998
|
+
background-color: var(--select-color-surface-secondary-readonly);
|
|
3990
3999
|
cursor: default;
|
|
4000
|
+
--select-icon-fill: var(--select-icon-color-readonly);
|
|
3991
4001
|
}
|
|
3992
4002
|
.select-button:where([data-priority=secondary]):where([data-readonly=true])::after {
|
|
3993
4003
|
background-color: var(--select-color-border-secondary-disabled);
|
|
@@ -3997,7 +4007,7 @@ figure.chip {
|
|
|
3997
4007
|
border-color: var(--select-table-border-readonly-color);
|
|
3998
4008
|
background-color: var(--select-table-surface-readonly-color);
|
|
3999
4009
|
cursor: not-allowed;
|
|
4000
|
-
--select-icon-fill: var(--select-table-icon-color-
|
|
4010
|
+
--select-icon-fill: var(--select-table-icon-color-readonly);
|
|
4001
4011
|
}
|
|
4002
4012
|
.select-button:where(:not([data-priority=secondary])):where([data-state=disabled]), .select-button:where(:not([data-priority=secondary])):disabled {
|
|
4003
4013
|
border-color: var(--select-primary-color-border-disabled);
|
|
@@ -4006,7 +4016,7 @@ figure.chip {
|
|
|
4006
4016
|
--select-icon-fill: var(--select-icon-color-disabled);
|
|
4007
4017
|
}
|
|
4008
4018
|
.select-button:where([data-priority=secondary]):where([data-state=disabled]), .select-button:where([data-priority=secondary]):disabled {
|
|
4009
|
-
border-color:
|
|
4019
|
+
border-color: var(--select-secondary-color-border-disabled);
|
|
4010
4020
|
background-color: var(--select-color-surface-secondary-disabled);
|
|
4011
4021
|
}
|
|
4012
4022
|
.select-button:where([data-priority=secondary]):where([data-state=disabled])::after, .select-button:where([data-priority=secondary]):disabled::after {
|
|
@@ -4073,6 +4083,11 @@ figure.chip {
|
|
|
4073
4083
|
color: var(--select-secondary-color-text-readonly);
|
|
4074
4084
|
}
|
|
4075
4085
|
|
|
4086
|
+
.select-input-label-readonly {
|
|
4087
|
+
width: auto;
|
|
4088
|
+
max-width: 100%;
|
|
4089
|
+
}
|
|
4090
|
+
|
|
4076
4091
|
.select-button:where(:not([data-state=disabled])) .select-value[data-has-value=true] .select-input-label {
|
|
4077
4092
|
color: var(--select-color-text-value);
|
|
4078
4093
|
caret-color: var(--select-color-text-value);
|