@aivenio/aquarium 0.0.1 → 1.1.0
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/dist/_variables.scss +2 -1
- package/dist/_variables_timescale.scss +2 -1
- package/dist/atoms.cjs +822 -623
- package/dist/atoms.mjs +821 -623
- package/dist/src/common/Alert/Alert.d.ts +1 -1
- package/dist/src/common/Alert/Alert.js +3 -3
- package/dist/src/common/Banner/Banner.d.ts +5 -1
- package/dist/src/common/Banner/Banner.js +5 -3
- package/dist/src/common/DropdownMenu/DropdownMenu.d.ts +8 -3
- package/dist/src/common/DropdownMenu/DropdownMenu.js +12 -2
- package/dist/src/common/Modal/Modal.js +3 -3
- package/dist/src/common/Section/Section.d.ts +14 -0
- package/dist/src/common/Section/Section.js +46 -0
- package/dist/src/common/Timeline/Timeline.d.ts +18 -0
- package/dist/src/common/Timeline/Timeline.js +43 -0
- package/dist/src/common/Typography/Typography.d.ts +3 -2
- package/dist/src/common/Typography/Typography.js +15 -3
- package/dist/src/components/Alert/Alert.js +2 -2
- package/dist/src/components/Banner/Banner.d.ts +3 -1
- package/dist/src/components/Banner/Banner.js +3 -3
- package/dist/src/components/Box/Box.d.ts +6 -2
- package/dist/src/components/Box/Box.js +6 -2
- package/dist/src/components/DataTable/DataTable.d.ts +15 -12
- package/dist/src/components/DataTable/DataTable.js +11 -4
- package/dist/src/components/Dialog/Dialog.js +35 -12
- package/dist/src/components/DropdownMenu/DropdownMenu.d.ts +7 -1
- package/dist/src/components/DropdownMenu/DropdownMenu.js +23 -13
- package/dist/src/components/DropdownMenu/utils.d.ts +4 -0
- package/dist/src/components/DropdownMenu/utils.js +20 -0
- package/dist/src/components/List/List.d.ts +1 -1
- package/dist/src/components/Modal/Modal.js +16 -8
- package/dist/src/components/MultiInput/MultiInput.d.ts +2 -1
- package/dist/src/components/MultiInput/MultiInput.js +3 -3
- package/dist/src/components/Pagination/usePagination.d.ts +42 -0
- package/dist/src/components/Pagination/usePagination.js +34 -0
- package/dist/src/components/Section/Section.d.ts +17 -0
- package/dist/src/components/Section/Section.js +32 -0
- package/dist/src/components/Skeleton/Skeleton.d.ts +7 -2
- package/dist/src/components/Skeleton/Skeleton.js +5 -4
- package/dist/src/components/Template/Template.d.ts +18 -0
- package/dist/src/components/Template/Template.js +18 -0
- package/dist/src/components/Timeline/Timeline.d.ts +27 -0
- package/dist/src/components/Timeline/Timeline.js +41 -0
- package/dist/src/components/index.d.ts +4 -1
- package/dist/src/components/index.js +5 -2
- package/dist/src/utils/Blueprint.d.ts +2 -0
- package/dist/src/utils/Blueprint.js +29 -0
- package/dist/styles.css +52 -32
- package/dist/styles_timescaledb.css +52 -32
- package/dist/system.cjs +2837 -2134
- package/dist/system.mjs +2820 -2120
- package/dist/tailwind.config.js +1 -1
- package/dist/tailwind.theme.json +1 -0
- package/dist/tsconfig.module.tsbuildinfo +1 -1
- package/dist/types/tailwindGenerated.d.ts +1 -1
- package/package.json +2 -2
- package/dist/src/components/Positioner/Positioner.d.ts +0 -21
- package/dist/src/components/Positioner/Positioner.js +0 -97
@@ -4,6 +4,10 @@ import { SortDirection } from '../../../src/common/Table/Table.utils';
|
|
4
4
|
import { ChipStatus } from '../../../src/components/Chip/Chip';
|
5
5
|
import { ActionType } from '../../../types/ActionType';
|
6
6
|
declare type Column = {
|
7
|
+
/**
|
8
|
+
* Type of the column.
|
9
|
+
*/
|
10
|
+
type: 'text' | 'number' | 'action' | 'custom' | 'status';
|
7
11
|
/**
|
8
12
|
* Display name for the column.
|
9
13
|
*/
|
@@ -13,29 +17,28 @@ declare type Column = {
|
|
13
17
|
*/
|
14
18
|
width?: number | `${number}%`;
|
15
19
|
};
|
16
|
-
declare type
|
20
|
+
declare type Formatter<T, K extends keyof T, V = T[K]> = (value: V, row: T, index: number, rows: T[]) => string;
|
21
|
+
declare type FieldColumn<T, K extends keyof T = keyof T> = K extends keyof T ? Column & {
|
17
22
|
/**
|
18
23
|
* Name of the property field that this column represents in the data rows.
|
19
24
|
*/
|
20
|
-
field:
|
25
|
+
field: K;
|
21
26
|
/**
|
22
27
|
* When true, user will be able to sort data rows by clicking this column header.
|
23
28
|
*/
|
24
29
|
sortable?: boolean;
|
25
|
-
};
|
26
|
-
declare type NumberColumn<T> = Column & {
|
27
30
|
/**
|
28
|
-
*
|
31
|
+
* Formatter function. Use for example for formatting dates or capitalizing words.
|
32
|
+
* Sorting will still be based on the unformatted value.
|
29
33
|
*/
|
30
|
-
|
34
|
+
formatter?: Formatter<T, K>;
|
35
|
+
} : never;
|
36
|
+
declare type TextColumn<T> = FieldColumn<T>;
|
37
|
+
declare type NumberColumn<T> = FieldColumn<T> & {
|
31
38
|
/**
|
32
|
-
*
|
33
|
-
*/
|
34
|
-
field: keyof T & (string | number);
|
35
|
-
/**
|
36
|
-
* When true, user will be able to sort data rows by clicking this column header.
|
39
|
+
* Type of the column.
|
37
40
|
*/
|
38
|
-
|
41
|
+
type: 'number';
|
39
42
|
};
|
40
43
|
declare type ActionColumn<T> = Column & {
|
41
44
|
/**
|
@@ -16,11 +16,13 @@ import { StatusChip } from '../../../src/components/Chip/Chip';
|
|
16
16
|
import { SecondaryButton } from '../../../src/components/Button/Button';
|
17
17
|
import { renameProperty } from '../../../src/utils/object';
|
18
18
|
import orderBy from 'lodash/orderBy';
|
19
|
+
import { List } from '../../../src/components';
|
19
20
|
const toSortDirection = (direction) => direction === 'ascending' ? 'asc' : direction === 'descending' ? 'desc' : false;
|
20
21
|
const isFieldColumn = (column) => Boolean(column.field);
|
21
22
|
const isNumberColumn = (column) => column.type === 'number';
|
22
23
|
const isStatusColumn = (column) => column.type === 'status';
|
23
24
|
const isActionColumn = (column) => column.type === 'action';
|
25
|
+
const isCustomColumn = (column) => column.type === 'custom';
|
24
26
|
export const useTableSort = () => {
|
25
27
|
const [sort, setSort] = React.useState();
|
26
28
|
const handleSortClick = (field) => {
|
@@ -41,14 +43,19 @@ export const useTableSort = () => {
|
|
41
43
|
export const DataTable = (_a) => {
|
42
44
|
var { columns, rows, noWrap = false, layout = 'auto' } = _a, rest = __rest(_a, ["columns", "rows", "noWrap", "layout"]);
|
43
45
|
const [sort, updateSort] = useTableSort();
|
46
|
+
const sortedRows = orderBy(rows, [sort === null || sort === void 0 ? void 0 : sort.key], [toSortDirection(sort === null || sort === void 0 ? void 0 : sort.direction)]);
|
44
47
|
return (React.createElement(Table, Object.assign({}, rest, { className: tw({
|
45
48
|
'whitespace-nowrap': noWrap,
|
46
49
|
'table-auto': layout === 'auto',
|
47
50
|
'table-fixed': layout === 'fixed',
|
48
51
|
}) }),
|
49
52
|
React.createElement(Table.Head, null, columns.map((column) => isFieldColumn(column) && column.sortable ? (React.createElement(Table.SortCell, { key: column.headerName, direction: sort && sort.key === column.field ? sort.direction : 'none', onClick: () => updateSort(column.field), align: isNumberColumn(column) ? 'right' : 'left', style: { width: column.width } }, column.headerName)) : (React.createElement(Table.Cell, { align: isNumberColumn(column) ? 'right' : 'left', key: column.headerName, style: { width: column.width } }, column.headerName)))),
|
50
|
-
React.createElement(Table.Body, null,
|
51
|
-
React.createElement(
|
52
|
-
|
53
|
+
React.createElement(Table.Body, null,
|
54
|
+
React.createElement(List, { items: sortedRows, renderItem: (row, index) => (React.createElement(Table.Row, { key: row.id },
|
55
|
+
React.createElement(List, { items: columns, renderItem: (column) => isStatusColumn(column) ? (React.createElement(Table.Cell, { key: column.headerName },
|
56
|
+
React.createElement(StatusChip, Object.assign({ dense: true }, column.status(row, index, sortedRows))))) : isActionColumn(column) ? (React.createElement(Table.Cell, { align: "right", key: column.headerName },
|
57
|
+
React.createElement(SecondaryButton, Object.assign({ dense: true }, renameProperty('text', 'children', column.action(row, index, sortedRows)))))) : isCustomColumn(column) ? (React.createElement(Table.Cell, { key: column.headerName }, column.UNSAFE_render(row, index, sortedRows))) : (React.createElement(Table.Cell, { key: column.headerName, align: isNumberColumn(column) ? 'right' : 'left' }, column.formatter
|
58
|
+
? column.formatter(row[column.field], row, index, sortedRows)
|
59
|
+
: row[column.field])) }))) }))));
|
53
60
|
};
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRGF0YVRhYmxlL0RhdGFUYWJsZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLEVBQWMsTUFBTSw0QkFBNEIsQ0FBQztBQUUvRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUF3SHRDLE1BQU0sZUFBZSxHQUFHLENBQUMsU0FBb0MsRUFBRSxFQUFFLENBQy9ELFNBQVMsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFFbEYsTUFBTSxhQUFhLEdBQUcsQ0FBeUIsTUFBMEIsRUFBNEIsRUFBRSxDQUNyRyxPQUFPLENBQUUsTUFBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUU1QyxNQUFNLGNBQWMsR0FBRyxDQUF5QixNQUEwQixFQUE2QixFQUFFLENBQ3RHLE1BQTBCLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQztBQUVoRCxNQUFNLGNBQWMsR0FBRyxDQUF5QixNQUEwQixFQUE2QixFQUFFLENBQ3RHLE1BQTBCLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQztBQUVoRCxNQUFNLGNBQWMsR0FBRyxD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
|
@@ -1,18 +1,41 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import omit from 'lodash/omit';
|
3
|
+
import { Overlay, useModalOverlay } from '@react-aria/overlays';
|
4
|
+
import { useDialog } from '@react-aria/dialog';
|
5
|
+
import { FocusScope } from '@react-aria/focus';
|
6
|
+
import { useId } from '@react-aria/utils';
|
7
|
+
import { useOverlayTriggerState } from '@react-stately/overlays';
|
3
8
|
import { GhostButton, SecondaryButton } from '../../../src/components/Button/Button';
|
4
9
|
import { Icon } from '../../../src/components/Icon/Icon';
|
5
10
|
import { Modal } from '../../../src/common/Modal/Modal';
|
6
11
|
import { DIALOG_ICONS_AND_COLORS } from '../../../src/common/Dialog/Dialog';
|
7
|
-
export const Dialog = ({ title, type = 'confirmation', open, children, primaryAction, secondaryAction, }) =>
|
8
|
-
React.
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
12
|
+
export const Dialog = ({ title, type = 'confirmation', open, children, primaryAction, secondaryAction, }) => {
|
13
|
+
const ref = React.useRef(null);
|
14
|
+
const state = useOverlayTriggerState({ isOpen: open });
|
15
|
+
const { modalProps, underlayProps } = useModalOverlay({ isDismissable: false }, state, ref);
|
16
|
+
const labelledBy = useId();
|
17
|
+
const describedBy = useId();
|
18
|
+
// useDialog() also returns 'titleProps', but it doesn't work correctly
|
19
|
+
// in this case because the title id is set to null after the second render.
|
20
|
+
// The problem (most likely) is somewhere in this component which causes
|
21
|
+
// it render twice when it is opened and that causes the useSlotId() hook
|
22
|
+
// in react-aria to think that the title is not rendered correctly.
|
23
|
+
const { dialogProps } = useDialog({ 'role': 'alertdialog', 'aria-labelledby': labelledBy, 'aria-describedby': describedBy }, ref);
|
24
|
+
if (!open) {
|
25
|
+
return null;
|
26
|
+
}
|
27
|
+
return (React.createElement(Overlay, null,
|
28
|
+
React.createElement(Modal, { open: open },
|
29
|
+
React.createElement(Modal.BackDrop, Object.assign({}, underlayProps)),
|
30
|
+
React.createElement(FocusScope, { contain: true, restoreFocus: true, autoFocus: true },
|
31
|
+
React.createElement(Modal.Dialog, Object.assign({ ref: ref, size: "sm" }, modalProps, dialogProps),
|
32
|
+
React.createElement(Modal.Header, null,
|
33
|
+
React.createElement(Icon, { icon: DIALOG_ICONS_AND_COLORS[type].icon, color: DIALOG_ICONS_AND_COLORS[type].color, fontSize: 20 }),
|
34
|
+
React.createElement(Modal.Title, { id: labelledBy, variant: "body-large", color: DIALOG_ICONS_AND_COLORS[type].color }, title)),
|
35
|
+
React.createElement(Modal.Body, { id: describedBy }, children),
|
36
|
+
React.createElement(Modal.Footer, null,
|
37
|
+
React.createElement(Modal.Actions, null,
|
38
|
+
secondaryAction && (React.createElement(GhostButton, Object.assign({ key: secondaryAction.text }, omit(secondaryAction, 'text')), secondaryAction.text)),
|
39
|
+
React.createElement(SecondaryButton, Object.assign({ key: primaryAction.text }, omit(primaryAction, 'text')), primaryAction.text))))))));
|
40
|
+
};
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUMvQixPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRWhELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMvQyxPQUFPLEVBQWMsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQXNCL0UsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUEwQixDQUFDLEVBQzVDLEtBQUssRUFDTCxJQUFJLEdBQUcsY0FBYyxFQUNyQixJQUFJLEVBQ0osUUFBUSxFQUNSLGFBQWEsRUFDYixlQUFlLEdBQ2hCLEVBQUUsRUFBRTtJQUNILE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQWlCLElBQUksQ0FBQyxDQUFDO0lBQy9DLE1BQU0sS0FBSyxHQUFHLHNCQUFzQixDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdkQsTUFBTSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsR0FBRyxlQUFlLENBQUMsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzVGLE1BQU0sVUFBVSxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQzNCLE1BQU0sV0FBVyxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQzVCLHVFQUF1RTtJQUN2RSw0RUFBNEU7SUFDNUUsd0VBQXdFO0lBQ3hFLHlFQUF5RTtJQUN6RSxtRUFBbUU7SUFDbkUsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLFNBQVMsQ0FDL0IsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsRUFDekYsR0FBRyxDQUNKLENBQUM7SUFFRixJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ1QsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE9BQU8sQ0FDTCxvQkFBQyxPQUFPO1FBQ04sb0JBQUMsS0FBSyxJQUFDLElBQUksRUFBRSxJQUFJO1lBQ2Ysb0JBQUMsS0FBSyxDQUFDLFFBQVEsb0JBQUssYUFBYSxFQUFJO1lBQ3JDLG9CQUFDLFVBQVUsSUFBQyxPQUFPLFFBQUMsWUFBWSxRQUFDLFNBQVM7Z0JBQ3hDLG9CQUFDLEtBQUssQ0FBQyxNQUFNLGtCQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFDLElBQUksSUFBSyxVQUFVLEVBQU0sV0FBVztvQkFLL0Qsb0JBQUMsS0FBSyxDQUFDLE1BQU07d0JBQ1gsb0JBQUMsSUFBSSxJQUNILElBQUksRUFBRSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQ3hDLEtBQUssRUFBRSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQzFDLFFBQVEsRUFBRSxFQUFFLEdBQ1o7d0JBQ0Ysb0JBQUMsS0FBSyxDQUFDLEtBQUssSUFBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxZQUFZLEVBQUMsS0FBSyxFQUFFLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssSUFDekYsS0FBSyxDQUNNLENBQ0Q7b0JBQ2Ysb0JBQUMsS0FBSyxDQUFDLElBQUksSUFBQyxFQUFFLEVBQUUsV0FBVyxJQUFHLFFBQVEsQ0FBYztvQkFDcEQsb0JBQUMsS0FBSyxDQUFDLE1BQU07d0JBQ1gsb0JBQUMsS0FBSyxDQUFDLE9BQU87NEJBQ1gsZUFBZSxJQUFJLENBQ2xCLG9CQUFDLFdBQVcsa0JBQUMsR0FBRyxFQUFFLGVBQWUsQ0FBQyxJQUFJLElBQU0sSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsR0FDdEUsZUFBZSxDQUFDLElBQUksQ0FDVCxDQUNmOzRCQUNELG9CQUFDLGVBQWUsa0JBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxJQUFJLElBQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsR0FDdEUsYUFBYSxDQUFDLElBQUksQ0FDSCxDQUNKLENBQ0gsQ0FDRixDQUNKLENBQ1AsQ0FDQSxDQUNYLENBQUM7QUFDSixDQUFDLENBQUMifQ==
|
@@ -93,7 +93,13 @@ export declare type DropdownMenuProps = {
|
|
93
93
|
* Dropdown menu items.
|
94
94
|
*/
|
95
95
|
children: DropdownMenuChildren;
|
96
|
-
}
|
96
|
+
} & ({
|
97
|
+
searchable?: false;
|
98
|
+
emptyState?: never;
|
99
|
+
} | {
|
100
|
+
searchable: true;
|
101
|
+
emptyState?: React.ReactNode;
|
102
|
+
});
|
97
103
|
export declare const DropdownMenu: React.FC<DropdownMenuProps> & {
|
98
104
|
Trigger: React.FC<DropdownMenuTriggerProps>;
|
99
105
|
Items: React.FC<DropdownMenuItemsProps>;
|
@@ -10,6 +10,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
10
10
|
return t;
|
11
11
|
};
|
12
12
|
import React from 'react';
|
13
|
+
import { useFilter } from '@react-aria/i18n';
|
13
14
|
import { Item, Section } from '@react-stately/collections';
|
14
15
|
import { useTreeState } from '@react-stately/tree';
|
15
16
|
import { useMenuTriggerState } from '@react-stately/menu';
|
@@ -18,11 +19,14 @@ import { useMenuTrigger, useMenu, useMenuItem, useMenuSection } from '@react-ari
|
|
18
19
|
import { useSeparator } from '@react-aria/separator';
|
19
20
|
import { usePress, PressResponder } from '@react-aria/interactions';
|
20
21
|
import { mergeProps } from '@react-aria/utils';
|
22
|
+
import { tw } from '../../../src/utils/tailwind';
|
21
23
|
import { PopoverWrapper } from '../../../src/components/Popover/PopoverWrapper';
|
22
24
|
import { DropdownMenu as Base } from '../../../src/common/DropdownMenu/DropdownMenu';
|
23
25
|
import { isComponentType } from '../../../types/utils';
|
26
|
+
import { SearchInput } from '../../../src/components/Input/Input';
|
27
|
+
import { filterCollection } from './utils';
|
24
28
|
export const DropdownMenu = (_a) => {
|
25
|
-
var { onAction, selectionMode, selection, onSelectionChange, placement = 'bottom-left',
|
29
|
+
var { onAction, selectionMode, selection, onSelectionChange, placement = 'bottom-left', minWidth, maxWidth, searchable = false, emptyState, children } = _a, props = __rest(_a, ["onAction", "selectionMode", "selection", "onSelectionChange", "placement", "minWidth", "maxWidth", "searchable", "emptyState", "children"]);
|
26
30
|
const triggerRef = React.useRef(null);
|
27
31
|
const overlayRef = React.useRef(null);
|
28
32
|
const [trigger, items] = extractTriggerAndItems(children);
|
@@ -39,7 +43,7 @@ export const DropdownMenu = (_a) => {
|
|
39
43
|
React.createElement(PressResponder, Object.assign({ ref: triggerRef, onPress: () => state.toggle() }, menuTriggerProps),
|
40
44
|
React.createElement(TriggerWrapper, null, trigger.props.children)),
|
41
45
|
React.createElement(PopoverWrapper, Object.assign({ ref: overlayRef, isDismissable: true, autoFocus: true, containFocus: true, isOpen: state.isOpen, onClose: state.close }, overlayProps),
|
42
|
-
React.createElement(MenuWrapper, Object.assign({ onAction: onAction, selectionMode: selectionMode, selection: selection, onSelectionChange: onSelectionChange, minWidth: minWidth, maxWidth: maxWidth }, menuProps), items.props.children))));
|
46
|
+
React.createElement(MenuWrapper, Object.assign({ onAction: onAction, selectionMode: selectionMode, selection: selection, onSelectionChange: onSelectionChange, searchable: searchable, emptyState: emptyState, minWidth: minWidth, maxWidth: maxWidth }, menuProps), items.props.children))));
|
43
47
|
};
|
44
48
|
const MenuTrigger = () => null;
|
45
49
|
const MenuItems = () => null;
|
@@ -62,21 +66,27 @@ const TriggerWrapper = (_a) => {
|
|
62
66
|
const isSectionNode = (item) => item.type === 'section';
|
63
67
|
const isItemNode = (item) => item.type === 'item';
|
64
68
|
const MenuWrapper = (_a) => {
|
65
|
-
var { selection: selectedKeys, minWidth, maxWidth } = _a, props = __rest(_a, ["selection", "minWidth", "maxWidth"]);
|
69
|
+
var { selection: selectedKeys, minWidth, maxWidth, searchable, emptyState } = _a, props = __rest(_a, ["selection", "minWidth", "maxWidth", "searchable", "emptyState"]);
|
66
70
|
const ref = React.useRef(null);
|
67
71
|
const disabledKeys = getDisabledItemKeys(props.children);
|
68
72
|
const state = useTreeState(Object.assign({ disabledKeys,
|
69
73
|
selectedKeys }, props));
|
70
74
|
const { menuProps } = useMenu(props, state, ref);
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
}
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
75
|
+
const { contains } = useFilter({ sensitivity: 'base' });
|
76
|
+
const [search, setSearch] = React.useState('');
|
77
|
+
const filteredCollection = React.useMemo(() => (searchable ? filterCollection(state.collection, search, contains) : state.collection), [state.collection, search, contains]);
|
78
|
+
return (React.createElement(Base, { minWidth: minWidth !== undefined ? `${minWidth}px` : undefined, maxWidth: maxWidth !== undefined ? `${maxWidth}px` : undefined },
|
79
|
+
searchable && (React.createElement(SearchInput, { "aria-label": "search", value: search, onChange: (e) => setSearch(e.target.value), className: tw('mb-5') })),
|
80
|
+
filteredCollection.size === 0 && emptyState && React.createElement(Base.EmptyStateContainer, null, emptyState),
|
81
|
+
React.createElement(Base.List, Object.assign({ ref: ref }, menuProps), Array.from(filteredCollection).map((item) => {
|
82
|
+
// For some reason the inverse of this typeguard is not working hence the specfic check.
|
83
|
+
if (isSectionNode(item)) {
|
84
|
+
return React.createElement(SectionWrapper, { key: item.key, section: item, state: state });
|
85
|
+
}
|
86
|
+
else if (isItemNode(item)) {
|
87
|
+
return React.createElement(ItemWrapper, { key: item.key, item: item, state: state });
|
88
|
+
}
|
89
|
+
}))));
|
80
90
|
};
|
81
91
|
const ItemWrapper = ({ item, state }) => {
|
82
92
|
const ref = React.useRef(null);
|
@@ -128,4 +138,4 @@ const getDisabledItemKeys = (children) => {
|
|
128
138
|
});
|
129
139
|
return keys.flat().filter((key) => key !== null);
|
130
140
|
};
|
131
|
-
//# sourceMappingURL=data:application/json;base64,
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25NZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRHJvcGRvd25NZW51L0Ryb3Bkb3duTWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBYSxNQUFNLHFCQUFxQixDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBVzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxJQUFJLElBQUksRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQXdI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
|
@@ -0,0 +1,4 @@
|
|
1
|
+
import { Collection, Node } from '@react-types/shared';
|
2
|
+
export declare type FilterFn = (textValue: string, inputValue: string) => boolean;
|
3
|
+
export declare const filterCollection: <T extends Record<string, unknown>>(collection: Collection<Node<T>>, inputValue: string, filter: FilterFn) => Collection<Node<T>>;
|
4
|
+
export declare const filterNodes: <T>(nodes: Iterable<Node<T>>, inputValue: string, filter: FilterFn) => Iterable<Node<T>>;
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { ListCollection } from '@react-stately/list';
|
2
|
+
export const filterCollection = (collection, inputValue, filter) => {
|
3
|
+
return new ListCollection(filterNodes(collection, inputValue, filter));
|
4
|
+
};
|
5
|
+
export const filterNodes = (nodes, inputValue, filter) => {
|
6
|
+
const filteredNode = [];
|
7
|
+
for (const node of nodes) {
|
8
|
+
if (node.type === 'section' && node.hasChildNodes) {
|
9
|
+
const filtered = filterNodes(node.childNodes, inputValue, filter);
|
10
|
+
if ([...filtered].length > 0) {
|
11
|
+
filteredNode.push(Object.assign(Object.assign({}, node), { childNodes: filtered }));
|
12
|
+
}
|
13
|
+
}
|
14
|
+
else if (node.type !== 'section' && filter(node.textValue, inputValue)) {
|
15
|
+
filteredNode.push(Object.assign({}, node));
|
16
|
+
}
|
17
|
+
}
|
18
|
+
return filteredNode;
|
19
|
+
};
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Ecm9wZG93bk1lbnUvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBSXJELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQzlCLFVBQStCLEVBQy9CLFVBQWtCLEVBQ2xCLE1BQWdCLEVBQ0ssRUFBRTtJQUN2QixPQUFPLElBQUksY0FBYyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDekUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUksS0FBd0IsRUFBRSxVQUFrQixFQUFFLE1BQWdCLEVBQXFCLEVBQUU7SUFDbEgsTUFBTSxZQUFZLEdBQUcsRUFBRSxDQUFDO0lBRXhCLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1FBQ3hCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNqRCxNQUFNLFFBQVEsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDbEUsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDNUIsWUFBWSxDQUFDLElBQUksaUNBQU0sSUFBSSxLQUFFLFVBQVUsRUFBRSxRQUFRLElBQUcsQ0FBQzthQUN0RDtTQUNGO2FBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsRUFBRTtZQUN4RSxZQUFZLENBQUMsSUFBSSxtQkFBTSxJQUFJLEVBQUcsQ0FBQztTQUNoQztLQUNGO0lBQ0QsT0FBTyxZQUFZLENBQUM7QUFDdEIsQ0FBQyxDQUFDIn0=
|
@@ -8,7 +8,7 @@ declare type ListProps<I extends Item> = {
|
|
8
8
|
/**
|
9
9
|
* Render callback function for each of your items
|
10
10
|
*/
|
11
|
-
renderItem: (item: I) => JSX.Element | null;
|
11
|
+
renderItem: (item: I, index: number) => JSX.Element | null;
|
12
12
|
/**
|
13
13
|
* Optional container element.
|
14
14
|
* @default React.Fragment
|
@@ -12,8 +12,10 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
12
12
|
import React from 'react';
|
13
13
|
import castArray from 'lodash/castArray';
|
14
14
|
import omit from 'lodash/omit';
|
15
|
-
import { Overlay, useModalOverlay
|
15
|
+
import { Overlay, useModalOverlay } from '@react-aria/overlays';
|
16
|
+
import { useDialog } from '@react-aria/dialog';
|
16
17
|
import { FocusScope } from '@react-aria/focus';
|
18
|
+
import { useId } from '@react-aria/utils';
|
17
19
|
import { useOverlayTriggerState } from '@react-stately/overlays';
|
18
20
|
import { tw } from '../../../src/utils/tailwind';
|
19
21
|
import { Modal as BaseModal } from '../../../src/common/Modal/Modal';
|
@@ -25,6 +27,14 @@ export const Modal = ({ title, open, subtitle, onClose, children, primaryAction,
|
|
25
27
|
const ref = React.useRef(null);
|
26
28
|
const state = useOverlayTriggerState({ isOpen: open });
|
27
29
|
const { modalProps, underlayProps } = useModalOverlay({ isDismissable: false }, state, ref);
|
30
|
+
const labelledBy = useId();
|
31
|
+
const describedBy = useId();
|
32
|
+
// useDialog() also returns 'titleProps', but it doesn't work correctly
|
33
|
+
// in this case because the title id is set to null after the second render.
|
34
|
+
// The problem (most likely) is somewhere in this component which causes
|
35
|
+
// it render twice when it is opened and that causes the useSlotId() hook
|
36
|
+
// in react-aria to think that the title is not rendered correctly.
|
37
|
+
const { dialogProps } = useDialog({ 'role': 'dialog', 'aria-labelledby': labelledBy, 'aria-describedby': describedBy }, ref);
|
28
38
|
if (!open) {
|
29
39
|
return null;
|
30
40
|
}
|
@@ -32,14 +42,13 @@ export const Modal = ({ title, open, subtitle, onClose, children, primaryAction,
|
|
32
42
|
React.createElement(BaseModal, { open: state.isOpen },
|
33
43
|
React.createElement(BaseModal.BackDrop, Object.assign({}, underlayProps)),
|
34
44
|
React.createElement(FocusScope, { contain: true, restoreFocus: true, autoFocus: true },
|
35
|
-
React.createElement(BaseModal.Dialog, Object.assign({ ref: ref, size: size }, modalProps),
|
36
|
-
React.createElement(DismissButton, { onDismiss: onClose }),
|
45
|
+
React.createElement(BaseModal.Dialog, Object.assign({ ref: ref, size: size }, modalProps, dialogProps),
|
37
46
|
React.createElement(BaseModal.Header, { className: tw({ 'pb-3': isComponentType(children, ModalTabs) }) },
|
38
47
|
React.createElement(BaseModal.TitleContainer, null,
|
39
|
-
React.createElement(BaseModal.Title,
|
48
|
+
React.createElement(BaseModal.Title, { id: labelledBy }, title),
|
40
49
|
subtitle && React.createElement(BaseModal.Subtitle, null, subtitle)),
|
41
50
|
React.createElement(IconButton, { "aria-label": "Close", icon: cross, onClick: onClose })),
|
42
|
-
isComponentType(children, ModalTabs) ? (React.cloneElement(children, { className: tw('[&>div:first-child]:px-5 grow') })) : (React.createElement(BaseModal.Body, { tabIndex: 0, noFooter: !(secondaryActions || primaryAction) }, children)),
|
51
|
+
isComponentType(children, ModalTabs) ? (React.cloneElement(children, { className: tw('[&>div:first-child]:px-5 grow') })) : (React.createElement(BaseModal.Body, { id: describedBy, tabIndex: 0, noFooter: !(secondaryActions || primaryAction) }, children)),
|
43
52
|
(secondaryActions || primaryAction) && (React.createElement(BaseModal.Footer, null,
|
44
53
|
React.createElement(BaseModal.Actions, null,
|
45
54
|
secondaryActions &&
|
@@ -49,9 +58,8 @@ export const Modal = ({ title, open, subtitle, onClose, children, primaryAction,
|
|
49
58
|
var { text } = _a, action = __rest(_a, ["text"]);
|
50
59
|
return (React.createElement(SecondaryButton, Object.assign({ key: text }, action), text));
|
51
60
|
}),
|
52
|
-
primaryAction && (React.createElement(PrimaryButton, Object.assign({ key: primaryAction.text }, omit(primaryAction, 'text')), primaryAction.text)))))
|
53
|
-
React.createElement(DismissButton, { onDismiss: onClose }))))));
|
61
|
+
primaryAction && (React.createElement(PrimaryButton, Object.assign({ key: primaryAction.text }, omit(primaryAction, 'text')), primaryAction.text))))))))));
|
54
62
|
};
|
55
63
|
export const ModalTabs = createTabsComponent(ModalTab, TabItem, 'ModalTabs', (children, selected, props) => (React.createElement(BaseModal.Body, { maxHeight: props.maxHeight },
|
56
64
|
React.createElement(ModalTabContainer, null, children.find((node, index) => (node === null || node === void 0 ? void 0 : node.props.value) === selected || index === selected)))));
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Nb2RhbC9Nb2RhbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLElBQUksU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUYsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixRQUFRLEVBQ1IsaUJBQWlCLEVBQ2pCLE9BQU8sR0FJUixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sS0FBSyxNQUFNLGlCQUFpQixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUErQjlDLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBeUIsQ0FBQyxFQUMxQyxLQUFLLEVBQ0wsSUFBSSxFQUNKLFFBQVEsRUFDUixPQUFPLEVBQ1AsUUFBUSxFQUNSLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsSUFBSSxHQUNMLEVB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
|
@@ -22,10 +22,11 @@ export declare type MultiInputBaseProps<Item extends unknown> = {
|
|
22
22
|
itemToString?: (opt: Item | null) => string | null;
|
23
23
|
createItem?: (value: string) => Item;
|
24
24
|
onChange?: (values: Item[] | undefined) => void;
|
25
|
+
onInputChange?: React.ChangeEventHandler<HTMLInputElement>;
|
25
26
|
isItemValid?: (item: Item, index: number) => boolean;
|
26
27
|
};
|
27
28
|
export declare const MultiInputBase: {
|
28
|
-
<Item extends unknown>({ id, name, type, placeholder, autoFocus, delimiter, defaultValue, value, endAdornment, max, maxLength, inline, itemToString, createItem, onChange, isItemValid, disabled, readOnly, valid, ...props }: MultiInputBaseProps<Item>): React.ReactElement<MultiInputBaseProps<Item>, string | React.JSXElementConstructor<any>>;
|
29
|
+
<Item extends unknown>({ id, name, type, placeholder, autoFocus, delimiter, defaultValue, value, endAdornment, max, maxLength, inline, itemToString, createItem, onChange, onInputChange, isItemValid, disabled, readOnly, valid, ...props }: MultiInputBaseProps<Item>): React.ReactElement<MultiInputBaseProps<Item>, string | React.JSXElementConstructor<any>>;
|
29
30
|
Skeleton: React.FC<{}>;
|
30
31
|
};
|
31
32
|
export declare type MultiInputProps<Item extends unknown> = MultiInputBaseProps<Item> & Omit<LabelControlProps, 'length'>;
|
@@ -22,7 +22,7 @@ import { getLabelControlProps, LabelControl } from '../../../src/utils/form/Labe
|
|
22
22
|
import { tw } from '../../../src/utils/tailwind';
|
23
23
|
export const MultiInputBase = (_a) => {
|
24
24
|
var _b;
|
25
|
-
var { id, name, type, placeholder, autoFocus, delimiter = 'enter', defaultValue, value, endAdornment, max, maxLength = max, inline = true, itemToString = (val) => String(val), createItem = (val) => val, onChange, isItemValid, disabled = false, readOnly = false, valid = true } = _a, props = __rest(_a, ["id", "name", "type", "placeholder", "autoFocus", "delimiter", "defaultValue", "value", "endAdornment", "max", "maxLength", "inline", "itemToString", "createItem", "onChange", "isItemValid", "disabled", "readOnly", "valid"]);
|
25
|
+
var { id, name, type, placeholder, autoFocus, delimiter = 'enter', defaultValue, value, endAdornment, max, maxLength = max, inline = true, itemToString = (val) => String(val), createItem = (val) => val, onChange, onInputChange, isItemValid, disabled = false, readOnly = false, valid = true } = _a, props = __rest(_a, ["id", "name", "type", "placeholder", "autoFocus", "delimiter", "defaultValue", "value", "endAdornment", "max", "maxLength", "inline", "itemToString", "createItem", "onChange", "onInputChange", "isItemValid", "disabled", "readOnly", "valid"]);
|
26
26
|
const inputRef = useRef(null);
|
27
27
|
const [items, setItems] = useState((_b = value !== null && value !== void 0 ? value : defaultValue) !== null && _b !== void 0 ? _b : []);
|
28
28
|
const [hasFocus, setFocus] = useState(false);
|
@@ -116,7 +116,7 @@ export const MultiInputBase = (_a) => {
|
|
116
116
|
React.createElement(Select.InputContainer, { variant: disabled ? 'disabled' : valid === false ? 'error' : readOnly ? 'readOnly' : hasFocus ? 'focused' : 'default' },
|
117
117
|
React.createElement("div", { className: 'grow inline-flex flex-row flex-wrap gap-y-2' },
|
118
118
|
inline && renderChips(),
|
119
|
-
React.createElement(Select.Input, Object.assign({ ref: inputRef, id: id !== null && id !== void 0 ? id : name, name: name, type: type }, props, { autoFocus: autoFocus, disabled: disabled, readOnly: readOnly, placeholder: !inline || (items === null || items === void 0 ? void 0 : items.length) === 0 ? placeholder : '', onKeyDown: handleKeyDown, onKeyUp: handleKeyUp, onPaste: handlePaste, onFocus: handleFocus, onBlur: handleBlur, autoComplete: 'off' }))),
|
119
|
+
React.createElement(Select.Input, Object.assign({ ref: inputRef, id: id !== null && id !== void 0 ? id : name, name: name, type: type }, props, { onChange: onInputChange, autoFocus: autoFocus, disabled: disabled, readOnly: readOnly, placeholder: !inline || (items === null || items === void 0 ? void 0 : items.length) === 0 ? placeholder : '', onKeyDown: handleKeyDown, onKeyUp: handleKeyUp, onPaste: handlePaste, onFocus: handleFocus, onBlur: handleBlur, autoComplete: 'off' }))),
|
120
120
|
endAdornment && React.createElement(InputAdornment, null, endAdornment)),
|
121
121
|
!inline && React.createElement("div", { className: tw('flex flex-row flex-wrap gap-y-2 mt-2') }, renderChips())));
|
122
122
|
};
|
@@ -147,4 +147,4 @@ const MultiInputSkeleton = () => (React.createElement(LabelControl.Skeleton, nul
|
|
147
147
|
React.createElement(MultiInputBase.Skeleton, null)));
|
148
148
|
MultiInput.Skeleton = MultiInputSkeleton;
|
149
149
|
MultiInput.Skeleton.displayName = 'MultiInput.Skeleton'; // this will affect the Doc code preview in storybook to not show it as <No Display Name/> or <[object Object]/>.
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXVsdGlJbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL011bHRpSW5wdXQvTXVsdGlJbnB1dC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQztBQUN6QyxPQUFPLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUMzRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBcUIsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUEyQnhDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUF1QixFQXFCekIsRUFBaUQsRUFBRTs7UUFyQjFCLEVBQ25ELEVBQUUsRUFDRixJQUFJLEVBQ0osSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEVBQ1QsU0FBUyxHQUFHLE9BQU8sRUFDbkIsWUFBWSxFQUNaLEtBQUssRUFDTCxZQUFZLEVBQ1osR0FBRyxFQUNILFNBQVMsR0FBRyxHQUFHLEVBQ2YsTUFBTSxHQUFHLElBQUksRUFDYixZQUFZLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFDbkMsVUFBVSxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFXLEVBQ2pDLFFBQVEsRUFDUixXQUFXLEVBQ1gsUUFBUSxHQUFHLEtBQUssRUFDaEIsUUFBUSxHQUFHLEtBQUssRUFDaEIsS0FBSyxHQUFHLElBQUksT0FFYyxFQUR2QixLQUFLLGNBcEIyQyxnT0FxQnBELENBRFM7SUFFUixNQUFNLFFBQVEsR0FBRyxNQUFNLENBQW1CLElBQUksQ0FBQyxDQUFDO0lBQ2hELE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFTLE1BQUEsS0FBSyxhQUFMLEtBQUssY0FBTCxLQUFLLEdBQUksWUFBWSxtQ0FBSSxFQUFFLENBQUMsQ0FBQztJQUN4RSxNQUFNLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxHQUFHLFFBQVEsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUN0RCxNQUFNLFFBQVEsR0FBRyxDQUFDLFNBQVMsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLFNBQVMsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRS9HLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYixNQUFNLGNBQWMsR0FBRyxLQUFLLEtBQUssU0FBUyxJQUFJLFlBQVksS0FBSyxTQUFTLENBQUM7UUFDekUsSUFBSSxjQUFjLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JFLFFBQVEsQ0FBQyxLQUFLLGFBQUwsS0FBSyxjQUFMLEtBQUssR0FBSSxFQUFFLENBQUMsQ0FBQztTQUN2QjtJQUNILENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTVCLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBd0MsRUFBRSxFQUFFOztRQUNqRSxRQUFRLENBQUMsQ0FBQyxHQUFHLEVBQUU7WUFDYixLQUFLLE9BQU8sQ0FBQztZQUNiLEtBQUssR0FBRyxDQUFDLENBQUM7Z0JBQ1IsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFO29CQUNoRCxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7b0JBQ3BCLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUM1QyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3RCO2dCQUNELE1BQU07YUFDUDtZQUVELEtBQUssV0FBVyxDQUFDLENBQUM7Z0JBQ2hCLE1BQU0sTUFBTSxHQUFHLE1BQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE1BQU0sbUNBQUksQ0FBQyxDQUFDO2dCQUNsQyxJQUFJLE1BQU0sSUFBSSxDQUFDLENBQUEsTUFBQSxNQUFBLFFBQVEsQ0FBQyxPQUFPLDBDQUFFLEtBQUssMENBQUUsTUFBTSxDQUFBLElBQUksTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDNUQsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUM5QjtnQkFDRCxNQUFNO2FBQ1A7WUFFRDtnQkFDRSxNQUFNO1NBQ1Q7SUFDSCxDQUFDLENBQUM7SUFFRixNQUFNLFdBQVcsR0FBRyxDQUFDLENBQXdDLEVBQUUsRUFBRTtRQUMvRCxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzVCLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUNyQjtJQUNILENBQUMsQ0FBQztJQUVGLE1BQU0sYUFBYSxHQUFHLENBQUMsS0FBd0IsRUFBRSxFQUFFO1FBQ2pELElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRTtZQUNwQixRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7U0FDN0I7UUFFRCxJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUM7aUJBQzlCLEdBQUcsQ0FBQyxVQUFVLENBQUM7aUJBQ2YsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUUzQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDLFNBQVMsYUFBVCxTQUFTLGNBQVQsU0FBUyxHQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO2dCQUNuRyxNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQUssYUFBTCxLQUFLLGNBQUwsS0FBSyxHQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDL0MsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNsQixRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUcsT0FBTyxDQUFDLENBQUM7YUFDckI7U0FDRjtJQUNILENBQUMsQ0FBQztJQUVGLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtRQUN2QyxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLGFBQUwsS0FBSyxjQUFMLEtBQUssR0FBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ25DLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsQixRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUcsT0FBTyxDQUFDLENBQUM7SUFDdEIsQ0FBQyxDQUFDO0lBRUYsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUF5QyxFQUFFLEVBQUU7UUFDaEUsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ25CLE1BQU0sVUFBVSxHQUFJLENBQUMsQ0FBQyxhQUE4QixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMzRSxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoRCxNQUFNLGNBQWMsR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sYUFBYSxHQUFHLENBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsQ0FBQzthQUNyRSxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2FBQ25DLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0IsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZGLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1QixDQUFDLENBQUM7SUFFRixNQUFNLFdBQVcsR0FBRyxHQUFHLEVBQUU7UUFDdkIsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pCLENBQUMsQ0FBQztJQUVGLE1BQU0sVUFBVSxHQUFHLEdBQUcsRUFBRTs7UUFDdEIsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hCLE1BQU0sS0FBSyxHQUFHLE1BQUEsUUFBUSxDQUFDLE9BQU8sMENBQUUsS0FBSyxDQUFDO1FBQ3RDLElBQUksS0FBSyxFQUFFO1lBQ1QsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsTUFBTSxXQUFXLEdBQUcsR0FBRyxFQUFFLENBQ3ZCLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7O1FBQUMsT0FBQSxDQUMxQixvQkFBQyxTQUFTLElBQ1IsR0FBRyxFQUFFLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssRUFBRSxFQUNyQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQUEsV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFHLElBQUksRUFBRSxLQUFLLENBQUMsbUNBQUksSUFBSSxDQUFDLEVBQzlDLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNiLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDcEIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsQ0FBQyxJQUVBLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FDVCxDQUNiLENBQUE7S0FBQSxDQUFDLENBQUM7SUFFTCxPQUFPLENBQ0w7UUFDRSxvQkFBQyxNQUFNLENBQUMsY0FBYyxJQUNwQixPQUFPLEVBQ0wsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBRzlHLDZCQUFLLFNBQVMsRUFBRSw2Q0FBNkM7Z0JBQzFELE1BQU0sSUFBSSxXQUFXLEVBQUU7Z0JBRXhCLG9CQUFDLE1BQU0sQ0FBQyxLQUFLLGtCQUNYLEdBQUcsRUFBRSxRQUFRLEVBQ2IsRUFBRSxFQUFFLEVBQUUsYUFBRixFQUFFLGNBQUYsRUFBRSxHQUFJLElBQUksRUFDZCxJQUFJLEVBQUUsSUFBSSxFQUNWLElBQUksRUFBRSxJQUFJLElBQ04sS0FBSyxJQUNULFNBQVMsRUFBRSxTQUFTLEVBQ3BCLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLFdBQVcsRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxNQUFNLE1BQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDOUQsU0FBUyxFQUFFLGFBQWEsRUFDeEIsT0FBTyxFQUFFLFdBQVcsRUFDcEIsT0FBTyxFQUFFLFdBQVcsRUFDcEIsT0FBTyxFQUFFLFdBQVcsRUFDcEIsTUFBTSxFQUFFLFVBQVUsRUFDbEIsWUFBWSxFQUFFLEtBQUssSUFDbkIsQ0FDRTtZQUVMLFlBQVksSUFBSSxvQkFBQyxjQUFjLFFBQUUsWUFBWSxDQUFrQixDQUMxQztRQUV2QixDQUFDLE1BQU0sSUFBSSw2QkFBSyxTQUFTLEVBQUUsRUFBRSxDQUFDLHNDQUFzQyxDQUFDLElBQUcsV0FBVyxFQUFFLENBQU8sQ0FDekYsQ0FDUCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxzQkFBc0IsR0FBYSxHQUFHLEVBQUUsQ0FBQyxvQkFBQyxRQUFRLElBQUMsTUFBTSxFQUFFLEVBQUUsR0FBSSxDQUFDO0FBRXhFLGNBQWMsQ0FBQyxRQUFRLEdBQUcsc0JBQXNCLENBQUM7QUFJakQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQ3hCLEtBQTRCLEVBQ2UsRUFBRTs7SUFDN0MsTUFBTSxTQUFTLEdBQUcsTUFBQSxLQUFLLENBQUMsU0FBUyxtQ0FBSSxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQy9DLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFTLE1BQUEsTUFBQSxLQUFLLENBQUMsS0FBSyxtQ0FBSSxLQUFLLENBQUMsWUFBWSxtQ0FBSSxFQUFFLENBQUMsQ0FBQztJQUVwRixTQUFTLENBQUMsR0FBRyxFQUFFOztRQUNiLFFBQVEsQ0FBQyxNQUFBLEtBQUssQ0FBQyxLQUFLLG1DQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlCLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVsQyxzR0FBc0c7SUFDdEcsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFTLE1BQUEsTUFBQSxLQUFLLENBQUMsRUFBRSxtQ0FBSSxLQUFLLENBQUMsSUFBSSxtQ0FBSSxjQUFjLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoRixNQUFNLGNBQWMsR0FBRyxRQUFRLEVBQUUsQ0FBQztJQUNsQyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDN0csTUFBTSxpQkFBaUIsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0RCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0lBRTlELE9BQU8sQ0FDTCxvQkFBQyxZQUFZLGtCQUNYLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLFFBQVEsRUFDekIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sUUFBUSxFQUM5QixTQUFTLEVBQUUsY0FBYyxJQUNyQixpQkFBaUIsSUFDckIsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQ3BCLFNBQVMsRUFBRSxTQUFTO1FBRXBCLG9CQUFDLGNBQWMsb0JBQ1QsU0FBUyxFQUNULFVBQVUsSUFDZCxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxRQUFRLEVBQ3pCLFFBQVEsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFOztnQkFDbEIsUUFBUSxDQUFDLEtBQUssYUFBTCxLQUFLLGNBQUwsS0FBSyxHQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUN0QixNQUFBLEtBQUssQ0FBQyxRQUFRLHNEQUFHLEtBQUssQ0FBQyxDQUFDO1lBQzFCLENBQUMsRUFDRCxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFDeEIsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQzFCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxJQUNsQixDQUNXLENBQ2hCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLGtCQUFrQixHQUFhLEdBQUcsRUFBRSxDQUFDLENBQ3pDLG9CQUFDLFlBQVksQ0FBQyxRQUFRO0lBQ3BCLG9CQUFDLGNBQWMsQ0FBQyxRQUFRLE9BQUcsQ0FDTCxDQUN6QixDQUFDO0FBRUYsVUFBVSxDQUFDLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQztBQUN6QyxVQUFVLENBQUMsUUFBUSxDQUFDLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDLGlIQUFpSCJ9
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXVsdGlJbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL011bHRpSW5wdXQvTXVsdGlJbnB1dC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQztBQUN6QyxPQUFPLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUMzRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBcUIsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUE0QnhDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUF1QixFQXNCekIsRUFBaUQsRUFBRTs7UUF0QjFCLEVBQ25ELEVBQUUsRUFDRixJQUFJLEVBQ0osSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEVBQ1QsU0FBUyxHQUFHLE9BQU8sRUFDbkIsWUFBWSxFQUNaLEtBQUssRUFDTCxZQUFZLEVBQ1osR0FBRyxFQUNILFNBQVMsR0FBRyxHQUFHLEVBQ2YsTUFBTSxHQUFHLElBQUksRUFDYixZQUFZLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMs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
|
@@ -0,0 +1,42 @@
|
|
1
|
+
declare type PaginationState = {
|
2
|
+
/**
|
3
|
+
* Current page number. Not an index, starts from 1.
|
4
|
+
*/
|
5
|
+
currentPage: number;
|
6
|
+
/**
|
7
|
+
* Page size. Tells how many items fit in one page
|
8
|
+
*/
|
9
|
+
pageSize: number;
|
10
|
+
/**
|
11
|
+
* Total amount of pages. Calculated from amount of items and page size.
|
12
|
+
*/
|
13
|
+
totalPages: number;
|
14
|
+
/**
|
15
|
+
* True when the hook has next page available.
|
16
|
+
*/
|
17
|
+
hasNextPage: boolean;
|
18
|
+
/**
|
19
|
+
* True when the hook has next previous available.
|
20
|
+
*/
|
21
|
+
hasPreviousPage: boolean;
|
22
|
+
/**
|
23
|
+
* Callback function to change current page.
|
24
|
+
*/
|
25
|
+
onPageChange: (page: number) => void;
|
26
|
+
/**
|
27
|
+
* Callback function to change current page size.
|
28
|
+
*/
|
29
|
+
onPageSizeChange: (size: number) => void;
|
30
|
+
};
|
31
|
+
declare type PaginationOptions = {
|
32
|
+
/**
|
33
|
+
* Initial page in case you do not want to star from page 1.
|
34
|
+
*/
|
35
|
+
initialPage?: number;
|
36
|
+
/**
|
37
|
+
* Initial page size if you do not want to start from 10.
|
38
|
+
*/
|
39
|
+
initialPageSize?: number;
|
40
|
+
};
|
41
|
+
export declare const usePagination: <Item extends unknown>(items: Item[], options?: PaginationOptions) => [Item[], PaginationState];
|
42
|
+
export {};
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import { useState, useEffect } from 'react';
|
2
|
+
const initialState = {
|
3
|
+
currentPage: 1,
|
4
|
+
pageSize: 10,
|
5
|
+
};
|
6
|
+
const getPageIndex = (currentPage, pageSize) => (currentPage === 0 ? 0 : (currentPage - 1) * pageSize);
|
7
|
+
export const usePagination = (items, options) => {
|
8
|
+
const [currentPage, setCurrentPage] = useState((options === null || options === void 0 ? void 0 : options.initialPage) || initialState.currentPage);
|
9
|
+
const [pageSize, setPageSize] = useState((options === null || options === void 0 ? void 0 : options.initialPageSize) || initialState.pageSize);
|
10
|
+
const totalPages = items.length > 0 ? Math.ceil(items.length / pageSize) : 1;
|
11
|
+
const hasPreviousPage = currentPage > 1;
|
12
|
+
const hasNextPage = currentPage < totalPages;
|
13
|
+
const pageIndex = getPageIndex(currentPage, pageSize);
|
14
|
+
const onPageSizeChange = (pageSize) => {
|
15
|
+
setPageSize(pageSize);
|
16
|
+
setCurrentPage((options === null || options === void 0 ? void 0 : options.initialPage) || initialState.currentPage);
|
17
|
+
};
|
18
|
+
useEffect(() => {
|
19
|
+
setCurrentPage((options === null || options === void 0 ? void 0 : options.initialPage) || initialState.currentPage);
|
20
|
+
}, [items.length]);
|
21
|
+
return [
|
22
|
+
items.slice(pageIndex, Math.min(pageIndex + pageSize, items.length)),
|
23
|
+
{
|
24
|
+
currentPage,
|
25
|
+
totalPages,
|
26
|
+
pageSize,
|
27
|
+
hasPreviousPage,
|
28
|
+
hasNextPage,
|
29
|
+
onPageChange: setCurrentPage,
|
30
|
+
onPageSizeChange,
|
31
|
+
},
|
32
|
+
];
|
33
|
+
};
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlUGFnaW5hdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1BhZ2luYXRpb24vdXNlUGFnaW5hdGlvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFPNUMsTUFBTSxZQUFZLEdBQVU7SUFDMUIsV0FBVyxFQUFFLENBQUM7SUFDZCxRQUFRLEVBQUUsRUFBRTtDQUNiLENBQUM7QUE0Q0YsTUFBTSxZQUFZLEdBQUcsQ0FBQyxXQUFtQixFQUFFLFFBQWdCLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztBQUV2SCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FDM0IsS0FBYSxFQUNiLE9BQTJCLEVBQ0EsRUFBRTtJQUM3QixNQUFNLENBQUMsV0FBVyxFQUFFLGNBQWMsQ0FBQyxHQUFHLFFBQVEsQ0FBUyxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxXQUFXLEtBQUksWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLEdBQUcsUUFBUSxDQUFTLENBQUEsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLGVBQWUsS0FBSSxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEcsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdFLE1BQU0sZUFBZSxHQUFHLFdBQVcsR0FBRyxDQUFDLENBQUM7SUFDeEMsTUFBTSxXQUFXLEdBQUcsV0FBVyxHQUFHLFVBQVUsQ0FBQztJQUM3QyxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRXRELE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUU7UUFDNUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3RCLGNBQWMsQ0FBQyxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxXQUFXLEtBQUksWUFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ25FLENBQUMsQ0FBQztJQUVGLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYixjQUFjLENBQUMsQ0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsV0FBVyxLQUFJLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUVuQixPQUFPO1FBQ0wsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRTtZQUNFLFdBQVc7WUFDWCxVQUFVO1lBQ1YsUUFBUTtZQUNSLGVBQWU7WUFDZixXQUFXO1lBQ1gsWUFBWSxFQUFFLGNBQWM7WUFDNUIsZ0JBQWdCO1NBQ2pCO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQyJ9
|