sellmate-design-system-react 9.0.0-beta.4 → 9.0.0-beta.40
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 +642 -88
- package/README.md +111 -9
- package/dist/components/SAccountListBox/AccountListBoxPortal.d.ts +31 -0
- package/dist/components/SAccountListBox/README.md +86 -0
- package/dist/components/SAccountListBox/SAccountListBox.d.ts +79 -0
- package/dist/components/SAccountListBox/SystemMenuPortal.d.ts +58 -0
- package/dist/components/SAccountListBox/accountListBox.config.d.ts +64 -0
- package/dist/components/SAccountListBox/index.d.ts +2 -0
- package/dist/components/SBadge/README.md +26 -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 +38 -0
- package/dist/components/SCalendar/README.md +13 -0
- package/dist/components/SCalendarBoard/CalendarDayCard.d.ts +38 -0
- package/dist/components/SCalendarBoard/CalendarDayEventListBox.d.ts +26 -0
- package/dist/components/SCalendarBoard/CalendarEventButton.d.ts +13 -0
- package/dist/components/SCalendarBoard/CalendarMoreButton.d.ts +12 -0
- package/dist/components/SCalendarBoard/README.md +137 -0
- package/dist/components/SCalendarBoard/SCalendarBoard.d.ts +68 -0
- package/dist/components/SCalendarBoard/calendarBoard.config.d.ts +33 -0
- package/dist/components/SCalendarBoard/index.d.ts +3 -0
- package/dist/components/SCalendarBoard/types.d.ts +31 -0
- package/dist/components/SCallout/README.md +16 -1
- package/dist/components/SCallout/SCallout.d.ts +9 -4
- 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 +339 -14
- package/dist/components/SChipFilter/SChipFilter.d.ts +150 -60
- 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/SChipInput/index.d.ts +1 -1
- package/dist/components/SCircleProgress/README.md +8 -0
- package/dist/components/SConfirmModal/README.md +17 -1
- package/dist/components/SConfirmModal/SConfirmModal.d.ts +2 -2
- package/dist/components/SConfirmModal/index.d.ts +1 -1
- package/dist/components/SDatePicker/README.md +20 -2
- package/dist/components/SDatePicker/SDatePicker.d.ts +27 -4
- package/dist/components/SDateRangePicker/README.md +17 -2
- package/dist/components/SDateRangePicker/SDateRangePicker.d.ts +16 -3
- package/dist/components/SDivider/README.md +7 -0
- package/dist/components/SDivider/SDivider.d.ts +11 -0
- package/dist/components/SDraggableItem/README.md +37 -0
- package/dist/components/SDraggableItem/SDraggableItem.d.ts +2 -0
- package/dist/components/SDraggableItem/index.d.ts +1 -1
- package/dist/components/SDraggableList/README.md +30 -0
- package/dist/components/SDraggableList/SDraggableList.d.ts +11 -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 +36 -0
- package/dist/components/SEditor/EditorToolbar.d.ts +93 -0
- package/dist/components/SEditor/README.md +203 -0
- package/dist/components/SEditor/SEditor.d.ts +114 -0
- package/dist/components/SEditor/editor-icons.d.ts +63 -0
- package/dist/components/SEditor/editor.config.d.ts +119 -0
- package/dist/components/SEditor/index.d.ts +8 -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/SExpansionItem/index.d.ts +1 -1
- package/dist/components/SField/README.md +27 -3
- package/dist/components/SField/SField.d.ts +12 -6
- 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 +22 -4
- package/dist/components/SGnb/README.md +51 -0
- package/dist/components/SGnb/SGnb.d.ts +50 -0
- package/dist/components/SGnb/gnb.config.d.ts +10 -3
- package/dist/components/SGnb/index.d.ts +1 -1
- package/dist/components/SGnbSystem/README.md +186 -0
- package/dist/components/SGnbSystem/SGnbSystem.d.ts +179 -0
- package/dist/components/SGnbSystem/gnbSystem.config.d.ts +122 -0
- package/dist/components/SGnbSystem/index.d.ts +2 -0
- package/dist/components/SGuide/README.md +15 -0
- package/dist/components/SIcon/README.md +10 -0
- package/dist/components/SIcon/SIcon.d.ts +1 -1
- package/dist/components/SIcon/icons.gen.d.ts +4 -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 +86 -0
- package/dist/components/SKeyValueTable/SKeyValueTable.d.ts +6 -2
- package/dist/components/SKeyValueTable/index.d.ts +1 -1
- package/dist/components/SLayout/README.md +21 -0
- package/dist/components/SLayout/SLayout.d.ts +4 -0
- package/dist/components/SLayout/index.d.ts +1 -1
- package/dist/components/SLinearProgress/README.md +15 -0
- package/dist/components/SLinearProgress/SLinearProgress.d.ts +3 -0
- package/dist/components/SLinearProgress/index.d.ts +1 -1
- 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/SListItem/index.d.ts +1 -1
- package/dist/components/SLoadingContainer/loading.d.ts +18 -2
- package/dist/components/SLoadingModal/README.md +9 -1
- package/dist/components/SLoadingModal/SLoadingModal.d.ts +2 -2
- package/dist/components/SLoadingModal/index.d.ts +1 -1
- package/dist/components/SNumberInput/README.md +9 -1
- package/dist/components/SNumberInput/SNumberInput.d.ts +7 -1
- package/dist/components/SPage/README.md +47 -4
- package/dist/components/SPage/SPage.d.ts +15 -10
- package/dist/components/SPage/SPageHeader.d.ts +18 -11
- package/dist/components/SPage/index.d.ts +1 -1
- package/dist/components/SPage/page-column.d.ts +25 -0
- package/dist/components/SPopover/README.md +15 -0
- package/dist/components/SPopup/README.md +19 -0
- package/dist/components/SPortal/README.md +18 -0
- package/dist/components/SRadio/README.md +20 -0
- package/dist/components/SRadioButton/README.md +18 -0
- package/dist/components/SRadioButton/SRadioButton.d.ts +1 -1
- package/dist/components/SRadioCard/README.md +78 -0
- package/dist/components/SRadioCard/SRadioCard.d.ts +29 -0
- package/dist/components/SRadioCard/SRadioCardGroup.d.ts +36 -0
- package/dist/components/SRadioCard/index.d.ts +2 -0
- package/dist/components/SScrollArea/README.md +27 -0
- package/dist/components/SSearchInput/README.md +63 -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 +37 -0
- package/dist/components/SSectionHeaderCard/SSectionHeaderCard.d.ts +10 -0
- package/dist/components/SSelect/README.md +24 -6
- package/dist/components/SSelect/SSelect.d.ts +14 -2
- 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/SSystemActionButton/README.md +221 -0
- package/dist/components/SSystemActionButton/SSystemActionButton.d.ts +161 -0
- package/dist/components/SSystemActionButton/index.d.ts +2 -0
- package/dist/components/SSystemActionButton/systemActionButton.config.d.ts +93 -0
- package/dist/components/STable/README.md +86 -1
- package/dist/components/STable/STable.d.ts +121 -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 +52 -0
- package/dist/components/STag/STag.d.ts +3 -1
- package/dist/components/STextLink/README.md +18 -0
- package/dist/components/STextLink/STextLink.d.ts +4 -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 +4 -2
- 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/SToggle/index.d.ts +1 -1
- package/dist/components/STooltip/README.md +24 -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/docs/Gallery.d.ts +9 -0
- package/dist/docs/gallery-previews.d.ts +24 -0
- package/dist/index.cjs +10754 -5244
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.js +10718 -5244
- package/dist/index.js.map +1 -1
- package/dist/lib/doc-sections.d.ts +35 -0
- package/dist/lib/field-width.d.ts +31 -0
- package/dist/lib/floating-height.d.ts +15 -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 +3263 -228
- package/dist/llms.txt +647 -90
- package/dist/playground/categories.d.ts +19 -0
- package/dist/styles.css +1725 -169
- package/dist/theme.css +216 -24
- package/eslint/index.mjs +14 -0
- package/eslint/lib/table-column.mjs +26 -0
- package/eslint/rules/divider-vertical-height.mjs +137 -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 +5 -2
- package/package.json +13 -1
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type HTMLAttributes, type MouseEvent, type ReactNode } from 'react';
|
|
2
|
+
import { type SCalendarBoardDayColor } from './calendarBoard.config';
|
|
3
|
+
import type { SCalendarBoardEvent } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* 달력의 날짜 한 칸 (SCalendarBoard 내부 조립 요소).
|
|
6
|
+
* 위에 날짜 숫자, 아래에 일정 목록과 "N개 더보기" 가 쌓인다.
|
|
7
|
+
* `body` 를 받은 칸은 아래를 통째로 그것에 내준다 — 일정은 그리지 않는다.
|
|
8
|
+
*/
|
|
9
|
+
export declare const CalendarDayCard: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
|
|
10
|
+
/** YYYY-MM-DD */
|
|
11
|
+
date: string;
|
|
12
|
+
/** 1-31 */
|
|
13
|
+
day: number;
|
|
14
|
+
/** 보고 있는 달에 속한 날짜인지 */
|
|
15
|
+
inCurrentMonth: boolean;
|
|
16
|
+
isToday: boolean;
|
|
17
|
+
isSelected: boolean;
|
|
18
|
+
/** 칸을 눌러 고를 수 있는지 */
|
|
19
|
+
selectable: boolean;
|
|
20
|
+
/** 칸 배경 */
|
|
21
|
+
color: SCalendarBoardDayColor;
|
|
22
|
+
/** 이 칸에 펼쳐 그릴 일정 */
|
|
23
|
+
events: SCalendarBoardEvent[];
|
|
24
|
+
/**
|
|
25
|
+
* 일정 자리를 대신 차지할 칸 본문 (SCalendarBoard 의 `dayContent`).
|
|
26
|
+
* 주면 일정·"더보기" 를 그리지 않는다. `content` 는 HTMLAttributes 가 이미 쓰는 이름이라 피했다.
|
|
27
|
+
*/
|
|
28
|
+
body?: ReactNode;
|
|
29
|
+
/** 접혀 있는 일정 수. 0 이면 "더보기" 를 그리지 않는다 */
|
|
30
|
+
hiddenCount: number;
|
|
31
|
+
/** 이 칸의 일정 목록 판이 열려 있는지 */
|
|
32
|
+
isOpen: boolean;
|
|
33
|
+
moreLabel?: string;
|
|
34
|
+
onDaySelect?: (date: string) => void;
|
|
35
|
+
onEventClick?: (event: SCalendarBoardEvent, e: MouseEvent<HTMLButtonElement>) => void;
|
|
36
|
+
/** 일정 목록 판 열기 — 칸 자체를 눌렀을 때와 "더보기" 를 눌렀을 때 모두 여기로 온다 */
|
|
37
|
+
onOpenEvents?: () => void;
|
|
38
|
+
} & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type MouseEvent } from 'react';
|
|
2
|
+
import type { SCalendarBoardEvent } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* 한 날짜의 일정을 전부 펼쳐 보여주는 목록 판 (SCalendarBoard 내부 조립 요소).
|
|
5
|
+
* 칸을 누르거나 "N개 더보기" 를 누르면 **그 날짜 칸을 덮은 채** 좌·상으로 아웃덴트만큼 빠져나와 뜬다 —
|
|
6
|
+
* 칸에서 자라난 것처럼 보이게 하기 위함이다. 위치와 최소 높이는 SCalendarBoard 가 정하고,
|
|
7
|
+
* 그보다 내용이 길면 자라다 상한에서 멈춘다.
|
|
8
|
+
*/
|
|
9
|
+
export declare function CalendarDayEventListBox({ date, events, onEventClick, minWidth, minHeight, onClose, closeLabel, }: {
|
|
10
|
+
/** YYYY-MM-DD */
|
|
11
|
+
date: string;
|
|
12
|
+
/**
|
|
13
|
+
* 판이 적어도 이만큼은 넓어야 한다(px) — 덮는 칸 너비 + 좌·우 아웃덴트가 온다.
|
|
14
|
+
* 내용이 넓으면 글자가 잘리지 않게 여기서부터 자란다. 칸을 못 쟀으면 내용 너비를 따른다.
|
|
15
|
+
*/
|
|
16
|
+
minWidth?: number;
|
|
17
|
+
/**
|
|
18
|
+
* 판이 적어도 이만큼은 높아야 한다(px) — 덮는 칸 높이 + 상·하 아웃덴트가 온다.
|
|
19
|
+
* 내용이 이보다 짧아도 칸을 딱 감싸는 모양이 유지된다. 칸을 못 쟀으면 내용 높이를 따른다.
|
|
20
|
+
*/
|
|
21
|
+
minHeight?: number;
|
|
22
|
+
events: SCalendarBoardEvent[];
|
|
23
|
+
onEventClick?: (event: SCalendarBoardEvent, e: MouseEvent<HTMLButtonElement>) => void;
|
|
24
|
+
onClose?: () => void;
|
|
25
|
+
closeLabel?: string;
|
|
26
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type MouseEvent } from 'react';
|
|
2
|
+
import type { SCalendarBoardEvent } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* 달력 칸/패널 안의 일정 한 줄 (SCalendarBoard 내부 조립 요소).
|
|
5
|
+
*
|
|
6
|
+
* 점 → 레이블(강조) → 설명 → `/` → 값 순서로 한 줄에 눕는다.
|
|
7
|
+
* 가운데 레이블 묶음만 줄어들고 값은 끝에 고정되므로, 좁은 칸에서도 금액이 잘리지 않는다.
|
|
8
|
+
*/
|
|
9
|
+
export declare function CalendarEventButton({ event, onSelect, className, }: {
|
|
10
|
+
event: SCalendarBoardEvent;
|
|
11
|
+
onSelect?: (event: SCalendarBoardEvent, e: MouseEvent<HTMLButtonElement>) => void;
|
|
12
|
+
className?: string;
|
|
13
|
+
}): import("react").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type MouseEvent } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* 칸에 다 담기지 않은 일정 수를 알리는 "N개 더보기" 줄 (SCalendarBoard 내부 조립 요소).
|
|
4
|
+
* 개수는 강조색, 뒷말은 본문색으로 갈라 개수가 먼저 읽히게 한다.
|
|
5
|
+
*/
|
|
6
|
+
export declare const CalendarMoreButton: import("react").ForwardRefExoticComponent<{
|
|
7
|
+
count: number;
|
|
8
|
+
/** 개수 뒤에 붙는 말 */
|
|
9
|
+
label?: string;
|
|
10
|
+
onClick?: (e: MouseEvent<HTMLButtonElement>) => void;
|
|
11
|
+
className?: string;
|
|
12
|
+
} & import("react").RefAttributes<HTMLButtonElement>>;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# SCalendarBoard
|
|
2
|
+
|
|
3
|
+
> 자동 생성 문서 — `npm run docs:gen`. 소스: 각 컴포넌트의 Props/Handle 인터페이스 + import 의존성.
|
|
4
|
+
|
|
5
|
+
### SCalendarBoard
|
|
6
|
+
|
|
7
|
+
#### Props
|
|
8
|
+
|
|
9
|
+
| Prop | Type | Default | Description |
|
|
10
|
+
|------|------|---------|-------------|
|
|
11
|
+
| `year?` | `number` | — | 보이는 연도 (제어). `month` 와 함께 준다 |
|
|
12
|
+
| `month?` | `number` | — | 보이는 월 1-12 (제어). `year` 와 함께 준다 |
|
|
13
|
+
| `defaultYear?` | `number` | — | 처음 보여줄 연도 (비제어). 없으면 오늘 |
|
|
14
|
+
| `defaultMonth?` | `number` | — | 처음 보여줄 월 1-12 (비제어). 없으면 오늘 |
|
|
15
|
+
| `selectable?` | `boolean` | `false` | 날짜 칸을 눌러 고를 수 있게 한다. 기본은 읽기 전용 판이다 — 켜야 칸에 커서·포커스·키보드(Enter·Space)가 붙고 `onValueChange` 가 온다. 일정 버튼과 "N개 더보기" 는 이 값과 무관하게 항상 눌린다. |
|
|
16
|
+
| `value?` | `string \| null` | — | 선택 날짜 (YYYY-MM-DD). `selectable` 과 별개로 강조만 주고 싶을 때도 쓴다 |
|
|
17
|
+
| `events?` | `SCalendarBoardEvent[]` | — | 날짜별 일정 목록. `date` 로 칸에 배분된다 |
|
|
18
|
+
| `dayColors?` | `Record<string, SCalendarBoardDayColor>` | — | 날짜별 칸 배경. 키는 `YYYY-MM-DD`, 없는 날짜는 `'default'` 다. 그날의 성격(마감·완료·휴무 등)을 칸 전체로 알릴 때 쓴다 — 일정 하나의 색은 `events[].color` 다. |
|
|
19
|
+
| `dayContent?` | `Record<string, ReactNode>` | — | 날짜별 칸 본문. 키는 `YYYY-MM-DD`, 준 날짜는 **일정 자리를 통째로 이 내용이 차지한다** — 그날의 `events` 는 그리지 않고 목록 판도 열리지 않는다. 일정으로 표현되지 않는 것(재고 현황· 매출 요약 같은 그날치 요약)을 칸에 그대로 얹을 때 쓴다. |
|
|
20
|
+
| `todayLabel?` | `string` | `'오늘'` | 헤더 오른쪽 "오늘" 버튼 레이블. 빈 문자열이면 버튼을 그리지 않는다 |
|
|
21
|
+
| `moreLabel?` | `string` | — | "N개" 뒤에 붙는 말 |
|
|
22
|
+
| `headerRight?` | `ReactNode` | — | 헤더 오른쪽 끝에 붙일 추가 컨트롤 |
|
|
23
|
+
| `className?` | `string` | — | |
|
|
24
|
+
| `style?` | `CSSProperties` | — | |
|
|
25
|
+
|
|
26
|
+
#### Events
|
|
27
|
+
|
|
28
|
+
| Event | Type | Description |
|
|
29
|
+
|-------|------|-------------|
|
|
30
|
+
| `onViewChange` | `(view: SCalendarBoardView) => void` | 보이는 연·월 변경 |
|
|
31
|
+
| `onValueChange` | `(date: string, events: SCalendarBoardEvent[]) => void` | 날짜 칸 선택 — 고른 날짜와 그 날짜의 일정이 함께 온다 (`selectable` 일 때만) |
|
|
32
|
+
| `onEventClick` | `(event: SCalendarBoardEvent, e: MouseEvent<HTMLButtonElement>) => void` | 일정 클릭 |
|
|
33
|
+
| `onMoreClick` | `(view: { date: string; events: SCalendarBoardEvent[] }) => void` | 그 날짜의 일정을 전부 열어 볼 때 — "N개 더보기" 를 눌렀을 때와 **일정이 있는 칸 자체를 눌렀을 때** 모두 온다. **주면 내장 일정 목록 판을 띄우지 않고 이 핸들러만 호출한다** — 그 날짜를 전용 화면·모달로 열고 싶을 때 쓴다. |
|
|
34
|
+
|
|
35
|
+
## Types
|
|
36
|
+
|
|
37
|
+
### SCalendarBoardView
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
/** 보이는 연·월 */
|
|
41
|
+
export interface SCalendarBoardView {
|
|
42
|
+
year: number;
|
|
43
|
+
/** 1-12 */
|
|
44
|
+
month: number;
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### SCalendarBoardEvent
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
/** 달력 한 칸에 얹히는 일정 하나 */
|
|
52
|
+
export interface SCalendarBoardEvent {
|
|
53
|
+
/** 고유 식별자. 없으면 목록 순서로 key 를 만든다 */
|
|
54
|
+
id?: string;
|
|
55
|
+
/** 날짜 (YYYY-MM-DD) */
|
|
56
|
+
date: string;
|
|
57
|
+
/**
|
|
58
|
+
* 강조 레이블 (필수) — 예: `"[입고 예정]"`.
|
|
59
|
+
* 일정이 무엇인지 한눈에 알리는 부분이라 비워 두지 않는다.
|
|
60
|
+
* 인라인 HTML(`<b>` `<strong>` `<i>` `<em>` `<span class>` `<a href>` `<br>`)을 받으며 살균 후 렌더한다.
|
|
61
|
+
*/
|
|
62
|
+
label: string;
|
|
63
|
+
/** 색상 프리셋 — 배경과 점 색이 함께 정해진다 */
|
|
64
|
+
color?: SCalendarBoardEventColor;
|
|
65
|
+
/** 왼쪽 점 색만 따로 지정 (프리셋 기본값을 덮어쓴다). 점은 `SBadge` 라 그 9색을 쓴다 */
|
|
66
|
+
dotColor?: SBadgeColor;
|
|
67
|
+
/** 본문 텍스트 — 예: `"RV20260728-000006"`. 평문만 받는다 */
|
|
68
|
+
description?: string;
|
|
69
|
+
/** 구분선(`/`) 뒤에 붙는 값 — 예: `"1,000"`. 평문만 받는다 */
|
|
70
|
+
value?: string;
|
|
71
|
+
/** 이 일정만 비활성 (클릭 불가) */
|
|
72
|
+
disabled?: boolean;
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### SCalendarBoardDayColor
|
|
77
|
+
|
|
78
|
+
```ts
|
|
79
|
+
export type SCalendarBoardDayColor = (typeof CALENDAR_BOARD_DAY_COLORS)[number];
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### SCalendarBoardEventColor
|
|
83
|
+
|
|
84
|
+
```ts
|
|
85
|
+
export type SCalendarBoardEventColor = (typeof CALENDAR_BOARD_EVENT_COLORS)[number];
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### CALENDAR_BOARD_DAY_COLORS
|
|
89
|
+
|
|
90
|
+
```ts
|
|
91
|
+
/** 날짜 칸 배경 — 그날의 성격을 칸 전체로 알린다 */
|
|
92
|
+
export const CALENDAR_BOARD_DAY_COLORS = [
|
|
93
|
+
'default',
|
|
94
|
+
'danger',
|
|
95
|
+
'accent',
|
|
96
|
+
'complete',
|
|
97
|
+
'dim',
|
|
98
|
+
] as const;
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### CALENDAR_BOARD_EVENT_COLORS
|
|
102
|
+
|
|
103
|
+
```ts
|
|
104
|
+
export const CALENDAR_BOARD_EVENT_COLORS = [
|
|
105
|
+
'default',
|
|
106
|
+
'blue',
|
|
107
|
+
'oceanBlue',
|
|
108
|
+
'lightBlue',
|
|
109
|
+
'green',
|
|
110
|
+
'yellow',
|
|
111
|
+
'orange',
|
|
112
|
+
'red',
|
|
113
|
+
'white',
|
|
114
|
+
] as const;
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Dependencies
|
|
118
|
+
|
|
119
|
+
### Depends on
|
|
120
|
+
|
|
121
|
+
- [SBadge](../SBadge)
|
|
122
|
+
- [SButton](../SButton)
|
|
123
|
+
- [SDivider](../SDivider)
|
|
124
|
+
- [SGhostButton](../SGhostButton)
|
|
125
|
+
- [SScrollArea](../SScrollArea)
|
|
126
|
+
|
|
127
|
+
### Graph
|
|
128
|
+
|
|
129
|
+
```mermaid
|
|
130
|
+
graph TD;
|
|
131
|
+
SCalendarBoard --> SBadge
|
|
132
|
+
SCalendarBoard --> SButton
|
|
133
|
+
SCalendarBoard --> SDivider
|
|
134
|
+
SCalendarBoard --> SGhostButton
|
|
135
|
+
SCalendarBoard --> SScrollArea
|
|
136
|
+
style SCalendarBoard fill:#f9f,stroke:#333,stroke-width:4px
|
|
137
|
+
```
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { type CSSProperties, type MouseEvent, type ReactNode } from 'react';
|
|
2
|
+
import { type SCalendarBoardDayColor } from './calendarBoard.config';
|
|
3
|
+
import type { SCalendarBoardEvent, SCalendarBoardView } from './types';
|
|
4
|
+
export interface SCalendarBoardProps {
|
|
5
|
+
/** 보이는 연도 (제어). `month` 와 함께 준다 */
|
|
6
|
+
year?: number;
|
|
7
|
+
/** 보이는 월 1-12 (제어). `year` 와 함께 준다 */
|
|
8
|
+
month?: number;
|
|
9
|
+
/** 처음 보여줄 연도 (비제어). 없으면 오늘 */
|
|
10
|
+
defaultYear?: number;
|
|
11
|
+
/** 처음 보여줄 월 1-12 (비제어). 없으면 오늘 */
|
|
12
|
+
defaultMonth?: number;
|
|
13
|
+
/** 보이는 연·월 변경 */
|
|
14
|
+
onViewChange?: (view: SCalendarBoardView) => void;
|
|
15
|
+
/**
|
|
16
|
+
* 날짜 칸을 눌러 고를 수 있게 한다. 기본은 읽기 전용 판이다 —
|
|
17
|
+
* 켜야 칸에 커서·포커스·키보드(Enter·Space)가 붙고 `onValueChange` 가 온다.
|
|
18
|
+
* 일정 버튼과 "N개 더보기" 는 이 값과 무관하게 항상 눌린다.
|
|
19
|
+
*/
|
|
20
|
+
selectable?: boolean;
|
|
21
|
+
/** 선택 날짜 (YYYY-MM-DD). `selectable` 과 별개로 강조만 주고 싶을 때도 쓴다 */
|
|
22
|
+
value?: string | null;
|
|
23
|
+
/** 날짜 칸 선택 — 고른 날짜와 그 날짜의 일정이 함께 온다 (`selectable` 일 때만) */
|
|
24
|
+
onValueChange?: (date: string, events: SCalendarBoardEvent[]) => void;
|
|
25
|
+
/** 날짜별 일정 목록. `date` 로 칸에 배분된다 */
|
|
26
|
+
events?: SCalendarBoardEvent[];
|
|
27
|
+
/**
|
|
28
|
+
* 날짜별 칸 배경. 키는 `YYYY-MM-DD`, 없는 날짜는 `'default'` 다.
|
|
29
|
+
* 그날의 성격(마감·완료·휴무 등)을 칸 전체로 알릴 때 쓴다 — 일정 하나의 색은 `events[].color` 다.
|
|
30
|
+
*/
|
|
31
|
+
dayColors?: Record<string, SCalendarBoardDayColor>;
|
|
32
|
+
/**
|
|
33
|
+
* 날짜별 칸 본문. 키는 `YYYY-MM-DD`, 준 날짜는 **일정 자리를 통째로 이 내용이 차지한다** —
|
|
34
|
+
* 그날의 `events` 는 그리지 않고 목록 판도 열리지 않는다. 일정으로 표현되지 않는 것(재고 현황·
|
|
35
|
+
* 매출 요약 같은 그날치 요약)을 칸에 그대로 얹을 때 쓴다.
|
|
36
|
+
*/
|
|
37
|
+
dayContent?: Record<string, ReactNode>;
|
|
38
|
+
/** 일정 클릭 */
|
|
39
|
+
onEventClick?: (event: SCalendarBoardEvent, e: MouseEvent<HTMLButtonElement>) => void;
|
|
40
|
+
/**
|
|
41
|
+
* 그 날짜의 일정을 전부 열어 볼 때 — "N개 더보기" 를 눌렀을 때와 **일정이 있는 칸 자체를 눌렀을 때**
|
|
42
|
+
* 모두 온다. **주면 내장 일정 목록 판을 띄우지 않고 이 핸들러만 호출한다** —
|
|
43
|
+
* 그 날짜를 전용 화면·모달로 열고 싶을 때 쓴다.
|
|
44
|
+
*/
|
|
45
|
+
onMoreClick?: (view: {
|
|
46
|
+
date: string;
|
|
47
|
+
events: SCalendarBoardEvent[];
|
|
48
|
+
}) => void;
|
|
49
|
+
/** 헤더 오른쪽 "오늘" 버튼 레이블. 빈 문자열이면 버튼을 그리지 않는다 */
|
|
50
|
+
todayLabel?: string;
|
|
51
|
+
/** "N개" 뒤에 붙는 말 */
|
|
52
|
+
moreLabel?: string;
|
|
53
|
+
/** 헤더 오른쪽 끝에 붙일 추가 컨트롤 */
|
|
54
|
+
headerRight?: ReactNode;
|
|
55
|
+
className?: string;
|
|
56
|
+
style?: CSSProperties;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* SCalendarBoard — 한 달치 일정을 격자로 펼쳐 보여주는 달력 판.
|
|
60
|
+
*
|
|
61
|
+
* 날짜를 **고르는** 달력(`SCalendar` · `SDatePicker`)이 아니라 일정을 **읽는** 달력이다.
|
|
62
|
+
* 칸마다 일정이 줄로 쌓이고, 넘치면 "N개 더보기" 로 접혀 그 칸을 덮는 판으로 펼쳐진다.
|
|
63
|
+
*
|
|
64
|
+
* **판 높이는 부모가 정한다.** 행이 그 높이를 균등하게 나눠 갖고, 칸 높이가 다시 "한 칸에 몇 줄이
|
|
65
|
+
* 보일지" 를 정한다 — 그래서 놓는 자리에 높이를 주어야 한다 (`<div className="h-[640px]">` ·
|
|
66
|
+
* `SPage` 본문의 남은 높이 등). 높이를 주지 않으면 칸이 `dayCard.minHeight` 로 주저앉는다.
|
|
67
|
+
*/
|
|
68
|
+
export declare function SCalendarBoard({ year, month, defaultYear, defaultMonth, onViewChange, selectable, value, onValueChange, events, dayColors, dayContent, onEventClick, onMoreClick, todayLabel, moreLabel, headerRight, className, style, }: SCalendarBoardProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SCalendarBoard 색상 프리셋 — component.calendarBoard 토큰 기반.
|
|
3
|
+
*
|
|
4
|
+
* 배경은 `--cmp-calendarBoard-eventButton-bg-*` 로 전부 토큰화돼 있다.
|
|
5
|
+
* 점(dot)은 `SBadge` 가 그리므로 색도 `--cmp-badge-*` 를 그대로 따른다 —
|
|
6
|
+
* 9색이 디자인 mock 의 점 hex 와 1:1 로 맞아떨어져 따로 매핑을 두지 않는다.
|
|
7
|
+
*/
|
|
8
|
+
import type { SBadgeColor } from '../SBadge';
|
|
9
|
+
export declare const CALENDAR_BOARD_EVENT_COLORS: readonly ["default", "blue", "oceanBlue", "lightBlue", "green", "yellow", "orange", "red", "white"];
|
|
10
|
+
export type SCalendarBoardEventColor = (typeof CALENDAR_BOARD_EVENT_COLORS)[number];
|
|
11
|
+
export interface CalendarBoardEventPreset {
|
|
12
|
+
/** 이벤트 버튼 배경 */
|
|
13
|
+
bg: string;
|
|
14
|
+
/** 왼쪽 점(SBadge) 색 */
|
|
15
|
+
dot: SBadgeColor;
|
|
16
|
+
}
|
|
17
|
+
export declare const CALENDAR_BOARD_EVENT_PRESETS: Record<SCalendarBoardEventColor, CalendarBoardEventPreset>;
|
|
18
|
+
/**
|
|
19
|
+
* 칸에 몇 줄이 들어가는지 아직 **재지 못했을 때** 쓰는 기본값 (SSR·첫 렌더·ResizeObserver 부재).
|
|
20
|
+
*
|
|
21
|
+
* 실제로는 칸 높이가 줄 수를 정한다 — 판 높이를 부모가 정하고, 행이 그 높이를 균등 분할하고,
|
|
22
|
+
* 칸 높이에서 `header + n·item + (n−1)·gap + paddingBottom` 이 담기는 최대 n 이 그 값이다.
|
|
23
|
+
* 그래서 이 값을 조절하는 prop 은 없다.
|
|
24
|
+
*/
|
|
25
|
+
export declare const CALENDAR_BOARD_MAX_VISIBLE_EVENTS = 4;
|
|
26
|
+
/** 날짜 칸 배경 — 그날의 성격을 칸 전체로 알린다 */
|
|
27
|
+
export declare const CALENDAR_BOARD_DAY_COLORS: readonly ["default", "danger", "accent", "complete", "dim"];
|
|
28
|
+
export type SCalendarBoardDayColor = (typeof CALENDAR_BOARD_DAY_COLORS)[number];
|
|
29
|
+
/**
|
|
30
|
+
* 칸 배경색. `default` 만 컴포넌트 토큰이고 나머지는 대응 토큰이 없어 팔레트 프리미티브를 가리킨다.
|
|
31
|
+
* (토큰이 생기면 여기만 `--cmp-calendarBoard-dayCard-bg-*` 로 갈아끼운다)
|
|
32
|
+
*/
|
|
33
|
+
export declare const CALENDAR_BOARD_DAY_BG: Record<SCalendarBoardDayColor, string>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { SCalendarBoard, type SCalendarBoardProps } from './SCalendarBoard';
|
|
2
|
+
export type { SCalendarBoardEvent, SCalendarBoardView } from './types';
|
|
3
|
+
export { CALENDAR_BOARD_EVENT_COLORS, CALENDAR_BOARD_EVENT_PRESETS, CALENDAR_BOARD_MAX_VISIBLE_EVENTS, CALENDAR_BOARD_DAY_COLORS, CALENDAR_BOARD_DAY_BG, type SCalendarBoardEventColor, type SCalendarBoardDayColor, } from './calendarBoard.config';
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { SBadgeColor } from '../SBadge';
|
|
2
|
+
import type { SCalendarBoardEventColor } from './calendarBoard.config';
|
|
3
|
+
/** 달력 한 칸에 얹히는 일정 하나 */
|
|
4
|
+
export interface SCalendarBoardEvent {
|
|
5
|
+
/** 고유 식별자. 없으면 목록 순서로 key 를 만든다 */
|
|
6
|
+
id?: string;
|
|
7
|
+
/** 날짜 (YYYY-MM-DD) */
|
|
8
|
+
date: string;
|
|
9
|
+
/**
|
|
10
|
+
* 강조 레이블 (필수) — 예: `"[입고 예정]"`.
|
|
11
|
+
* 일정이 무엇인지 한눈에 알리는 부분이라 비워 두지 않는다.
|
|
12
|
+
* 인라인 HTML(`<b>` `<strong>` `<i>` `<em>` `<span class>` `<a href>` `<br>`)을 받으며 살균 후 렌더한다.
|
|
13
|
+
*/
|
|
14
|
+
label: string;
|
|
15
|
+
/** 색상 프리셋 — 배경과 점 색이 함께 정해진다 */
|
|
16
|
+
color?: SCalendarBoardEventColor;
|
|
17
|
+
/** 왼쪽 점 색만 따로 지정 (프리셋 기본값을 덮어쓴다). 점은 `SBadge` 라 그 9색을 쓴다 */
|
|
18
|
+
dotColor?: SBadgeColor;
|
|
19
|
+
/** 본문 텍스트 — 예: `"RV20260728-000006"`. 평문만 받는다 */
|
|
20
|
+
description?: string;
|
|
21
|
+
/** 구분선(`/`) 뒤에 붙는 값 — 예: `"1,000"`. 평문만 받는다 */
|
|
22
|
+
value?: string;
|
|
23
|
+
/** 이 일정만 비활성 (클릭 불가) */
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
}
|
|
26
|
+
/** 보이는 연·월 */
|
|
27
|
+
export interface SCalendarBoardView {
|
|
28
|
+
year: number;
|
|
29
|
+
/** 1-12 */
|
|
30
|
+
month: number;
|
|
31
|
+
}
|
|
@@ -8,12 +8,27 @@
|
|
|
8
8
|
|
|
9
9
|
| Prop | Type | Default | Description |
|
|
10
10
|
|------|------|---------|-------------|
|
|
11
|
-
| `type?` | `SCalloutType` | `'default'` | 콜아웃 타입 (색상·아이콘·타이틀 결정) |
|
|
11
|
+
| `type?` | `SCalloutType` | `'default'` | 콜아웃 타입 (색상·아이콘·타이틀 결정). - `default` — 옅은 회색 면. 흰 페이지(`background="frame"`) 위의 기본 안내. - `white` — 같은 안내인데 배경만 흰 면. 회색 면(`neutral`·`screen`) 위에서 default 가 묻힐 때. - `danger` — 좌측에 주의사항 타이틀이 붙는 경고. |
|
|
12
12
|
| `message?` | `SCalloutMessage[]` | `[]` | 표시할 메시지 목록 (배열 중첩으로 depth 표현). 각 문자열은 인라인 HTML(`<b>`, `<a>` 등)을 허용하며 sanitizeInlineHtml 로 살균 후 렌더된다. |
|
|
13
13
|
| `children?` | `ReactNode` | — | message 대신 직접 본문을 넣을 때 |
|
|
14
14
|
| `className?` | `string` | — | |
|
|
15
15
|
| `style?` | `CSSProperties` | — | |
|
|
16
16
|
|
|
17
|
+
## Types
|
|
18
|
+
|
|
19
|
+
### SCalloutType
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
export type SCalloutType = 'default' | 'danger' | 'white';
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### SCalloutMessage
|
|
26
|
+
|
|
27
|
+
```ts
|
|
28
|
+
/** 중첩 메시지: 문자열 또는 (한 단계 더 들어간) 문자열 배열 */
|
|
29
|
+
export type SCalloutMessage = string | SCalloutMessage[];
|
|
30
|
+
```
|
|
31
|
+
|
|
17
32
|
## Dependencies
|
|
18
33
|
|
|
19
34
|
### Depends on
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { type CSSProperties, type ReactNode } from 'react';
|
|
2
|
-
export type SCalloutType = 'default' | 'danger';
|
|
2
|
+
export type SCalloutType = 'default' | 'danger' | 'white';
|
|
3
3
|
/** 중첩 메시지: 문자열 또는 (한 단계 더 들어간) 문자열 배열 */
|
|
4
4
|
export type SCalloutMessage = string | SCalloutMessage[];
|
|
5
5
|
export interface SCalloutProps {
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* 콜아웃 타입 (색상·아이콘·타이틀 결정).
|
|
8
|
+
* - `default` — 옅은 회색 면. 흰 페이지(`background="frame"`) 위의 기본 안내.
|
|
9
|
+
* - `white` — 같은 안내인데 배경만 흰 면. 회색 면(`neutral`·`screen`) 위에서 default 가 묻힐 때.
|
|
10
|
+
* - `danger` — 좌측에 주의사항 타이틀이 붙는 경고.
|
|
11
|
+
*/
|
|
7
12
|
type?: SCalloutType;
|
|
8
13
|
/**
|
|
9
14
|
* 표시할 메시지 목록 (배열 중첩으로 depth 표현).
|
|
@@ -17,8 +22,8 @@ export interface SCalloutProps {
|
|
|
17
22
|
}
|
|
18
23
|
/**
|
|
19
24
|
* SCallout — sd-callout 포팅.
|
|
20
|
-
* default/danger 타입, 중첩 리스트(불릿은 span으로 렌더), danger는 좌측 타이틀 표시.
|
|
21
|
-
* 색상은 `--cmp-callout-*` 토큰
|
|
25
|
+
* default/white/danger 타입, 중첩 리스트(불릿은 span으로 렌더), danger는 좌측 타이틀 표시.
|
|
26
|
+
* 색상은 `--cmp-callout-*` 토큰 참조(white 만 예외 — SURFACE 주석 참고).
|
|
22
27
|
* message 각 항목은 sanitizeInlineHtml 로 살균한 뒤 innerHTML 로 렌더한다 (원본 sd-callout 과 동일).
|
|
23
28
|
*/
|
|
24
29
|
export declare const SCallout: import("react").ForwardRefExoticComponent<SCalloutProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -9,4 +9,20 @@
|
|
|
9
9
|
| Prop | Type | Default | Description |
|
|
10
10
|
|------|------|---------|-------------|
|
|
11
11
|
| `bordered?` | `boolean` | `false` | 테두리 표시 여부 |
|
|
12
|
+
| `footerLeft?` | `ReactNode` | — | 하단 액션 영역 좌측 슬롯. 보조 버튼(취소·목록 등)이 오는 자리다. `footerLeft` 또는 `button` 중 하나라도 있으면 하단 액션 영역이 렌더된다. |
|
|
13
|
+
| `button?` | `SFooterButton` | — | 하단 액션 영역 우측 주 액션 버튼 |
|
|
14
|
+
| `footerClassName?` | `string` | — | 하단 액션 영역 클래스 |
|
|
12
15
|
|
|
16
|
+
## Dependencies
|
|
17
|
+
|
|
18
|
+
### Depends on
|
|
19
|
+
|
|
20
|
+
- [SFooter](../SFooter)
|
|
21
|
+
|
|
22
|
+
### Graph
|
|
23
|
+
|
|
24
|
+
```mermaid
|
|
25
|
+
graph TD;
|
|
26
|
+
SCard --> SFooter
|
|
27
|
+
style SCard fill:#f9f,stroke:#333,stroke-width:4px
|
|
28
|
+
```
|
|
@@ -1,7 +1,22 @@
|
|
|
1
|
-
import { type HTMLAttributes } from 'react';
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
import { type SFooterButton } from '../SFooter';
|
|
2
3
|
export interface SCardProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
4
|
/** 테두리 표시 여부 */
|
|
4
5
|
bordered?: boolean;
|
|
6
|
+
/**
|
|
7
|
+
* 하단 액션 영역 좌측 슬롯. 보조 버튼(취소·목록 등)이 오는 자리다.
|
|
8
|
+
* `footerLeft` 또는 `button` 중 하나라도 있으면 하단 액션 영역이 렌더된다.
|
|
9
|
+
*/
|
|
10
|
+
footerLeft?: ReactNode;
|
|
11
|
+
/** 하단 액션 영역 우측 주 액션 버튼 */
|
|
12
|
+
button?: SFooterButton;
|
|
13
|
+
/** 하단 액션 영역 클래스 */
|
|
14
|
+
footerClassName?: string;
|
|
5
15
|
}
|
|
6
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* SCard — sd-card 포팅. 라운드 8px, 흰 배경, 옵션 테두리. 콘텐츠는 라운드 경계에서 잘린다.
|
|
18
|
+
*
|
|
19
|
+
* 하단 액션은 `children` 에 직접 두지 않고 `footerLeft`·`button` 으로 넘긴다 — 배경·구분선·여백과
|
|
20
|
+
* 양끝 분리가 컴포넌트 규칙대로 잡히는 자리다.
|
|
21
|
+
*/
|
|
7
22
|
export declare const SCard: import("react").ForwardRefExoticComponent<SCardProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
@@ -22,6 +22,14 @@
|
|
|
22
22
|
|-------|------|-------------|
|
|
23
23
|
| `onValueChange` | `(value: boolean \| unknown[]) => void` | 값 변경 (sdUpdate) |
|
|
24
24
|
|
|
25
|
+
## Types
|
|
26
|
+
|
|
27
|
+
### SCheckboxValue
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
export type SCheckboxValue = boolean | unknown[] | null;
|
|
31
|
+
```
|
|
32
|
+
|
|
25
33
|
## Dependencies
|
|
26
34
|
|
|
27
35
|
### Used by
|