@mittwald/flow-react-components 1.5.0-next.47 → 1.5.0-next.49
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/AGENTS.md +37 -0
- package/dist/assets/component-index.json +1 -1
- package/dist/assets/doc-properties.json +1 -1
- package/dist/js/node_modules/.pnpm/@lezer_lr@1.4.10/node_modules/@lezer/lr/dist/index.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Action/models/ActionState.mjs +8 -70
- package/dist/js/packages/components/src/components/Action/models/ActionState.mjs.map +1 -1
- package/dist/js/packages/components/src/components/Calendar/components/RangeCalendar/helpers/useCalendarDateRangePresets.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/ActiveFilters/ActiveFilters.mjs +1 -1
- package/dist/js/packages/components/src/components/List/components/Header/components/ActiveFilters/ActiveFilters.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/List.mjs +15 -4
- package/dist/js/packages/components/src/components/List/model/List.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/ListSettingsStore.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/ListViewMode.mjs +35 -23
- package/dist/js/packages/components/src/components/List/model/ListViewMode.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/ReactTable.mjs +16 -10
- package/dist/js/packages/components/src/components/List/model/ReactTable.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/filter/DateRangeFilter.mjs +25 -13
- package/dist/js/packages/components/src/components/List/model/filter/DateRangeFilter.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/filter/Filter.mjs +20 -181
- package/dist/js/packages/components/src/components/List/model/filter/Filter.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/item/ItemCollection.mjs +11 -7
- package/dist/js/packages/components/src/components/List/model/item/ItemCollection.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/loading/IncrementalLoader.mjs +10 -13
- package/dist/js/packages/components/src/components/List/model/loading/IncrementalLoader.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/loading/IncrementalLoaderState.mjs +13 -61
- package/dist/js/packages/components/src/components/List/model/loading/IncrementalLoaderState.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/search/Search.mjs +19 -47
- package/dist/js/packages/components/src/components/List/model/search/Search.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/sorting/Sorting.mjs +15 -54
- package/dist/js/packages/components/src/components/List/model/sorting/Sorting.mjs.map +1 -1
- package/dist/js/packages/components/src/components/List/model/sorting/SortingFunctions.mjs.map +1 -1
- package/dist/js/packages/components/src/lib/remote/eventHandlerContext.mjs +3 -1
- package/dist/js/packages/components/src/lib/remote/eventHandlerContext.mjs.map +1 -1
- package/dist/js/packages/components-base/src/action/ActionState.mjs +87 -0
- package/dist/js/packages/components-base/src/action/ActionState.mjs.map +1 -0
- package/dist/js/packages/components-base/src/index.mjs +18 -0
- package/dist/js/packages/components-base/src/lib/array.mjs +9 -0
- package/dist/js/packages/components-base/src/lib/array.mjs.map +1 -0
- package/dist/js/packages/components-base/src/list/ListModelContext.mjs +19 -0
- package/dist/js/packages/components-base/src/list/ListModelContext.mjs.map +1 -0
- package/dist/js/packages/components-base/src/list/filter/ListDateRangeFilter.mjs +29 -0
- package/dist/js/packages/components-base/src/list/filter/ListDateRangeFilter.mjs.map +1 -0
- package/dist/js/packages/components-base/src/list/filter/ListFilter.mjs +229 -0
- package/dist/js/packages/components-base/src/list/filter/ListFilter.mjs.map +1 -0
- package/dist/js/packages/components-base/src/list/filter/ListFilterValue.mjs +51 -0
- package/dist/js/packages/components-base/src/list/filter/ListFilterValue.mjs.map +1 -0
- package/dist/js/packages/components-base/src/list/filter/dateRange.mjs +51 -0
- package/dist/js/packages/components-base/src/list/filter/dateRange.mjs.map +1 -0
- package/dist/js/packages/components-base/src/list/item/ListItem.mjs +21 -0
- package/dist/js/packages/components-base/src/list/item/ListItem.mjs.map +1 -0
- package/dist/js/packages/components-base/src/list/item/ListItemCollection.mjs +24 -0
- package/dist/js/packages/components-base/src/list/item/ListItemCollection.mjs.map +1 -0
- package/dist/js/packages/components-base/src/list/loading/ListLoaderState.mjs +86 -0
- package/dist/js/packages/components-base/src/list/loading/ListLoaderState.mjs.map +1 -0
- package/dist/js/packages/components-base/src/list/loading/types.mjs +29 -0
- package/dist/js/packages/components-base/src/list/loading/types.mjs.map +1 -0
- package/dist/js/packages/components-base/src/list/pagination/ListBatchesController.mjs +64 -0
- package/dist/js/packages/components-base/src/list/pagination/ListBatchesController.mjs.map +1 -0
- package/dist/js/packages/components-base/src/list/search/ListSearch.mjs +62 -0
- package/dist/js/packages/components-base/src/list/search/ListSearch.mjs.map +1 -0
- package/dist/js/packages/components-base/src/list/sorting/ListSorting.mjs +81 -0
- package/dist/js/packages/components-base/src/list/sorting/ListSorting.mjs.map +1 -0
- package/dist/js/packages/components-base/src/list/table/ListTable.mjs +80 -0
- package/dist/js/packages/components-base/src/list/table/ListTable.mjs.map +1 -0
- package/dist/js/packages/components-base/src/list/viewMode/ListViewMode.mjs +53 -0
- package/dist/js/packages/components-base/src/list/viewMode/ListViewMode.mjs.map +1 -0
- package/dist/types/_bundled/flow-components-base/action/ActionState.d.ts +36 -0
- package/dist/types/_bundled/flow-components-base/index.d.ts +23 -0
- package/dist/types/_bundled/flow-components-base/lib/array.d.ts +4 -0
- package/dist/types/_bundled/flow-components-base/list/ListModelContext.d.ts +30 -0
- package/dist/types/_bundled/flow-components-base/list/filter/ListDateRangeFilter.d.ts +18 -0
- package/dist/types/_bundled/flow-components-base/list/filter/ListFilter.d.ts +104 -0
- package/dist/types/_bundled/flow-components-base/list/filter/ListFilterValue.d.ts +21 -0
- package/dist/types/_bundled/flow-components-base/list/filter/dateRange.d.ts +23 -0
- package/dist/types/_bundled/flow-components-base/list/filter/types.d.ts +18 -0
- package/dist/types/_bundled/flow-components-base/list/item/ListItem.d.ts +10 -0
- package/dist/types/_bundled/flow-components-base/list/item/ListItemCollection.d.ts +14 -0
- package/dist/types/_bundled/flow-components-base/list/loading/ListLoaderState.d.ts +44 -0
- package/dist/types/_bundled/flow-components-base/list/loading/types.d.ts +69 -0
- package/dist/types/_bundled/flow-components-base/list/pagination/ListBatchesController.d.ts +32 -0
- package/dist/types/_bundled/flow-components-base/list/pagination/types.d.ts +17 -0
- package/dist/types/_bundled/flow-components-base/list/search/ListSearch.d.ts +27 -0
- package/dist/types/_bundled/flow-components-base/list/search/types.d.ts +5 -0
- package/dist/types/_bundled/flow-components-base/list/settings/types.d.ts +52 -0
- package/dist/types/_bundled/flow-components-base/list/sorting/ListSorting.d.ts +40 -0
- package/dist/types/_bundled/flow-components-base/list/sorting/types.d.ts +14 -0
- package/dist/types/_bundled/flow-components-base/list/table/ListTable.d.ts +34 -0
- package/dist/types/_bundled/flow-components-base/list/types.d.ts +18 -0
- package/dist/types/_bundled/flow-components-base/list/viewMode/ListViewMode.d.ts +25 -0
- package/dist/types/_bundled/flow-components-base/list/viewMode/types.d.ts +10 -0
- package/dist/types/components/Action/models/ActionState.d.ts +8 -21
- package/dist/types/components/List/components/Header/lib.d.ts +1 -2
- package/dist/types/components/List/model/List.d.ts +6 -1
- package/dist/types/components/List/model/ListSettingsStore.d.ts +2 -4
- package/dist/types/components/List/model/ListViewMode.d.ts +17 -10
- package/dist/types/components/List/model/ReactTable.d.ts +1 -1
- package/dist/types/components/List/model/filter/DateRangeFilter.d.ts +21 -9
- package/dist/types/components/List/model/filter/Filter.d.ts +18 -52
- package/dist/types/components/List/model/filter/FilterValue.d.ts +10 -11
- package/dist/types/components/List/model/filter/types.d.ts +6 -18
- package/dist/types/components/List/model/item/Item.d.ts +8 -7
- package/dist/types/components/List/model/item/ItemCollection.d.ts +9 -4
- package/dist/types/components/List/model/loading/IncrementalLoaderState.d.ts +11 -21
- package/dist/types/components/List/model/loading/types.d.ts +5 -26
- package/dist/types/components/List/model/pagination/BatchesController.d.ts +1 -15
- package/dist/types/components/List/model/pagination/types.d.ts +1 -3
- package/dist/types/components/List/model/search/Search.d.ts +16 -19
- package/dist/types/components/List/model/search/types.d.ts +6 -8
- package/dist/types/components/List/model/sorting/Sorting.d.ts +14 -22
- package/dist/types/components/List/model/sorting/SortingFunctions.d.ts +1 -1
- package/dist/types/components/List/model/sorting/types.d.ts +1 -13
- package/dist/types/components/List/model/types.d.ts +7 -24
- package/dist/types/components/List/typedList.d.ts +2 -2
- package/dist/types/lib/remote/eventHandlerContext.d.ts +2 -1
- package/package.json +11 -10
- package/dist/js/packages/components/src/components/List/model/filter/FilterValue.mjs +0 -43
- package/dist/js/packages/components/src/components/List/model/filter/FilterValue.mjs.map +0 -1
- package/dist/js/packages/components/src/components/List/model/filter/dateRangeFilterFn.mjs +0 -23
- package/dist/js/packages/components/src/components/List/model/filter/dateRangeFilterFn.mjs.map +0 -1
- package/dist/js/packages/components/src/components/List/model/item/Item.mjs +0 -20
- package/dist/js/packages/components/src/components/List/model/item/Item.mjs.map +0 -1
- package/dist/js/packages/components/src/components/List/model/pagination/BatchesController.mjs +0 -58
- package/dist/js/packages/components/src/components/List/model/pagination/BatchesController.mjs.map +0 -1
- package/dist/js/packages/components/src/lib/array/toArray.mjs +0 -8
- package/dist/js/packages/components/src/lib/array/toArray.mjs.map +0 -1
- package/dist/js/packages/components/src/lib/date/transformDateValueToDateTime.mjs +0 -15
- package/dist/js/packages/components/src/lib/date/transformDateValueToDateTime.mjs.map +0 -1
- package/dist/js/packages/components/src/lib/promises/sleep.mjs +0 -8
- package/dist/js/packages/components/src/lib/promises/sleep.mjs.map +0 -1
- package/dist/types/components/CartesianChart/typedCartesianChart.test-types.d.ts +0 -1
- package/dist/types/components/List/model/filter/dateRangeFilterFn.d.ts +0 -6
- package/dist/types/components/List/typedList.test-types.d.ts +0 -1
- package/dist/types/integrations/@mittwald/password-tools-js/passwordCreationFieldExport.test-types.d.ts +0 -1
- package/dist/types/lib/array/toArray.d.ts +0 -1
- package/dist/types/lib/types/array.d.ts +0 -1
- package/dist/types/lib/types/props.test-types.d.ts +0 -1
|
@@ -1,18 +1,16 @@
|
|
|
1
|
-
import { ComponentType } from 'react';
|
|
2
1
|
import { SearchFieldProps } from '../../../SearchField';
|
|
2
|
+
import { ListSearchShape } from '../../../../_bundled/flow-components-base/index';
|
|
3
|
+
import { ComponentType } from 'react';
|
|
4
|
+
export type { SearchValue } from '../../../../_bundled/flow-components-base/index';
|
|
3
5
|
type SupportedSearchFieldProps = Pick<SearchFieldProps, "autoFocus">;
|
|
4
6
|
interface SearchFieldRenderProps extends SupportedSearchFieldProps {
|
|
5
|
-
onChange: (value:
|
|
6
|
-
value:
|
|
7
|
+
onChange: (value: string | undefined) => unknown;
|
|
8
|
+
value: string | undefined;
|
|
7
9
|
autoSubmit?: boolean;
|
|
8
10
|
isDisabled?: boolean;
|
|
9
11
|
}
|
|
10
12
|
export type SearchFieldRenderComponent = ComponentType<SearchFieldRenderProps>;
|
|
11
|
-
export
|
|
12
|
-
export interface SearchShape<IgnoredT> {
|
|
13
|
+
export interface SearchShape<IgnoredT> extends ListSearchShape {
|
|
13
14
|
render?: SearchFieldRenderComponent;
|
|
14
15
|
textFieldProps: SupportedSearchFieldProps;
|
|
15
|
-
defaultValue?: string;
|
|
16
|
-
autosave?: boolean;
|
|
17
16
|
}
|
|
18
|
-
export {};
|
|
@@ -1,23 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
constructor(list: List<T>, shape: SortingShape<T>);
|
|
15
|
-
private getInitialEnabled;
|
|
16
|
-
updateTableColumnDef(def: ColumnDef<T>): void;
|
|
17
|
-
getReactTableColumnSort(): ColumnSort;
|
|
18
|
-
isSorted(): boolean;
|
|
19
|
-
getTableColumn(): Column<T>;
|
|
20
|
-
enable(): void;
|
|
21
|
-
clear(): void;
|
|
22
|
-
get id(): string;
|
|
1
|
+
import { ListSorting } from '../../../../_bundled/flow-components-base/index';
|
|
2
|
+
import { List } from '../List';
|
|
3
|
+
/**
|
|
4
|
+
* React's sorting: the shared one, plus the list it belongs to.
|
|
5
|
+
*
|
|
6
|
+
* A sorting only translates between the TanStack table and the settings store,
|
|
7
|
+
* and both are frameworkless, so everything it does is `ListSorting` in
|
|
8
|
+
* `@mittwald/flow-components-base`. What is left here is `list` — the shared
|
|
9
|
+
* class calls its list `context` and types it as the model's port, while
|
|
10
|
+
* React's API has always handed out the `List` itself.
|
|
11
|
+
*/
|
|
12
|
+
export declare class Sorting<T> extends ListSorting<T> {
|
|
13
|
+
get list(): List<T>;
|
|
23
14
|
}
|
|
15
|
+
export default Sorting;
|
|
@@ -1,13 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { SortDirection, SortingFn as SortingFunction } from '@tanstack/react-table';
|
|
3
|
-
export type SortingDefaultMode = boolean | "hidden";
|
|
4
|
-
export type SortingFn<T> = SortingFunction<T>;
|
|
5
|
-
export interface SortingShape<T> {
|
|
6
|
-
property: PropertyName<T>;
|
|
7
|
-
name?: string;
|
|
8
|
-
directionName?: string;
|
|
9
|
-
direction?: SortDirection;
|
|
10
|
-
defaultEnabled?: SortingDefaultMode;
|
|
11
|
-
customSortingFn?: SortingFn<T>;
|
|
12
|
-
autosave?: boolean;
|
|
13
|
-
}
|
|
1
|
+
export type { ListSortingShape as SortingShape, SortingDefaultMode, SortingFn, } from '../../../../_bundled/flow-components-base/index';
|
|
@@ -6,15 +6,13 @@ import { BatchesControllerShape } from './pagination/types';
|
|
|
6
6
|
import { SearchShape } from './search/types';
|
|
7
7
|
import { SortingShape } from './sorting/types';
|
|
8
8
|
import { TableShape } from './table/types';
|
|
9
|
-
import { ItemType } from '../../../lib/types/array';
|
|
10
9
|
import { MultipleSelection, SelectionBehavior } from '@react-types/shared';
|
|
11
|
-
import {
|
|
10
|
+
import { customPropertyPrefix, CustomPropertyName, ListSettingsDefaults, PropertyName, PropertyValue, PropertyValueRenderMethod as ListPropertyValueRenderMethod, ListViewModeValue } from '../../../_bundled/flow-components-base/index';
|
|
12
11
|
import { ReactNode } from 'react';
|
|
13
|
-
export
|
|
14
|
-
export type CustomPropertyName
|
|
15
|
-
|
|
16
|
-
export type
|
|
17
|
-
export type PropertyValueRenderMethod<TMatcherValue> = (prop: NonNullable<ItemType<TMatcherValue>>) => ReactNode;
|
|
12
|
+
export { customPropertyPrefix };
|
|
13
|
+
export type { CustomPropertyName, PropertyName, PropertyValue };
|
|
14
|
+
/** React's rendering of a filter value. */
|
|
15
|
+
export type PropertyValueRenderMethod<TMatcherValue> = ListPropertyValueRenderMethod<TMatcherValue, ReactNode>;
|
|
18
16
|
export type OnListChanged<T, TMeta = unknown> = (list: List<T, TMeta>) => void;
|
|
19
17
|
export interface ListSupportedComponentProps extends MultipleSelection {
|
|
20
18
|
/** The ID of the element labelling the list. */
|
|
@@ -27,21 +25,7 @@ export interface ListSupportedComponentProps extends MultipleSelection {
|
|
|
27
25
|
*/
|
|
28
26
|
selectionBehavior?: SelectionBehavior;
|
|
29
27
|
}
|
|
30
|
-
export
|
|
31
|
-
filters?: {
|
|
32
|
-
autosave?: boolean;
|
|
33
|
-
manualSave?: boolean;
|
|
34
|
-
};
|
|
35
|
-
sorting?: {
|
|
36
|
-
autosave?: boolean;
|
|
37
|
-
};
|
|
38
|
-
viewMode?: {
|
|
39
|
-
autosave?: boolean;
|
|
40
|
-
};
|
|
41
|
-
search?: {
|
|
42
|
-
autosave?: boolean;
|
|
43
|
-
};
|
|
44
|
-
}
|
|
28
|
+
export type ListSettingsStorageDefaults = ListSettingsDefaults;
|
|
45
29
|
export interface ListShape<T, TMeta = unknown> extends ListSupportedComponentProps {
|
|
46
30
|
/**
|
|
47
31
|
* The key the lists settings (view mode, search, filters, sorting) are
|
|
@@ -91,11 +75,10 @@ export interface ListShape<T, TMeta = unknown> extends ListSupportedComponentPro
|
|
|
91
75
|
/** The view rendered when the list contains no items. */
|
|
92
76
|
emptyView?: ReactNode;
|
|
93
77
|
}
|
|
94
|
-
export type PropertyRecord<T, TValue> = Partial<Record<PropertyName<T>, TValue>>;
|
|
95
78
|
export interface ListSettingsStorageShape {
|
|
96
79
|
storageKey: string;
|
|
97
80
|
}
|
|
98
|
-
export type ListViewMode =
|
|
81
|
+
export type ListViewMode = ListViewModeValue;
|
|
99
82
|
export type ItemActionFn<T> = (data: T) => void;
|
|
100
83
|
export type GetItemId<T> = (data: T) => string;
|
|
101
84
|
export type EmptyViewType = "search" | "list";
|
|
@@ -3,7 +3,7 @@ import { ComponentType } from 'react';
|
|
|
3
3
|
export declare const TypedList: <T, TMeta = unknown>() => ComponentType<ListProps<T, TMeta>>;
|
|
4
4
|
export declare const typedList: <T, TMeta = unknown>() => {
|
|
5
5
|
List: ComponentType<ListProps<T, TMeta>>;
|
|
6
|
-
Filter: <const TProp extends import('
|
|
6
|
+
Filter: <const TProp extends import('../../_bundled/flow-components-base/index').PropertyName<T>, TMatcherValue = import('../../_bundled/flow-components-base/index').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;
|
|
9
9
|
Search: ComponentType<Omit<import('./model/search/types').SearchShape<T>, "render" | "textFieldProps"> & {
|
|
@@ -12,7 +12,7 @@ export declare const typedList: <T, TMeta = unknown>() => {
|
|
|
12
12
|
} & {
|
|
13
13
|
autoFocus?: boolean | undefined;
|
|
14
14
|
}>;
|
|
15
|
-
Sorting: ComponentType<import('
|
|
15
|
+
Sorting: ComponentType<import('../../_bundled/flow-components-base/index').ListSortingShape<T>>;
|
|
16
16
|
Item: ComponentType<Omit<import('./model/item/ItemView').ItemViewShape<T>, "renderFn"> & {
|
|
17
17
|
children: import('.').RenderItemFn<T>;
|
|
18
18
|
}>;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { CtxCascadeApi } from 'context';
|
|
1
2
|
export interface EventHandlerContext {
|
|
2
3
|
remoteEvent?: {
|
|
3
4
|
type: string;
|
|
4
5
|
};
|
|
5
6
|
[key: string]: unknown;
|
|
6
7
|
}
|
|
7
|
-
export declare const eventHandlerContext:
|
|
8
|
+
export declare const eventHandlerContext: CtxCascadeApi<EventHandlerContext>;
|
|
8
9
|
export declare const getRemoteEvent: () => {
|
|
9
10
|
type: string;
|
|
10
11
|
} | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mittwald/flow-react-components",
|
|
3
|
-
"version": "1.5.0-next.
|
|
3
|
+
"version": "1.5.0-next.49",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A React implementation of Flow, mittwald’s design system",
|
|
6
6
|
"homepage": "https://flow.mittwald.de",
|
|
@@ -84,9 +84,9 @@
|
|
|
84
84
|
"@internationalized/string-compiler": "^3.4.1",
|
|
85
85
|
"@lezer/common": "^1.5.2",
|
|
86
86
|
"@lezer/highlight": "^1.2.3",
|
|
87
|
-
"@mittwald/flow-icons": "^1.5.0-next.
|
|
87
|
+
"@mittwald/flow-icons": "^1.5.0-next.49",
|
|
88
88
|
"@mittwald/password-tools-js": "^3.0.0",
|
|
89
|
-
"@mittwald/react-tunnel": "^1.5.0-next.
|
|
89
|
+
"@mittwald/react-tunnel": "^1.5.0-next.49",
|
|
90
90
|
"@mittwald/react-use-promise": "^4.2.2",
|
|
91
91
|
"@react-aria/form": "^3.2.1",
|
|
92
92
|
"@react-aria/i18n": "^3.13.1",
|
|
@@ -95,7 +95,7 @@
|
|
|
95
95
|
"@react-stately/form": "^3.3.1",
|
|
96
96
|
"@react-types/shared": "^3.36.1",
|
|
97
97
|
"@replit/codemirror-indentation-markers": "^6.5.3",
|
|
98
|
-
"@tanstack/
|
|
98
|
+
"@tanstack/table-core": "^8.21.3",
|
|
99
99
|
"@types/invariant": "^2.2.37",
|
|
100
100
|
"@types/luxon": "^3.7.5",
|
|
101
101
|
"@types/prop-types": "^15.7.15",
|
|
@@ -139,12 +139,13 @@
|
|
|
139
139
|
"@internationalized/date": "^3.12.3",
|
|
140
140
|
"@lezer/generator": "^1.8.0",
|
|
141
141
|
"@lezer/lr": "^1.4.10",
|
|
142
|
-
"@mittwald/flow-
|
|
143
|
-
"@mittwald/flow-
|
|
144
|
-
"@mittwald/flow-
|
|
142
|
+
"@mittwald/flow-components-base": "1.5.0-next.49",
|
|
143
|
+
"@mittwald/flow-core": "1.5.0-next.49",
|
|
144
|
+
"@mittwald/flow-design-tokens": "1.5.0-next.49",
|
|
145
|
+
"@mittwald/flow-icons-base": "1.5.0-next.49",
|
|
145
146
|
"@mittwald/react-use-promise": "^4.2.2",
|
|
146
147
|
"@mittwald/remote-dom-react": "1.2.2-mittwald.10",
|
|
147
|
-
"@mittwald/typescript-config": "1.5.0-next.
|
|
148
|
+
"@mittwald/typescript-config": "1.5.0-next.49",
|
|
148
149
|
"@nx/storybook": "^22.7.6",
|
|
149
150
|
"@storybook/addon-a11y": "^10.5.10",
|
|
150
151
|
"@storybook/addon-actions": "^9.0.8",
|
|
@@ -198,7 +199,7 @@
|
|
|
198
199
|
},
|
|
199
200
|
"peerDependencies": {
|
|
200
201
|
"@internationalized/date": "^3.12.2",
|
|
201
|
-
"@mittwald/flow-icons-pro": "1.5.0-next.
|
|
202
|
+
"@mittwald/flow-icons-pro": "1.5.0-next.49",
|
|
202
203
|
"@mittwald/react-use-promise": "^4.2.2",
|
|
203
204
|
"next": "^16.2.3",
|
|
204
205
|
"react": "^19.2.0",
|
|
@@ -222,5 +223,5 @@
|
|
|
222
223
|
"browserslist": [
|
|
223
224
|
"baseline widely available"
|
|
224
225
|
],
|
|
225
|
-
"gitHead": "
|
|
226
|
+
"gitHead": "5af9457a3e3dc275a9032ffec18e03fd87dba7d8"
|
|
226
227
|
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
/* */
|
|
3
|
-
import { isShallowEqual } from "remeda";
|
|
4
|
-
import { hash } from "object-code";
|
|
5
|
-
//#region src/components/List/model/filter/FilterValue.ts
|
|
6
|
-
var FilterValue = class FilterValue {
|
|
7
|
-
filter;
|
|
8
|
-
value;
|
|
9
|
-
id;
|
|
10
|
-
constructor(filter, value) {
|
|
11
|
-
this.filter = filter;
|
|
12
|
-
if (typeof value === "string" && value.startsWith("FilterValueId@@")) {
|
|
13
|
-
this.value = filter.values.find((v) => v.id === value)?.value;
|
|
14
|
-
this.id = value;
|
|
15
|
-
} else {
|
|
16
|
-
this.value = value;
|
|
17
|
-
this.id = `FilterValueId@@${this.filter.property}@@${hash(this.value)}`;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
static create(filter, value) {
|
|
21
|
-
if (value instanceof FilterValue) return value;
|
|
22
|
-
return new FilterValue(filter, value);
|
|
23
|
-
}
|
|
24
|
-
equals(otherValue) {
|
|
25
|
-
return isShallowEqual(this.value, otherValue.value);
|
|
26
|
-
}
|
|
27
|
-
get isActive() {
|
|
28
|
-
return this.filter.isValueActive(this);
|
|
29
|
-
}
|
|
30
|
-
render() {
|
|
31
|
-
return this.filter.renderItem(this.value);
|
|
32
|
-
}
|
|
33
|
-
toggle() {
|
|
34
|
-
this.filter.toggleValue(this);
|
|
35
|
-
}
|
|
36
|
-
deactivate() {
|
|
37
|
-
this.filter.deactivateValue(this);
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
//#endregion
|
|
41
|
-
export { FilterValue };
|
|
42
|
-
|
|
43
|
-
//# sourceMappingURL=FilterValue.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FilterValue.mjs","names":[],"sources":["../../../../../../../../../src/components/List/model/filter/FilterValue.ts"],"sourcesContent":["import type { Filter } from \"@/components/List/model/filter/Filter\";\nimport { isShallowEqual } from \"remeda\";\nimport { hash } from \"object-code\";\n\nexport class FilterValue {\n public readonly filter: Filter<unknown, string, unknown>;\n public readonly value: unknown;\n public readonly id: string;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private constructor(filter: Filter<any, any, any>, value: unknown) {\n this.filter = filter;\n\n if (typeof value === \"string\" && value.startsWith(\"FilterValueId@@\")) {\n this.value = filter.values.find((v) => v.id === value)?.value;\n this.id = value;\n } else {\n this.value = value;\n this.id = `FilterValueId@@${this.filter.property}@@${hash(this.value)}`;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public static create(filter: Filter<any, any, any>, value: unknown) {\n if (value instanceof FilterValue) {\n return value;\n }\n return new FilterValue(filter, value);\n }\n\n public equals(otherValue: FilterValue) {\n return isShallowEqual(this.value, otherValue.value);\n }\n\n public get isActive() {\n return this.filter.isValueActive(this);\n }\n\n public render() {\n return this.filter.renderItem(this.value as never);\n }\n\n public toggle() {\n this.filter.toggleValue(this);\n }\n\n public deactivate() {\n this.filter.deactivateValue(this);\n }\n}\n"],"mappings":";;;;;AAIA,IAAa,cAAb,MAAa,YAAY;CACvB;CACA;CACA;CAGA,YAAoB,QAA+B,OAAgB;EACjE,KAAK,SAAS;EAEd,IAAI,OAAO,UAAU,YAAY,MAAM,WAAW,iBAAiB,GAAG;GACpE,KAAK,QAAQ,OAAO,OAAO,MAAM,MAAM,EAAE,OAAO,KAAK,CAAC,EAAE;GACxD,KAAK,KAAK;EACZ,OAAO;GACL,KAAK,QAAQ;GACb,KAAK,KAAK,kBAAkB,KAAK,OAAO,SAAS,IAAI,KAAK,KAAK,KAAK;EACtE;CACF;CAGA,OAAc,OAAO,QAA+B,OAAgB;EAClE,IAAI,iBAAiB,aACnB,OAAO;EAET,OAAO,IAAI,YAAY,QAAQ,KAAK;CACtC;CAEA,OAAc,YAAyB;EACrC,OAAO,eAAe,KAAK,OAAO,WAAW,KAAK;CACpD;CAEA,IAAW,WAAW;EACpB,OAAO,KAAK,OAAO,cAAc,IAAI;CACvC;CAEA,SAAgB;EACd,OAAO,KAAK,OAAO,WAAW,KAAK,KAAc;CACnD;CAEA,SAAgB;EACd,KAAK,OAAO,YAAY,IAAI;CAC9B;CAEA,aAAoB;EAClB,KAAK,OAAO,gBAAgB,IAAI;CAClC;AACF"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
/* */
|
|
3
|
-
import { transformDateValueToDateTime } from "../../../../lib/date/transformDateValueToDateTime.mjs";
|
|
4
|
-
import { DateTime } from "luxon";
|
|
5
|
-
import { CalendarDate } from "@internationalized/date";
|
|
6
|
-
//#region src/components/List/model/filter/dateRangeFilterFn.ts
|
|
7
|
-
function dateRangeFilterFn(row, columnId, range) {
|
|
8
|
-
if (!range) return true;
|
|
9
|
-
const value = row.getValue(columnId);
|
|
10
|
-
let dateValue;
|
|
11
|
-
if (value instanceof DateTime) dateValue = value;
|
|
12
|
-
else if (value instanceof CalendarDate) dateValue = transformDateValueToDateTime(value);
|
|
13
|
-
else if (typeof value === "string") dateValue = DateTime.fromISO(value);
|
|
14
|
-
if (!dateValue) return true;
|
|
15
|
-
const startDate = range.start ? transformDateValueToDateTime(range.start) : void 0;
|
|
16
|
-
const endDate = range.end ? transformDateValueToDateTime(range.end).endOf("day") : void 0;
|
|
17
|
-
if (startDate && dateValue < startDate) return false;
|
|
18
|
-
return !(endDate && dateValue > endDate);
|
|
19
|
-
}
|
|
20
|
-
//#endregion
|
|
21
|
-
export { dateRangeFilterFn };
|
|
22
|
-
|
|
23
|
-
//# sourceMappingURL=dateRangeFilterFn.mjs.map
|
package/dist/js/packages/components/src/components/List/model/filter/dateRangeFilterFn.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dateRangeFilterFn.mjs","names":[],"sources":["../../../../../../../../../src/components/List/model/filter/dateRangeFilterFn.ts"],"sourcesContent":["import { DateTime } from \"luxon\";\nimport { CalendarDate } from \"@internationalized/date\";\nimport type { Row } from \"@tanstack/react-table\";\nimport { transformDateValueToDateTime } from \"@/lib/date/transformDateValueToDateTime\";\n\nexport function dateRangeFilterFn<T>(\n row: Row<T>,\n columnId: string,\n range?: { start?: CalendarDate; end?: CalendarDate },\n): boolean {\n if (!range) {\n return true;\n }\n\n const value = row.getValue(columnId);\n\n let dateValue;\n\n if (value instanceof DateTime) {\n dateValue = value;\n } else if (value instanceof CalendarDate) {\n dateValue = transformDateValueToDateTime(value);\n } else if (typeof value === \"string\") {\n dateValue = DateTime.fromISO(value);\n }\n\n if (!dateValue) {\n return true;\n }\n\n const startDate = range.start\n ? transformDateValueToDateTime(range.start)\n : undefined;\n\n const endDate = range.end\n ? transformDateValueToDateTime(range.end).endOf(\"day\")\n : undefined;\n\n if (startDate && dateValue < startDate) {\n return false;\n }\n\n return !(endDate && dateValue > endDate);\n}\n"],"mappings":";;;;;;AAKA,SAAgB,kBACd,KACA,UACA,OACS;CACT,IAAI,CAAC,OACH,OAAO;CAGT,MAAM,QAAQ,IAAI,SAAS,QAAQ;CAEnC,IAAI;CAEJ,IAAI,iBAAiB,UACnB,YAAY;MACP,IAAI,iBAAiB,cAC1B,YAAY,6BAA6B,KAAK;MACzC,IAAI,OAAO,UAAU,UAC1B,YAAY,SAAS,QAAQ,KAAK;CAGpC,IAAI,CAAC,WACH,OAAO;CAGT,MAAM,YAAY,MAAM,QACpB,6BAA6B,MAAM,KAAK,IACxC,KAAA;CAEJ,MAAM,UAAU,MAAM,MAClB,6BAA6B,MAAM,GAAG,CAAC,CAAC,MAAM,KAAK,IACnD,KAAA;CAEJ,IAAI,aAAa,YAAY,WAC3B,OAAO;CAGT,OAAO,EAAE,WAAW,YAAY;AAClC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
/* */
|
|
3
|
-
//#region src/components/List/model/item/Item.ts
|
|
4
|
-
var Item = class Item {
|
|
5
|
-
id;
|
|
6
|
-
data;
|
|
7
|
-
collection;
|
|
8
|
-
constructor(collection, id, data) {
|
|
9
|
-
this.collection = collection;
|
|
10
|
-
this.id = id;
|
|
11
|
-
this.data = data;
|
|
12
|
-
}
|
|
13
|
-
static fromRow(collection, row) {
|
|
14
|
-
return new Item(collection, row.id, row.original);
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
//#endregion
|
|
18
|
-
export { Item };
|
|
19
|
-
|
|
20
|
-
//# sourceMappingURL=Item.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Item.mjs","names":[],"sources":["../../../../../../../../../src/components/List/model/item/Item.ts"],"sourcesContent":["import type { ItemCollection } from \"@/components/List/model/item/ItemCollection\";\nimport type { Row } from \"@tanstack/react-table\";\n\nexport class Item<T> {\n public readonly id: string;\n public readonly data: T;\n public readonly collection: ItemCollection<T>;\n\n public constructor(collection: ItemCollection<T>, id: string, data: T) {\n this.collection = collection;\n this.id = id;\n this.data = data;\n }\n\n public static fromRow<T>(\n collection: ItemCollection<T>,\n row: Row<T>,\n ): Item<T> {\n return new Item(collection, row.id, row.original);\n }\n}\n"],"mappings":";;;AAGA,IAAa,OAAb,MAAa,KAAQ;CACnB;CACA;CACA;CAEA,YAAmB,YAA+B,IAAY,MAAS;EACrE,KAAK,aAAa;EAClB,KAAK,KAAK;EACV,KAAK,OAAO;CACd;CAEA,OAAc,QACZ,YACA,KACS;EACT,OAAO,IAAI,KAAK,YAAY,IAAI,IAAI,IAAI,QAAQ;CAClD;AACF"}
|
package/dist/js/packages/components/src/components/List/model/pagination/BatchesController.mjs
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
/* */
|
|
3
|
-
//#region src/components/List/model/pagination/BatchesController.ts
|
|
4
|
-
var BatchesController = class {
|
|
5
|
-
batchSize;
|
|
6
|
-
list;
|
|
7
|
-
constructor(list, shape = {}) {
|
|
8
|
-
const { batchSize = 20 } = shape;
|
|
9
|
-
this.list = list;
|
|
10
|
-
this.batchSize = batchSize;
|
|
11
|
-
list.filters.forEach((f) => f.onFilterUpdated(() => this.reset()));
|
|
12
|
-
list.search?.onUpdated(() => this.reset());
|
|
13
|
-
}
|
|
14
|
-
get reactTable() {
|
|
15
|
-
return this.list.reactTable.table;
|
|
16
|
-
}
|
|
17
|
-
getBatchIndex() {
|
|
18
|
-
return this.reactTable.getState().pagination.pageIndex;
|
|
19
|
-
}
|
|
20
|
-
hasNextBatch() {
|
|
21
|
-
if (this.list.loader.manualPagination) return this.reactTable.getCanNextPage();
|
|
22
|
-
return this.reactTable.getState().pagination.pageSize < this.getTotalItemsCount();
|
|
23
|
-
}
|
|
24
|
-
getTotalItemsCount() {
|
|
25
|
-
if (this.list.loader.manualPagination) return this.reactTable.getRowCount();
|
|
26
|
-
return this.reactTable.getFilteredRowModel().rows.length;
|
|
27
|
-
}
|
|
28
|
-
getVisibleItemsCount() {
|
|
29
|
-
return this.reactTable.getRowModel().rows.length ?? 0;
|
|
30
|
-
}
|
|
31
|
-
updateItemTotalCount(value) {
|
|
32
|
-
this.reactTable.setOptions((s) => ({
|
|
33
|
-
...s,
|
|
34
|
-
rowCount: value
|
|
35
|
-
}));
|
|
36
|
-
}
|
|
37
|
-
reset() {
|
|
38
|
-
if (this.list.loader.manualFiltering) this.updateItemTotalCount(0);
|
|
39
|
-
this.reactTable.setPagination(() => ({
|
|
40
|
-
pageIndex: 0,
|
|
41
|
-
pageSize: this.batchSize
|
|
42
|
-
}));
|
|
43
|
-
}
|
|
44
|
-
nextBatch() {
|
|
45
|
-
if (this.list.loader.manualPagination) this.reactTable.nextPage();
|
|
46
|
-
else {
|
|
47
|
-
const newSize = this.reactTable.getState().pagination.pageSize + this.batchSize;
|
|
48
|
-
this.reactTable.setPagination((prev) => ({
|
|
49
|
-
...prev,
|
|
50
|
-
pageSize: newSize
|
|
51
|
-
}));
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
//#endregion
|
|
56
|
-
export { BatchesController };
|
|
57
|
-
|
|
58
|
-
//# sourceMappingURL=BatchesController.mjs.map
|
package/dist/js/packages/components/src/components/List/model/pagination/BatchesController.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BatchesController.mjs","names":[],"sources":["../../../../../../../../../src/components/List/model/pagination/BatchesController.ts"],"sourcesContent":["import type List from \"@/components/List/model/List\";\nimport type { BatchesControllerShape } from \"@/components/List/model/pagination/types\";\nimport type { Table } from \"@tanstack/react-table\";\n\nexport class BatchesController<T> {\n public readonly batchSize: number;\n private readonly list: List<T>;\n\n public constructor(list: List<T>, shape: BatchesControllerShape = {}) {\n const { batchSize = 20 } = shape;\n\n this.list = list;\n this.batchSize = batchSize;\n list.filters.forEach((f) => f.onFilterUpdated(() => this.reset()));\n list.search?.onUpdated(() => this.reset());\n }\n\n private get reactTable(): Table<T> {\n return this.list.reactTable.table;\n }\n\n public getBatchIndex(): number {\n return this.reactTable.getState().pagination.pageIndex;\n }\n\n public hasNextBatch(): boolean {\n if (this.list.loader.manualPagination) {\n return this.reactTable.getCanNextPage();\n }\n return (\n this.reactTable.getState().pagination.pageSize < this.getTotalItemsCount()\n );\n }\n\n public getTotalItemsCount(): number {\n if (this.list.loader.manualPagination) {\n return this.reactTable.getRowCount();\n }\n return this.reactTable.getFilteredRowModel().rows.length;\n }\n\n public getVisibleItemsCount(): number {\n return this.reactTable.getRowModel().rows.length ?? 0;\n }\n\n public updateItemTotalCount(value: number): void {\n this.reactTable.setOptions((s) => ({\n ...s,\n rowCount: value,\n }));\n }\n\n public reset(): void {\n if (this.list.loader.manualFiltering) {\n this.updateItemTotalCount(0);\n }\n this.reactTable.setPagination(() => ({\n pageIndex: 0,\n pageSize: this.batchSize,\n }));\n }\n\n public nextBatch(): void {\n if (this.list.loader.manualPagination) {\n this.reactTable.nextPage();\n } else {\n const newSize =\n this.reactTable.getState().pagination.pageSize + this.batchSize;\n\n this.reactTable.setPagination((prev) => ({\n ...prev,\n pageSize: newSize,\n }));\n }\n }\n}\n"],"mappings":";;;AAIA,IAAa,oBAAb,MAAkC;CAChC;CACA;CAEA,YAAmB,MAAe,QAAgC,CAAC,GAAG;EACpE,MAAM,EAAE,YAAY,OAAO;EAE3B,KAAK,OAAO;EACZ,KAAK,YAAY;EACjB,KAAK,QAAQ,SAAS,MAAM,EAAE,sBAAsB,KAAK,MAAM,CAAC,CAAC;EACjE,KAAK,QAAQ,gBAAgB,KAAK,MAAM,CAAC;CAC3C;CAEA,IAAY,aAAuB;EACjC,OAAO,KAAK,KAAK,WAAW;CAC9B;CAEA,gBAA+B;EAC7B,OAAO,KAAK,WAAW,SAAS,CAAC,CAAC,WAAW;CAC/C;CAEA,eAA+B;EAC7B,IAAI,KAAK,KAAK,OAAO,kBACnB,OAAO,KAAK,WAAW,eAAe;EAExC,OACE,KAAK,WAAW,SAAS,CAAC,CAAC,WAAW,WAAW,KAAK,mBAAmB;CAE7E;CAEA,qBAAoC;EAClC,IAAI,KAAK,KAAK,OAAO,kBACnB,OAAO,KAAK,WAAW,YAAY;EAErC,OAAO,KAAK,WAAW,oBAAoB,CAAC,CAAC,KAAK;CACpD;CAEA,uBAAsC;EACpC,OAAO,KAAK,WAAW,YAAY,CAAC,CAAC,KAAK,UAAU;CACtD;CAEA,qBAA4B,OAAqB;EAC/C,KAAK,WAAW,YAAY,OAAO;GACjC,GAAG;GACH,UAAU;EACZ,EAAE;CACJ;CAEA,QAAqB;EACnB,IAAI,KAAK,KAAK,OAAO,iBACnB,KAAK,qBAAqB,CAAC;EAE7B,KAAK,WAAW,qBAAqB;GACnC,WAAW;GACX,UAAU,KAAK;EACjB,EAAE;CACJ;CAEA,YAAyB;EACvB,IAAI,KAAK,KAAK,OAAO,kBACnB,KAAK,WAAW,SAAS;OACpB;GACL,MAAM,UACJ,KAAK,WAAW,SAAS,CAAC,CAAC,WAAW,WAAW,KAAK;GAExD,KAAK,WAAW,eAAe,UAAU;IACvC,GAAG;IACH,UAAU;GACZ,EAAE;EACJ;CACF;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toArray.mjs","names":[],"sources":["../../../../../../../src/lib/array/toArray.ts"],"sourcesContent":["export const toArray = <T>(val: T | T[]): T[] =>\n Array.isArray(val) ? val : [val];\n"],"mappings":";;;AAAA,IAAa,WAAc,QACzB,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,GAAG"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
/* */
|
|
3
|
-
import { DateTime } from "luxon";
|
|
4
|
-
//#region src/lib/date/transformDateValueToDateTime.tsx
|
|
5
|
-
var transformDateValueToDateTime = (date) => {
|
|
6
|
-
return DateTime.fromObject({
|
|
7
|
-
year: date.year,
|
|
8
|
-
month: date.month,
|
|
9
|
-
day: date.day
|
|
10
|
-
});
|
|
11
|
-
};
|
|
12
|
-
//#endregion
|
|
13
|
-
export { transformDateValueToDateTime };
|
|
14
|
-
|
|
15
|
-
//# sourceMappingURL=transformDateValueToDateTime.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transformDateValueToDateTime.mjs","names":[],"sources":["../../../../../../../src/lib/date/transformDateValueToDateTime.tsx"],"sourcesContent":["import type { DateValue } from \"@internationalized/date\";\nimport { DateTime } from \"luxon\";\n\nexport const transformDateValueToDateTime = (date: DateValue) => {\n return DateTime.fromObject({\n year: date.year,\n month: date.month,\n day: date.day,\n });\n};\n"],"mappings":";;;;AAGA,IAAa,gCAAgC,SAAoB;CAC/D,OAAO,SAAS,WAAW;EACzB,MAAM,KAAK;EACX,OAAO,KAAK;EACZ,KAAK,KAAK;CACZ,CAAC;AACH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sleep.mjs","names":[],"sources":["../../../../../../../src/lib/promises/sleep.ts"],"sourcesContent":["export const sleep = (ms: number): Promise<void> =>\n new Promise((res) => setTimeout(res, ms));\n"],"mappings":";;;AAAA,IAAa,SAAS,OACpB,IAAI,SAAS,QAAQ,WAAW,KAAK,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const toArray: <T>(val: T | T[]) => T[];
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type ItemType<T> = T extends (infer TItem)[] ? TItem : T;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|