@ceed/ads 1.7.8 → 1.8.0-next.10

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.
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { InputProps } from "@mui/joy";
3
3
  import { MotionProps } from "framer-motion";
4
- interface CurrencyInputProps {
4
+ export interface CurrencyInputProps {
5
5
  currency?: "USD" | "KRW";
6
6
  max?: number;
7
7
  value?: number;
@@ -1,6 +1,9 @@
1
1
  import React from "react";
2
2
  import Input from "../Input";
3
3
  interface BaseDateRangePickerProps {
4
+ /**
5
+ * props.format 의 형식을 따라야 한다.
6
+ */
4
7
  value?: string;
5
8
  defaultValue?: string;
6
9
  onChange?: (event: {
@@ -19,7 +22,14 @@ interface BaseDateRangePickerProps {
19
22
  maxDate?: string;
20
23
  disableFuture?: boolean;
21
24
  disablePast?: boolean;
25
+ /**
26
+ * value, onChange의 값은 해당 포맷을 따른다.
27
+ */
22
28
  format?: string;
29
+ /**
30
+ * Input 에 표시되는 값의 포맷을 지정한다.
31
+ */
32
+ displayFormat?: string;
23
33
  inputReadOnly?: boolean;
24
34
  hideClearButton?: boolean;
25
35
  }
@@ -0,0 +1,24 @@
1
+ import React from "react";
2
+ import { FilterItem } from "./types";
3
+ interface FilterMenuProps {
4
+ filters?: FilterItem[];
5
+ values?: Record<string, any>;
6
+ defaultValues?: Record<string, any>;
7
+ resetValues?: Record<string, any>;
8
+ onChange?: (values: Record<string, any>) => void;
9
+ onClose?: () => void;
10
+ /**
11
+ * 필터에 있는 모든 옵션을 비우는 버튼을 제공하는 옵션.
12
+ * 일반적으로 아이콘 필터 버튼을 사용해서 필터가 모두 제공될 때 사용한다.
13
+ */
14
+ useReset?: boolean;
15
+ /**
16
+ * 하나의 필터 항목만 값을 비우는 버튼을 제공하는 옵션. filters가 1개만 있을때 Clear 버튼을 표시하고 2개 이상이면 의미 없다.
17
+ */
18
+ useClear?: boolean;
19
+ }
20
+ declare function FilterMenu(props: FilterMenuProps): React.JSX.Element;
21
+ declare namespace FilterMenu {
22
+ var displayName: string;
23
+ }
24
+ export { FilterMenu };
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import type { FilterAutocompleteItem } from "../types";
3
+ interface AutocompleteProps extends FilterAutocompleteItem {
4
+ onChange?: (value?: string | number) => void;
5
+ }
6
+ declare function Autocomplete(props: AutocompleteProps): React.JSX.Element | null;
7
+ declare namespace Autocomplete {
8
+ var displayName: string;
9
+ }
10
+ export { Autocomplete };
11
+ export default Autocomplete;
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import { FilterCheckboxGroupItem } from "../types";
3
+ interface CheckboxGroupProps extends FilterCheckboxGroupItem {
4
+ onChange?: (value: (string | number)[]) => void;
5
+ }
6
+ declare function CheckboxGroup(props: CheckboxGroupProps): React.JSX.Element | null;
7
+ declare namespace CheckboxGroup {
8
+ var displayName: string;
9
+ }
10
+ export { CheckboxGroup };
11
+ export default CheckboxGroup;
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import { FilterCurrencyInputItem } from "../types";
3
+ interface CurrencyInputProps extends FilterCurrencyInputItem {
4
+ onChange?: (value: number | undefined) => void;
5
+ }
6
+ declare function CurrencyInput(props: CurrencyInputProps): React.JSX.Element | null;
7
+ declare namespace CurrencyInput {
8
+ var displayName: string;
9
+ }
10
+ export { CurrencyInput };
11
+ export default CurrencyInput;
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import { FilterCurrencyRangeItem } from "../types";
3
+ interface CurrencyRangeProps extends FilterCurrencyRangeItem {
4
+ onChange?: (value: [number, number] | null) => void;
5
+ }
6
+ declare function CurrencyRange(props: CurrencyRangeProps): React.JSX.Element | null;
7
+ declare namespace CurrencyRange {
8
+ var displayName: string;
9
+ }
10
+ export { CurrencyRange };
11
+ export default CurrencyRange;
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import { FilterDateRangeItem } from "../types";
3
+ interface DateRangeProps extends FilterDateRangeItem {
4
+ onChange?: (value: [string, string] | null) => void;
5
+ }
6
+ declare function DateRange(props: DateRangeProps): React.JSX.Element | null;
7
+ declare namespace DateRange {
8
+ var displayName: string;
9
+ }
10
+ export { DateRange };
11
+ export default DateRange;
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import type { FilterPercentageInputItem } from "../types";
3
+ export interface PercentageInputProps extends FilterPercentageInputItem {
4
+ onChange?: (value?: number) => void;
5
+ }
6
+ export declare const PercentageInput: React.FC<PercentageInputProps>;
7
+ export default PercentageInput;
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import { FilterPercentageRangeItem } from "../types";
3
+ interface PercentageRangeProps extends FilterPercentageRangeItem {
4
+ onChange?: (value: [number | null, number | null] | null) => void;
5
+ }
6
+ declare function PercentageRange(props: PercentageRangeProps): React.JSX.Element | null;
7
+ declare namespace PercentageRange {
8
+ var displayName: string;
9
+ }
10
+ export { PercentageRange };
11
+ export default PercentageRange;
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import { FilterRadioGroupItem } from "../types";
3
+ interface RadioGroupProps extends FilterRadioGroupItem {
4
+ onChange?: (value: string | number) => void;
5
+ }
6
+ declare function RadioGroup(props: RadioGroupProps): React.JSX.Element | null;
7
+ declare namespace RadioGroup {
8
+ var displayName: string;
9
+ }
10
+ export { RadioGroup };
11
+ export default RadioGroup;
@@ -0,0 +1,2 @@
1
+ export * from "./FilterMenu";
2
+ export type * from "./types";
@@ -0,0 +1,46 @@
1
+ import type { DateRangePickerProps } from "../DateRangePicker";
2
+ import type { CurrencyInputProps } from "../CurrencyInput";
3
+ import type { PercentageInputProps } from "../PercentageInput";
4
+ import type { AutocompleteProps } from "../Autocomplete";
5
+ type DateTime = string;
6
+ export interface FilterBaseItem<V = never> {
7
+ id: string;
8
+ label: string;
9
+ value?: V;
10
+ hidden?: boolean;
11
+ onChange?: (value: V) => void;
12
+ }
13
+ export interface FilterCheckboxGroupItem extends FilterBaseItem<(string | number)[]> {
14
+ type: "checkbox-group";
15
+ options: {
16
+ label: string;
17
+ value: string | number;
18
+ }[];
19
+ }
20
+ export interface FilterRadioGroupItem extends FilterBaseItem<string | number> {
21
+ type: "radio-group";
22
+ options: {
23
+ label: string;
24
+ value: string | number;
25
+ }[];
26
+ }
27
+ export interface FilterDateRangeItem extends FilterBaseItem<[DateTime, DateTime]>, Pick<DateRangePickerProps, "minDate" | "maxDate" | "disableFuture" | "disablePast" | "format" | "displayFormat" | "inputReadOnly" | "hideClearButton"> {
28
+ type: "date-range";
29
+ }
30
+ export interface FilterCurrencyInputItem extends FilterBaseItem<number>, Pick<CurrencyInputProps, "max" | "placeholder" | "useMinorUnit" | "currency"> {
31
+ type: "currency-input";
32
+ }
33
+ export interface FilterCurrencyRangeItem extends FilterBaseItem<[number, number]>, Pick<CurrencyInputProps, "max" | "placeholder" | "useMinorUnit" | "currency"> {
34
+ type: "currency-range";
35
+ }
36
+ export interface FilterPercentageInputItem extends FilterBaseItem<number>, Pick<PercentageInputProps, "useMinorUnit" | "maxDecimalScale" | "min" | "max" | "placeholder"> {
37
+ type: "percentage-input";
38
+ }
39
+ export interface FilterPercentageRangeItem extends FilterBaseItem<[number, number]>, Pick<PercentageInputProps, "useMinorUnit" | "maxDecimalScale" | "min" | "max"> {
40
+ type: "percentage-range";
41
+ }
42
+ export interface FilterAutocompleteItem extends FilterBaseItem<string | number>, Pick<AutocompleteProps<any, boolean>, "options" | "multiple" | "placeholder"> {
43
+ type: "autocomplete";
44
+ }
45
+ export type FilterItem = FilterCheckboxGroupItem | FilterRadioGroupItem | FilterDateRangeItem | FilterCurrencyInputItem | FilterCurrencyRangeItem | FilterPercentageInputItem | FilterPercentageRangeItem | FilterAutocompleteItem;
46
+ export {};
@@ -26,7 +26,7 @@ interface BaseProfileMenuProps {
26
26
  src: string;
27
27
  alt: string;
28
28
  };
29
- caption?: string;
29
+ caption?: React.ReactNode;
30
30
  chip?: string;
31
31
  };
32
32
  menuItems: ({
@@ -22,6 +22,8 @@ export { DialogFrame } from "./DialogFrame";
22
22
  export { Divider } from "./Divider";
23
23
  export { InsetDrawer } from "./InsetDrawer";
24
24
  export { Dropdown } from "./Dropdown";
25
+ export { FilterMenu } from "./FilterMenu";
26
+ export type * from "./FilterMenu";
25
27
  export { Uploader } from "./Uploader";
26
28
  export { FormControl } from "./FormControl";
27
29
  export { FormHelperText } from "./FormHelperText";