@mittwald/flow-react-components 0.2.0-alpha.565 → 0.2.0-alpha.567
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.
- package/CHANGELOG.md +10 -0
- package/dist/assets/doc-properties.json +22912 -22854
- package/dist/js/components/src/components/List/List.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Header/components/ActiveFilters/ActiveFilters.mjs +1 -0
- package/dist/js/components/src/components/List/components/Header/components/ActiveFilters/ActiveFilters.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Header/components/Filters/CombinedFilterMenu.mjs +2 -0
- package/dist/js/components/src/components/List/components/Header/components/Filters/CombinedFilterMenu.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Header/components/Filters/FilterMenuList.mjs +2 -0
- package/dist/js/components/src/components/List/components/Header/components/Filters/FilterMenuList.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Header/components/Settings/SortingMenuItem.mjs +2 -0
- package/dist/js/components/src/components/List/components/Header/components/Settings/SortingMenuItem.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Header/components/Settings/ViewModeMenu.mjs +2 -0
- package/dist/js/components/src/components/List/components/Header/components/Settings/ViewModeMenu.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Header/components/Settings/ViewModeMenuItem.mjs +2 -0
- package/dist/js/components/src/components/List/components/Header/components/Settings/ViewModeMenuItem.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Header/lib.mjs +2 -0
- package/dist/js/components/src/components/List/components/Header/lib.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Items/Items.mjs +2 -0
- package/dist/js/components/src/components/List/components/Items/Items.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Items/components/Item/hooks/useGridItemProps.mjs +2 -0
- package/dist/js/components/src/components/List/components/Items/components/Item/hooks/useGridItemProps.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/ListItemView/ListItemView.mjs +2 -0
- package/dist/js/components/src/components/List/components/ListItemView/ListItemView.mjs.map +1 -1
- package/dist/js/components/src/components/List/components/Table/Table.mjs +2 -0
- package/dist/js/components/src/components/List/components/Table/Table.mjs.map +1 -1
- package/dist/js/components/src/components/List/hooks/useAriaAnnounceSearchState.mjs +1 -0
- package/dist/js/components/src/components/List/hooks/useAriaAnnounceSearchState.mjs.map +1 -1
- package/dist/js/components/src/components/List/hooks/useListMetadata.mjs +16 -0
- package/dist/js/components/src/components/List/hooks/useListMetadata.mjs.map +1 -0
- package/dist/js/components/src/components/List/model/List.mjs +1 -0
- package/dist/js/components/src/components/List/model/List.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/ReactTable.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/loading/IncrementalLoader.mjs +2 -1
- package/dist/js/components/src/components/List/model/loading/IncrementalLoader.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/loading/IncrementalLoaderState.mjs +7 -1
- package/dist/js/components/src/components/List/model/loading/IncrementalLoaderState.mjs.map +1 -1
- package/dist/js/components/src/components/List/model/types.mjs.map +1 -1
- package/dist/js/components/src/components/List/typedList.mjs +3 -1
- package/dist/js/components/src/components/List/typedList.mjs.map +1 -1
- package/dist/js/default.mjs +1 -0
- package/dist/js/default.mjs.map +1 -1
- package/dist/js/flr-universal.mjs +1 -1
- package/dist/types/components/List/List.d.ts +2 -2
- package/dist/types/components/List/List.d.ts.map +1 -1
- package/dist/types/components/List/hooks/useListMetadata.d.ts +2 -0
- package/dist/types/components/List/hooks/useListMetadata.d.ts.map +1 -0
- package/dist/types/components/List/index.d.ts +1 -0
- package/dist/types/components/List/index.d.ts.map +1 -1
- package/dist/types/components/List/model/List.d.ts +4 -3
- package/dist/types/components/List/model/List.d.ts.map +1 -1
- package/dist/types/components/List/model/ReactTable.d.ts +3 -3
- package/dist/types/components/List/model/ReactTable.d.ts.map +1 -1
- package/dist/types/components/List/model/loading/IncrementalLoader.d.ts.map +1 -1
- package/dist/types/components/List/model/loading/IncrementalLoaderState.d.ts +2 -0
- package/dist/types/components/List/model/loading/IncrementalLoaderState.d.ts.map +1 -1
- package/dist/types/components/List/model/loading/types.d.ts +1 -0
- package/dist/types/components/List/model/loading/types.d.ts.map +1 -1
- package/dist/types/components/List/model/types.d.ts +3 -3
- package/dist/types/components/List/model/types.d.ts.map +1 -1
- package/dist/types/components/List/typedList.d.ts +4 -3
- package/dist/types/components/List/typedList.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IncrementalLoader.mjs","sources":["../../../../../../../../src/components/List/model/loading/IncrementalLoader.ts"],"sourcesContent":["import type List from \"@/components/List/model/List\";\nimport type {\n DataLoaderOptions,\n DataLoaderResult,\n DataSource,\n IncrementalLoaderShape,\n LoaderInvocationHook,\n} from \"@/components/List/model/loading/types\";\nimport type { AsyncResource } from \"@mittwald/react-use-promise\";\nimport { getAsyncResource, usePromise } from \"@mittwald/react-use-promise\";\nimport { useEffect } from \"react\";\nimport { times } from \"remeda\";\nimport { IncrementalLoaderState } from \"@/components/List/model/loading/IncrementalLoaderState\";\nimport { hash } from \"object-code\";\nimport type { PropertyName } from \"@/components/List/model/types\";\nimport { useMemo } from \"react\";\n\nconst emptyData: never[] = [];\n\nexport class IncrementalLoader<T> {\n private readonly list: List<T>;\n private readonly dataSource: DataSource<T>;\n public readonly manualSorting: boolean;\n public readonly manualFiltering: boolean;\n public readonly manualPagination: boolean;\n public readonly loaderState: IncrementalLoaderState<T>;\n public readonly staticDataProperties: PropertyName<T>[] = [];\n\n private constructor(list: List<T>, shape: IncrementalLoaderShape<T> = {}) {\n const { source } = shape;\n\n this.dataSource = source ?? { staticData: emptyData };\n\n const manualPagination =\n \"manualPagination\" in this.dataSource\n ? this.dataSource.manualPagination\n : undefined;\n\n const manualFiltering =\n \"manualFiltering\" in this.dataSource\n ? this.dataSource.manualFiltering\n : undefined;\n\n const manualSorting =\n \"manualSorting\" in this.dataSource\n ? this.dataSource.manualSorting\n : undefined;\n\n this.list = list;\n this.loaderState = IncrementalLoaderState.useNew<T>(list);\n\n this.manualPagination = manualPagination ?? false;\n this.manualFiltering = manualFiltering ?? this.manualPagination;\n this.manualSorting = manualSorting ?? this.manualPagination;\n this.list.filters.forEach((f) => f.onFilterUpdated(() => this.reset()));\n this.list.search?.onUpdated(() => this.reset());\n\n this.initStaticDataProperties();\n }\n\n public static useNew<T>(\n list: List<T>,\n shape: IncrementalLoaderShape<T> = {},\n ): IncrementalLoader<T> {\n return new IncrementalLoader(list, shape);\n }\n\n private initStaticDataProperties() {\n const addPropertiesOfDataEntry = (data: unknown) => {\n if (typeof data !== \"object\" || data === null) {\n return;\n }\n\n (Object.keys(data) as PropertyName<T>[])\n .filter((p) => !this.staticDataProperties.includes(p))\n .forEach((p) => {\n this.staticDataProperties.push(p);\n });\n };\n\n if (\"staticData\" in this.dataSource) {\n this.dataSource.staticData\n // collect properties from just the first 100 items\n .slice(0, 100)\n .forEach(addPropertiesOfDataEntry);\n }\n }\n\n private reset(): void {\n this.loaderState.reset();\n }\n\n public useIsLoading(): boolean {\n return this.loaderState.useIsLoading();\n }\n\n public useIsInitiallyLoading(): boolean {\n return this.useIsLoading() && this.list.batches.getBatchIndex() === 0;\n }\n\n public useData(): T[] {\n return this.loaderState.useMergedData();\n }\n\n private getUseData(): (options: DataLoaderOptions<T>) => DataLoaderResult<T> {\n const dataSource = this.dataSource;\n\n return (options: DataLoaderOptions<T>) => {\n if (\"staticData\" in dataSource) {\n return useMemo(\n () => ({\n data: dataSource.staticData,\n itemTotalCount: dataSource.staticData.length,\n }),\n [dataSource.staticData],\n );\n }\n\n if (\"useData\" in dataSource) {\n return dataSource.useData(options);\n }\n\n if (\"asyncLoader\" in dataSource) {\n const asyncLoader = dataSource.asyncLoader;\n const dependencies = dataSource.dependencies;\n const loaderId = dependencies\n ? hash(dependencies).toString()\n : undefined;\n\n return usePromise(asyncLoader, [options], {\n loaderId,\n });\n }\n\n if (\"asyncResourceFactory\" in dataSource) {\n return dataSource.asyncResourceFactory(options).use();\n }\n\n return useMemo(\n () => ({\n data: [],\n itemTotalCount: 0,\n }),\n [],\n );\n };\n }\n\n public getLoaderInvocationHooks(): LoaderInvocationHook[] {\n const batchesCount = times(this.list.batches.getBatchIndex() + 1, (i) => i);\n const useData = this.getUseData();\n\n return batchesCount.map((batchIndex) => ({\n useLoadBatch: () => {\n const loaderOptions = this.getDataLoaderOptions(batchIndex);\n const loaderResult = useData(loaderOptions);\n const { data, itemTotalCount } = loaderResult;\n\n useEffect(() => {\n this.loaderState.setDataBatch(batchIndex, data);\n\n if (itemTotalCount !== undefined) {\n this.list.batches.updateItemTotalCount(itemTotalCount);\n }\n\n this.loaderState.setBatchLoadingState(batchIndex, \"loaded\");\n }, [loaderResult]);\n },\n\n useRenderSuspense: () => {\n useEffect(() => {\n this.loaderState.setBatchLoadingState(batchIndex, \"loading\");\n }, [batchIndex]);\n },\n }));\n }\n\n private getDataLoaderOptions(batchIndex: number): DataLoaderOptions<T> {\n return {\n pagination: this.manualPagination\n ? {\n limit: this.list.batches.batchSize,\n offset: this.list.batches.batchSize * batchIndex,\n }\n : undefined,\n\n sorting: this.manualSorting\n ? (Object.fromEntries(\n this.list.sorting\n .filter((s) => s.isSorted())\n .map((s) => [s.property, s.direction]),\n ) as DataLoaderOptions<T>[\"sorting\"])\n : undefined,\n\n filtering: this.manualFiltering\n ? (Object.fromEntries(\n this.list.filters\n .filter((f) => f.getValue() !== null)\n .map((f) => [\n f.property,\n {\n mode: f.mode,\n values: f.getArrayValue().map((v) => v.value),\n },\n ]),\n ) as DataLoaderOptions<T>[\"filtering\"])\n : undefined,\n\n searchString: this.manualFiltering\n ? this.list.reactTable.searchString\n : undefined,\n };\n }\n\n private getBatchDataAsyncResource(\n batchIndex: number,\n ): AsyncResource<DataLoaderResult<T>> {\n const dataSource = this.dataSource;\n const loaderOptions = this.getDataLoaderOptions(batchIndex);\n\n if (\"staticData\" in dataSource) {\n return getAsyncResource(\n async (staticData) => ({\n data: staticData as T[],\n itemTotalCount: staticData.length,\n }),\n [dataSource.staticData],\n );\n }\n\n if (\"asyncLoader\" in dataSource) {\n const asyncLoader = dataSource.asyncLoader;\n const dependencies = dataSource.dependencies;\n const loaderId = dependencies ? hash(dependencies).toString() : undefined;\n return getAsyncResource(asyncLoader, [loaderOptions], {\n loaderId,\n });\n }\n\n if (\"asyncResourceFactory\" in dataSource) {\n const asyncResourceFactory = dataSource.asyncResourceFactory;\n return asyncResourceFactory(loaderOptions);\n }\n\n throw new Error(\"Unknown data source\");\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IncrementalLoader.mjs","sources":["../../../../../../../../src/components/List/model/loading/IncrementalLoader.ts"],"sourcesContent":["import type List from \"@/components/List/model/List\";\nimport type {\n DataLoaderOptions,\n DataLoaderResult,\n DataSource,\n IncrementalLoaderShape,\n LoaderInvocationHook,\n} from \"@/components/List/model/loading/types\";\nimport type { AsyncResource } from \"@mittwald/react-use-promise\";\nimport { getAsyncResource, usePromise } from \"@mittwald/react-use-promise\";\nimport { useEffect } from \"react\";\nimport { times } from \"remeda\";\nimport { IncrementalLoaderState } from \"@/components/List/model/loading/IncrementalLoaderState\";\nimport { hash } from \"object-code\";\nimport type { PropertyName } from \"@/components/List/model/types\";\nimport { useMemo } from \"react\";\n\nconst emptyData: never[] = [];\n\nexport class IncrementalLoader<T> {\n private readonly list: List<T>;\n private readonly dataSource: DataSource<T>;\n public readonly manualSorting: boolean;\n public readonly manualFiltering: boolean;\n public readonly manualPagination: boolean;\n public readonly loaderState: IncrementalLoaderState<T>;\n public readonly staticDataProperties: PropertyName<T>[] = [];\n\n private constructor(list: List<T>, shape: IncrementalLoaderShape<T> = {}) {\n const { source } = shape;\n\n this.dataSource = source ?? { staticData: emptyData };\n\n const manualPagination =\n \"manualPagination\" in this.dataSource\n ? this.dataSource.manualPagination\n : undefined;\n\n const manualFiltering =\n \"manualFiltering\" in this.dataSource\n ? this.dataSource.manualFiltering\n : undefined;\n\n const manualSorting =\n \"manualSorting\" in this.dataSource\n ? this.dataSource.manualSorting\n : undefined;\n\n this.list = list;\n this.loaderState = IncrementalLoaderState.useNew<T>(list);\n\n this.manualPagination = manualPagination ?? false;\n this.manualFiltering = manualFiltering ?? this.manualPagination;\n this.manualSorting = manualSorting ?? this.manualPagination;\n this.list.filters.forEach((f) => f.onFilterUpdated(() => this.reset()));\n this.list.search?.onUpdated(() => this.reset());\n\n this.initStaticDataProperties();\n }\n\n public static useNew<T>(\n list: List<T>,\n shape: IncrementalLoaderShape<T> = {},\n ): IncrementalLoader<T> {\n return new IncrementalLoader(list, shape);\n }\n\n private initStaticDataProperties() {\n const addPropertiesOfDataEntry = (data: unknown) => {\n if (typeof data !== \"object\" || data === null) {\n return;\n }\n\n (Object.keys(data) as PropertyName<T>[])\n .filter((p) => !this.staticDataProperties.includes(p))\n .forEach((p) => {\n this.staticDataProperties.push(p);\n });\n };\n\n if (\"staticData\" in this.dataSource) {\n this.dataSource.staticData\n // collect properties from just the first 100 items\n .slice(0, 100)\n .forEach(addPropertiesOfDataEntry);\n }\n }\n\n private reset(): void {\n this.loaderState.reset();\n }\n\n public useIsLoading(): boolean {\n return this.loaderState.useIsLoading();\n }\n\n public useIsInitiallyLoading(): boolean {\n return this.useIsLoading() && this.list.batches.getBatchIndex() === 0;\n }\n\n public useData(): T[] {\n return this.loaderState.useMergedData();\n }\n\n private getUseData(): (options: DataLoaderOptions<T>) => DataLoaderResult<T> {\n const dataSource = this.dataSource;\n\n return (options: DataLoaderOptions<T>) => {\n if (\"staticData\" in dataSource) {\n return useMemo(\n () => ({\n data: dataSource.staticData,\n itemTotalCount: dataSource.staticData.length,\n }),\n [dataSource.staticData],\n );\n }\n\n if (\"useData\" in dataSource) {\n return dataSource.useData(options);\n }\n\n if (\"asyncLoader\" in dataSource) {\n const asyncLoader = dataSource.asyncLoader;\n const dependencies = dataSource.dependencies;\n const loaderId = dependencies\n ? hash(dependencies).toString()\n : undefined;\n\n return usePromise(asyncLoader, [options], {\n loaderId,\n });\n }\n\n if (\"asyncResourceFactory\" in dataSource) {\n return dataSource.asyncResourceFactory(options).use();\n }\n\n return useMemo(\n () => ({\n data: [],\n itemTotalCount: 0,\n }),\n [],\n );\n };\n }\n\n public getLoaderInvocationHooks(): LoaderInvocationHook[] {\n const batchesCount = times(this.list.batches.getBatchIndex() + 1, (i) => i);\n const useData = this.getUseData();\n\n return batchesCount.map((batchIndex) => ({\n useLoadBatch: () => {\n const loaderOptions = this.getDataLoaderOptions(batchIndex);\n const loaderResult = useData(loaderOptions);\n const { data, itemTotalCount, metadata } = loaderResult;\n\n useEffect(() => {\n this.loaderState.setDataBatch(batchIndex, data);\n\n if (itemTotalCount !== undefined) {\n this.list.batches.updateItemTotalCount(itemTotalCount);\n }\n\n this.loaderState.setMetadata(metadata);\n\n this.loaderState.setBatchLoadingState(batchIndex, \"loaded\");\n }, [loaderResult]);\n },\n\n useRenderSuspense: () => {\n useEffect(() => {\n this.loaderState.setBatchLoadingState(batchIndex, \"loading\");\n }, [batchIndex]);\n },\n }));\n }\n\n private getDataLoaderOptions(batchIndex: number): DataLoaderOptions<T> {\n return {\n pagination: this.manualPagination\n ? {\n limit: this.list.batches.batchSize,\n offset: this.list.batches.batchSize * batchIndex,\n }\n : undefined,\n\n sorting: this.manualSorting\n ? (Object.fromEntries(\n this.list.sorting\n .filter((s) => s.isSorted())\n .map((s) => [s.property, s.direction]),\n ) as DataLoaderOptions<T>[\"sorting\"])\n : undefined,\n\n filtering: this.manualFiltering\n ? (Object.fromEntries(\n this.list.filters\n .filter((f) => f.getValue() !== null)\n .map((f) => [\n f.property,\n {\n mode: f.mode,\n values: f.getArrayValue().map((v) => v.value),\n },\n ]),\n ) as DataLoaderOptions<T>[\"filtering\"])\n : undefined,\n\n searchString: this.manualFiltering\n ? this.list.reactTable.searchString\n : undefined,\n };\n }\n\n private getBatchDataAsyncResource(\n batchIndex: number,\n ): AsyncResource<DataLoaderResult<T>> {\n const dataSource = this.dataSource;\n const loaderOptions = this.getDataLoaderOptions(batchIndex);\n\n if (\"staticData\" in dataSource) {\n return getAsyncResource(\n async (staticData) => ({\n data: staticData as T[],\n itemTotalCount: staticData.length,\n }),\n [dataSource.staticData],\n );\n }\n\n if (\"asyncLoader\" in dataSource) {\n const asyncLoader = dataSource.asyncLoader;\n const dependencies = dataSource.dependencies;\n const loaderId = dependencies ? hash(dependencies).toString() : undefined;\n return getAsyncResource(asyncLoader, [loaderOptions], {\n loaderId,\n });\n }\n\n if (\"asyncResourceFactory\" in dataSource) {\n const asyncResourceFactory = dataSource.asyncResourceFactory;\n return asyncResourceFactory(loaderOptions);\n }\n\n throw new Error(\"Unknown data source\");\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ class IncrementalLoaderState {
|
|
|
9
9
|
dataBatches = [];
|
|
10
10
|
prevDataBatches = [];
|
|
11
11
|
batchLoadingStates = ["void"];
|
|
12
|
+
metadata = void 0;
|
|
12
13
|
list;
|
|
13
14
|
constructor(list) {
|
|
14
15
|
this.list = list;
|
|
@@ -18,11 +19,13 @@ class IncrementalLoaderState {
|
|
|
18
19
|
useIsLoading: false,
|
|
19
20
|
dataBatches: observable.shallow,
|
|
20
21
|
batchLoadingStates: observable.shallow,
|
|
22
|
+
metadata: observable,
|
|
21
23
|
mergedData: computed,
|
|
22
24
|
isLoading: computed,
|
|
23
25
|
reset: action.bound,
|
|
24
26
|
setDataBatch: action.bound,
|
|
25
|
-
setBatchLoadingState: action.bound
|
|
27
|
+
setBatchLoadingState: action.bound,
|
|
28
|
+
setMetadata: action.bound
|
|
26
29
|
});
|
|
27
30
|
}
|
|
28
31
|
static useNew(list) {
|
|
@@ -46,6 +49,9 @@ class IncrementalLoaderState {
|
|
|
46
49
|
this.batchLoadingStates[index] = state;
|
|
47
50
|
}
|
|
48
51
|
}
|
|
52
|
+
setMetadata(metadata) {
|
|
53
|
+
this.metadata = metadata;
|
|
54
|
+
}
|
|
49
55
|
get mergedData() {
|
|
50
56
|
const dataBatches = this.dataBatches.length === 0 ? this.prevDataBatches : this.dataBatches;
|
|
51
57
|
const merged = dataBatches.flatMap((d) => d);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IncrementalLoaderState.mjs","sources":["../../../../../../../../src/components/List/model/loading/IncrementalLoaderState.ts"],"sourcesContent":["import type { ListData } from \"@/components/List/model/loading/types\";\nimport useSelector from \"@/lib/mobx/useSelector\";\nimport type { AsyncResource } from \"@mittwald/react-use-promise\";\nimport { action, computed, makeObservable, observable } from \"mobx\";\nimport { useStatic } from \"@/lib/hooks/useStatic\";\nimport type List from \"@/components/List/model/List\";\nimport { uniqueBy } from \"remeda\";\n\ntype AsyncResourceLoadingState = AsyncResource[\"state\"][\"value\"];\ntype DataBatches<T> = ListData<T>[];\ntype BatchesLoadingState = AsyncResourceLoadingState[];\n\nexport class IncrementalLoaderState<T> {\n public dataBatches: DataBatches<T> = [];\n public prevDataBatches: DataBatches<T> = [];\n public batchLoadingStates: BatchesLoadingState = [\"void\"];\n public readonly list: List<T>;\n\n private constructor(list: List<T>) {\n this.list = list;\n makeObservable(this, {\n prevDataBatches: false,\n useMergedData: false,\n useIsLoading: false,\n dataBatches: observable.shallow,\n batchLoadingStates: observable.shallow,\n mergedData: computed,\n isLoading: computed,\n reset: action.bound,\n setDataBatch: action.bound,\n setBatchLoadingState: action.bound,\n });\n }\n\n public static useNew<T>(list: List<T>): IncrementalLoaderState<T> {\n return useStatic(() => new IncrementalLoaderState<T>(list));\n }\n\n public reset(): void {\n this.batchLoadingStates = [];\n this.dataBatches = [];\n }\n\n public setDataBatch(index: number, data: ListData<T>): void {\n if (this.dataBatches.length === 0) {\n this.prevDataBatches = [];\n }\n\n if (this.dataBatches[index] !== data) {\n this.dataBatches[index] = data;\n this.prevDataBatches[index] = data;\n }\n }\n\n public setBatchLoadingState(\n index: number,\n state: AsyncResourceLoadingState,\n ): void {\n if (this.batchLoadingStates[index] !== state) {\n this.batchLoadingStates[index] = state;\n }\n }\n\n public get mergedData(): T[] {\n const dataBatches =\n this.dataBatches.length === 0 ? this.prevDataBatches : this.dataBatches;\n\n const merged = dataBatches.flatMap((d) => d);\n if (this.list.getItemId) {\n return uniqueBy(merged, this.list.getItemId);\n } else {\n return merged;\n }\n }\n\n public useMergedData(): T[] {\n return useSelector(() => this.mergedData, [this.prevDataBatches]);\n }\n\n public get isLoading(): boolean {\n return this.batchLoadingStates.some((s) => s === \"loading\" || s === \"void\");\n }\n\n public useIsLoading(): boolean {\n return useSelector(() => this.isLoading);\n }\n\n public isBatchLoaded(batchIndex: number) {\n return batchIndex in this.dataBatches;\n }\n}\n"],"names":[],"mappings":";;;;;AAYO,MAAM,sBAAA,CAA0B;AAAA,EAC9B,cAA8B,EAAC;AAAA,EAC/B,kBAAkC,EAAC;AAAA,EACnC,kBAAA,GAA0C,CAAC,MAAM,CAAA;AAAA,
|
|
1
|
+
{"version":3,"file":"IncrementalLoaderState.mjs","sources":["../../../../../../../../src/components/List/model/loading/IncrementalLoaderState.ts"],"sourcesContent":["import type { ListData } from \"@/components/List/model/loading/types\";\nimport useSelector from \"@/lib/mobx/useSelector\";\nimport type { AsyncResource } from \"@mittwald/react-use-promise\";\nimport { action, computed, makeObservable, observable } from \"mobx\";\nimport { useStatic } from \"@/lib/hooks/useStatic\";\nimport type List from \"@/components/List/model/List\";\nimport { uniqueBy } from \"remeda\";\n\ntype AsyncResourceLoadingState = AsyncResource[\"state\"][\"value\"];\ntype DataBatches<T> = ListData<T>[];\ntype BatchesLoadingState = AsyncResourceLoadingState[];\n\nexport class IncrementalLoaderState<T> {\n public dataBatches: DataBatches<T> = [];\n public prevDataBatches: DataBatches<T> = [];\n public batchLoadingStates: BatchesLoadingState = [\"void\"];\n public metadata?: unknown = undefined;\n public readonly list: List<T>;\n\n private constructor(list: List<T>) {\n this.list = list;\n makeObservable(this, {\n prevDataBatches: false,\n useMergedData: false,\n useIsLoading: false,\n dataBatches: observable.shallow,\n batchLoadingStates: observable.shallow,\n metadata: observable,\n mergedData: computed,\n isLoading: computed,\n reset: action.bound,\n setDataBatch: action.bound,\n setBatchLoadingState: action.bound,\n setMetadata: action.bound,\n });\n }\n\n public static useNew<T>(list: List<T>): IncrementalLoaderState<T> {\n return useStatic(() => new IncrementalLoaderState<T>(list));\n }\n\n public reset(): void {\n this.batchLoadingStates = [];\n this.dataBatches = [];\n }\n\n public setDataBatch(index: number, data: ListData<T>): void {\n if (this.dataBatches.length === 0) {\n this.prevDataBatches = [];\n }\n\n if (this.dataBatches[index] !== data) {\n this.dataBatches[index] = data;\n this.prevDataBatches[index] = data;\n }\n }\n\n public setBatchLoadingState(\n index: number,\n state: AsyncResourceLoadingState,\n ): void {\n if (this.batchLoadingStates[index] !== state) {\n this.batchLoadingStates[index] = state;\n }\n }\n\n public setMetadata(metadata?: unknown): void {\n this.metadata = metadata;\n }\n\n public get mergedData(): T[] {\n const dataBatches =\n this.dataBatches.length === 0 ? this.prevDataBatches : this.dataBatches;\n\n const merged = dataBatches.flatMap((d) => d);\n if (this.list.getItemId) {\n return uniqueBy(merged, this.list.getItemId);\n } else {\n return merged;\n }\n }\n\n public useMergedData(): T[] {\n return useSelector(() => this.mergedData, [this.prevDataBatches]);\n }\n\n public get isLoading(): boolean {\n return this.batchLoadingStates.some((s) => s === \"loading\" || s === \"void\");\n }\n\n public useIsLoading(): boolean {\n return useSelector(() => this.isLoading);\n }\n\n public isBatchLoaded(batchIndex: number) {\n return batchIndex in this.dataBatches;\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.mjs","sources":["../../../../../../../src/components/List/model/types.ts"],"sourcesContent":["import type { FilterShape } from \"@/components/List/model/filter/types\";\nimport type { ItemViewShape } from \"@/components/List/model/item/ItemView\";\nimport type List from \"@/components/List/model/List\";\nimport type { IncrementalLoaderShape } from \"@/components/List/model/loading/types\";\nimport type { BatchesControllerShape } from \"@/components/List/model/pagination/types\";\nimport type { SearchShape } from \"@/components/List/model/search/types\";\nimport type { SortingShape } from \"@/components/List/model/sorting/types\";\nimport type { TableShape } from \"@/components/List/model/table/types\";\nimport type { ItemType } from \"@/lib/types/array\";\nimport type { MultipleSelection, SelectionBehavior } from \"@react-types/shared\";\nimport type { DeepKeys, DeepValue } from \"@tanstack/react-table\";\nimport type { ReactNode } from \"react\";\n\nexport const customPropertyPrefix = \"$\" as const;\nexport type CustomPropertyName = `${typeof customPropertyPrefix}${string}`;\n\nexport type PropertyName<T> = DeepKeys<T> | CustomPropertyName;\nexport type PropertyValue<T, TProp> = TProp extends CustomPropertyName\n ? T\n : DeepValue<T, TProp>;\nexport type PropertyValueRenderMethod<TMatcherValue> = (\n prop: NonNullable<ItemType<TMatcherValue>>,\n) => ReactNode;\n\nexport type OnListChanged<T> = (list: List<T>) => void;\n\nexport interface ListSupportedComponentProps extends MultipleSelection {\n \"aria-labelledby\"?: string;\n \"aria-label\"?: string;\n selectionBehavior?: SelectionBehavior;\n}\n\nexport interface ListShape<T
|
|
1
|
+
{"version":3,"file":"types.mjs","sources":["../../../../../../../src/components/List/model/types.ts"],"sourcesContent":["import type { FilterShape } from \"@/components/List/model/filter/types\";\nimport type { ItemViewShape } from \"@/components/List/model/item/ItemView\";\nimport type List from \"@/components/List/model/List\";\nimport type { IncrementalLoaderShape } from \"@/components/List/model/loading/types\";\nimport type { BatchesControllerShape } from \"@/components/List/model/pagination/types\";\nimport type { SearchShape } from \"@/components/List/model/search/types\";\nimport type { SortingShape } from \"@/components/List/model/sorting/types\";\nimport type { TableShape } from \"@/components/List/model/table/types\";\nimport type { ItemType } from \"@/lib/types/array\";\nimport type { MultipleSelection, SelectionBehavior } from \"@react-types/shared\";\nimport type { DeepKeys, DeepValue } from \"@tanstack/react-table\";\nimport type { ReactNode } from \"react\";\n\nexport const customPropertyPrefix = \"$\" as const;\nexport type CustomPropertyName = `${typeof customPropertyPrefix}${string}`;\n\nexport type PropertyName<T> = DeepKeys<T> | CustomPropertyName;\nexport type PropertyValue<T, TProp> = TProp extends CustomPropertyName\n ? T\n : DeepValue<T, TProp>;\nexport type PropertyValueRenderMethod<TMatcherValue> = (\n prop: NonNullable<ItemType<TMatcherValue>>,\n) => ReactNode;\n\nexport type OnListChanged<T, TMeta = unknown> = (list: List<T, TMeta>) => void;\n\nexport interface ListSupportedComponentProps extends MultipleSelection {\n \"aria-labelledby\"?: string;\n \"aria-label\"?: string;\n selectionBehavior?: SelectionBehavior;\n}\n\nexport interface ListShape<T, TMeta = unknown>\n extends ListSupportedComponentProps {\n settingStorageKey?: string;\n\n loader?: IncrementalLoaderShape<T>;\n filters?: FilterShape<T, never, never>[];\n itemView?: ItemViewShape<T>;\n search?: SearchShape<T>;\n sorting?: SortingShape<T>[];\n batchesController?: BatchesControllerShape;\n table?: TableShape<T>;\n\n onAction?: ItemActionFn<T>;\n accordion?: boolean;\n getItemId?: GetItemId<T>;\n onChange?: OnListChanged<T, TMeta>;\n defaultViewMode?: ListViewMode;\n}\n\nexport type PropertyRecord<T, TValue> = Partial<\n Record<PropertyName<T>, TValue>\n>;\n\nexport type ListViewMode = \"table\" | \"list\" | \"tiles\";\nexport type ItemActionFn<T> = (data: T) => void;\nexport type GetItemId<T> = (data: T) => string;\n"],"names":[],"mappings":"AAaO,MAAM,oBAAA,GAAuB;;;;"}
|
|
@@ -16,6 +16,7 @@ import { TableRow } from './setupComponents/TableRow.mjs';
|
|
|
16
16
|
import { TableBody } from './setupComponents/TableBody.mjs';
|
|
17
17
|
import { Table } from './setupComponents/Table.mjs';
|
|
18
18
|
import { TypedListLoaderHooks } from './setupComponents/ListLoaderHooks.mjs';
|
|
19
|
+
import { useListMetadata } from './hooks/useListMetadata.mjs';
|
|
19
20
|
|
|
20
21
|
const TypedList = () => List;
|
|
21
22
|
const typedList = () => ({
|
|
@@ -34,7 +35,8 @@ const typedList = () => ({
|
|
|
34
35
|
StaticData: TypedListStaticData(),
|
|
35
36
|
LoaderAsync: TypedListLoaderAsync(),
|
|
36
37
|
LoaderHooks: TypedListLoaderHooks(),
|
|
37
|
-
LoaderAsyncResource: TypedListLoaderAsyncResource()
|
|
38
|
+
LoaderAsyncResource: TypedListLoaderAsyncResource(),
|
|
39
|
+
useMetadata: () => useListMetadata()
|
|
38
40
|
});
|
|
39
41
|
|
|
40
42
|
export { TypedList, typedList };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typedList.mjs","sources":["../../../../../../src/components/List/typedList.ts"],"sourcesContent":["import type { ListProps } from \"@/components/List/List\";\nimport List from \"@/components/List/List\";\nimport { TypedListFilter } from \"@/components/List/setupComponents/ListFilter\";\nimport { TypedListSorting } from \"@/components/List/setupComponents/ListSorting\";\nimport { TypedListItem } from \"@/components/List/setupComponents/ListItem\";\nimport { TypedListLoaderAsync } from \"@/components/List/setupComponents/ListLoaderAsync\";\nimport { TypedListLoaderAsyncResource } from \"@/components/List/setupComponents/ListLoaderAsyncResource\";\nimport { TypedListStaticData } from \"@/components/List/setupComponents/ListStaticData\";\nimport { TypedListSearch } from \"@/components/List/setupComponents/ListSearch\";\nimport { ListItemView } from \"@/components/List/components/ListItemView/ListItemView\";\nimport type { ComponentType } from \"react\";\nimport { TableColumn } from \"@/components/List/setupComponents/TableColumn\";\nimport { TableCell } from \"@/components/List/setupComponents/TableCell\";\nimport { TableHeader } from \"@/components/List/setupComponents/TableHeader\";\nimport { TableRow } from \"@/components/List/setupComponents/TableRow\";\nimport { TableBody } from \"@/components/List/setupComponents/TableBody\";\nimport { Table } from \"@/components/List/setupComponents/Table\";\nimport { TypedListLoaderHooks } from \"@/components/List/setupComponents/ListLoaderHooks\";\n\nexport const TypedList = <T>() =>\n List as unknown as ComponentType<ListProps<T>>;\n\nexport const typedList = <T>() => ({\n List: TypedList<T>(),\n Filter: TypedListFilter<T>(),\n Search: TypedListSearch<T>(),\n Sorting: TypedListSorting<T>(),\n Item: TypedListItem<T>(),\n ItemView: ListItemView,\n TableHeader: TableHeader<T>,\n TableColumn: TableColumn<T>,\n TableBody: TableBody<T>,\n TableRow: TableRow<T>,\n TableCell: TableCell<T>,\n Table: Table<T>,\n StaticData: TypedListStaticData<T>(),\n LoaderAsync: TypedListLoaderAsync<T>(),\n LoaderHooks: TypedListLoaderHooks<T>(),\n LoaderAsyncResource: TypedListLoaderAsyncResource<T>(),\n});\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"typedList.mjs","sources":["../../../../../../src/components/List/typedList.ts"],"sourcesContent":["import type { ListProps } from \"@/components/List/List\";\nimport List from \"@/components/List/List\";\nimport { TypedListFilter } from \"@/components/List/setupComponents/ListFilter\";\nimport { TypedListSorting } from \"@/components/List/setupComponents/ListSorting\";\nimport { TypedListItem } from \"@/components/List/setupComponents/ListItem\";\nimport { TypedListLoaderAsync } from \"@/components/List/setupComponents/ListLoaderAsync\";\nimport { TypedListLoaderAsyncResource } from \"@/components/List/setupComponents/ListLoaderAsyncResource\";\nimport { TypedListStaticData } from \"@/components/List/setupComponents/ListStaticData\";\nimport { TypedListSearch } from \"@/components/List/setupComponents/ListSearch\";\nimport { ListItemView } from \"@/components/List/components/ListItemView/ListItemView\";\nimport type { ComponentType } from \"react\";\nimport { TableColumn } from \"@/components/List/setupComponents/TableColumn\";\nimport { TableCell } from \"@/components/List/setupComponents/TableCell\";\nimport { TableHeader } from \"@/components/List/setupComponents/TableHeader\";\nimport { TableRow } from \"@/components/List/setupComponents/TableRow\";\nimport { TableBody } from \"@/components/List/setupComponents/TableBody\";\nimport { Table } from \"@/components/List/setupComponents/Table\";\nimport { TypedListLoaderHooks } from \"@/components/List/setupComponents/ListLoaderHooks\";\nimport { useListMetadata } from \"@/components/List/hooks/useListMetadata\";\n\nexport const TypedList = <T, TMeta = unknown>() =>\n List as unknown as ComponentType<ListProps<T, TMeta>>;\n\nexport const typedList = <T, TMeta = unknown>() => ({\n List: TypedList<T, TMeta>(),\n Filter: TypedListFilter<T>(),\n Search: TypedListSearch<T>(),\n Sorting: TypedListSorting<T>(),\n Item: TypedListItem<T>(),\n ItemView: ListItemView,\n TableHeader: TableHeader<T>,\n TableColumn: TableColumn<T>,\n TableBody: TableBody<T>,\n TableRow: TableRow<T>,\n TableCell: TableCell<T>,\n Table: Table<T>,\n StaticData: TypedListStaticData<T>(),\n LoaderAsync: TypedListLoaderAsync<T>(),\n LoaderHooks: TypedListLoaderHooks<T>(),\n LoaderAsyncResource: TypedListLoaderAsyncResource<T>(),\n useMetadata: () => useListMetadata<TMeta>(),\n});\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAoBO,MAAM,YAAY,MACvB;AAEK,MAAM,YAAY,OAA2B;AAAA,EAClD,MAAM,SAAA,EAAoB;AAAA,EAC1B,QAAQ,eAAA,EAAmB;AAAA,EAC3B,QAAQ,eAAA,EAAmB;AAAA,EAC3B,SAAS,gBAAA,EAAoB;AAAA,EAC7B,MAAM,aAAA,EAAiB;AAAA,EACvB,QAAA,EAAU,YAAA;AAAA,EACV,WAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,YAAY,mBAAA,EAAuB;AAAA,EACnC,aAAa,oBAAA,EAAwB;AAAA,EACrC,aAAa,oBAAA,EAAwB;AAAA,EACrC,qBAAqB,4BAAA,EAAgC;AAAA,EACrD,WAAA,EAAa,MAAM,eAAA;AACrB,CAAA;;;;"}
|
package/dist/js/default.mjs
CHANGED
|
@@ -199,6 +199,7 @@ export { ListItemViewContent } from './components/src/components/List/components
|
|
|
199
199
|
export { ListSummary } from './components/src/components/List/components/ListSummary/ListSummary.mjs';
|
|
200
200
|
export { EmptyView } from './components/src/components/List/views/EmptyView/EmptyView.mjs';
|
|
201
201
|
export { useList } from './components/src/components/List/hooks/useList.mjs';
|
|
202
|
+
export { useListMetadata } from './components/src/components/List/hooks/useListMetadata.mjs';
|
|
202
203
|
export { List } from './components/src/components/List/List.mjs';
|
|
203
204
|
export { TypedList, typedList } from './components/src/components/List/typedList.mjs';
|
|
204
205
|
export { ListFilter, TypedListFilter } from './components/src/components/List/setupComponents/ListFilter.mjs';
|
package/dist/js/default.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"default.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -180,6 +180,7 @@ import 'invariant';
|
|
|
180
180
|
export { ListItemView } from './components/src/components/List/components/ListItemView/ListItemView.mjs';
|
|
181
181
|
import './components/src/components/List/components/ListSummary/ListSummary.mjs';
|
|
182
182
|
import './components/src/components/List/listContext.mjs';
|
|
183
|
+
import 'mobx';
|
|
183
184
|
export { List } from './components/src/components/List/List.mjs';
|
|
184
185
|
export { typedList } from './components/src/components/List/typedList.mjs';
|
|
185
186
|
import 'react-markdown';
|
|
@@ -193,7 +194,6 @@ export { Modal } from './components/src/components/Modal/Modal.mjs';
|
|
|
193
194
|
import './components/src/components/Navigation/Navigation.mjs';
|
|
194
195
|
import './components/src/components/Navigation/components/NavigationGroup/NavigationGroup.mjs';
|
|
195
196
|
export { NotificationProvider, useNotificationController } from './components/src/components/NotificationProvider/NotificationProvider.mjs';
|
|
196
|
-
import 'mobx';
|
|
197
197
|
import 'luxon';
|
|
198
198
|
import './components/src/components/NumberField/NumberField.mjs';
|
|
199
199
|
import './components/src/components/Option/Option.mjs';
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { ListShape } from './model/types';
|
|
2
2
|
import { FlowComponentProps } from '../../lib/componentFactory/flowComponent';
|
|
3
3
|
import { PropsWithChildren } from 'react';
|
|
4
|
-
export interface ListProps<T> extends PropsWithChildren, FlowComponentProps, Omit<ListShape<T>, "search" | "loader" | "itemView" | "table" | "batchesController" | "filters" | "sorting"> {
|
|
4
|
+
export interface ListProps<T, TMeta = unknown> extends PropsWithChildren, FlowComponentProps, Omit<ListShape<T, TMeta>, "search" | "loader" | "itemView" | "table" | "batchesController" | "filters" | "sorting"> {
|
|
5
5
|
/** The number of items to be displayed on one page. */
|
|
6
6
|
batchSize?: number;
|
|
7
7
|
hidePagination?: boolean;
|
|
8
8
|
}
|
|
9
|
-
export declare const List: import('react').FunctionComponent<ListProps<never> & import('react').RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export declare const List: import('react').FunctionComponent<ListProps<never, unknown> & import('react').RefAttributes<HTMLDivElement>>;
|
|
10
10
|
export default List;
|
|
11
11
|
//# sourceMappingURL=List.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../src/components/List/List.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAc/D,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,sCAAsC,CAAC;AAK9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAM/C,MAAM,WAAW,SAAS,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../src/components/List/List.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAc/D,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,sCAAsC,CAAC;AAK9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAM/C,MAAM,WAAW,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CAC3C,SAAQ,iBAAiB,EACvB,kBAAkB,EAClB,IAAI,CACF,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,EACjB,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,OAAO,GACP,mBAAmB,GACnB,SAAS,GACT,SAAS,CACZ;IACH,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,eAAO,MAAM,IAAI,8GAuJf,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useListMetadata.d.ts","sourceRoot":"","sources":["../../../../../src/components/List/hooks/useListMetadata.ts"],"names":[],"mappings":"AAIA,wBAAgB,eAAe,CAAC,CAAC,GAAG,OAAO,KAAK,CAAC,GAAG,SAAS,CAM5D"}
|
|
@@ -8,6 +8,7 @@ export * from './components/ListItemView';
|
|
|
8
8
|
export * from './components/ListSummary';
|
|
9
9
|
export * from './views/EmptyView';
|
|
10
10
|
export * from './hooks/useList';
|
|
11
|
+
export * from './hooks/useListMetadata';
|
|
11
12
|
export * from './List';
|
|
12
13
|
export * from './typedList';
|
|
13
14
|
export * from './setupComponents/ListFilter';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/List/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,uCAAuC,CAAC;AAE/C,YAAY,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AAEzC,cAAc,mBAAmB,CAAC;AAElC,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAE5B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/List/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,uCAAuC,CAAC;AAE/C,YAAY,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEpE,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AAEzC,cAAc,mBAAmB,CAAC;AAElC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAE5B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC"}
|
|
@@ -9,7 +9,7 @@ import { Search } from './search/Search';
|
|
|
9
9
|
import { ItemView } from './item/ItemView';
|
|
10
10
|
import { Table } from './table/Table';
|
|
11
11
|
import { default as z } from 'zod';
|
|
12
|
-
export declare class List<T> {
|
|
12
|
+
export declare class List<T, TMeta = unknown> {
|
|
13
13
|
static readonly viewModeSettingsStorageSchema: z.ZodOptional<z.ZodEnum<["list", "table", "tiles"]>>;
|
|
14
14
|
readonly filters: Filter<T, never, never>[];
|
|
15
15
|
readonly itemView?: ItemView<T>;
|
|
@@ -28,14 +28,15 @@ export declare class List<T> {
|
|
|
28
28
|
readonly setViewMode: (viewMode: ListViewMode) => void;
|
|
29
29
|
readonly supportsSettingsStorage: boolean;
|
|
30
30
|
readonly settingStorageKey?: string;
|
|
31
|
+
metadata?: TMeta;
|
|
31
32
|
private readonly settingsStore?;
|
|
32
33
|
private readonly viewModeStorageKey?;
|
|
33
34
|
private readonly filterSettingsStorageKey?;
|
|
34
35
|
private readonly sortingStorageKey?;
|
|
35
|
-
constructor(shape: ListShape<T>);
|
|
36
|
+
constructor(shape: ListShape<T, TMeta>);
|
|
36
37
|
get isFiltered(): boolean;
|
|
37
38
|
get visibleSorting(): Sorting<T>[];
|
|
38
|
-
static useNew<T>(shape: ListShape<T>): List<T>;
|
|
39
|
+
static useNew<T, TMeta = unknown>(shape: ListShape<T, TMeta>): List<T, TMeta>;
|
|
39
40
|
storeFilterDefaultSettings(): void;
|
|
40
41
|
getStoredFilterDefaultSettings(): Record<string, string[]> | undefined;
|
|
41
42
|
getStoredViewModeDefaultSetting(): "table" | "list" | "tiles" | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../../src/components/List/model/List.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC;AACzF,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAClE,OAAO,UAAU,MAAM,oCAAoC,CAAC;AAC5D,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,SAAS,EACT,2BAA2B,EAC3B,YAAY,EACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AAEtF,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAI5D,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,qBAAa,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../../src/components/List/model/List.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,14 +3,14 @@ import { default as List } from './List';
|
|
|
3
3
|
import { OnListChanged, PropertyName } from './types';
|
|
4
4
|
import { SearchValue } from './search/types';
|
|
5
5
|
import { Dispatch, SetStateAction } from 'react';
|
|
6
|
-
export declare class ReactTable<T> {
|
|
7
|
-
readonly list: List<T>;
|
|
6
|
+
export declare class ReactTable<T, TMeta = unknown> {
|
|
7
|
+
readonly list: List<T, TMeta>;
|
|
8
8
|
readonly table: Table<T>;
|
|
9
9
|
readonly sortingState: ColumnSort[];
|
|
10
10
|
readonly updateSortingState: Dispatch<SetStateAction<ColumnSort[]>>;
|
|
11
11
|
private constructor();
|
|
12
12
|
get searchString(): SearchValue;
|
|
13
|
-
static useNew<T>(list: List<T>, onChange?: OnListChanged<T>, tableOptions?: Partial<TableOptions<T>>): ReactTable<T>;
|
|
13
|
+
static useNew<T, TMeta = unknown>(list: List<T, TMeta>, onChange?: OnListChanged<T, TMeta>, tableOptions?: Partial<TableOptions<T>>): ReactTable<T, TMeta>;
|
|
14
14
|
getTableColumn(property: PropertyName<T>): Column<T>;
|
|
15
15
|
private useReactTable;
|
|
16
16
|
private handleSortingStateUpdate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/List/model/ReactTable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAEN,UAAU,EAEV,KAAK,EACL,YAAY,EAEb,MAAM,uBAAuB,CAAC;AAS/B,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAErD,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGtD,qBAAa,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ReactTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/List/model/ReactTable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAEN,UAAU,EAEV,KAAK,EACL,YAAY,EAEb,MAAM,uBAAuB,CAAC;AAS/B,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAErD,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACb,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGtD,qBAAa,UAAU,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO;IACxC,SAAgB,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrC,SAAgB,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChC,SAAgB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3C,SAAgB,kBAAkB,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAE3E,OAAO;IAmBP,IAAW,YAAY,IAAI,WAAW,CAErC;WAEa,MAAM,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,EACrC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EACpB,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,KAAK,CAAC,EAClC,YAAY,GAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAM,GAC1C,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC;IAIhB,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAM3D,OAAO,CAAC,aAAa;IAgDrB,OAAO,CAAC,wBAAwB;IAehC,OAAO,CAAC,kBAAkB;CAkC3B;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IncrementalLoader.d.ts","sourceRoot":"","sources":["../../../../../../src/components/List/model/loading/IncrementalLoader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AACrD,OAAO,KAAK,EAIV,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,uCAAuC,CAAC;AAK/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,wDAAwD,CAAC;AAEhG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAKlE,qBAAa,iBAAiB,CAAC,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,SAAgB,aAAa,EAAE,OAAO,CAAC;IACvC,SAAgB,eAAe,EAAE,OAAO,CAAC;IACzC,SAAgB,gBAAgB,EAAE,OAAO,CAAC;IAC1C,SAAgB,WAAW,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACvD,SAAgB,oBAAoB,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAM;IAE7D,OAAO;WAgCO,MAAM,CAAC,CAAC,EACpB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EACb,KAAK,GAAE,sBAAsB,CAAC,CAAC,CAAM,GACpC,iBAAiB,CAAC,CAAC,CAAC;IAIvB,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,KAAK;IAIN,YAAY,IAAI,OAAO;IAIvB,qBAAqB,IAAI,OAAO;IAIhC,OAAO,IAAI,CAAC,EAAE;IAIrB,OAAO,CAAC,UAAU;IA4CX,wBAAwB,IAAI,oBAAoB,EAAE;
|
|
1
|
+
{"version":3,"file":"IncrementalLoader.d.ts","sourceRoot":"","sources":["../../../../../../src/components/List/model/loading/IncrementalLoader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AACrD,OAAO,KAAK,EAIV,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,uCAAuC,CAAC;AAK/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,wDAAwD,CAAC;AAEhG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAKlE,qBAAa,iBAAiB,CAAC,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,SAAgB,aAAa,EAAE,OAAO,CAAC;IACvC,SAAgB,eAAe,EAAE,OAAO,CAAC;IACzC,SAAgB,gBAAgB,EAAE,OAAO,CAAC;IAC1C,SAAgB,WAAW,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACvD,SAAgB,oBAAoB,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAM;IAE7D,OAAO;WAgCO,MAAM,CAAC,CAAC,EACpB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EACb,KAAK,GAAE,sBAAsB,CAAC,CAAC,CAAM,GACpC,iBAAiB,CAAC,CAAC,CAAC;IAIvB,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,KAAK;IAIN,YAAY,IAAI,OAAO;IAIvB,qBAAqB,IAAI,OAAO;IAIhC,OAAO,IAAI,CAAC,EAAE;IAIrB,OAAO,CAAC,UAAU;IA4CX,wBAAwB,IAAI,oBAAoB,EAAE;IA+BzD,OAAO,CAAC,oBAAoB;IAqC5B,OAAO,CAAC,yBAAyB;CAgClC"}
|
|
@@ -8,12 +8,14 @@ export declare class IncrementalLoaderState<T> {
|
|
|
8
8
|
dataBatches: DataBatches<T>;
|
|
9
9
|
prevDataBatches: DataBatches<T>;
|
|
10
10
|
batchLoadingStates: BatchesLoadingState;
|
|
11
|
+
metadata?: unknown;
|
|
11
12
|
readonly list: List<T>;
|
|
12
13
|
private constructor();
|
|
13
14
|
static useNew<T>(list: List<T>): IncrementalLoaderState<T>;
|
|
14
15
|
reset(): void;
|
|
15
16
|
setDataBatch(index: number, data: ListData<T>): void;
|
|
16
17
|
setBatchLoadingState(index: number, state: AsyncResourceLoadingState): void;
|
|
18
|
+
setMetadata(metadata?: unknown): void;
|
|
17
19
|
get mergedData(): T[];
|
|
18
20
|
useMergedData(): T[];
|
|
19
21
|
get isLoading(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IncrementalLoaderState.d.ts","sourceRoot":"","sources":["../../../../../../src/components/List/model/loading/IncrementalLoaderState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGjE,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAGrD,KAAK,yBAAyB,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;AACjE,KAAK,WAAW,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;AACpC,KAAK,mBAAmB,GAAG,yBAAyB,EAAE,CAAC;AAEvD,qBAAa,sBAAsB,CAAC,CAAC;IAC5B,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAM;IACjC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC,CAAM;IACrC,kBAAkB,EAAE,mBAAmB,CAAY;
|
|
1
|
+
{"version":3,"file":"IncrementalLoaderState.d.ts","sourceRoot":"","sources":["../../../../../../src/components/List/model/loading/IncrementalLoaderState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGjE,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AAGrD,KAAK,yBAAyB,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;AACjE,KAAK,WAAW,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;AACpC,KAAK,mBAAmB,GAAG,yBAAyB,EAAE,CAAC;AAEvD,qBAAa,sBAAsB,CAAC,CAAC;IAC5B,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAM;IACjC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC,CAAM;IACrC,kBAAkB,EAAE,mBAAmB,CAAY;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAa;IACtC,SAAgB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAE9B,OAAO;WAkBO,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC;IAI1D,KAAK,IAAI,IAAI;IAKb,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;IAWpD,oBAAoB,CACzB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,yBAAyB,GAC/B,IAAI;IAMA,WAAW,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI;IAI5C,IAAW,UAAU,IAAI,CAAC,EAAE,CAU3B;IAEM,aAAa,IAAI,CAAC,EAAE;IAI3B,IAAW,SAAS,IAAI,OAAO,CAE9B;IAEM,YAAY,IAAI,OAAO;IAIvB,aAAa,CAAC,UAAU,EAAE,MAAM;CAGxC"}
|
|
@@ -22,6 +22,7 @@ export type ListData<T> = readonly T[];
|
|
|
22
22
|
export interface DataLoaderResult<T> {
|
|
23
23
|
data: ListData<T>;
|
|
24
24
|
itemTotalCount?: number;
|
|
25
|
+
metadata?: unknown;
|
|
25
26
|
}
|
|
26
27
|
export type HooksDataLoader<T> = (options: DataLoaderOptions<T>) => DataLoaderResult<T>;
|
|
27
28
|
export type AsyncDataLoader<T> = (options: DataLoaderOptions<T>) => Promise<DataLoaderResult<T>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/List/model/loading/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,KAAK,qBAAqB,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,CAAC;AAElE,KAAK,uBAAuB,CAAC,CAAC,IAAI,cAAc,CAC9C,CAAC,EACD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,OAAO,EAAE,CAAA;CAAE,CACxC,CAAC;AAEF,UAAU,2BAA2B;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,CAAC;IACvC,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,UAAU,CAAC,EAAE,2BAA2B,CAAC;CAC1C;AAED,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC;AAEvC,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/List/model/loading/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,13 +15,13 @@ export type CustomPropertyName = `${typeof customPropertyPrefix}${string}`;
|
|
|
15
15
|
export type PropertyName<T> = DeepKeys<T> | CustomPropertyName;
|
|
16
16
|
export type PropertyValue<T, TProp> = TProp extends CustomPropertyName ? T : DeepValue<T, TProp>;
|
|
17
17
|
export type PropertyValueRenderMethod<TMatcherValue> = (prop: NonNullable<ItemType<TMatcherValue>>) => ReactNode;
|
|
18
|
-
export type OnListChanged<T> = (list: List<T>) => void;
|
|
18
|
+
export type OnListChanged<T, TMeta = unknown> = (list: List<T, TMeta>) => void;
|
|
19
19
|
export interface ListSupportedComponentProps extends MultipleSelection {
|
|
20
20
|
"aria-labelledby"?: string;
|
|
21
21
|
"aria-label"?: string;
|
|
22
22
|
selectionBehavior?: SelectionBehavior;
|
|
23
23
|
}
|
|
24
|
-
export interface ListShape<T> extends ListSupportedComponentProps {
|
|
24
|
+
export interface ListShape<T, TMeta = unknown> extends ListSupportedComponentProps {
|
|
25
25
|
settingStorageKey?: string;
|
|
26
26
|
loader?: IncrementalLoaderShape<T>;
|
|
27
27
|
filters?: FilterShape<T, never, never>[];
|
|
@@ -33,7 +33,7 @@ export interface ListShape<T> extends ListSupportedComponentProps {
|
|
|
33
33
|
onAction?: ItemActionFn<T>;
|
|
34
34
|
accordion?: boolean;
|
|
35
35
|
getItemId?: GetItemId<T>;
|
|
36
|
-
onChange?: OnListChanged<T>;
|
|
36
|
+
onChange?: OnListChanged<T, TMeta>;
|
|
37
37
|
defaultViewMode?: ListViewMode;
|
|
38
38
|
}
|
|
39
39
|
export type PropertyRecord<T, TValue> = Partial<Record<PropertyName<T>, TValue>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/List/model/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AACrD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AACvF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,eAAO,MAAM,oBAAoB,EAAG,GAAY,CAAC;AACjD,MAAM,MAAM,kBAAkB,GAAG,GAAG,OAAO,oBAAoB,GAAG,MAAM,EAAE,CAAC;AAE3E,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC;AAC/D,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,KAAK,IAAI,KAAK,SAAS,kBAAkB,GAClE,CAAC,GACD,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACxB,MAAM,MAAM,yBAAyB,CAAC,aAAa,IAAI,CACrD,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,KACvC,SAAS,CAAC;AAEf,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/List/model/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ListProps } from './List';
|
|
2
2
|
import { ComponentType } from 'react';
|
|
3
|
-
export declare const TypedList: <T>() => ComponentType<ListProps<T>>;
|
|
4
|
-
export declare const typedList: <T>() => {
|
|
5
|
-
List: ComponentType<ListProps<T>>;
|
|
3
|
+
export declare const TypedList: <T, TMeta = unknown>() => ComponentType<ListProps<T, TMeta>>;
|
|
4
|
+
export declare const typedList: <T, TMeta = unknown>() => {
|
|
5
|
+
List: ComponentType<ListProps<T, TMeta>>;
|
|
6
6
|
Filter: <const TProp extends import('./model/types').PropertyName<T>, TMatcherValue = import('./model/types').PropertyValue<T, TProp>>(props: Omit<import('./model/filter/types').FilterShape<T, TProp, TMatcherValue>, "type" | "renderItem"> & {
|
|
7
7
|
children?: import('./model/types').PropertyValueRenderMethod<TMatcherValue> | undefined;
|
|
8
8
|
}) => import('react').ReactNode;
|
|
@@ -233,5 +233,6 @@ export declare const typedList: <T>() => {
|
|
|
233
233
|
LoaderAsyncResource: ComponentType<Omit<import('./model/loading/types').AsyncResourceFactoryDataLoaderShape<T>, "asyncResourceFactory"> & {
|
|
234
234
|
children: import('.').AsyncResourceFactory<T>;
|
|
235
235
|
}>;
|
|
236
|
+
useMetadata: () => TMeta | undefined;
|
|
236
237
|
};
|
|
237
238
|
//# sourceMappingURL=typedList.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typedList.d.ts","sourceRoot":"","sources":["../../../../src/components/List/typedList.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAUxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"typedList.d.ts","sourceRoot":"","sources":["../../../../src/components/List/typedList.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAUxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAU3C,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,KAAK,GAAG,OAAO,OACvB,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AAExD,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,KAAK,GAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkB1C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mittwald/flow-react-components",
|
|
3
|
-
"version": "0.2.0-alpha.
|
|
3
|
+
"version": "0.2.0-alpha.567",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A React implementation of Flow, mittwald’s design system",
|
|
6
6
|
"homepage": "https://mittwald.github.io/flow",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"dependencies": {
|
|
59
59
|
"@internationalized/string-compiler": "^3.2.6",
|
|
60
60
|
"@mittwald/password-tools-js": "3.0.0-alpha.18",
|
|
61
|
-
"@mittwald/react-tunnel": "0.2.0-alpha.
|
|
61
|
+
"@mittwald/react-tunnel": "0.2.0-alpha.567",
|
|
62
62
|
"@mittwald/react-use-promise": "^4.2.2",
|
|
63
63
|
"@react-aria/form": "^3.1.2",
|
|
64
64
|
"@react-aria/live-announcer": "^3.4.4",
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
"@faker-js/faker": "^10.1.0",
|
|
103
103
|
"@internationalized/date": "^3.10.0",
|
|
104
104
|
"@mittwald/flow-core": "",
|
|
105
|
-
"@mittwald/flow-design-tokens": "0.2.0-alpha.
|
|
105
|
+
"@mittwald/flow-design-tokens": "0.2.0-alpha.567",
|
|
106
106
|
"@mittwald/react-use-promise": "^4.2.2",
|
|
107
107
|
"@mittwald/remote-dom-react": "1.2.2-mittwald.10",
|
|
108
108
|
"@mittwald/typescript-config": "",
|
|
@@ -175,5 +175,5 @@
|
|
|
175
175
|
"optional": true
|
|
176
176
|
}
|
|
177
177
|
},
|
|
178
|
-
"gitHead": "
|
|
178
|
+
"gitHead": "fbba37c897566ad19b962ea79d6de74b921aa21a"
|
|
179
179
|
}
|