@cloudscape-design/collection-hooks
Advanced tools
Comparing version 1.0.3 to 1.0.4
@@ -21,3 +21,3 @@ import * as React from 'react'; | ||
export declare type TrackBy<T> = string | ((item: T) => string); | ||
export interface UseCollectionOptions<T> { | ||
export interface UseCollectionOptions<T, P extends PropertyFilterProperty = PropertyFilterProperty> { | ||
filtering?: FilteringOptions<T> & { | ||
@@ -31,3 +31,3 @@ empty?: React.ReactNode; | ||
noMatch?: React.ReactNode; | ||
filteringProperties: readonly PropertyFilterProperty[]; | ||
filteringProperties: readonly P[]; | ||
filteringFunction?: (item: T, query: PropertyFilterQuery) => boolean; | ||
@@ -63,3 +63,3 @@ defaultQuery?: PropertyFilterQuery; | ||
} | ||
interface UseCollectionResultBase<T> { | ||
interface UseCollectionResultBase<T, P extends PropertyFilterProperty> { | ||
items: ReadonlyArray<T>; | ||
@@ -87,3 +87,3 @@ actions: CollectionActions<T>; | ||
onChange(event: CustomEvent<PropertyFilterQuery>): void; | ||
filteringProperties: readonly PropertyFilterProperty[]; | ||
filteringProperties: readonly P[]; | ||
filteringOptions: readonly PropertyFilterOption[]; | ||
@@ -99,5 +99,5 @@ }; | ||
} | ||
export interface UseCollectionResult<T> extends UseCollectionResultBase<T> { | ||
export interface UseCollectionResult<T, P extends PropertyFilterProperty = PropertyFilterProperty> extends UseCollectionResultBase<T, P> { | ||
filteredItemsCount: number | undefined; | ||
paginationProps: UseCollectionResultBase<T>['paginationProps'] & { | ||
paginationProps: UseCollectionResultBase<T, P>['paginationProps'] & { | ||
pagesCount: number; | ||
@@ -122,7 +122,4 @@ }; | ||
key: string; | ||
groupValuesLabel: string; | ||
propertyLabel: string; | ||
operators?: readonly PropertyFilterOperator[]; | ||
defaultOperator?: PropertyFilterOperator; | ||
group?: string; | ||
} | ||
@@ -129,0 +126,0 @@ export interface PropertyFilterOption { |
/// <reference types="react" /> | ||
import { UseCollectionOptions, CollectionState, CollectionActions, CollectionRef } from './interfaces'; | ||
export declare function useCollectionState<T>(options: UseCollectionOptions<T>, collectionRef: React.RefObject<CollectionRef>): readonly [CollectionState<T>, CollectionActions<T>]; | ||
import { UseCollectionOptions, CollectionState, CollectionActions, CollectionRef, PropertyFilterProperty } from './interfaces'; | ||
export declare function useCollectionState<T, P extends PropertyFilterProperty>(options: UseCollectionOptions<T, P>, collectionRef: React.RefObject<CollectionRef>): readonly [CollectionState<T>, CollectionActions<T>]; |
@@ -1,2 +0,2 @@ | ||
import { UseCollectionOptions, UseCollectionResult } from './interfaces'; | ||
export declare function useCollection<T>(allItems: ReadonlyArray<T>, options: UseCollectionOptions<T>): UseCollectionResult<T>; | ||
import { UseCollectionOptions, UseCollectionResult, PropertyFilterProperty } from './interfaces'; | ||
export declare function useCollection<T, P extends PropertyFilterProperty = PropertyFilterProperty>(allItems: ReadonlyArray<T>, options: UseCollectionOptions<T, P>): UseCollectionResult<T, P>; |
import { Dispatch, Reducer } from 'react'; | ||
import { CollectionActions, UseCollectionOptions, CollectionState, SortingState, UseCollectionResult, CollectionRef, PropertyFilterQuery } from './interfaces'; | ||
import { CollectionActions, UseCollectionOptions, CollectionState, SortingState, UseCollectionResult, CollectionRef, PropertyFilterQuery, PropertyFilterProperty } from './interfaces'; | ||
interface SelectionAction<T> { | ||
@@ -30,7 +30,7 @@ type: 'selection'; | ||
}): CollectionActions<T>; | ||
export declare function createSyncProps<T>(options: UseCollectionOptions<T>, { filteringText, sortingState, selectedItems, currentPageIndex, propertyFilteringQuery }: CollectionState<T>, actions: CollectionActions<T>, collectionRef: React.RefObject<CollectionRef>, { pagesCount, actualPageIndex, allItems, }: { | ||
export declare function createSyncProps<T, P extends PropertyFilterProperty>(options: UseCollectionOptions<T, P>, { filteringText, sortingState, selectedItems, currentPageIndex, propertyFilteringQuery }: CollectionState<T>, actions: CollectionActions<T>, collectionRef: React.RefObject<CollectionRef>, { pagesCount, actualPageIndex, allItems, }: { | ||
pagesCount?: number; | ||
actualPageIndex?: number; | ||
allItems: ReadonlyArray<T>; | ||
}): Pick<UseCollectionResult<T>, 'collectionProps' | 'filterProps' | 'paginationProps' | 'propertyFilterProps'>; | ||
}): Pick<UseCollectionResult<T, P>, 'collectionProps' | 'filterProps' | 'paginationProps' | 'propertyFilterProps'>; | ||
export {}; |
@@ -21,3 +21,3 @@ import * as React from 'react'; | ||
export declare type TrackBy<T> = string | ((item: T) => string); | ||
export interface UseCollectionOptions<T> { | ||
export interface UseCollectionOptions<T, P extends PropertyFilterProperty = PropertyFilterProperty> { | ||
filtering?: FilteringOptions<T> & { | ||
@@ -31,3 +31,3 @@ empty?: React.ReactNode; | ||
noMatch?: React.ReactNode; | ||
filteringProperties: readonly PropertyFilterProperty[]; | ||
filteringProperties: readonly P[]; | ||
filteringFunction?: (item: T, query: PropertyFilterQuery) => boolean; | ||
@@ -63,3 +63,3 @@ defaultQuery?: PropertyFilterQuery; | ||
} | ||
interface UseCollectionResultBase<T> { | ||
interface UseCollectionResultBase<T, P extends PropertyFilterProperty> { | ||
items: ReadonlyArray<T>; | ||
@@ -87,3 +87,3 @@ actions: CollectionActions<T>; | ||
onChange(event: CustomEvent<PropertyFilterQuery>): void; | ||
filteringProperties: readonly PropertyFilterProperty[]; | ||
filteringProperties: readonly P[]; | ||
filteringOptions: readonly PropertyFilterOption[]; | ||
@@ -99,5 +99,5 @@ }; | ||
} | ||
export interface UseCollectionResult<T> extends UseCollectionResultBase<T> { | ||
export interface UseCollectionResult<T, P extends PropertyFilterProperty = PropertyFilterProperty> extends UseCollectionResultBase<T, P> { | ||
filteredItemsCount: number | undefined; | ||
paginationProps: UseCollectionResultBase<T>['paginationProps'] & { | ||
paginationProps: UseCollectionResultBase<T, P>['paginationProps'] & { | ||
pagesCount: number; | ||
@@ -122,7 +122,4 @@ }; | ||
key: string; | ||
groupValuesLabel: string; | ||
propertyLabel: string; | ||
operators?: readonly PropertyFilterOperator[]; | ||
defaultOperator?: PropertyFilterOperator; | ||
group?: string; | ||
} | ||
@@ -129,0 +126,0 @@ export interface PropertyFilterOption { |
/// <reference types="react" /> | ||
import { UseCollectionOptions, CollectionState, CollectionActions, CollectionRef } from './interfaces'; | ||
export declare function useCollectionState<T>(options: UseCollectionOptions<T>, collectionRef: React.RefObject<CollectionRef>): readonly [CollectionState<T>, CollectionActions<T>]; | ||
import { UseCollectionOptions, CollectionState, CollectionActions, CollectionRef, PropertyFilterProperty } from './interfaces'; | ||
export declare function useCollectionState<T, P extends PropertyFilterProperty>(options: UseCollectionOptions<T, P>, collectionRef: React.RefObject<CollectionRef>): readonly [CollectionState<T>, CollectionActions<T>]; |
@@ -1,2 +0,2 @@ | ||
import { UseCollectionOptions, UseCollectionResult } from './interfaces'; | ||
export declare function useCollection<T>(allItems: ReadonlyArray<T>, options: UseCollectionOptions<T>): UseCollectionResult<T>; | ||
import { UseCollectionOptions, UseCollectionResult, PropertyFilterProperty } from './interfaces'; | ||
export declare function useCollection<T, P extends PropertyFilterProperty = PropertyFilterProperty>(allItems: ReadonlyArray<T>, options: UseCollectionOptions<T, P>): UseCollectionResult<T, P>; |
import { Dispatch, Reducer } from 'react'; | ||
import { CollectionActions, UseCollectionOptions, CollectionState, SortingState, UseCollectionResult, CollectionRef, PropertyFilterQuery } from './interfaces'; | ||
import { CollectionActions, UseCollectionOptions, CollectionState, SortingState, UseCollectionResult, CollectionRef, PropertyFilterQuery, PropertyFilterProperty } from './interfaces'; | ||
interface SelectionAction<T> { | ||
@@ -30,7 +30,7 @@ type: 'selection'; | ||
}): CollectionActions<T>; | ||
export declare function createSyncProps<T>(options: UseCollectionOptions<T>, { filteringText, sortingState, selectedItems, currentPageIndex, propertyFilteringQuery }: CollectionState<T>, actions: CollectionActions<T>, collectionRef: React.RefObject<CollectionRef>, { pagesCount, actualPageIndex, allItems, }: { | ||
export declare function createSyncProps<T, P extends PropertyFilterProperty>(options: UseCollectionOptions<T, P>, { filteringText, sortingState, selectedItems, currentPageIndex, propertyFilteringQuery }: CollectionState<T>, actions: CollectionActions<T>, collectionRef: React.RefObject<CollectionRef>, { pagesCount, actualPageIndex, allItems, }: { | ||
pagesCount?: number; | ||
actualPageIndex?: number; | ||
allItems: ReadonlyArray<T>; | ||
}): Pick<UseCollectionResult<T>, 'collectionProps' | 'filterProps' | 'paginationProps' | 'propertyFilterProps'>; | ||
}): Pick<UseCollectionResult<T, P>, 'collectionProps' | 'filterProps' | 'paginationProps' | 'propertyFilterProps'>; | ||
export {}; |
@@ -6,2 +6,3 @@ { | ||
"bundleDependencies": false, | ||
"commit": "ad5bd07", | ||
"deprecated": false, | ||
@@ -58,4 +59,4 @@ "description": "This package contains the source code of the React collection hooks for the [Cloudscape Design System](https://cloudscape.design/).", | ||
"type": "module", | ||
"version": "1.0.3", | ||
"version": "1.0.4", | ||
"license": "Apache-2.0" | ||
} |
70117
1234