sellmate-design-system-react 9.0.0-beta.2 → 9.0.0-beta.21
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/AGENTS.md +488 -90
- package/README.md +101 -0
- package/dist/components/SBadge/README.md +24 -0
- package/dist/components/SBadge/SBadge.d.ts +1 -1
- package/dist/components/SBarcodeInput/README.md +9 -1
- package/dist/components/SBarcodeInput/SBarcodeInput.d.ts +7 -1
- package/dist/components/SButton/README.md +36 -0
- package/dist/components/SCalendar/README.md +13 -0
- package/dist/components/SCallout/README.md +15 -0
- package/dist/components/SCard/README.md +16 -0
- package/dist/components/SCard/SCard.d.ts +17 -2
- package/dist/components/SCheckbox/README.md +8 -0
- package/dist/components/SChipFilter/README.md +288 -5
- package/dist/components/SChipFilter/SChipFilter.d.ts +95 -40
- package/dist/components/SChipFilter/index.d.ts +1 -1
- package/dist/components/SChipInput/README.md +15 -1
- package/dist/components/SChipInput/SChipInput.d.ts +7 -1
- package/dist/components/SCircleProgress/README.md +8 -0
- package/dist/components/SConfirmModal/README.md +16 -0
- package/dist/components/SDatePicker/README.md +60 -4
- package/dist/components/SDatePicker/SDatePicker.d.ts +61 -5
- package/dist/components/SDatePicker/index.d.ts +1 -1
- package/dist/components/SDateRangePicker/README.md +17 -2
- package/dist/components/SDateRangePicker/SDateRangePicker.d.ts +16 -3
- package/dist/components/SDivider/README.md +4 -0
- package/dist/components/SDraggableItem/README.md +37 -0
- package/dist/components/SDraggableItem/SDraggableItem.d.ts +2 -0
- package/dist/components/SDraggableList/README.md +29 -0
- package/dist/components/SDraggableList/SDraggableList.d.ts +10 -0
- package/dist/components/SDraggableList/index.d.ts +1 -1
- package/dist/components/SDrawer/README.md +8 -0
- package/dist/components/SDropdownButton/README.md +19 -0
- package/dist/components/SEditor/EditorBody.d.ts +40 -0
- package/dist/components/SEditor/EditorToolbar.d.ts +87 -0
- package/dist/components/SEditor/README.md +230 -0
- package/dist/components/SEditor/SEditor.d.ts +124 -0
- package/dist/components/SEditor/editor-icons.d.ts +59 -0
- package/dist/components/SEditor/editor.config.d.ts +85 -0
- package/dist/components/SEditor/index.d.ts +2 -0
- package/dist/components/SEditor/tiptap-api.d.ts +29 -0
- package/dist/components/SEditor/use-is-mobile.d.ts +14 -0
- package/dist/components/SExpansionItem/README.md +36 -0
- package/dist/components/SField/README.md +27 -2
- package/dist/components/SField/SField.d.ts +22 -4
- package/dist/components/SFilePicker/README.md +15 -1
- package/dist/components/SFilePicker/SFilePicker.d.ts +7 -1
- package/dist/components/SFooter/README.md +25 -0
- package/dist/components/SFooter/SFooter.d.ts +4 -3
- package/dist/components/SForm/README.md +11 -0
- package/dist/components/SGhostButton/README.md +20 -2
- package/dist/components/SGnb/README.md +45 -0
- package/dist/components/SGnb/gnb.config.d.ts +7 -0
- package/dist/components/SGuide/README.md +15 -0
- package/dist/components/SIcon/README.md +4 -0
- package/dist/components/SIcon/SIcon.d.ts +1 -1
- package/dist/components/SIcon/icons.gen.d.ts +2 -0
- package/dist/components/SImage/README.md +14 -0
- package/dist/components/SInput/README.md +3 -1
- package/dist/components/SInput/SInput.d.ts +7 -1
- package/dist/components/SKeyValueTable/README.md +87 -0
- package/dist/components/SKeyValueTable/SKeyValueTable.d.ts +14 -3
- package/dist/components/SLayout/README.md +16 -0
- package/dist/components/SLinearProgress/README.md +8 -0
- package/dist/components/SList/README.md +5 -1
- package/dist/components/SList/SList.d.ts +0 -2
- package/dist/components/SListItem/README.md +41 -0
- package/dist/components/SLoadingModal/README.md +8 -0
- package/dist/components/SNumberInput/README.md +9 -1
- package/dist/components/SNumberInput/SNumberInput.d.ts +7 -1
- package/dist/components/SPage/README.md +41 -1
- package/dist/components/SPage/SPage.d.ts +24 -2
- package/dist/components/SPage/index.d.ts +1 -1
- package/dist/components/SPage/page.config.d.ts +8 -0
- package/dist/components/SPopover/README.md +15 -0
- package/dist/components/SPopup/README.md +19 -0
- package/dist/components/SPortal/README.md +14 -0
- package/dist/components/SRadio/README.md +20 -0
- package/dist/components/SRadioButton/README.md +18 -0
- package/dist/components/SScrollArea/README.md +14 -0
- package/dist/components/SSearchInput/README.md +61 -0
- package/dist/components/SSearchInput/SSearchInput.d.ts +52 -0
- package/dist/components/SSearchInput/index.d.ts +1 -0
- package/dist/components/SSectionHeaderCard/README.md +44 -20
- package/dist/components/SSectionHeaderCard/SSectionHeaderCard.d.ts +31 -14
- package/dist/components/SSectionHeaderCard/index.d.ts +1 -1
- package/dist/components/SSelect/README.md +23 -3
- package/dist/components/SSelect/SSelect.d.ts +13 -1
- package/dist/components/SSplitter/README.md +15 -0
- package/dist/components/SStepper/README.md +26 -0
- package/dist/components/SSwitch/README.md +13 -0
- package/dist/components/STable/README.md +72 -1
- package/dist/components/STable/STable.d.ts +129 -11
- package/dist/components/STable/index.d.ts +1 -1
- package/dist/components/STabs/README.md +12 -1
- package/dist/components/STabs/STabs.d.ts +2 -4
- package/dist/components/STabs/index.d.ts +1 -1
- package/dist/components/STabs/tabs.config.d.ts +3 -4
- package/dist/components/STag/README.md +47 -0
- package/dist/components/STextLink/README.md +17 -0
- package/dist/components/STextLink/STextLink.d.ts +2 -0
- package/dist/components/STextarea/README.md +1 -1
- package/dist/components/STextarea/STextarea.d.ts +7 -1
- package/dist/components/STimePicker/README.md +15 -1
- package/dist/components/STimePicker/STimePicker.d.ts +7 -1
- package/dist/components/STimePicker/timepicker.config.d.ts +7 -0
- package/dist/components/STimeRangePicker/README.md +27 -1
- package/dist/components/STimeRangePicker/STimeRangePicker.d.ts +7 -1
- package/dist/components/SToast/README.md +24 -0
- package/dist/components/SToggle/README.md +8 -0
- package/dist/components/STooltip/README.md +22 -0
- package/dist/components/STree/README.md +41 -0
- package/dist/components/STree/STree.d.ts +8 -0
- package/dist/components/STree/index.d.ts +1 -1
- package/dist/index.cjs +4266 -750
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +4249 -750
- package/dist/index.js.map +1 -1
- package/dist/lib/field-width.d.ts +31 -0
- package/dist/lib/story-docs.d.ts +19 -3
- package/dist/lib/truncated-value-tooltip.d.ts +18 -0
- package/dist/llms-full.txt +2337 -183
- package/dist/llms.txt +490 -92
- package/dist/styles.css +684 -41
- package/dist/theme.css +22 -6
- package/eslint/index.mjs +10 -0
- package/eslint/lib/table-column.mjs +26 -0
- package/eslint/rules/field-width-grade.d.mts +41 -0
- package/eslint/rules/field-width-grade.mjs +311 -0
- package/eslint/rules/table-column-width.mjs +110 -0
- package/eslint/scale.gen.mjs +3 -0
- package/package.json +13 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 필드 폭 등급 — 폼 컨트롤의 너비를 정하는 공용 어휘.
|
|
3
|
+
*
|
|
4
|
+
* 폭은 `maxLength`(= 스키마 상한)로 정한다. 상한이 등급 안에 들어오면 그 등급을 주고,
|
|
5
|
+
* 상한이 `xl` 을 넘거나 상한 자체가 없으면 행 전체(`"100%"`)로 둔다.
|
|
6
|
+
* 이 판단은 `sellmate/field-width-grade` 린트 규칙이 자동으로 검사한다 — 규칙과 이 타입은
|
|
7
|
+
* 같은 토큰(`--cmp-field-width-*`)을 근거로 삼는다.
|
|
8
|
+
*
|
|
9
|
+
* px 를 직접 적는 것보다 등급을 쓰는 편이 낫다. 토큰 값이 바뀌면 등급은 따라가지만
|
|
10
|
+
* 화면에 박아 둔 px 는 그 자리에 남는다.
|
|
11
|
+
*/
|
|
12
|
+
/** 폭 등급 이름. 값은 `--cmp-field-width-<grade>` 토큰이 갖는다. */
|
|
13
|
+
export declare const FIELD_WIDTH_GRADES: readonly ["xs", "sm", "md", "lg", "xl"];
|
|
14
|
+
export type SFieldWidthGrade = (typeof FIELD_WIDTH_GRADES)[number];
|
|
15
|
+
/**
|
|
16
|
+
* 폭 prop 이 받는 값.
|
|
17
|
+
*
|
|
18
|
+
* `(string & {})` 는 유니온 리터럴 자동완성을 유지하기 위한 관용 표현이다 — 이게 없으면
|
|
19
|
+
* `string` 이 등급 리터럴을 흡수해 편집기가 등급을 제안하지 못한다. (`SColor` 와 같은 방식)
|
|
20
|
+
*/
|
|
21
|
+
export type SFieldWidth = SFieldWidthGrade | number | (string & {});
|
|
22
|
+
export declare const isFieldWidthGrade: (v: unknown) => v is SFieldWidthGrade;
|
|
23
|
+
/**
|
|
24
|
+
* 폭 값을 CSS 길이로 바꾼다.
|
|
25
|
+
* 등급 → `var(--cmp-field-width-<grade>)`
|
|
26
|
+
* 숫자 → px
|
|
27
|
+
* 그 외 → 그대로 (`"100%"` · `"20rem"`)
|
|
28
|
+
*
|
|
29
|
+
* 빈 값(`undefined` · `''` · `0`)은 "지정하지 않음" 으로 본다.
|
|
30
|
+
*/
|
|
31
|
+
export declare const fieldWidthValue: (v?: SFieldWidth) => string | undefined;
|
package/dist/lib/story-docs.d.ts
CHANGED
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
* 자동 생성 README(`README.md?raw`)에서 **Methods (ref)** 섹션만 뽑아
|
|
3
3
|
* Storybook Docs 의 컴포넌트 설명으로 주입한다.
|
|
4
4
|
*
|
|
5
|
-
* Props/Events/default/설명은
|
|
6
|
-
* README 표는
|
|
7
|
-
*
|
|
5
|
+
* Props/Events/default/설명은 Controls(react-docgen-typescript)가 완전히 보여주므로
|
|
6
|
+
* README 표는 중복이고, prop 이 쓰는 타입 선언은 {@link readmeTypeDetails} 가
|
|
7
|
+
* Controls 의 Description 칸에 직접 붙여준다. deps/mermaid 그래프는 소비자용 문서에 불필요.
|
|
8
|
+
* ref 핸들 메서드(focus/open 등)만 어느 쪽으로도 표현되지 않으므로 이것만 남긴다.
|
|
8
9
|
*
|
|
9
10
|
* 메서드가 없으면 `undefined` 를 반환한다 — description 을 빈 문자열로 덮어쓰지 않고
|
|
10
11
|
* docgen 이 추출한 컴포넌트 요약(prose)이 그대로 노출되도록 하기 위함.
|
|
@@ -14,3 +15,18 @@
|
|
|
14
15
|
* const meta = { parameters: { docs: { description: { component: readmeDocs(readme) } } } };
|
|
15
16
|
*/
|
|
16
17
|
export declare function readmeDocs(md: string): string | undefined;
|
|
18
|
+
/** README 상단의 컴포넌트 섹션(`### SXxx`) 이름들. `## Types` 이후의 `###` 는 타입이라 제외된다 */
|
|
19
|
+
export declare function readmeComponentNames(md: string): string[];
|
|
20
|
+
/**
|
|
21
|
+
* Controls 표의 Description 칸에는 prop 설명 아래 타입 요약이 붙는데,
|
|
22
|
+
* `SChipFilterField[] | SChipFilterGroup[]` 처럼 **이름만** 찍혀 그것만 보고는 값을 채울 수 없다.
|
|
23
|
+
* Storybook 은 `table.type.detail` 이 있으면 그 요약을 클릭해 펼칠 수 있게 해주므로,
|
|
24
|
+
* 자동 생성 README 의 Types 섹션에서 해당 선언을 찾아 채워 넣는다.
|
|
25
|
+
*
|
|
26
|
+
* 반환값은 `prop 이름 → 선언 원문`. 타입이 다시 참조하는 타입까지 전부 따라간다 —
|
|
27
|
+
* 여기가 Storybook 에서 타입을 볼 수 있는 유일한 자리라 `SChipFilterField.options?:
|
|
28
|
+
* SChipFilterOption[]` 의 `SChipFilterOption` 이 빠지면 결국 소스를 열어야 한다.
|
|
29
|
+
* 다만 팝오버가 감당할 만한 길이를 유지해야 하므로, 직접 참조한 타입만 JSDoc 을 살리고
|
|
30
|
+
* 거기서 파생된 것들은 형태만 남긴다.
|
|
31
|
+
*/
|
|
32
|
+
export declare function readmeTypeDetails(md: string, component: string): Record<string, string>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type Ref, type ReactNode } from 'react';
|
|
2
|
+
/** 여러 ref 에 같은 노드를 흘려보낸다 — 소비자용 ref 와 측정용 ref 가 같은 `<input>` 을 가리켜야 한다 */
|
|
3
|
+
export declare function mergeRefs<T>(...refs: (Ref<T> | undefined)[]): (node: T | null) => void;
|
|
4
|
+
export interface TruncatedValueTooltip {
|
|
5
|
+
/** 측정 대상 `<input>` 에 붙일 ref. 소비자 ref 와는 `mergeRefs` 로 합친다 */
|
|
6
|
+
valueRef: Ref<HTMLInputElement>;
|
|
7
|
+
/** 측정 대상에 붙일 호버 핸들러 */
|
|
8
|
+
onMouseEnter: () => void;
|
|
9
|
+
onMouseLeave: () => void;
|
|
10
|
+
/** 필드 어디든 함께 렌더한다 (Portal 이라 레이아웃을 차지하지 않는다) */
|
|
11
|
+
tooltip: ReactNode;
|
|
12
|
+
}
|
|
13
|
+
export declare function useTruncatedValueTooltip({ enabled, text, }: {
|
|
14
|
+
/** `readOnly` 이고 비활성이 아닐 때만 켠다 */
|
|
15
|
+
enabled: boolean;
|
|
16
|
+
/** 툴팁에 표시할 전문. 화면에 보이는 문자열이어야 한다(숫자 필드의 천단위 콤마 포함) */
|
|
17
|
+
text: string;
|
|
18
|
+
}): TruncatedValueTooltip;
|