enerdot-front-system 0.0.25 → 0.0.26

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 +6 -3
  2. package/dist/index.cjs.js +48 -39
  3. package/dist/index.es.js +5510 -1365
  4. package/dist/lib/components/Button/index.d.ts +1 -0
  5. package/dist/lib/components/DateSelector/DatePicker/Buttons/ArrowButton.d.ts +18 -0
  6. package/dist/lib/components/DateSelector/DatePicker/Buttons/InputButton.d.ts +10 -0
  7. package/dist/lib/components/DateSelector/DatePicker/Calendar/DayButton.d.ts +13 -0
  8. package/dist/lib/components/DateSelector/DatePicker/Calendar/MonthButton.d.ts +11 -0
  9. package/dist/lib/components/DateSelector/DatePicker/Calendar/QuarterButton.d.ts +11 -0
  10. package/dist/lib/components/DateSelector/DatePicker/Calendar/WeekButton.d.ts +12 -0
  11. package/dist/lib/components/DateSelector/DatePicker/Calendar/YearButton.d.ts +11 -0
  12. package/dist/lib/components/DateSelector/DatePicker/Calendar/index.d.ts +17 -0
  13. package/dist/lib/components/DateSelector/DatePicker/index.d.ts +19 -0
  14. package/dist/lib/components/DateSelector/DateRangePicker/Button.d.ts +10 -0
  15. package/dist/lib/components/DateSelector/DateRangePicker/Calendar/DayButton.d.ts +13 -0
  16. package/dist/lib/components/DateSelector/DateRangePicker/Calendar/MonthButton.d.ts +11 -0
  17. package/dist/lib/components/DateSelector/DateRangePicker/Calendar/YearButton.d.ts +11 -0
  18. package/dist/lib/components/DateSelector/DateRangePicker/Calendar/index.d.ts +14 -0
  19. package/dist/lib/components/DateSelector/DateRangePicker/index.d.ts +20 -0
  20. package/dist/lib/components/DateSelector/common.d.ts +6 -0
  21. package/dist/lib/components/IconButton/index.d.ts +1 -0
  22. package/dist/lib/components/Ripple/index.d.ts +13 -0
  23. package/dist/lib/components/Segment/index.d.ts +9 -0
  24. package/dist/lib/components/Svg/Symbol/Calendar.d.ts +2 -0
  25. package/dist/lib/components/Svg/arrow/ArrowLeft.d.ts +7 -0
  26. package/dist/lib/components/Svg/arrow/ArrowRight.d.ts +7 -0
  27. package/dist/lib/components/Tab/index.d.ts +13 -0
  28. package/dist/lib/components/Toast/index.d.ts +6 -0
  29. package/dist/lib/data/dateFormat.d.ts +17 -0
  30. package/dist/lib/hooks/useIndicator.d.ts +12 -0
  31. package/dist/lib/hooks/useToast.d.ts +11 -0
  32. package/dist/lib/index.d.ts +6 -0
  33. package/dist/lib/utils/calendar.d.ts +27 -0
  34. package/dist/lib/utils/formatter.d.ts +2 -0
  35. package/dist/lib/utils/ripple.d.ts +6 -0
  36. package/package.json +5 -3
@@ -9,6 +9,7 @@ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElemen
9
9
  children?: React.ReactNode;
10
10
  /**theme - secondary, text만 지원 */
11
11
  isSelected?: boolean;
12
+ buttonRef?: React.RefObject<HTMLButtonElement>;
12
13
  }
13
14
  export declare const Button: (props: ButtonProps) => import("react/jsx-runtime").JSX.Element;
14
15
  export default Button;
@@ -0,0 +1,18 @@
1
+ import { default as moment } from 'moment';
2
+ interface ArrowButtonProps {
3
+ level: "small" | "large";
4
+ dateType: "day" | "week" | "month" | "quarter" | "year";
5
+ format: "hyphenFormat" | "dotFormat";
6
+ onClick: () => void;
7
+ disabled?: boolean;
8
+ date: moment.Moment;
9
+ minDate?: moment.Moment;
10
+ maxDate?: moment.Moment;
11
+ onChange: (e: {
12
+ date: moment.Moment;
13
+ name?: string;
14
+ }) => void;
15
+ name?: string;
16
+ }
17
+ declare const ArrowButton: ({ level, dateType, onClick, format, disabled, date, maxDate, minDate, onChange, name, }: ArrowButtonProps) => import("react/jsx-runtime").JSX.Element;
18
+ export default ArrowButton;
@@ -0,0 +1,10 @@
1
+ interface InputButtonProps {
2
+ level: "small" | "large";
3
+ dateType: "day" | "week" | "month" | "quarter" | "year";
4
+ format: "hyphenFormat" | "dotFormat";
5
+ onClick: () => void;
6
+ disabled?: boolean;
7
+ date: moment.Moment;
8
+ }
9
+ declare const InputButton: ({ level, dateType, onClick, format, disabled, date, }: InputButtonProps) => import("react/jsx-runtime").JSX.Element;
10
+ export default InputButton;
@@ -0,0 +1,13 @@
1
+ import { default as moment } from 'moment';
2
+ export interface DayButtonProps {
3
+ day: moment.Moment;
4
+ initialDate: moment.Moment;
5
+ minDate: moment.Moment;
6
+ maxDate: moment.Moment;
7
+ screenMonth: moment.Moment;
8
+ selectDate: moment.Moment;
9
+ index: number;
10
+ onChange: (date: moment.Moment) => void;
11
+ }
12
+ declare const DayButton: ({ day, minDate, maxDate, screenMonth, selectDate, index, onChange, initialDate, }: DayButtonProps) => import("react/jsx-runtime").JSX.Element;
13
+ export default DayButton;
@@ -0,0 +1,11 @@
1
+ import { default as moment } from 'moment';
2
+ export interface MonthButtonProps {
3
+ day: moment.Moment;
4
+ initialDate: moment.Moment;
5
+ minDate: moment.Moment;
6
+ maxDate: moment.Moment;
7
+ selectDate: moment.Moment;
8
+ onChange: (date: moment.Moment) => void;
9
+ }
10
+ declare const MonthButton: ({ day, minDate, maxDate, selectDate, onChange, initialDate, }: MonthButtonProps) => import("react/jsx-runtime").JSX.Element;
11
+ export default MonthButton;
@@ -0,0 +1,11 @@
1
+ import { default as moment } from 'moment';
2
+ export interface QuarterButtonProps {
3
+ day: moment.Moment;
4
+ initialDate: moment.Moment;
5
+ minDate: moment.Moment;
6
+ maxDate: moment.Moment;
7
+ selectDate: moment.Moment;
8
+ onChange: (date: moment.Moment) => void;
9
+ }
10
+ declare const QuarterButton: ({ day, minDate, maxDate, selectDate, onChange, initialDate, }: QuarterButtonProps) => import("react/jsx-runtime").JSX.Element;
11
+ export default QuarterButton;
@@ -0,0 +1,12 @@
1
+ import { default as moment } from 'moment';
2
+ export interface WeekButtonProps {
3
+ day: moment.Moment;
4
+ minDate: moment.Moment;
5
+ maxDate: moment.Moment;
6
+ screenMonth: moment.Moment;
7
+ selectDate: moment.Moment;
8
+ index: number;
9
+ onChange: (date: moment.Moment) => void;
10
+ }
11
+ declare const WeekButton: ({ day, minDate, maxDate, screenMonth, selectDate, index, onChange, }: WeekButtonProps) => import("react/jsx-runtime").JSX.Element;
12
+ export default WeekButton;
@@ -0,0 +1,11 @@
1
+ import { default as moment } from 'moment';
2
+ export interface YearButtonProps {
3
+ day: moment.Moment;
4
+ initialDate: moment.Moment;
5
+ minDate: moment.Moment;
6
+ maxDate: moment.Moment;
7
+ selectDate: moment.Moment;
8
+ onChange: (date: moment.Moment) => void;
9
+ }
10
+ declare const YearButton: ({ day, minDate, maxDate, selectDate, onChange, initialDate, }: YearButtonProps) => import("react/jsx-runtime").JSX.Element;
11
+ export default YearButton;
@@ -0,0 +1,17 @@
1
+ import { default as moment } from 'moment';
2
+ export interface DatePickerCalendarProps {
3
+ dateType?: "day" | "week" | "month" | "quarter" | "year";
4
+ date?: moment.Moment;
5
+ initialDate?: moment.Moment;
6
+ maxDate?: moment.Moment;
7
+ minDate?: moment.Moment;
8
+ onChange?: (e: {
9
+ date: moment.Moment;
10
+ name?: string;
11
+ }) => void;
12
+ name?: string;
13
+ width?: number;
14
+ }
15
+ export declare const DatePickerCalendar: (props: DatePickerCalendarProps) => import("react/jsx-runtime").JSX.Element;
16
+ declare const _default: import('react').MemoExoticComponent<(props: DatePickerCalendarProps) => import("react/jsx-runtime").JSX.Element>;
17
+ export default _default;
@@ -0,0 +1,19 @@
1
+ import { default as moment } from 'moment';
2
+ export interface DatePickerProps {
3
+ date: moment.Moment;
4
+ onChange: (e: {
5
+ date: moment.Moment;
6
+ name?: string;
7
+ }) => void;
8
+ dateType?: "day" | "week" | "month" | "quarter" | "year";
9
+ minDate?: moment.Moment;
10
+ maxDate?: moment.Moment;
11
+ disabled?: boolean;
12
+ name?: string;
13
+ width?: "auto" | `${number}px`;
14
+ level?: "small" | "large";
15
+ format?: "hyphenFormat" | "dotFormat";
16
+ buttonType?: "arrow" | "input";
17
+ }
18
+ export declare const DatePicker: ({ date, dateType, maxDate, minDate, onChange, disabled, name, format, level, buttonType, width, }: DatePickerProps) => import("react/jsx-runtime").JSX.Element;
19
+ export default DatePicker;
@@ -0,0 +1,10 @@
1
+ interface ButtonProps {
2
+ level: "small" | "large";
3
+ dateType: "day" | "month" | "year";
4
+ format: "hyphenFormat" | "dotFormat";
5
+ onClick: () => void;
6
+ disabled?: boolean;
7
+ dates: [moment.Moment, moment.Moment];
8
+ }
9
+ declare const Button: ({ level, dateType, onClick, format, disabled, dates, }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
10
+ export default Button;
@@ -0,0 +1,13 @@
1
+ import { default as moment } from 'moment';
2
+ export interface DayButtonProps {
3
+ day: moment.Moment;
4
+ minDate: moment.Moment;
5
+ maxDate: moment.Moment;
6
+ screenMonth: moment.Moment;
7
+ selectDates: [moment.Moment, moment.Moment];
8
+ index: number;
9
+ onChange: (date: [moment.Moment, moment.Moment], name?: string) => void;
10
+ maxRange?: number;
11
+ }
12
+ declare const DayButton: ({ day, minDate, maxDate, screenMonth, selectDates, index, onChange, }: DayButtonProps) => import("react/jsx-runtime").JSX.Element;
13
+ export default DayButton;
@@ -0,0 +1,11 @@
1
+ import { default as moment } from 'moment';
2
+ export interface MonthButtonProps {
3
+ day: moment.Moment;
4
+ minDate: moment.Moment;
5
+ maxDate: moment.Moment;
6
+ selectDates: [moment.Moment, moment.Moment];
7
+ onChange: (date: [moment.Moment, moment.Moment], name?: string) => void;
8
+ maxRange?: number;
9
+ }
10
+ declare const MonthButton: ({ day, minDate, maxDate, selectDates, onChange, }: MonthButtonProps) => import("react/jsx-runtime").JSX.Element;
11
+ export default MonthButton;
@@ -0,0 +1,11 @@
1
+ import { default as moment } from 'moment';
2
+ export interface YearButtonProps {
3
+ day: moment.Moment;
4
+ minDate: moment.Moment;
5
+ maxDate: moment.Moment;
6
+ selectDates: [moment.Moment, moment.Moment];
7
+ onChange: (date: [moment.Moment, moment.Moment], name?: string) => void;
8
+ maxRange?: number;
9
+ }
10
+ declare const YearButton: ({ day, minDate, maxDate, selectDates, onChange, }: YearButtonProps) => import("react/jsx-runtime").JSX.Element;
11
+ export default YearButton;
@@ -0,0 +1,14 @@
1
+ import { default as moment } from 'moment';
2
+ export interface DateRangePickerCalendarProps {
3
+ dateType?: "day" | "month" | "year";
4
+ dates?: [moment.Moment, moment.Moment];
5
+ maxDate?: moment.Moment;
6
+ minDate?: moment.Moment;
7
+ onChange?: (dates: [moment.Moment, moment.Moment], name?: string) => void;
8
+ name?: string;
9
+ width?: number;
10
+ maxRange?: number;
11
+ }
12
+ export declare const DateRangePickerCalendar: (props: DateRangePickerCalendarProps) => import("react/jsx-runtime").JSX.Element;
13
+ declare const _default: import('react').MemoExoticComponent<(props: DateRangePickerCalendarProps) => import("react/jsx-runtime").JSX.Element>;
14
+ export default _default;
@@ -0,0 +1,20 @@
1
+ import { default as moment } from 'moment';
2
+ export interface DateRangePickerProps {
3
+ dates: [moment.Moment, moment.Moment];
4
+ onChange: (e: {
5
+ dates: [moment.Moment, moment.Moment];
6
+ name?: string;
7
+ }) => void;
8
+ dateType?: "day" | "month" | "year";
9
+ minDate?: moment.Moment;
10
+ maxDate?: moment.Moment;
11
+ disabled?: boolean;
12
+ name?: string;
13
+ width?: "auto" | `${number}px`;
14
+ level?: "small" | "large";
15
+ format?: "hyphenFormat" | "dotFormat";
16
+ buttonType?: "arrow" | "input";
17
+ maxRange?: number;
18
+ }
19
+ export declare const DateRangePicker: ({ dates, dateType, maxDate, minDate, onChange, disabled, name, format, level, width, maxRange, }: DateRangePickerProps) => import("react/jsx-runtime").JSX.Element;
20
+ export default DateRangePicker;
@@ -0,0 +1,6 @@
1
+ export declare const levels: {
2
+ [key: string]: {
3
+ height: number;
4
+ fontSize: number;
5
+ };
6
+ };
@@ -4,6 +4,7 @@ export interface IconButtonProps extends React.ButtonHTMLAttributes<HTMLButtonEl
4
4
  theme?: "primary" | "secondary" | "tertiary" | "onlyIcon" | "quaternary";
5
5
  baseColor?: "primary" | "green" | "red" | "orange" | "yellow" | "gray";
6
6
  isRound?: boolean;
7
+ buttonRef?: React.RefObject<HTMLButtonElement>;
7
8
  }
8
9
  export declare const IconButton: (props: IconButtonProps) => import("react/jsx-runtime").JSX.Element;
9
10
  export default IconButton;
@@ -0,0 +1,13 @@
1
+ export type RippleObject = {
2
+ x: number;
3
+ y: number;
4
+ size: number;
5
+ id: number;
6
+ };
7
+ interface RippleProps {
8
+ theme?: "primary" | "secondary" | "tertiary" | "text" | "quaternary" | "onlyIcon";
9
+ baseColor?: "primary" | "green" | "red" | "orange" | "yellow" | "gray";
10
+ ripples: RippleObject[];
11
+ }
12
+ declare const Ripple: ({ theme, ripples, baseColor }: RippleProps) => import("react/jsx-runtime").JSX.Element;
13
+ export default Ripple;
@@ -0,0 +1,9 @@
1
+ import { TabItemProps } from '../Tab';
2
+ export interface SegmentProps {
3
+ segments: Array<TabItemProps>;
4
+ selectId: number;
5
+ onClick: (index: number) => void;
6
+ level?: "large" | "medium" | "small";
7
+ }
8
+ export declare const Segment: ({ segments, selectId, level, onClick, }: SegmentProps) => import("react/jsx-runtime").JSX.Element;
9
+ export default Segment;
@@ -0,0 +1,2 @@
1
+ declare const Calendar: () => import("react/jsx-runtime").JSX.Element;
2
+ export default Calendar;
@@ -0,0 +1,7 @@
1
+ declare const ArrowLeft: ({ size, disabled, color, disabledColor, }: {
2
+ size?: number;
3
+ disabled?: boolean;
4
+ color?: string;
5
+ disabledColor?: string;
6
+ }) => import("react/jsx-runtime").JSX.Element;
7
+ export default ArrowLeft;
@@ -0,0 +1,7 @@
1
+ declare const ArrowRight: ({ size, disabled, color, disabledColor, }: {
2
+ size?: number;
3
+ disabled?: boolean;
4
+ color?: string;
5
+ disabledColor?: string;
6
+ }) => import("react/jsx-runtime").JSX.Element;
7
+ export default ArrowRight;
@@ -0,0 +1,13 @@
1
+ export interface TabItemProps {
2
+ label: string;
3
+ isNew?: boolean;
4
+ isDisabled?: boolean;
5
+ }
6
+ export interface TabProps {
7
+ tabs: Array<TabItemProps>;
8
+ selectId: string | number;
9
+ level?: "large" | "medium" | "small";
10
+ onClick: (index: number) => void;
11
+ }
12
+ export declare const Tab: ({ tabs, selectId, level, onClick }: TabProps) => import("react/jsx-runtime").JSX.Element;
13
+ export default Tab;
@@ -0,0 +1,6 @@
1
+ interface ToastProps {
2
+ message: string;
3
+ onClose: () => void;
4
+ }
5
+ declare const Toast: ({ message, onClose }: ToastProps) => import("react/jsx-runtime").JSX.Element;
6
+ export default Toast;
@@ -0,0 +1,17 @@
1
+ export declare const hyphenFormat: {
2
+ second: string;
3
+ minute: string;
4
+ hour: string;
5
+ day: string;
6
+ month: string;
7
+ year: string;
8
+ };
9
+ export declare const dotFormat: {
10
+ second: string;
11
+ minute: string;
12
+ hour: string;
13
+ day: string;
14
+ month: string;
15
+ year: string;
16
+ };
17
+ export declare const WEEKS: string[];
@@ -0,0 +1,12 @@
1
+ interface UseIndicatorProps {
2
+ selectId: number;
3
+ segments: Array<{
4
+ isDisabled?: boolean;
5
+ }>;
6
+ containerWidth?: number;
7
+ }
8
+ export declare const useIndicator: ({ selectId, segments, containerWidth, }: UseIndicatorProps) => {
9
+ indicatorStyle: {};
10
+ ref: import('react').MutableRefObject<HTMLButtonElement[]>;
11
+ };
12
+ export {};
@@ -0,0 +1,11 @@
1
+ interface UseToastReturn {
2
+ isVisible: boolean;
3
+ message: string;
4
+ showToast: (message: string) => void;
5
+ closeToast: () => void;
6
+ }
7
+ /**
8
+ * Toast 메시지 표시를 위한 커스텀 훅
9
+ */
10
+ declare const useToast: (duration?: number) => UseToastReturn;
11
+ export default useToast;
@@ -3,6 +3,10 @@ export * from './components/ButtonFilter';
3
3
  export * from './components/ButtonFilter/CustomFilter';
4
4
  export * from './components/CheckBox';
5
5
  export * from './components/Chip';
6
+ export * from './components/DateSelector/DatePicker';
7
+ export * from './components/DateSelector/DatePicker/Calendar';
8
+ export * from './components/DateSelector/DateRangePicker';
9
+ export * from './components/DateSelector/DateRangePicker/Calendar';
6
10
  export * from './components/Divider';
7
11
  export * from './components/IconButton';
8
12
  export * from './components/IconWithButton';
@@ -11,5 +15,7 @@ export * from './components/Inputs/SearchInput';
11
15
  export * from './components/Pagination';
12
16
  export * from './components/Radio/RadioButton';
13
17
  export * from './components/Radio/RadioButtons';
18
+ export * from './components/Segment';
19
+ export * from './components/Tab';
14
20
  export * from './components/Textarea';
15
21
  export * from './theme/color.style';
@@ -0,0 +1,27 @@
1
+ import { default as moment } from 'moment';
2
+ export declare const dateParentsFormats: {
3
+ day: string;
4
+ week: string;
5
+ month: string;
6
+ quarter: string;
7
+ year: string;
8
+ };
9
+ /**선택 월의 주단위 날짜들을 가져오는 유틸 */
10
+ export declare const generateDatesByWeek: (currentDate: moment.Moment) => moment.Moment[][];
11
+ /**선택 년의 분기단위 날짜들을 가져오는 유틸 */
12
+ export declare const generateMonthsByQuarter: (currentDate: moment.Moment) => moment.Moment[][];
13
+ /**선택 년의 분기들을 3개씩 나눠서 가져오는 유틸 */
14
+ export declare const generateQuarters: (currentDate: moment.Moment) => moment.Moment[][];
15
+ /**날짜를 10년단위로 내림하는 유틸*/
16
+ export declare const downYear: (currentDate: moment.Moment) => moment.Moment;
17
+ /**선택 10년의 연단위 날짜들을 가져오는 유틸 */
18
+ export declare const generateYearsByDecade: (currentDate: moment.Moment) => moment.Moment[][];
19
+ /**캘린더 컴포넌트 ( datePicker, dateRangePicker ) nav text 유틸 */
20
+ export declare const getNavText: ({ dateType, screenDate, }: {
21
+ dateType: "day" | "week" | "month" | "quarter" | "year";
22
+ screenDate: moment.Moment;
23
+ }) => string;
24
+ export declare const checkMaxRange: (dateType: "day" | "month" | "year", selectedDates: [moment.Moment, moment.Moment], maxRange: number) => {
25
+ isRangeExceeded: boolean;
26
+ errorMessage: any;
27
+ };
@@ -0,0 +1,2 @@
1
+ /**array를 size개씩 잘라서 2중배열로 리턴하는 유틸*/
2
+ export declare const divideArray: <T>(array: T[], size: number) => T[][];
@@ -0,0 +1,6 @@
1
+ import { RippleObject } from '../components/Ripple';
2
+ export declare const makeRipples: ({ e, buttonElement, setRipples, }: {
3
+ e: React.MouseEvent<HTMLButtonElement>;
4
+ buttonElement: HTMLButtonElement;
5
+ setRipples: (value: React.SetStateAction<RippleObject[]>) => void;
6
+ }) => void;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "enerdot-front-system",
3
3
  "private": false,
4
- "version": "0.0.25",
4
+ "version": "0.0.26",
5
5
  "type": "module",
6
6
  "keywords": [
7
7
  "enerdot-front-system",
@@ -27,8 +27,8 @@
27
27
  "lint": "eslint .",
28
28
  "preview": "vite preview",
29
29
  "prepare": "rm -rf dist && tsc && vite build",
30
- "add:package": "yarn add ./enerdot-front-system-v0.0.25.tgz",
31
- "reset:package": "yarn remove enerdot-front-system && yarn cache clean && rm -rf ./enerdot-front-system-v0.0.25.tgz"
30
+ "add:package": "yarn add ./enerdot-front-system-v0.0.26.tgz",
31
+ "reset:package": "yarn remove enerdot-front-system && yarn cache clean && rm -rf ./enerdot-front-system-v0.0.26.tgz"
32
32
  },
33
33
  "exports": {
34
34
  ".": {
@@ -38,6 +38,7 @@
38
38
  }
39
39
  },
40
40
  "peerDependencies": {
41
+ "moment": "^2.30.1",
41
42
  "react": "^18.3.1",
42
43
  "react-dom": "^18.3.1",
43
44
  "react-router-dom": "^7.1.1"
@@ -54,6 +55,7 @@
54
55
  "eslint-plugin-simple-import-sort": "^12.1.1",
55
56
  "eslint-plugin-unused-imports": "^4.1.4",
56
57
  "globals": "^15.14.0",
58
+ "moment": "^2.30.1",
57
59
  "path": "^0.12.7",
58
60
  "react": "^18.3.1",
59
61
  "react-dom": "^18.3.1",