sellmate-design-system-react 9.0.0-beta.8 → 9.0.0-beta.9

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.
@@ -35,7 +35,7 @@
35
35
  | 분류 | 컴포넌트 |
36
36
  | --- | --- |
37
37
  | **버튼·링크** | `SButton` `SGhostButton` `SDropdownButton` `STextLink` `SSwitch` `SToggle` |
38
- | **입력 (폼)** | `SForm` `SField` `SInput` `SNumberInput` `STextarea` `SSelect` `SCheckbox` `SRadio` `SRadioGroup` `SRadioButton` `SChip` `SChipInput` `SBarcodeInput` `SFilePicker` |
38
+ | **입력 (폼)** | `SForm` `SField` `SInput` `SSearchInput` `SNumberInput` `STextarea` `SSelect` `SCheckbox` `SRadio` `SRadioGroup` `SRadioButton` `SChip` `SChipInput` `SBarcodeInput` `SFilePicker` |
39
39
  | **날짜·시간** | `SCalendar` `SDatePicker` `SDatePickerYearListbox` `SDatePickerMonthListbox` `SDateRangePicker` `STimePicker` `STimeRangePicker` |
40
40
  | **표·목록** | `STable` `STableBar` `SChipFilter` `SKeyValueTable` `SList` `SListItem` `SExpansionList` `SDraggableList` `SDraggableItem` `STree` |
41
41
  | **레이아웃** | `SLayout` `SGnb` `SPage`(제목 영역은 `header` prop) `SSectionHeaderCard` `SCard` `SDivider` `SSplitter` `SScrollArea` `SExpansionItem` |
@@ -68,6 +68,7 @@ AI 에이전트는 코드를 생성하기 전에 이 목록을 반드시 지킨
68
68
  | --- | --- |
69
69
  | `<button>` | `SButton`, `SGhostButton`, `SDropdownButton`, `STextLink` |
70
70
  | `<input type="text/password/...">` | `SInput` |
71
+ | `<input type="search">` | `SSearchInput` |
71
72
  | `<input type="number">` | `SNumberInput` |
72
73
  | `<input type="checkbox">` | `SCheckbox`, `SToggle`, `SSwitch` |
73
74
  | `<input type="radio">` | `SRadio`, `SRadioButton` |
@@ -146,7 +147,7 @@ Tailwind 유틸리티는 **토큰 스케일에 있는 값만** 사용한다.
146
147
  | --- | --- | --- |
147
148
  | **셸** | 앱 전체 뼈대. 페이지가 바뀌어도 남는다 | `SLayout` `SGnb` `SPage`(제목 영역은 `header` prop) |
148
149
  | **블록** | `SPage` 의 직계 자식. 페이지를 세로로 쌓는 단위 | `SSectionHeaderCard` `SCard` `SForm` `SSplitter` `SScrollArea` `STable` `STableBar` `SChipFilter` `SKeyValueTable` `SList` `SExpansionList` `SDraggableList` `STree` `SCallout` `STabs` `SStepper` `SPagination` `SDivider` |
149
- | **요소** | 블록 **안에** 놓이는 컨트롤. 혼자 페이지에 서지 않는다 | `SButton` `SGhostButton` `SDropdownButton` `SField` `SInput` `SNumberInput` `STextarea` `SSelect` `SCheckbox` `SRadio` `SRadioGroup` `SRadioButton` `SSwitch` `SToggle` `SChipInput` `SBarcodeInput` `SFilePicker` `SDatePicker` `SDatePickerYearListbox` `SDatePickerMonthListbox` `SDateRangePicker` `STimePicker` `STimeRangePicker` `SCalendar` `SListItem` `SExpansionItem` `SDraggableItem` `SImage` `SLinearProgress` `SCircleProgress` |
150
+ | **요소** | 블록 **안에** 놓이는 컨트롤. 혼자 페이지에 서지 않는다 | `SButton` `SGhostButton` `SDropdownButton` `SField` `SInput` `SSearchInput` `SNumberInput` `STextarea` `SSelect` `SCheckbox` `SRadio` `SRadioGroup` `SRadioButton` `SSwitch` `SToggle` `SChipInput` `SBarcodeInput` `SFilePicker` `SDatePicker` `SDatePickerYearListbox` `SDatePickerMonthListbox` `SDateRangePicker` `STimePicker` `STimeRangePicker` `SCalendar` `SListItem` `SExpansionItem` `SDraggableItem` `SImage` `SLinearProgress` `SCircleProgress` |
150
151
  | **인라인** | 텍스트 흐름·셀·라벨 안에 섞인다. 혼자 블록이 되지 않는다 | `STag` `SBadge` `SIcon` `STextLink` `SChip` |
151
152
  | **레이어** | 문서 흐름 **밖**에 떠서 그려진다. 어느 층에서 띄우든 레이아웃에 영향이 없다 | `SModal` `SActionModal` `SConfirmModal` `SPopup` `SDrawer` `SPopover` `STooltip` `SPortal` `SToast` `SLoadingModal` `SLoadingContainer` `SGuide` |
152
153
 
@@ -447,6 +448,7 @@ Tailwind 유틸리티는 **토큰 스케일에 있는 값만** 사용한다.
447
448
  | --- | --- | --- |
448
449
  | 한 줄 텍스트를 받는다 | `SInput` | §3-7-1 |
449
450
  | 여러 줄 텍스트를 받는다 | `STextarea` | §3-7-1 |
451
+ | 목록·결과를 검색어로 좁힌다 | `SSearchInput` | §3-7-1 |
450
452
  | 숫자(수량·금액)를 받는다 | `SNumberInput` | |
451
453
  | 바코드를 스캔해 받는다 | `SBarcodeInput` | |
452
454
  | 목록에서 하나 고르게 한다 | `SSelect` | §3-7-2 |
@@ -1027,16 +1029,19 @@ const columns: STableColumn[] = [
1027
1029
 
1028
1030
  > §3-0 라우팅에서 이 절을 가리키는 자리들이다. <!-- TODO(디자인): 전체 검수·확정 -->
1029
1031
 
1030
- #### 3-7-1. SInput vs STextarea
1032
+ #### 3-7-1. SInput vs STextarea vs SSearchInput
1031
1033
 
1032
- **줄 수가 아니라 값의 성격으로 고른다.** 값의 길이를 미리 알 수 있으면 `SInput`, 없으면 `STextarea` 다.
1034
+ **먼저 "그 값이 저장되는가"를 본다.** 저장되면 폼 필드(`SInput`·`STextarea`), 화면을 좁히기만 하고 사라지면 `SSearchInput` 이다.
1033
1035
 
1034
1036
  | 값 | 사용 |
1035
1037
  | --- | --- |
1036
1038
  | 이름·코드·전화번호·URL 처럼 형식이 정해진 값 | `SInput` |
1037
1039
  | 메모·사유·설명처럼 길이가 예측되지 않는 문장 | `STextarea` |
1040
+ | 지금 보이는 목록·결과를 좁히는 검색어 | `SSearchInput` |
1038
1041
 
1039
- 값이 길어질 수 있는데 `SInput` 을 쓰면 사용자가 자기가 쓴 것을 다시 읽지 못한다 — 한 줄 안에서 좌우로 스크롤해야 하기 때문이다. 반대로 짧은 값에 `STextarea` 를 쓰면 빈 공간이 남아 입력량을 잘못 기대하게 한다.
1042
+ 폼 필드 둘은 **줄 수가 아니라 값의 성격으로** 갈린다. 값이 길어질 수 있는데 `SInput` 을 쓰면 사용자가 자기가 쓴 것을 다시 읽지 못한다 — 한 줄 안에서 좌우로 스크롤해야 하기 때문이다. 반대로 짧은 값에 `STextarea` 를 쓰면 빈 공간이 남아 입력량을 잘못 기대하게 한다.
1043
+
1044
+ `SSearchInput` 은 폼 필드가 아니다 — 라벨·힌트·유효성 규칙·에러 메시지를 받지 않고, `SForm` 의 제출 검증 대상에도 들어가지 않는다. 돋보기 아이콘이 항상 앞에 붙어 "여기는 검색"임을 스스로 밝히므로 라벨을 따로 붙이지 않는다. 검색 실행은 `onSearch`(Enter) 로 받고, 값이 바뀔 때마다 좁히는 실시간 필터라면 `onValueChange` 만 쓴다. 반대로 검색어를 **저장하거나 검증해야 한다면** 그것은 폼 값이므로 `SInput` 이다.
1040
1045
 
1041
1046
  #### 3-7-2. 하나를 고르게 하는 다섯 — SSelect vs SRadioGroup vs SRadioButton vs STabs vs SRadio
1042
1047
 
@@ -1295,7 +1300,7 @@ import { SModalOutlet } from 'sellmate-design-system-react';
1295
1300
  topContent={
1296
1301
  /* 남는 폭 전체를 받는다 — 왼쪽은 그대로, 오른쪽 끝은 ml-auto */
1297
1302
  <div className="flex w-full items-center gap-sd-8">
1298
- <SInput value={keyword} onValueChange={setKeyword} placeholder="통합 검색" />
1303
+ <SSearchInput value={keyword} onValueChange={setKeyword} onSearch={runSearch} placeholder="통합 검색" />
1299
1304
  <SButton size="sm" color="neutral" outline label="내 계정" className="ml-auto" onClick={openAccount} />
1300
1305
  </div>
1301
1306
  }
@@ -1312,7 +1317,7 @@ import { SModalOutlet } from 'sellmate-design-system-react';
1312
1317
  {/* 접히면 menuTop·menuFooter 가 함께 빠지므로, 폴드 레일에 남길 것만 foldedTop 으로 따로 준다 */}
1313
1318
  <SGnb
1314
1319
  items={MENU} value={current} onValueChange={navigate} useRail
1315
- menuTop={<SInput value={keyword} onValueChange={setKeyword} placeholder="메뉴 검색" />}
1320
+ menuTop={<SSearchInput value={keyword} onValueChange={setKeyword} placeholder="메뉴 검색" />}
1316
1321
  menuFooter={<AccountRow />}
1317
1322
  foldedTop={<SGhostButton icon="search" size="sm" ariaLabel="메뉴 검색" onClick={openSearch} />}
1318
1323
  />
@@ -2879,6 +2884,7 @@ Tailwind 유틸리티는 아래 스케일에 있는 값만 사용한다. 리터
2879
2884
  - [SFilePicker](../SFilePicker)
2880
2885
  - [SInput](../SInput)
2881
2886
  - [SNumberInput](../SNumberInput)
2887
+ - [SSearchInput](../SSearchInput)
2882
2888
  - [SSelect](../SSelect)
2883
2889
  - [STextarea](../STextarea)
2884
2890
  - [STimePicker](../STimePicker)
@@ -3071,6 +3077,7 @@ Tailwind 유틸리티는 아래 스케일에 있는 값만 사용한다. 리터
3071
3077
  - [SOverlayHeader](../SOverlayHeader)
3072
3078
  - [SPage](../SPage)
3073
3079
  - [SPopover](../SPopover)
3080
+ - [SSearchInput](../SSearchInput)
3074
3081
  - [SSelect](../SSelect)
3075
3082
  - [STimePicker](../STimePicker)
3076
3083
  - [STimeRangePicker](../STimeRangePicker)
@@ -3215,6 +3222,7 @@ Tailwind 유틸리티는 아래 스케일에 있는 값만 사용한다. 리터
3215
3222
  - [SNumberInput](../SNumberInput)
3216
3223
  - [SPagination](../SPagination)
3217
3224
  - [SPopover](../SPopover)
3225
+ - [SSearchInput](../SSearchInput)
3218
3226
  - [SSectionHeaderCard](../SSectionHeaderCard)
3219
3227
  - [SSelect](../SSelect)
3220
3228
  - [SStepper](../SStepper)
@@ -4265,6 +4273,49 @@ function OrderModal({ open, onOpenChange, onClose, modalRef, orderId }: OrderMod
4265
4273
 
4266
4274
  ---
4267
4275
 
4276
+ # SSearchInput
4277
+
4278
+ > 자동 생성 문서 — `npm run docs:gen`. 소스: 각 컴포넌트의 Props/Handle 인터페이스 + import 의존성.
4279
+
4280
+ ### SSearchInput
4281
+
4282
+ #### Props
4283
+
4284
+ | Prop | Type | Default | Description |
4285
+ |------|------|---------|-------------|
4286
+ | `value?` | `string \| number` | — | 값 (제어) |
4287
+ | `size?` | `SSearchInputSize` | `'sm'` | 크기 |
4288
+ | `placeholder?` | `string` | `'결과 내 검색'` | 플레이스홀더 |
4289
+ | `clearable?` | `boolean` | `false` | 지우기 버튼 — 값이 있을 때만 나타난다 |
4290
+ | `disabled?` | `boolean` | `false` | 비활성 |
4291
+ | `width?` | `number \| string` | — | 컨트롤 너비 (숫자=px). 미지정 시 부모 폭을 채운다 |
4292
+ | `focused?` | `boolean` | — | 포커스 상태 (제어/반영) |
4293
+ | `hovered?` | `boolean` | — | 호버 상태 (제어/반영) |
4294
+ | `inputClass?` | `string` | — | 내부 input 요소 className |
4295
+ | `inputStyle?` | `CSSProperties` | — | 내부 input 요소 style |
4296
+ | `className?` | `string` | — | |
4297
+ | `style?` | `CSSProperties` | — | |
4298
+
4299
+ #### Events
4300
+
4301
+ | Event | Type | Description |
4302
+ |-------|------|-------------|
4303
+ | `onValueChange` | `(value: string) => void` | 값 변경 — 문자열 전달 |
4304
+ | `onChange` | `InputHTMLAttributes<HTMLInputElement>['onChange']` | 네이티브 onChange (form-agnostic 연동용, RHF 등) |
4305
+ | `onSearch` | `(value: string) => void` | 검색 실행 — Enter 키에서 현재 값과 함께 호출된다. 한글 조합 중의 Enter(IME 확정)는 검색으로 치지 않는다. |
4306
+
4307
+ ## Dependencies
4308
+
4309
+ ### Depends on
4310
+
4311
+ - [SField](../SField)
4312
+ - [SGhostButton](../SGhostButton)
4313
+ - [SIcon](../SIcon)
4314
+
4315
+ ### Graph
4316
+
4317
+ ---
4318
+
4268
4319
  # SSectionHeaderCard
4269
4320
 
4270
4321
  > 자동 생성 문서 — `npm run docs:gen`. 소스: 각 컴포넌트의 Props/Handle 인터페이스 + import 의존성.
package/dist/llms.txt CHANGED
@@ -36,7 +36,7 @@
36
36
  | 분류 | 컴포넌트 |
37
37
  | --- | --- |
38
38
  | **버튼·링크** | `SButton` `SGhostButton` `SDropdownButton` `STextLink` `SSwitch` `SToggle` |
39
- | **입력 (폼)** | `SForm` `SField` `SInput` `SNumberInput` `STextarea` `SSelect` `SCheckbox` `SRadio` `SRadioGroup` `SRadioButton` `SChip` `SChipInput` `SBarcodeInput` `SFilePicker` |
39
+ | **입력 (폼)** | `SForm` `SField` `SInput` `SSearchInput` `SNumberInput` `STextarea` `SSelect` `SCheckbox` `SRadio` `SRadioGroup` `SRadioButton` `SChip` `SChipInput` `SBarcodeInput` `SFilePicker` |
40
40
  | **날짜·시간** | `SCalendar` `SDatePicker` `SDatePickerYearListbox` `SDatePickerMonthListbox` `SDateRangePicker` `STimePicker` `STimeRangePicker` |
41
41
  | **표·목록** | `STable` `STableBar` `SChipFilter` `SKeyValueTable` `SList` `SListItem` `SExpansionList` `SDraggableList` `SDraggableItem` `STree` |
42
42
  | **레이아웃** | `SLayout` `SGnb` `SPage`(제목 영역은 `header` prop) `SSectionHeaderCard` `SCard` `SDivider` `SSplitter` `SScrollArea` `SExpansionItem` |
@@ -69,6 +69,7 @@ AI 에이전트는 코드를 생성하기 전에 이 목록을 반드시 지킨
69
69
  | --- | --- |
70
70
  | `<button>` | `SButton`, `SGhostButton`, `SDropdownButton`, `STextLink` |
71
71
  | `<input type="text/password/...">` | `SInput` |
72
+ | `<input type="search">` | `SSearchInput` |
72
73
  | `<input type="number">` | `SNumberInput` |
73
74
  | `<input type="checkbox">` | `SCheckbox`, `SToggle`, `SSwitch` |
74
75
  | `<input type="radio">` | `SRadio`, `SRadioButton` |
@@ -147,7 +148,7 @@ Tailwind 유틸리티는 **토큰 스케일에 있는 값만** 사용한다.
147
148
  | --- | --- | --- |
148
149
  | **셸** | 앱 전체 뼈대. 페이지가 바뀌어도 남는다 | `SLayout` `SGnb` `SPage`(제목 영역은 `header` prop) |
149
150
  | **블록** | `SPage` 의 직계 자식. 페이지를 세로로 쌓는 단위 | `SSectionHeaderCard` `SCard` `SForm` `SSplitter` `SScrollArea` `STable` `STableBar` `SChipFilter` `SKeyValueTable` `SList` `SExpansionList` `SDraggableList` `STree` `SCallout` `STabs` `SStepper` `SPagination` `SDivider` |
150
- | **요소** | 블록 **안에** 놓이는 컨트롤. 혼자 페이지에 서지 않는다 | `SButton` `SGhostButton` `SDropdownButton` `SField` `SInput` `SNumberInput` `STextarea` `SSelect` `SCheckbox` `SRadio` `SRadioGroup` `SRadioButton` `SSwitch` `SToggle` `SChipInput` `SBarcodeInput` `SFilePicker` `SDatePicker` `SDatePickerYearListbox` `SDatePickerMonthListbox` `SDateRangePicker` `STimePicker` `STimeRangePicker` `SCalendar` `SListItem` `SExpansionItem` `SDraggableItem` `SImage` `SLinearProgress` `SCircleProgress` |
151
+ | **요소** | 블록 **안에** 놓이는 컨트롤. 혼자 페이지에 서지 않는다 | `SButton` `SGhostButton` `SDropdownButton` `SField` `SInput` `SSearchInput` `SNumberInput` `STextarea` `SSelect` `SCheckbox` `SRadio` `SRadioGroup` `SRadioButton` `SSwitch` `SToggle` `SChipInput` `SBarcodeInput` `SFilePicker` `SDatePicker` `SDatePickerYearListbox` `SDatePickerMonthListbox` `SDateRangePicker` `STimePicker` `STimeRangePicker` `SCalendar` `SListItem` `SExpansionItem` `SDraggableItem` `SImage` `SLinearProgress` `SCircleProgress` |
151
152
  | **인라인** | 텍스트 흐름·셀·라벨 안에 섞인다. 혼자 블록이 되지 않는다 | `STag` `SBadge` `SIcon` `STextLink` `SChip` |
152
153
  | **레이어** | 문서 흐름 **밖**에 떠서 그려진다. 어느 층에서 띄우든 레이아웃에 영향이 없다 | `SModal` `SActionModal` `SConfirmModal` `SPopup` `SDrawer` `SPopover` `STooltip` `SPortal` `SToast` `SLoadingModal` `SLoadingContainer` `SGuide` |
153
154
 
@@ -448,6 +449,7 @@ Tailwind 유틸리티는 **토큰 스케일에 있는 값만** 사용한다.
448
449
  | --- | --- | --- |
449
450
  | 한 줄 텍스트를 받는다 | `SInput` | §3-7-1 |
450
451
  | 여러 줄 텍스트를 받는다 | `STextarea` | §3-7-1 |
452
+ | 목록·결과를 검색어로 좁힌다 | `SSearchInput` | §3-7-1 |
451
453
  | 숫자(수량·금액)를 받는다 | `SNumberInput` | |
452
454
  | 바코드를 스캔해 받는다 | `SBarcodeInput` | |
453
455
  | 목록에서 하나 고르게 한다 | `SSelect` | §3-7-2 |
@@ -1028,16 +1030,19 @@ const columns: STableColumn[] = [
1028
1030
 
1029
1031
  > §3-0 라우팅에서 이 절을 가리키는 자리들이다. <!-- TODO(디자인): 전체 검수·확정 -->
1030
1032
 
1031
- #### 3-7-1. SInput vs STextarea
1033
+ #### 3-7-1. SInput vs STextarea vs SSearchInput
1032
1034
 
1033
- **줄 수가 아니라 값의 성격으로 고른다.** 값의 길이를 미리 알 수 있으면 `SInput`, 없으면 `STextarea` 다.
1035
+ **먼저 "그 값이 저장되는가"를 본다.** 저장되면 폼 필드(`SInput`·`STextarea`), 화면을 좁히기만 하고 사라지면 `SSearchInput` 이다.
1034
1036
 
1035
1037
  | 값 | 사용 |
1036
1038
  | --- | --- |
1037
1039
  | 이름·코드·전화번호·URL 처럼 형식이 정해진 값 | `SInput` |
1038
1040
  | 메모·사유·설명처럼 길이가 예측되지 않는 문장 | `STextarea` |
1041
+ | 지금 보이는 목록·결과를 좁히는 검색어 | `SSearchInput` |
1039
1042
 
1040
- 값이 길어질 수 있는데 `SInput` 을 쓰면 사용자가 자기가 쓴 것을 다시 읽지 못한다 — 한 줄 안에서 좌우로 스크롤해야 하기 때문이다. 반대로 짧은 값에 `STextarea` 를 쓰면 빈 공간이 남아 입력량을 잘못 기대하게 한다.
1043
+ 폼 필드 둘은 **줄 수가 아니라 값의 성격으로** 갈린다. 값이 길어질 수 있는데 `SInput` 을 쓰면 사용자가 자기가 쓴 것을 다시 읽지 못한다 — 한 줄 안에서 좌우로 스크롤해야 하기 때문이다. 반대로 짧은 값에 `STextarea` 를 쓰면 빈 공간이 남아 입력량을 잘못 기대하게 한다.
1044
+
1045
+ `SSearchInput` 은 폼 필드가 아니다 — 라벨·힌트·유효성 규칙·에러 메시지를 받지 않고, `SForm` 의 제출 검증 대상에도 들어가지 않는다. 돋보기 아이콘이 항상 앞에 붙어 "여기는 검색"임을 스스로 밝히므로 라벨을 따로 붙이지 않는다. 검색 실행은 `onSearch`(Enter) 로 받고, 값이 바뀔 때마다 좁히는 실시간 필터라면 `onValueChange` 만 쓴다. 반대로 검색어를 **저장하거나 검증해야 한다면** 그것은 폼 값이므로 `SInput` 이다.
1041
1046
 
1042
1047
  #### 3-7-2. 하나를 고르게 하는 다섯 — SSelect vs SRadioGroup vs SRadioButton vs STabs vs SRadio
1043
1048
 
@@ -1296,7 +1301,7 @@ import { SModalOutlet } from 'sellmate-design-system-react';
1296
1301
  topContent={
1297
1302
  /* 남는 폭 전체를 받는다 — 왼쪽은 그대로, 오른쪽 끝은 ml-auto */
1298
1303
  <div className="flex w-full items-center gap-sd-8">
1299
- <SInput value={keyword} onValueChange={setKeyword} placeholder="통합 검색" />
1304
+ <SSearchInput value={keyword} onValueChange={setKeyword} onSearch={runSearch} placeholder="통합 검색" />
1300
1305
  <SButton size="sm" color="neutral" outline label="내 계정" className="ml-auto" onClick={openAccount} />
1301
1306
  </div>
1302
1307
  }
@@ -1313,7 +1318,7 @@ import { SModalOutlet } from 'sellmate-design-system-react';
1313
1318
  {/* 접히면 menuTop·menuFooter 가 함께 빠지므로, 폴드 레일에 남길 것만 foldedTop 으로 따로 준다 */}
1314
1319
  <SGnb
1315
1320
  items={MENU} value={current} onValueChange={navigate} useRail
1316
- menuTop={<SInput value={keyword} onValueChange={setKeyword} placeholder="메뉴 검색" />}
1321
+ menuTop={<SSearchInput value={keyword} onValueChange={setKeyword} placeholder="메뉴 검색" />}
1317
1322
  menuFooter={<AccountRow />}
1318
1323
  foldedTop={<SGhostButton icon="search" size="sm" ariaLabel="메뉴 검색" onClick={openSearch} />}
1319
1324
  />
@@ -1827,7 +1832,7 @@ Tailwind 유틸리티는 아래 스케일에 있는 값만 사용한다. 리터
1827
1832
  --sys-color-link-accent
1828
1833
  --sys-color-navigation-gnb-bg-dark
1829
1834
 
1830
- ## 3. 컴포넌트 인덱스 (65종)
1835
+ ## 3. 컴포넌트 인덱스 (66종)
1831
1836
 
1832
1837
  **Props 는 이 문서에 없다.** 쓸 컴포넌트를 정했으면 그 컴포넌트의 README 를 읽는다.
1833
1838
 
@@ -1836,4 +1841,4 @@ Tailwind 유틸리티는 아래 스케일에 있는 값만 사용한다. 리터
1836
1841
  예) SButton 을 쓴다면 `dist/components/SButton/README.md`.
1837
1842
  prop 을 추측해서 쓰지 말고 반드시 README 로 확인한다 (분류별 용도는 §1 의 "전체 컴포넌트 인덱스" 참조).
1838
1843
 
1839
- SActionModal · SBadge · SBarcodeInput · SButton · SCalendar · SCallout · SCard · SCheckbox · SChip · SChipFilter · SChipInput · SCircleProgress · SConfirmModal · SDatePicker · SDateRangePicker · SDivider · SDraggableItem · SDraggableList · SDrawer · SDropdownButton · SExpansionItem · SExpansionList · SField · SFilePicker · SForm · SGhostButton · SGnb · SGuide · SIcon · SImage · SInput · SKeyValueTable · SLayout · SLinearProgress · SList · SListItem · SLoadingContainer · SLoadingModal · SModal · SNumberInput · SPage · SPagination · SPopover · SPopup · SPortal · SRadio · SRadioButton · SScrollArea · SSectionHeaderCard · SSelect · SSplitter · SStepper · SSwitch · STable · STableBar · STabs · STag · STextLink · STextarea · STimePicker · STimeRangePicker · SToast · SToggle · STooltip · STree
1844
+ SActionModal · SBadge · SBarcodeInput · SButton · SCalendar · SCallout · SCard · SCheckbox · SChip · SChipFilter · SChipInput · SCircleProgress · SConfirmModal · SDatePicker · SDateRangePicker · SDivider · SDraggableItem · SDraggableList · SDrawer · SDropdownButton · SExpansionItem · SExpansionList · SField · SFilePicker · SForm · SGhostButton · SGnb · SGuide · SIcon · SImage · SInput · SKeyValueTable · SLayout · SLinearProgress · SList · SListItem · SLoadingContainer · SLoadingModal · SModal · SNumberInput · SPage · SPagination · SPopover · SPopup · SPortal · SRadio · SRadioButton · SScrollArea · SSearchInput · SSectionHeaderCard · SSelect · SSplitter · SStepper · SSwitch · STable · STableBar · STabs · STag · STextLink · STextarea · STimePicker · STimeRangePicker · SToast · SToggle · STooltip · STree
package/dist/styles.css CHANGED
@@ -4545,6 +4545,11 @@
4545
4545
  border-left: 1px solid var(--sys-color-border-default);
4546
4546
  }
4547
4547
  }
4548
+ .\[\&\:\:-webkit-search-cancel-button\]\:hidden {
4549
+ &::-webkit-search-cancel-button {
4550
+ display: none;
4551
+ }
4552
+ }
4548
4553
  .\[\&\:has\(\>button\:hover\)\]\:border-border-strong {
4549
4554
  &:has(>button:hover) {
4550
4555
  border-color: var(--color-border-strong);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sellmate-design-system-react",
3
- "version": "9.0.0-beta.8",
3
+ "version": "9.0.0-beta.9",
4
4
  "description": "Sellmate Design System — React (TypeScript + Tailwind v4) port",
5
5
  "license": "UNLICENSED",
6
6
  "keywords": [