@ahoo-wang/fetcher-viewer 3.1.3 → 3.1.6

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.
@@ -2,16 +2,16 @@ import { SelectProps, RefSelectProps } from 'antd';
2
2
  import { UseDebouncedCallbackOptions } from '@ahoo-wang/fetcher-react';
3
3
  import { StyleCapable } from '../types';
4
4
  import { RefAttributes } from 'react';
5
- import { DefaultOptionType } from 'antd/lib/select';
6
- export interface RemoteSelectProps extends Omit<SelectProps, 'loading' | 'onSearch'>, RefAttributes<RefSelectProps>, StyleCapable {
5
+ import { BaseOptionType, DefaultOptionType } from 'antd/lib/select';
6
+ export interface RemoteSelectProps<ValueType = any, OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType> extends Omit<SelectProps<ValueType, OptionType>, 'loading' | 'onSearch'>, RefAttributes<RefSelectProps>, StyleCapable {
7
7
  debounce?: UseDebouncedCallbackOptions;
8
- search: (search: string) => Promise<DefaultOptionType[]>;
8
+ search: (search: string) => Promise<OptionType[]>;
9
9
  }
10
10
  /**
11
11
  * A Select component that loads options from a remote API.
12
12
  * Supports automatic fetching, loading states, and error handling.
13
13
  */
14
- export declare function RemoteSelect(props: RemoteSelectProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function RemoteSelect<ValueType = any, OptionType extends BaseOptionType | DefaultOptionType = DefaultOptionType>(props: RemoteSelectProps<ValueType, OptionType>): import("react/jsx-runtime").JSX.Element;
15
15
  export declare namespace RemoteSelect {
16
16
  var displayName: string;
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteSelect.d.ts","sourceRoot":"","sources":["../../src/components/RemoteSelect.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAU,WAAW,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAC3D,OAAO,EACL,2BAA2B,EAE5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,UAAU,CAAC,EAC/C,aAAa,CAAC,cAAc,CAAC,EAC7B,YAAY;IACd,QAAQ,CAAC,EAAE,2BAA2B,CAAC;IACvC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;CAC1D;AAQD;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,iBAAiB,2CAsBzB;yBAvBe,YAAY"}
1
+ {"version":3,"file":"RemoteSelect.d.ts","sourceRoot":"","sources":["../../src/components/RemoteSelect.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAU,WAAW,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAC3D,OAAO,EACL,2BAA2B,EAE5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpE,MAAM,WAAW,iBAAiB,CAAC,SAAS,GAAG,GAAG,EAAE,UAAU,SAAS,cAAc,GAAG,iBAAiB,GAAG,iBAAiB,CAC3H,SAAQ,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC,EACtE,aAAa,CAAC,cAAc,CAAC,EAC7B,YAAY;IACd,QAAQ,CAAC,EAAE,2BAA2B,CAAC;IACvC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;CACnD;AAQD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,GAAG,GAAG,EAAE,UAAU,SAAS,cAAc,GAAG,iBAAiB,GAAG,iBAAiB,EACrH,KAAK,EAAE,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,2CAsBhD;yBAvBe,YAAY"}
@@ -1,13 +1,15 @@
1
1
  import { FilterProps, FilterValueProps } from './types';
2
- import { OnOperatorChangeValueConverter, UseFilterStateReturn, ValidateValue } from './useFilterState';
2
+ import { ConditionValueParser, FilterValueConverter, OnOperatorChangeValueConverter, UseFilterStateReturn, ValidateValue } from './useFilterState';
3
3
  import { ReactNode } from 'react';
4
4
  import { SelectOperator } from './operator';
5
- export type ValueInputRender<ValueType = any> = (filterState: UseFilterStateReturn<ValueType>) => ReactNode | null;
6
- export interface AssemblyFilterProps<ValueType = any, ValuePropsType extends FilterValueProps = FilterValueProps<ValueType>> extends FilterProps<ValueType, ValuePropsType> {
5
+ export type ValueInputRender = (filterState: UseFilterStateReturn) => ReactNode | null;
6
+ export interface AssemblyFilterProps<ValuePropsType extends FilterValueProps = FilterValueProps> extends FilterProps<ValuePropsType> {
7
7
  supportedOperators: SelectOperator[];
8
- valueConverter?: OnOperatorChangeValueConverter;
9
- validate?: ValidateValue<ValueType>;
10
- valueInputRender?: ValueInputRender<ValueType>;
8
+ onOperatorChangeValueConverter?: OnOperatorChangeValueConverter;
9
+ validate?: ValidateValue;
10
+ conditionValueParser?: ConditionValueParser;
11
+ filterValueConverter?: FilterValueConverter;
12
+ valueInputRender?: ValueInputRender;
11
13
  }
12
- export declare function AssemblyFilter<ValueType = any>({ ref, ...props }: AssemblyFilterProps<ValueType>): import("react/jsx-runtime").JSX.Element;
14
+ export declare function AssemblyFilter({ ref, ...props }: AssemblyFilterProps): import("react/jsx-runtime").JSX.Element;
13
15
  //# sourceMappingURL=AssemblyFilter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssemblyFilter.d.ts","sourceRoot":"","sources":["../../src/filter/AssemblyFilter.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAExD,OAAO,EAAE,8BAA8B,EAAkB,oBAAoB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEvH,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,MAAM,gBAAgB,CAAC,SAAS,GAAG,GAAG,IAAI,CAC9C,WAAW,EAAE,oBAAoB,CAAC,SAAS,CAAC,KACzC,SAAS,GAAG,IAAI,CAAC;AAEtB,MAAM,WAAW,mBAAmB,CAAC,SAAS,GAAG,GAAG,EAAE,cAAc,SAAS,gBAAgB,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAE,SAAQ,WAAW,CAAC,SAAS,EAAE,cAAc,CAAC;IACzK,kBAAkB,EAAE,cAAc,EAAE,CAAC;IACrC,cAAc,CAAC,EAAE,8BAA8B,CAAC;IAChD,QAAQ,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACpC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;CAChD;AAED,wBAAgB,cAAc,CAAC,SAAS,GAAG,GAAG,EAC5C,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,mBAAmB,CAAC,SAAS,CAAC,2CAgDlD"}
1
+ {"version":3,"file":"AssemblyFilter.d.ts","sourceRoot":"","sources":["../../src/filter/AssemblyFilter.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAExD,OAAO,EACL,oBAAoB,EAAE,oBAAoB,EAC1C,8BAA8B,EAE9B,oBAAoB,EACpB,aAAa,EACd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,MAAM,gBAAgB,GAAG,CAC7B,WAAW,EAAE,oBAAoB,KAC9B,SAAS,GAAG,IAAI,CAAC;AAEtB,MAAM,WAAW,mBAAmB,CAAC,cAAc,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,WAAW,CAAC,cAAc,CAAC;IAClI,kBAAkB,EAAE,cAAc,EAAE,CAAC;IACrC,8BAA8B,CAAC,EAAE,8BAA8B,CAAC;IAChE,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,wBAAgB,cAAc,CAC5B,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,mBAAmB,2CAkDvC"}
@@ -1,6 +1,6 @@
1
1
  import { FilterProps } from './types';
2
2
  export declare const BOOL_FILTER = "bool";
3
- export declare function BoolFilter(props: FilterProps<undefined>): import("react/jsx-runtime").JSX.Element;
3
+ export declare function BoolFilter(props: FilterProps): import("react/jsx-runtime").JSX.Element;
4
4
  export declare namespace BoolFilter {
5
5
  var displayName: string;
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BoolFilter.d.ts","sourceRoot":"","sources":["../../src/filter/BoolFilter.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAMtC,eAAO,MAAM,WAAW,SAAS,CAAC;AAElC,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,2CAOvD;yBAPe,UAAU"}
1
+ {"version":3,"file":"BoolFilter.d.ts","sourceRoot":"","sources":["../../src/filter/BoolFilter.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAMtC,eAAO,MAAM,WAAW,SAAS,CAAC;AAElC,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,2CAO5C;yBAPe,UAAU"}
@@ -0,0 +1,10 @@
1
+ import { FilterProps } from './types';
2
+ import { ConditionValueParser, OnOperatorChangeValueConverter } from './useFilterState';
3
+ export declare const DATE_TIME_FILTER_NAME = "datetime";
4
+ export declare const DateTimeOnOperatorChangeValueConverter: OnOperatorChangeValueConverter;
5
+ export declare const TimestampConditionValueParser: ConditionValueParser;
6
+ export declare function DateTimeFilter(props: FilterProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare namespace DateTimeFilter {
8
+ var displayName: string;
9
+ }
10
+ //# sourceMappingURL=DateTimeFilter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTimeFilter.d.ts","sourceRoot":"","sources":["../../src/filter/DateTimeFilter.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,OAAO,EAAE,oBAAoB,EAAE,8BAA8B,EAAwB,MAAM,kBAAkB,CAAC;AAM9G,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAkBhD,eAAO,MAAM,sCAAsC,EAAE,8BAoBpD,CAAC;AACF,eAAO,MAAM,6BAA6B,EAAE,oBAwB3C,CAAC;AAEF,wBAAgB,cAAc,CAC5B,KAAK,EAAE,WAAW,2CAyEnB;yBA1Ee,cAAc"}
@@ -1,9 +1,8 @@
1
1
  import { FilterProps } from './types';
2
2
  import { OnOperatorChangeValueConverter } from './useFilterState';
3
3
  export declare const ID_FILTER = "id";
4
- export type IdFilterValueType = string | string[];
5
- export declare const IdOnOperatorChangeValueConverter: OnOperatorChangeValueConverter<IdFilterValueType>;
6
- export declare function IdFilter(props: FilterProps<IdFilterValueType>): import("react/jsx-runtime").JSX.Element;
4
+ export declare const IdOnOperatorChangeValueConverter: OnOperatorChangeValueConverter;
5
+ export declare function IdFilter(props: FilterProps): import("react/jsx-runtime").JSX.Element;
7
6
  export declare namespace IdFilter {
8
7
  var displayName: string;
9
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IdFilter.d.ts","sourceRoot":"","sources":["../../src/filter/IdFilter.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC,OAAO,EACL,8BAA8B,EAE/B,MAAM,kBAAkB,CAAC;AAG1B,eAAO,MAAM,SAAS,OAAO,CAAC;AAC9B,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAElD,eAAO,MAAM,gCAAgC,EAAE,8BAA8B,CAC3E,iBAAiB,CAmBlB,CAAC;AAEF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,iBAAiB,CAAC,2CA6B7D;yBA7Be,QAAQ"}
1
+ {"version":3,"file":"IdFilter.d.ts","sourceRoot":"","sources":["../../src/filter/IdFilter.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC,OAAO,EACL,8BAA8B,EAE/B,MAAM,kBAAkB,CAAC;AAG1B,eAAO,MAAM,SAAS,OAAO,CAAC;AAE9B,eAAO,MAAM,gCAAgC,EAAE,8BAkB9C,CAAC;AAEF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,WAAW,2CA6B1C;yBA7Be,QAAQ"}
@@ -1,7 +1,6 @@
1
1
  import { FilterProps } from './types';
2
2
  export declare const NUMBER_FILTER = "number";
3
- export type NumberFilterValueType = number | (number | undefined)[];
4
- export declare function NumberFilter(props: FilterProps<NumberFilterValueType>): import("react/jsx-runtime").JSX.Element;
3
+ export declare function NumberFilter(props: FilterProps): import("react/jsx-runtime").JSX.Element;
5
4
  export declare namespace NumberFilter {
6
5
  var displayName: string;
7
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NumberFilter.d.ts","sourceRoot":"","sources":["../../src/filter/NumberFilter.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAQtC,eAAO,MAAM,aAAa,WAAW,CAAC;AACtC,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;AAEpE,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,qBAAqB,CAAC,2CAgErE;yBAhEe,YAAY"}
1
+ {"version":3,"file":"NumberFilter.d.ts","sourceRoot":"","sources":["../../src/filter/NumberFilter.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAQtC,eAAO,MAAM,aAAa,WAAW,CAAC;AAEtC,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,2CA+D9C;yBA/De,YAAY"}
@@ -1,10 +1,9 @@
1
1
  import { FilterProps, FilterValueProps } from './types';
2
2
  import { SelectProps } from 'antd';
3
3
  export declare const SELECT_FILTER = "select";
4
- export type SelectFilterValueType = string[];
5
- export interface SelectFilterValueProps extends FilterValueProps<SelectFilterValueType>, Omit<SelectProps<SelectFilterValueType>, 'defaultValue' | 'mode' | 'value' | 'allowClear' | 'onChange' | 'placeholder'> {
4
+ export interface SelectFilterValueProps extends FilterValueProps, Omit<SelectProps, 'defaultValue' | 'mode' | 'value' | 'allowClear' | 'onChange' | 'placeholder'> {
6
5
  }
7
- export declare function SelectFilter(props: FilterProps<SelectFilterValueType, SelectFilterValueProps>): import("react/jsx-runtime").JSX.Element;
6
+ export declare function SelectFilter(props: FilterProps<SelectFilterValueProps>): import("react/jsx-runtime").JSX.Element;
8
7
  export declare namespace SelectFilter {
9
8
  var displayName: string;
10
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SelectFilter.d.ts","sourceRoot":"","sources":["../../src/filter/SelectFilter.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAIxD,OAAO,EAAU,WAAW,EAAE,MAAM,MAAM,CAAC;AAE3C,eAAO,MAAM,aAAa,WAAW,CAAC;AACtC,MAAM,MAAM,qBAAqB,GAAG,MAAM,EAAE,CAAC;AAE7C,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB,CAAC,qBAAqB,CAAC,EACrF,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,EAAE,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GAAE,aAAa,CAAC;CACvH;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,2CAiB7F;yBAjBe,YAAY"}
1
+ {"version":3,"file":"SelectFilter.d.ts","sourceRoot":"","sources":["../../src/filter/SelectFilter.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAIxD,OAAO,EAAU,WAAW,EAAE,MAAM,MAAM,CAAC;AAE3C,eAAO,MAAM,aAAa,WAAW,CAAC;AAEtC,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB,EAC9D,IAAI,CAAC,WAAW,EAAE,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,CAAC;CACjG;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,sBAAsB,CAAC,2CAiBtE;yBAjBe,YAAY"}
@@ -1,7 +1,6 @@
1
1
  import { FilterProps } from './types';
2
2
  export declare const TEXT_FILTER = "text";
3
- export type TextFilterValueType = string | string[];
4
- export declare function TextFilter(props: FilterProps<TextFilterValueType>): import("react/jsx-runtime").JSX.Element;
3
+ export declare function TextFilter(props: FilterProps): import("react/jsx-runtime").JSX.Element;
5
4
  export declare namespace TextFilter {
6
5
  var displayName: string;
7
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TextFilter.d.ts","sourceRoot":"","sources":["../../src/filter/TextFilter.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAOtC,eAAO,MAAM,WAAW,SAAS,CAAC;AAElC,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;AAEpD,wBAAgB,UAAU,CACxB,KAAK,EAAE,WAAW,CAAC,mBAAmB,CAAC,2CA2BxC;yBA5Be,UAAU"}
1
+ {"version":3,"file":"TextFilter.d.ts","sourceRoot":"","sources":["../../src/filter/TextFilter.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAOtC,eAAO,MAAM,WAAW,SAAS,CAAC;AAElC,wBAAgB,UAAU,CACxB,KAAK,EAAE,WAAW,2CA2BnB;yBA5Be,UAAU"}
@@ -9,6 +9,7 @@ import { FilterType } from './TypedFilter';
9
9
  export declare class FilterRegistry {
10
10
  private readonly filters;
11
11
  constructor();
12
+ get types(): Set<FilterType>;
12
13
  /**
13
14
  * Registers a filter component for a specific type.
14
15
  *
@@ -1 +1 @@
1
- {"version":3,"file":"filterRegistry.d.ts","sourceRoot":"","sources":["../../src/filter/filterRegistry.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAI3C;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGpB;;IAUJ;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe;IAIlD;;;;;;;;;;OAUG;IACH,UAAU,CAAC,IAAI,EAAE,UAAU;IAI3B;;;;;;;;;;OAUG;IACH,GAAG,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,GAAG,SAAS;CAGnD;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
1
+ {"version":3,"file":"filterRegistry.d.ts","sourceRoot":"","sources":["../../src/filter/filterRegistry.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAK3C;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGpB;;IAWJ,IAAI,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,CAE3B;IAED;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,eAAe;IAIlD;;;;;;;;;;OAUG;IACH,UAAU,CAAC,IAAI,EAAE,UAAU;IAI3B;;;;;;;;;;OAUG;IACH,GAAG,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,GAAG,SAAS;CAGnD;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
@@ -11,4 +11,5 @@ export * from './TextFilter';
11
11
  export * from './TypedFilter';
12
12
  export * from './types';
13
13
  export * from './useFilterState';
14
+ export * from './utils';
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/filter/index.ts"],"names":[],"mappings":"AAaA,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/filter/index.ts"],"names":[],"mappings":"AAaA,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { AttributesCapable, NamedCapable } from '@ahoo-wang/fetcher';
2
- import { ConditionCapable } from '@ahoo-wang/fetcher-wow';
2
+ import { ConditionCapable, ConditionOptions } from '@ahoo-wang/fetcher-wow';
3
3
  import { SelectProps } from 'antd/es/select';
4
4
  import { default as React, RefAttributes } from 'react';
5
5
  import { StyleCapable } from '../types';
@@ -22,19 +22,20 @@ export interface FilterOperatorProps extends Omit<SelectProps<SelectOperator>, '
22
22
  locale?: SelectOperatorLocale;
23
23
  supportedOperators?: SelectOperator[];
24
24
  }
25
- export interface FilterValueProps<ValueType = any> extends StyleCapable {
26
- defaultValue?: ValueType;
25
+ export interface FilterValueProps extends StyleCapable {
26
+ defaultValue?: any;
27
27
  placeholder?: string;
28
28
  [key: string]: any;
29
29
  }
30
30
  export interface FilterValue extends ConditionCapable {
31
31
  }
32
- export interface FilterProps<ValueType = any, ValuePropsType extends FilterValueProps = FilterValueProps<ValueType>> extends AttributesCapable, RefAttributes<FilterRef>, StyleCapable {
32
+ export interface FilterProps<ValuePropsType extends FilterValueProps = FilterValueProps> extends AttributesCapable, RefAttributes<FilterRef>, StyleCapable {
33
33
  field: FilterField;
34
34
  label?: FilterLabelProps;
35
35
  operator?: FilterOperatorProps;
36
36
  value?: ValuePropsType;
37
37
  onChange?: (value?: FilterValue) => void;
38
+ conditionOptions?: ConditionOptions;
38
39
  }
39
40
  export type FilterComponent = React.FC<FilterProps>;
40
41
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/filter/types.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,IAAI,WAAW,GAAG,SAAS,CAAC;IAEpC,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,gBAAiB,SAAQ,YAAY;CACrD;AAED,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IAC1G,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,gBAAgB,CAAC,SAAS,GAAG,GAAG,CAAE,SAAQ,YAAY;IACrE,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,WAAY,SAAQ,gBAAgB;CACpD;AAED,MAAM,WAAW,WAAW,CAAC,SAAS,GAAG,GAAG,EAAE,cAAc,SAAS,gBAAgB,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAE,SAAQ,iBAAiB,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,YAAY;IACpL,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,KAAK,IAAI,CAAC;CAC1C;AAED,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/filter/types.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,YAAY;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,IAAI,WAAW,GAAG,SAAS,CAAC;IAEpC,KAAK,IAAI,IAAI,CAAC;CACf;AAED,MAAM,WAAW,gBAAiB,SAAQ,YAAY;CACrD;AAED,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IAC1G,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAC9B,kBAAkB,CAAC,EAAE,cAAc,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,WAAY,SAAQ,gBAAgB;CACpD;AAED,MAAM,WAAW,WAAW,CAAC,cAAc,SAAS,gBAAgB,GAAG,gBAAgB,CAAE,SAAQ,iBAAiB,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,YAAY;IACxJ,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,KAAK,IAAI,CAAC;IACzC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,MAAM,MAAM,eAAe,GAAG,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC"}
@@ -1,26 +1,31 @@
1
- import { Operator } from '@ahoo-wang/fetcher-wow';
1
+ import { ConditionOptions, Operator } from '@ahoo-wang/fetcher-wow';
2
2
  import { RefAttributes } from 'react';
3
3
  import { FilterRef, FilterValue } from './types';
4
4
  import { Optional } from '../types';
5
5
  import { SelectOperator } from './operator';
6
- export type OnOperatorChangeValueConverter<ValueType = any> = (beforeOperator: SelectOperator, afterOperator: SelectOperator, value: Optional<ValueType>) => Optional<ValueType>;
7
- export type ValidateValue<ValueType = any> = (operator: Operator, value: Optional<ValueType>) => boolean;
6
+ export type OnOperatorChangeValueConverter = (beforeOperator: SelectOperator, afterOperator: SelectOperator, value: Optional) => Optional;
8
7
  export type OnChange = (condition: Optional<FilterValue>) => void;
8
+ export type ValidateValue = (operator: Operator, value: Optional) => boolean;
9
+ export type ConditionValueParser = (operator: Operator, value: Optional) => Optional;
10
+ export type FilterValueConverter = (filterValue: FilterValue) => Optional<FilterValue>;
9
11
  export declare const TrueValidateValue: ValidateValue;
10
- export interface UseFilterStateOptions<ValueType = any> extends RefAttributes<FilterRef> {
12
+ export interface UseFilterStateOptions extends RefAttributes<FilterRef> {
11
13
  field?: string;
12
14
  operator: SelectOperator;
13
- value: Optional<ValueType>;
14
- valueConverter?: OnOperatorChangeValueConverter;
15
- validate?: ValidateValue<ValueType>;
15
+ value: Optional;
16
+ conditionOptions?: ConditionOptions;
17
+ onOperatorChangeValueConverter?: OnOperatorChangeValueConverter;
18
+ validate?: ValidateValue;
19
+ conditionValueParser?: ConditionValueParser;
20
+ filterValueConverter?: FilterValueConverter;
16
21
  onChange?: OnChange;
17
22
  }
18
- export interface UseFilterStateReturn<ValueType = any> {
23
+ export interface UseFilterStateReturn {
19
24
  operator: SelectOperator;
20
- value: Optional<ValueType>;
25
+ value: Optional;
21
26
  setOperator: (operator: SelectOperator) => void;
22
- setValue: (value: Optional<ValueType>) => void;
27
+ setValue: (value: Optional) => void;
23
28
  reset: () => void;
24
29
  }
25
- export declare function useFilterState<ValueType = any>(options: UseFilterStateOptions<ValueType>): UseFilterStateReturn<ValueType>;
30
+ export declare function useFilterState(options: UseFilterStateOptions): UseFilterStateReturn;
26
31
  //# sourceMappingURL=useFilterState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFilterState.d.ts","sourceRoot":"","sources":["../../src/filter/useFilterState.ts"],"names":[],"mappings":"AAaA,OAAO,EAAa,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAiC,MAAM,OAAO,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAoB,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,MAAM,8BAA8B,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAA;AAChL,MAAM,MAAM,aAAa,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,OAAO,CAAC;AACzG,MAAM,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;AAElE,eAAO,MAAM,iBAAiB,EAAE,aAE/B,CAAC;AAEF,MAAM,WAAW,qBAAqB,CAAC,SAAS,GAAG,GAAG,CAAE,SAAQ,aAAa,CAAC,SAAS,CAAC;IACtF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC3B,cAAc,CAAC,EAAE,8BAA8B,CAAC;IAChD,QAAQ,CAAC,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB,CAAC,SAAS,GAAG,GAAG;IACnD,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC3B,WAAW,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IAChD,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAC/C,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAYD,wBAAgB,cAAc,CAAC,SAAS,GAAG,GAAG,EAAE,OAAO,EAAE,qBAAqB,CAAC,SAAS,CAAC,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAqD1H"}
1
+ {"version":3,"file":"useFilterState.d.ts","sourceRoot":"","sources":["../../src/filter/useFilterState.ts"],"names":[],"mappings":"AAaA,OAAO,EAAa,gBAAgB,EAAyB,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACtG,OAAO,EAAE,aAAa,EAAiC,MAAM,OAAO,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAoB,cAAc,EAAE,MAAM,YAAY,CAAC;AAG9D,MAAM,MAAM,8BAA8B,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,KAAK,QAAQ,CAAA;AACzI,MAAM,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC;AAC7E,MAAM,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,KAAK,QAAQ,CAAC;AACrF,MAAM,MAAM,oBAAoB,GAAG,CAAC,WAAW,EAAE,WAAW,KAAK,QAAQ,CAAC,WAAW,CAAC,CAAC;AACvF,eAAO,MAAM,iBAAiB,EAAE,aAE/B,CAAC;AAEF,MAAM,WAAW,qBAAsB,SAAQ,aAAa,CAAC,SAAS,CAAC;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,QAAQ,CAAC;IAChB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,8BAA8B,CAAC,EAAE,8BAA8B,CAAC;IAChE,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,QAAQ,CAAC;IAChB,WAAW,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IAChD,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AA6BD,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CA0DnF"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Validates if a value is a valid "between" value, which is an array containing exactly two valid values.
3
+ * This function is typically used in filtering contexts where a range is specified as [min, max].
4
+ *
5
+ * @param value - The value to validate. Should be an array of exactly two elements.
6
+ * @returns {boolean} Returns true if the value is an array of exactly two valid (non-null, non-undefined) values, otherwise false.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * isValidBetweenValue([1, 10]); // true - valid range
11
+ * isValidBetweenValue([null, 10]); // false - first value is invalid
12
+ * isValidBetweenValue([1]); // false - not exactly two elements
13
+ * isValidBetweenValue("not an array"); // false - not an array
14
+ * ```
15
+ */
16
+ export declare function isValidBetweenValue(value: any): boolean;
17
+ /**
18
+ * Checks if a value is valid by ensuring it is neither null nor undefined.
19
+ * This is a basic validation function used throughout the filtering system to determine
20
+ * if a value can be considered meaningful for operations.
21
+ *
22
+ * @param value - The value to check for validity. Can be of any type.
23
+ * @returns {boolean} Returns true if the value is not null and not undefined, otherwise false.
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * isValidValue(42); // true
28
+ * isValidValue("hello"); // true
29
+ * isValidValue(null); // false
30
+ * isValidValue(undefined); // false
31
+ * isValidValue(0); // true - zero is valid
32
+ * isValidValue(""); // true - empty string is valid
33
+ * ```
34
+ */
35
+ export declare function isValidValue(value: any): boolean;
36
+ /**
37
+ * Retrieves the current timezone of the user's environment.
38
+ * This function uses the Intl.DateTimeFormat API to determine the system's timezone setting.
39
+ *
40
+ * @returns {string} The timezone identifier as a string (e.g., "America/New_York", "Europe/London").
41
+ *
42
+ * @throws {Error} May throw if the Intl API is not available in the environment.
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * const tz = currentTimeZone();
47
+ * console.log(tz); // "America/New_York" (depending on system settings)
48
+ * ```
49
+ *
50
+ * @note This function relies on the browser's or Node.js environment's Intl support.
51
+ * In environments without Intl support, this may not work as expected.
52
+ */
53
+ export declare function currentTimeZone(): string;
54
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/filter/utils.ts"],"names":[],"mappings":"AAaA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAQvD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAEhD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC"}