@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.
Files changed (36) hide show
  1. package/README.md +28 -0
  2. package/dist/components/badge/index.d.ts +2 -1
  3. package/dist/components/breadcrumb/index.d.ts +1 -1
  4. package/dist/components/button/index.d.ts +3 -1
  5. package/dist/components/calendar/date.d.ts +3 -4
  6. package/dist/components/calendar/index.d.ts +9 -1
  7. package/dist/components/calendar/month.d.ts +8 -1
  8. package/dist/components/calendar/schedule.d.ts +5 -1
  9. package/dist/components/chip/index.d.ts +2 -1
  10. package/dist/components/combo-box/index.d.ts +3 -2
  11. package/dist/components/date-picker/CalendarRangeSquare.d.ts +10 -0
  12. package/dist/components/date-picker/index.d.ts +14 -0
  13. package/dist/components/date-picker/input.d.ts +0 -0
  14. package/dist/components/date-picker/month.d.ts +14 -0
  15. package/dist/components/date-picker/single.d.ts +8 -0
  16. package/dist/components/date-picker/year.d.ts +3 -0
  17. package/dist/components/header/section.d.ts +2 -0
  18. package/dist/components/icon/index.d.ts +8 -0
  19. package/dist/components/index.d.ts +7 -0
  20. package/dist/components/input/index.d.ts +1 -1
  21. package/dist/components/list/compact.d.ts +2 -1
  22. package/dist/components/list/default.d.ts +5 -1
  23. package/dist/components/list/tab.d.ts +3 -1
  24. package/dist/components/popover/index.d.ts +3 -3
  25. package/dist/components/search-box/index.d.ts +3 -2
  26. package/dist/components/slider/index.d.ts +2 -1
  27. package/dist/components/text/index.d.ts +1 -0
  28. package/dist/hooks/useCalendar.d.ts +3 -0
  29. package/dist/index.js +835 -901
  30. package/dist/index.js.map +1 -1
  31. package/dist/provider/CalendarProvider.d.ts +1 -0
  32. package/dist/provider/ClientProvider.d.ts +3 -1
  33. package/dist/provider/ColorThemeProvider.d.ts +2 -0
  34. package/esm/index.mjs +828 -902
  35. package/esm/index.mjs.map +1 -1
  36. 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: (path: string) => void;
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
- body?: React.ReactNode;
9
+ children?: React.ReactNode;
10
10
  };
11
- export declare function Date({ selected, disabled, today, modifier, dayoff, date, body, }: DateProps): import("@emotion/react/jsx-runtime").JSX.Element;
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
- export declare function Calendar(): import("@emotion/react/jsx-runtime").JSX.Element;
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
- export declare function Month(): import("@emotion/react/jsx-runtime").JSX.Element;
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;
@@ -0,0 +1,3 @@
1
+ export declare function Year({ onChange }: {
2
+ onChange: (month: number) => void;
3
+ }): 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';
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { IconProps } from '../icon';
3
3
  import { ComponentProps } from 'react';
4
4
  type InputSize = 'small' | 'medium' | 'large';
5
- type InputProps = {
5
+ export type InputProps = {
6
6
  size: InputSize;
7
7
  placeholder: string;
8
8
  value: string;
@@ -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
  };