@ap-gen/ui 1.0.5 → 1.0.7
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 +28 -0
- package/dist/components/badge/index.d.ts +2 -1
- package/dist/components/breadcrumb/index.d.ts +1 -1
- package/dist/components/button/index.d.ts +3 -1
- package/dist/components/calendar/date.d.ts +3 -4
- package/dist/components/calendar/index.d.ts +9 -1
- package/dist/components/calendar/month.d.ts +8 -1
- package/dist/components/calendar/schedule.d.ts +5 -1
- package/dist/components/chip/index.d.ts +2 -1
- package/dist/components/combo-box/index.d.ts +3 -2
- package/dist/components/date-picker/CalendarRangeSquare.d.ts +10 -0
- package/dist/components/date-picker/index.d.ts +14 -0
- package/dist/components/date-picker/input.d.ts +0 -0
- package/dist/components/date-picker/month.d.ts +14 -0
- package/dist/components/date-picker/single.d.ts +8 -0
- package/dist/components/date-picker/year.d.ts +3 -0
- package/dist/components/header/section.d.ts +2 -0
- package/dist/components/icon/index.d.ts +8 -0
- package/dist/components/index.d.ts +7 -0
- package/dist/components/input/index.d.ts +1 -1
- package/dist/components/list/compact.d.ts +2 -1
- package/dist/components/list/default.d.ts +5 -1
- package/dist/components/list/tab.d.ts +3 -1
- package/dist/components/popover/index.d.ts +3 -3
- package/dist/components/search-box/index.d.ts +3 -2
- package/dist/components/slider/index.d.ts +2 -1
- package/dist/components/text/index.d.ts +1 -0
- package/dist/hooks/useCalendar.d.ts +3 -0
- package/dist/index.js +835 -901
- package/dist/index.js.map +1 -1
- package/dist/provider/CalendarProvider.d.ts +1 -0
- package/dist/provider/ClientProvider.d.ts +3 -1
- package/dist/provider/ColorThemeProvider.d.ts +2 -0
- package/esm/index.mjs +828 -902
- package/esm/index.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
|
|
2
|
+
<img src="thumbnail.png">
|
|
3
|
+
|
|
4
|
+
# A-FIN design system(Desktop ver.)
|
|
5
|
+
A-FIN design system은 에이핀아이엔씨 내부 프로젝트에서 사용되는 디자인 시스템입니다.
|
|
6
|
+
|
|
7
|
+
## 설치
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm login --registry=https://nexus.a-fin.co.kr/repository/npm/
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install @afininc/design-system
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## 사용(Next.js)
|
|
18
|
+
|
|
19
|
+
```tsx
|
|
20
|
+
'use client';
|
|
21
|
+
import { ClientProvider } from '@afininc/design-system';
|
|
22
|
+
|
|
23
|
+
const Layout = ({ children }: { children: React.ReactNode }) => {
|
|
24
|
+
return <ClientProvider>
|
|
25
|
+
{children}
|
|
26
|
+
</ClientProvider>
|
|
27
|
+
}
|
|
28
|
+
```
|
|
@@ -5,6 +5,7 @@ type BadgeProps = {
|
|
|
5
5
|
size?: SizeType;
|
|
6
6
|
variant?: VariantType;
|
|
7
7
|
children: React.ReactNode;
|
|
8
|
+
leadingArea?: React.ReactNode;
|
|
8
9
|
};
|
|
9
|
-
export declare function Badge({ size, variant, children, }: BadgeProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare function Badge({ size, variant, children, leadingArea, }: BadgeProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
10
11
|
export {};
|
|
@@ -4,7 +4,7 @@ type BreadcrumbPropsIcon = {
|
|
|
4
4
|
};
|
|
5
5
|
type BreadcrumbProps = {
|
|
6
6
|
items: BreadcrumbPropsIcon[];
|
|
7
|
-
onClick: (
|
|
7
|
+
onClick: (items: BreadcrumbPropsIcon[]) => void;
|
|
8
8
|
};
|
|
9
9
|
export declare function Breadcrumb({ items, onClick }: BreadcrumbProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
10
10
|
export {};
|
|
@@ -3,6 +3,8 @@ import { IconProps } from '../icon';
|
|
|
3
3
|
type VariantType = 'core' | 'coreLight' | 'neutral' | 'neutralOutline' | 'warning' | 'warningLight';
|
|
4
4
|
type SizeType = 'large' | 'medium' | 'small';
|
|
5
5
|
export interface ButtonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
6
|
+
as?: React.ElementType;
|
|
7
|
+
type?: 'button' | 'submit' | 'reset';
|
|
6
8
|
variant?: VariantType;
|
|
7
9
|
size?: SizeType;
|
|
8
10
|
iconLeading?: IconProps['name'];
|
|
@@ -13,5 +15,5 @@ export interface ButtonProps extends React.HTMLAttributes<HTMLButtonElement> {
|
|
|
13
15
|
disabled?: boolean;
|
|
14
16
|
loading?: boolean;
|
|
15
17
|
}
|
|
16
|
-
export declare function Button({ variant, size, iconLeading, iconTrailing, iconAutoFill, iconAutoStroke, children, fullWidth, disabled, onClick, loading, ...props }: ButtonProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare function Button({ as, type, variant, size, iconLeading, iconTrailing, iconAutoFill, iconAutoStroke, children, fullWidth, disabled, onClick, loading, ...props }: ButtonProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
17
19
|
export {};
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
type DateProps = {
|
|
2
|
+
export type DateProps = {
|
|
3
3
|
selected?: boolean;
|
|
4
4
|
disabled?: boolean;
|
|
5
5
|
today?: boolean;
|
|
6
6
|
modifier?: string;
|
|
7
7
|
dayoff?: boolean;
|
|
8
8
|
date: number;
|
|
9
|
-
|
|
9
|
+
children?: React.ReactNode;
|
|
10
10
|
};
|
|
11
|
-
export declare function Date({ selected, disabled, today, modifier, dayoff, date,
|
|
12
|
-
export {};
|
|
11
|
+
export declare function Date({ selected, disabled, today, modifier, dayoff, date, children, }: DateProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
import { DateProps } from './date';
|
|
2
|
+
interface CalendarProps {
|
|
3
|
+
data: {
|
|
4
|
+
[date: string]: DateProps;
|
|
5
|
+
};
|
|
6
|
+
onMonthChange?: (year: number, month: number) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function Calendar({ data, onMonthChange }: CalendarProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -1 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
import { DateProps } from './date';
|
|
2
|
+
interface CalendarProps {
|
|
3
|
+
data: {
|
|
4
|
+
[date: string]: DateProps;
|
|
5
|
+
};
|
|
6
|
+
}
|
|
7
|
+
export declare function Month({ data }: CalendarProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -4,6 +4,10 @@ type ScheduleProps = {
|
|
|
4
4
|
selected?: boolean;
|
|
5
5
|
done?: boolean;
|
|
6
6
|
onClick?: () => void;
|
|
7
|
+
className?: string;
|
|
8
|
+
style?: React.CSSProperties;
|
|
9
|
+
backgroundColor?: string;
|
|
10
|
+
color?: string;
|
|
7
11
|
};
|
|
8
|
-
export declare function Schedule({ time, label, selected, done, onClick, }: ScheduleProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare function Schedule({ time, label, selected, done, onClick, className, style, backgroundColor, color, }: ScheduleProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
9
13
|
export {};
|
|
@@ -8,6 +8,7 @@ type ChipProps = {
|
|
|
8
8
|
size?: ChipSize;
|
|
9
9
|
containerStyle?: React.CSSProperties;
|
|
10
10
|
leadingIcon?: IconProps['name'];
|
|
11
|
+
onClick?: () => void;
|
|
11
12
|
};
|
|
12
|
-
export declare function Chip({ size, color, type, label, containerStyle, leadingIcon, }: ChipProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare function Chip({ size, color, type, label, containerStyle, leadingIcon, onClick, }: ChipProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
13
14
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IconProps } from '../icon';
|
|
2
2
|
type SizeProps = 'small' | 'medium' | 'large';
|
|
3
|
-
type ComboBoxProps = {
|
|
3
|
+
export type ComboBoxProps = {
|
|
4
4
|
size: SizeProps;
|
|
5
5
|
disabled?: boolean;
|
|
6
6
|
placeholder: string;
|
|
@@ -13,6 +13,7 @@ type ComboBoxProps = {
|
|
|
13
13
|
onChange?: (value: string) => void;
|
|
14
14
|
icon?: IconProps['name'];
|
|
15
15
|
showDropdownIcon?: boolean;
|
|
16
|
+
getOptionDisabled?: (value: string) => boolean;
|
|
16
17
|
};
|
|
17
|
-
export declare function ComboBox({ size, disabled, placeholder, value, containerStyle, options, onChange, icon, showDropdownIcon, }: ComboBoxProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare function ComboBox({ size, disabled, placeholder, value, containerStyle, options, onChange, icon, showDropdownIcon, getOptionDisabled, }: ComboBoxProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
18
19
|
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Day } from '../../hooks/useCalendar';
|
|
2
|
+
interface CalendarRangeSquareProps {
|
|
3
|
+
startDate?: Date;
|
|
4
|
+
endDate?: Date;
|
|
5
|
+
hoveredStartDate?: Date;
|
|
6
|
+
hoveredEndDate?: Date;
|
|
7
|
+
currentDate: Day[];
|
|
8
|
+
}
|
|
9
|
+
export declare const CalendarRangeSquare: import("react").NamedExoticComponent<CalendarRangeSquareProps>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface DatePickerProps {
|
|
3
|
+
selectedDates: Date[];
|
|
4
|
+
setSelectedDates: (dates: Date[]) => void;
|
|
5
|
+
selectedDate?: Date;
|
|
6
|
+
onChange?: (date: Date) => void;
|
|
7
|
+
type: 'double' | 'single';
|
|
8
|
+
showNextMonth?: boolean;
|
|
9
|
+
headline?: string;
|
|
10
|
+
size?: 'small' | 'medium' | 'large';
|
|
11
|
+
placeholder?: string;
|
|
12
|
+
popoverWrapperStyle?: React.CSSProperties;
|
|
13
|
+
}
|
|
14
|
+
export declare const DatePicker: ({ selectedDates, setSelectedDates, selectedDate, type, showNextMonth, onChange, headline, size, placeholder, popoverWrapperStyle, }: DatePickerProps) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
File without changes
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
interface DoubleCalendarProps {
|
|
2
|
+
type: 'double' | 'single';
|
|
3
|
+
selectedDates: Date[];
|
|
4
|
+
setSelectedDates: (dates: Date[]) => void;
|
|
5
|
+
selectedDate?: Date;
|
|
6
|
+
onChange?: (date: Date) => void;
|
|
7
|
+
isNextMonth?: boolean;
|
|
8
|
+
hoveredStartDate?: Date;
|
|
9
|
+
hoveredEndDate?: Date;
|
|
10
|
+
setHoveredStartDate: (date: Date | undefined) => void;
|
|
11
|
+
setHoveredEndDate: (date: Date | undefined) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function Month(props: DoubleCalendarProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface DatePickerSingleProps {
|
|
2
|
+
selectedDates: Date[];
|
|
3
|
+
setSelectedDates: (dates: Date[]) => void;
|
|
4
|
+
selectedDate?: Date;
|
|
5
|
+
onChange?: (date: Date) => void;
|
|
6
|
+
type: 'double' | 'single';
|
|
7
|
+
}
|
|
8
|
+
export declare const DatePickerSingle: ({ selectedDates, setSelectedDates, selectedDate, type, onChange, }: DatePickerSingleProps) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { ColorPath } from '../../styles/color/type';
|
|
1
2
|
type SizeType = 'large' | 'small';
|
|
2
3
|
type CommonSectionProps = {
|
|
3
4
|
size?: SizeType;
|
|
4
5
|
subHeadline?: string;
|
|
5
6
|
subValue?: string;
|
|
7
|
+
subValueColor?: ColorPath;
|
|
6
8
|
description?: string;
|
|
7
9
|
trailling?: React.ReactNode;
|
|
8
10
|
};
|
|
@@ -402,6 +402,7 @@ declare const ICONS: {
|
|
|
402
402
|
puzzle: React.VFC<React.SVGProps<SVGSVGElement>>;
|
|
403
403
|
qr: React.VFC<React.SVGProps<SVGSVGElement>>;
|
|
404
404
|
questionMark: React.VFC<React.SVGProps<SVGSVGElement>>;
|
|
405
|
+
percel: React.VFC<React.SVGProps<SVGSVGElement>>;
|
|
405
406
|
raining_fill: React.VFC<React.SVGProps<SVGSVGElement>>;
|
|
406
407
|
raining: React.VFC<React.SVGProps<SVGSVGElement>>;
|
|
407
408
|
ratateLeft: React.VFC<React.SVGProps<SVGSVGElement>>;
|
|
@@ -542,6 +543,13 @@ declare const ICONS: {
|
|
|
542
543
|
wind: React.VFC<React.SVGProps<SVGSVGElement>>;
|
|
543
544
|
write_fill: React.VFC<React.SVGProps<SVGSVGElement>>;
|
|
544
545
|
write: React.VFC<React.SVGProps<SVGSVGElement>>;
|
|
546
|
+
percel_fill: React.VFC<React.SVGProps<SVGSVGElement>>;
|
|
547
|
+
sowing: React.VFC<React.SVGProps<SVGSVGElement>>;
|
|
548
|
+
germination: React.VFC<React.SVGProps<SVGSVGElement>>;
|
|
549
|
+
germination_fill: React.VFC<React.SVGProps<SVGSVGElement>>;
|
|
550
|
+
harvest: React.VFC<React.SVGProps<SVGSVGElement>>;
|
|
551
|
+
harvest_fill: React.VFC<React.SVGProps<SVGSVGElement>>;
|
|
552
|
+
polygon: React.VFC<React.SVGProps<SVGSVGElement>>;
|
|
545
553
|
};
|
|
546
554
|
export interface IconProps extends React.SVGProps<SVGSVGElement> {
|
|
547
555
|
name: keyof typeof ICONS;
|
|
@@ -44,5 +44,12 @@ export * from './combo-box/text';
|
|
|
44
44
|
export * from './table/head-row';
|
|
45
45
|
export * from './table/head-column';
|
|
46
46
|
export * from './table/item';
|
|
47
|
+
export * from './table/front-checkbox';
|
|
47
48
|
export * from './loading';
|
|
48
49
|
export * from './color-picker';
|
|
50
|
+
export * from './calendar/month';
|
|
51
|
+
export * from './calendar/year';
|
|
52
|
+
export * from './calendar/date';
|
|
53
|
+
export * from './calendar/schedule';
|
|
54
|
+
export * from './date-picker';
|
|
55
|
+
export * from './date-picker/single';
|
|
@@ -6,6 +6,7 @@ type CompactProps = {
|
|
|
6
6
|
label: string;
|
|
7
7
|
iconName?: IconProps['name'];
|
|
8
8
|
onChange: (value: boolean) => void;
|
|
9
|
+
disabled?: boolean;
|
|
9
10
|
};
|
|
10
|
-
export declare function Compact({ type, activated, label, iconName, onChange, }: CompactProps): JSX.Element;
|
|
11
|
+
export declare function Compact({ type, activated, label, iconName, onChange, disabled, }: CompactProps): JSX.Element;
|
|
11
12
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { ColorPath } from '../../styles/color/type';
|
|
2
3
|
type Type = 'default' | 'value';
|
|
3
4
|
type Align = 'Top' | 'Center';
|
|
4
5
|
type BaseProps = {
|
|
@@ -8,15 +9,18 @@ type BaseProps = {
|
|
|
8
9
|
description?: string;
|
|
9
10
|
leadingArea?: React.ReactNode;
|
|
10
11
|
type: Type;
|
|
12
|
+
headlineColor?: ColorPath;
|
|
11
13
|
};
|
|
12
14
|
type DefaultTypeProps = BaseProps & {
|
|
13
15
|
subHeadline?: string;
|
|
14
16
|
trailingArea?: React.ReactNode;
|
|
17
|
+
containerStyle?: React.CSSProperties;
|
|
18
|
+
onClick?: () => void;
|
|
15
19
|
};
|
|
16
20
|
type ValueTypeProps = BaseProps & {
|
|
17
21
|
value?: string;
|
|
18
22
|
subValue?: string;
|
|
19
23
|
};
|
|
20
24
|
type ListProps = DefaultTypeProps & ValueTypeProps;
|
|
21
|
-
export declare function Default({ align, leadingNumber, headline, description, leadingArea, subHeadline, value, subValue, type, trailingArea, }: ListProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
25
|
+
export declare function Default({ align, leadingNumber, headline, description, leadingArea, subHeadline, value, subValue, type, trailingArea, containerStyle, onClick, headlineColor, }: ListProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
22
26
|
export {};
|
|
@@ -6,6 +6,8 @@ type TabProps = {
|
|
|
6
6
|
tabName: string;
|
|
7
7
|
iconName?: IconProps['name'];
|
|
8
8
|
onClick?: () => void;
|
|
9
|
+
leadingAreaMask?: boolean;
|
|
10
|
+
iconSize?: number;
|
|
9
11
|
};
|
|
10
|
-
export declare function Tab({ minimized, activated, description, tabName, iconName, onClick, }: TabProps): JSX.Element;
|
|
12
|
+
export declare function Tab({ minimized, activated, description, tabName, iconName, onClick, leadingAreaMask, iconSize, }: TabProps): JSX.Element;
|
|
11
13
|
export {};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
type PopoverProps = {
|
|
2
|
+
export type PopoverProps = {
|
|
3
3
|
children?: React.ReactNode;
|
|
4
4
|
options?: {
|
|
5
5
|
label: string;
|
|
6
6
|
value: string;
|
|
7
7
|
}[];
|
|
8
|
+
getOptionDisabled?: (value: string) => boolean;
|
|
8
9
|
value?: string;
|
|
9
10
|
type: 'list' | 'shortcut' | 'component';
|
|
10
11
|
headline?: string;
|
|
@@ -12,5 +13,4 @@ type PopoverProps = {
|
|
|
12
13
|
secondaryButton?: React.ReactNode;
|
|
13
14
|
onChange?: (value: string) => void;
|
|
14
15
|
};
|
|
15
|
-
export declare function Popover({ children, type, options, headline, primaryButton, secondaryButton, onChange, value, }: PopoverProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
16
|
-
export {};
|
|
16
|
+
export declare function Popover({ children, type, options, headline, primaryButton, secondaryButton, onChange, value, getOptionDisabled, }: PopoverProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { ChangeEvent } from 'react';
|
|
1
|
+
import { ChangeEvent, CSSProperties } from 'react';
|
|
2
2
|
interface SearchBoxProps {
|
|
3
3
|
value: string;
|
|
4
4
|
onChange: (e: ChangeEvent<HTMLInputElement>) => void;
|
|
5
5
|
placeholder?: string;
|
|
6
|
+
containerStyle?: CSSProperties;
|
|
6
7
|
}
|
|
7
|
-
export declare function SearchBox({ value, onChange, ...rest }: SearchBoxProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare function SearchBox({ value, onChange, containerStyle, ...rest }: SearchBoxProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
8
9
|
export {};
|
|
@@ -9,6 +9,7 @@ type SliderProps = {
|
|
|
9
9
|
min?: number;
|
|
10
10
|
max?: number;
|
|
11
11
|
className?: string;
|
|
12
|
+
disabled?: boolean;
|
|
12
13
|
};
|
|
13
|
-
export declare function Slider({ doubleRange, value, onChange, options, min, max, className, }: SliderProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function Slider({ doubleRange, value, onChange, options, min, max, className, disabled, }: SliderProps): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
14
15
|
export {};
|
|
@@ -8,6 +8,7 @@ export interface TextProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
|
8
8
|
color: ColorPath;
|
|
9
9
|
align?: 'left' | 'center' | 'right';
|
|
10
10
|
}
|
|
11
|
+
export declare const getScaledStyles: (variant: TextVariant, scale: keyof typeof TEXT_SCALE) => import("@emotion/react").SerializedStyles;
|
|
11
12
|
export declare const Text: ({ ...props }: TextProps) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
12
13
|
export declare const MotionText: import("@emotion/styled").StyledComponent<{
|
|
13
14
|
theme?: import("@emotion/react").Theme;
|
|
@@ -3,6 +3,7 @@ export interface Day {
|
|
|
3
3
|
isToday: boolean;
|
|
4
4
|
day: number;
|
|
5
5
|
week: number;
|
|
6
|
+
date: string;
|
|
6
7
|
}
|
|
7
8
|
export declare const useCalendar: () => {
|
|
8
9
|
month: number;
|
|
@@ -18,4 +19,6 @@ export declare const useCalendar: () => {
|
|
|
18
19
|
setMonthData: import("react").Dispatch<import("react").SetStateAction<Day[][]>>;
|
|
19
20
|
weekData: Day[];
|
|
20
21
|
setWeekData: import("react").Dispatch<import("react").SetStateAction<Day[]>>;
|
|
22
|
+
nextMonthData: Day[][];
|
|
23
|
+
setNextMonthData: import("react").Dispatch<import("react").SetStateAction<Day[][]>>;
|
|
21
24
|
};
|