@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.
Files changed (58) hide show
  1. package/dist/_variables.scss +2 -1
  2. package/dist/_variables_timescale.scss +2 -1
  3. package/dist/atoms.cjs +822 -623
  4. package/dist/atoms.mjs +821 -623
  5. package/dist/src/common/Alert/Alert.d.ts +1 -1
  6. package/dist/src/common/Alert/Alert.js +3 -3
  7. package/dist/src/common/Banner/Banner.d.ts +5 -1
  8. package/dist/src/common/Banner/Banner.js +5 -3
  9. package/dist/src/common/DropdownMenu/DropdownMenu.d.ts +8 -3
  10. package/dist/src/common/DropdownMenu/DropdownMenu.js +12 -2
  11. package/dist/src/common/Modal/Modal.js +3 -3
  12. package/dist/src/common/Section/Section.d.ts +14 -0
  13. package/dist/src/common/Section/Section.js +46 -0
  14. package/dist/src/common/Timeline/Timeline.d.ts +18 -0
  15. package/dist/src/common/Timeline/Timeline.js +43 -0
  16. package/dist/src/common/Typography/Typography.d.ts +3 -2
  17. package/dist/src/common/Typography/Typography.js +15 -3
  18. package/dist/src/components/Alert/Alert.js +2 -2
  19. package/dist/src/components/Banner/Banner.d.ts +3 -1
  20. package/dist/src/components/Banner/Banner.js +3 -3
  21. package/dist/src/components/Box/Box.d.ts +6 -2
  22. package/dist/src/components/Box/Box.js +6 -2
  23. package/dist/src/components/DataTable/DataTable.d.ts +15 -12
  24. package/dist/src/components/DataTable/DataTable.js +11 -4
  25. package/dist/src/components/Dialog/Dialog.js +35 -12
  26. package/dist/src/components/DropdownMenu/DropdownMenu.d.ts +7 -1
  27. package/dist/src/components/DropdownMenu/DropdownMenu.js +23 -13
  28. package/dist/src/components/DropdownMenu/utils.d.ts +4 -0
  29. package/dist/src/components/DropdownMenu/utils.js +20 -0
  30. package/dist/src/components/List/List.d.ts +1 -1
  31. package/dist/src/components/Modal/Modal.js +16 -8
  32. package/dist/src/components/MultiInput/MultiInput.d.ts +2 -1
  33. package/dist/src/components/MultiInput/MultiInput.js +3 -3
  34. package/dist/src/components/Pagination/usePagination.d.ts +42 -0
  35. package/dist/src/components/Pagination/usePagination.js +34 -0
  36. package/dist/src/components/Section/Section.d.ts +17 -0
  37. package/dist/src/components/Section/Section.js +32 -0
  38. package/dist/src/components/Skeleton/Skeleton.d.ts +7 -2
  39. package/dist/src/components/Skeleton/Skeleton.js +5 -4
  40. package/dist/src/components/Template/Template.d.ts +18 -0
  41. package/dist/src/components/Template/Template.js +18 -0
  42. package/dist/src/components/Timeline/Timeline.d.ts +27 -0
  43. package/dist/src/components/Timeline/Timeline.js +41 -0
  44. package/dist/src/components/index.d.ts +4 -1
  45. package/dist/src/components/index.js +5 -2
  46. package/dist/src/utils/Blueprint.d.ts +2 -0
  47. package/dist/src/utils/Blueprint.js +29 -0
  48. package/dist/styles.css +52 -32
  49. package/dist/styles_timescaledb.css +52 -32
  50. package/dist/system.cjs +2837 -2134
  51. package/dist/system.mjs +2820 -2120
  52. package/dist/tailwind.config.js +1 -1
  53. package/dist/tailwind.theme.json +1 -0
  54. package/dist/tsconfig.module.tsbuildinfo +1 -1
  55. package/dist/types/tailwindGenerated.d.ts +1 -1
  56. package/package.json +2 -2
  57. package/dist/src/components/Positioner/Positioner.d.ts +0 -21
  58. 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 TextColumn<T> = Column & {
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: keyof T & (string | number);
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
- * Type of the column.
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
- type: 'number';
34
+ formatter?: Formatter<T, K>;
35
+ } : never;
36
+ declare type TextColumn<T> = FieldColumn<T>;
37
+ declare type NumberColumn<T> = FieldColumn<T> & {
31
38
  /**
32
- * Name of the property field that this column represents in the data rows.
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
- sortable?: boolean;
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, orderBy(rows, [sort === null || sort === void 0 ? void 0 : sort.key], [toSortDirection(sort === null || sort === void 0 ? void 0 : sort.direction)]).map((row) => (React.createElement(Table.Row, { key: row.id }, columns.map((column, index) => isFieldColumn(column) ? (React.createElement(Table.Cell, { key: column.field, align: isNumberColumn(column) ? 'right' : 'left' }, row[column.field])) : isStatusColumn(column) ? (React.createElement(Table.Cell, { key: column.headerName },
51
- React.createElement(StatusChip, Object.assign({ dense: true }, column.status(row, index, rows))))) : isActionColumn(column) ? (React.createElement(Table.Cell, { align: "right", key: column.headerName },
52
- React.createElement(SecondaryButton, Object.assign({ dense: true }, renameProperty('text', 'children', column.action(row, index, rows)))))) : (React.createElement(Table.Cell, { key: column.headerName }, column.UNSAFE_render(row, index, rows))))))))));
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YVRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRGF0YVRhYmxlL0RhdGFUYWJsZS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLEVBQWMsTUFBTSw0QkFBNEIsQ0FBQztBQUUvRCxPQUFPLEVBQWMsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQW1IckMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxTQUFvQyxFQUFFLEVBQUUsQ0FDL0QsU0FBUyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUVsRixNQUFNLGFBQWEsR0FBRyxDQUF5QixNQUEwQixFQUE0QixFQUFFLENBQ3JHLE9BQU8sQ0FBRSxNQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBRTVDLE1BQU0sY0FBYyxHQUFHLENBQXlCLE1BQTBCLEVBQTZCLEVBQUUsQ0FDdEcsTUFBMEIsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDO0FBRWhELE1BQU0sY0FBYyxHQUFHLENBQXlCLE1BQTBCLEVBQTZCLEVBQUUsQ0FDdEcsTUFBMEIsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDO0FBRWhELE1BQU0sY0FBYyxHQUFHLENBQXlCLE1BQTBCLEVBQTZCLEVBQUUsQ0FDdEcsTUFBMEIsQ0FBQyxJQUFJ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
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, }) => (React.createElement(Modal, { open: open },
8
- React.createElement(Modal.BackDrop, null),
9
- React.createElement(Modal.Dialog, { size: "sm" },
10
- React.createElement(Modal.Header, null,
11
- React.createElement(Icon, { icon: DIALOG_ICONS_AND_COLORS[type].icon, color: DIALOG_ICONS_AND_COLORS[type].color, fontSize: 20 }),
12
- React.createElement(Modal.Title, { variant: "body-large", color: DIALOG_ICONS_AND_COLORS[type].color }, title)),
13
- React.createElement(Modal.Body, null, children),
14
- React.createElement(Modal.Footer, null,
15
- React.createElement(Modal.Actions, null,
16
- secondaryAction && (React.createElement(GhostButton, Object.assign({ key: secondaryAction.text }, omit(secondaryAction, 'text')), secondaryAction.text)),
17
- React.createElement(SecondaryButton, Object.assign({ key: primaryAction.text }, omit(primaryAction, 'text')), primaryAction.text))))));
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUMvQixPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0MsT0FBTyxFQUFjLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFzQi9FLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBMEIsQ0FBQyxFQUM1QyxLQUFLLEVBQ0wsSUFBSSxHQUFHLGNBQWMsRUFDckIsSUFBSSxFQUNKLFFBQVEsRUFDUixhQUFhLEVBQ2IsZUFBZSxHQUNoQixFQUFFLEVBQUUsQ0FBQyxDQUNKLG9CQUFDLEtBQUssSUFBQyxJQUFJLEVBQUUsSUFBSTtJQUNmLG9CQUFDLEtBQUssQ0FBQyxRQUFRLE9BQUc7SUFDbEIsb0JBQUMsS0FBSyxDQUFDLE1BQU0sSUFBQyxJQUFJLEVBQUMsSUFBSTtRQUNyQixvQkFBQyxLQUFLLENBQUMsTUFBTTtZQUNYLG9CQUFDLElBQUksSUFBQyxJQUFJLEVBQUUsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQUUsR0FBSTtZQUM1RyxvQkFBQyxLQUFLLENBQUMsS0FBSyxJQUFDLE9BQU8sRUFBQyxZQUFZLEVBQUMsS0FBSyxFQUFFLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssSUFDekUsS0FBSyxDQUNNLENBQ0Q7UUFDZixvQkFBQyxLQUFLLENBQUMsSUFBSSxRQUFFLFFBQVEsQ0FBYztRQUNuQyxvQkFBQyxLQUFLLENBQUMsTUFBTTtZQUNYLG9CQUFDLEtBQUssQ0FBQyxPQUFPO2dCQUNYLGVBQWUsSUFBSSxDQUNsQixvQkFBQyxXQUFXLGtCQUFDLEdBQUcsRUFBRSxlQUFlLENBQUMsSUFBSSxJQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLEdBQ3RFLGVBQWUsQ0FBQyxJQUFJLENBQ1QsQ0FDZjtnQkFDRCxvQkFBQyxlQUFlLGtCQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsSUFBSSxJQUFNLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLEdBQ3RFLGFBQWEsQ0FBQyxJQUFJLENBQ0gsQ0FDSixDQUNILENBQ0YsQ0FDVCxDQUNULENBQUMifQ==
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', children, minWidth, maxWidth } = _a, props = __rest(_a, ["onAction", "selectionMode", "selection", "onSelectionChange", "placement", "children", "minWidth", "maxWidth"]);
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
- return (React.createElement(Base, Object.assign({ ref: ref }, menuProps, { minWidth: minWidth !== undefined ? `${minWidth}px` : undefined, maxWidth: maxWidth !== undefined ? `${maxWidth}px` : undefined }), Array.from(state.collection).map((item) => {
72
- // For some reason the inverse of this typeguard is not working hence the specfic check.
73
- if (isSectionNode(item)) {
74
- return React.createElement(SectionWrapper, { key: item.key, section: item, state: state });
75
- }
76
- else if (isItemNode(item)) {
77
- return React.createElement(ItemWrapper, { key: item.key, item: item, state: state });
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25NZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRHJvcGRvd25NZW51L0Ryb3Bkb3duTWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFhLE1BQU0scUJBQXFCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFXMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLFlBQVksSUFBSSxJQUFJLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBMkg5QyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBS3JCLENBQUMsRUFVSixFQUFFLEVBQUU7UUFWQSxFQUNILFFBQVEsRUFDUixhQUFhLEVBQ2IsU0FBUyxFQUNULGlCQUFpQixFQUNqQixTQUFTLEdBQUcsYUFBYSxFQUN6QixRQUFRLEVBQ1IsUUFBUSxFQUNSLFFBQVEsT0FFVCxFQURJLEtBQUssY0FUTCxnSEFV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
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, DismissButton } from '@react-aria/overlays';
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, null, 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Nb2RhbC9Nb2RhbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEMsT0FBTyxFQUFFLEtBQUssSUFBSSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLFFBQVEsRUFDUixpQkFBaUIsRUFDakIsT0FBTyxHQUlSLE1BQU0sMEJBQTBCLENBQUM7QUFFbEMsT0FBTyxLQUFLLE1BQU0saUJBQWlCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQStCOUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUF5QixDQUFDLEVBQzFDLEtBQUssRUFDTCxJQUFJLEVBQ0osUUFBUSxFQUNSLE9BQU8sRUFDUCxRQUFRLEVBQ1IsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixJQUFJLEdBQ0wsRUFBRSxFQUFFO0lBQ0gsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBaUIsSUFBSSxDQUFDLENBQUM7SUFDL0MsTUFBTSxL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
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Nb2RhbC9Nb2RhbC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxTQUFTLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxLQUFLLElBQUksU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUYsT0FBTyxFQUNMLG1CQUFtQixFQUNuQixRQUFRLEVBQ1IsaUJBQWlCLEVBQ2pCLE9BQU8sR0FJUixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sS0FBSyxNQUFNLGlCQUFpQixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUErQjlDLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBeUIsQ0FBQyxFQUMxQyxLQUFLLEVBQ0wsSUFBSSxFQUNKLFFBQVEsRUFDUixPQUFPLEVBQ1AsUUFBUSxFQUNSLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsSUFBSSxHQUNMLEVBQUUsRUFBRTtJQUNILE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQWlCLElBQUksQ0FBQyxDQUFDO0lBQy9DLE1BQU0sS0FBSyxHQUFHLHNCQUFzQixDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDdkQsTUFBTSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsR0FBRyxlQUFlLENBQUMsRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzVGLE1BQU0sVUFBVSxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQzNCLE1BQU0sV0FBVyxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQzVCLHVFQUF1RTtJQUN2RSw0RUFBNEU7SUFDNUUsd0VBQXdFO0lBQ3hFLHlFQUF5RTtJQUN6RSxtRUFBbUU7SUFDbkUsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLFNBQVMsQ0FDL0IsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsRUFDcEYsR0FBRyxDQUNKLENBQUM7SUFFRixJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ1QsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELE9BQU8sQ0FDTCxvQkFBQyxPQUFPO1FBQ04sb0JBQUMsU0FBUyxJQUFDLElBQUksRUFBRSxLQUFLLENBQUMsTUFBTTtZQUMzQixvQkFBQyxTQUFTLENBQUMsUUFBUSxvQkFBSyxhQUFhLEVBQUk7WUFDekMsb0JBQUMsVUFBVSxJQUFDLE9BQU8sUUFBQyxZQUFZLFFBQUMsU0FBUztnQkFDeEMsb0JBQUMsU0FBUyxDQUFDLE1BQU0sa0JBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFNLFVBQVUsRUFBTSxXQUFXO29CQUtyRSxvQkFBQyxTQUFTLENBQUMsTUFBTSxJQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDO3dCQUMvRSxvQkFBQyxTQUFTLENBQUMsY0FBYzs0QkFDdkIsb0JBQUMsU0FBUyxDQUFDLEtBQUssSUFBQyxFQUFFLEVBQUUsVUFBVSxJQUFHLEtBQUssQ0FBbUI7NEJBQ3pELFFBQVEsSUFBSSxvQkFBQyxTQUFTLENBQUMsUUFBUSxRQUFFLFFBQVEsQ0FBc0IsQ0FDdkM7d0JBQzNCLG9CQUFDLFVBQVUsa0JBQVksT0FBTyxFQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE9BQU8sR0FBSSxDQUMvQztvQkFDbEIsZUFBZSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDdEMsS0FBSyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLCtCQUErQixDQUFDLEVBQUUsQ0FBQyxDQUNqRixDQUFDLENBQUMsQ0FBQyxDQUNGLG9CQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLElBQUksYUFBYSxDQUFDLElBQ3pGLFFBQVEsQ0FDTSxDQUNsQjtvQkFDQSxDQUFDLGdCQUFnQixJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQ3RDLG9CQUFDLFNBQVMsQ0FBQyxNQUFNO3dCQUNmLG9CQUFDLFNBQVMsQ0FBQyxPQUFPOzRCQUNmLGdCQUFnQjtnQ0FDZixTQUFTLENBQUMsZ0JBQWdCLENBQUM7cUNBQ3hCLE1BQU0sQ0FBQyxPQUFPLENBQUM7cUNBQ2YsR0FBRyxDQUFDLENBQUMsRUFBbUIsRUFBRSxFQUFFO3dDQUF2QixFQUFFLElBQUksT0FBYSxFQUFSLE1BQU0sY0FBakIsUUFBbUIsQ0FBRjtvQ0FBTyxPQUFBLENBQzVCLG9CQUFDLGVBQWUsa0JBQUMsR0FBRyxFQUFFLElBQUksSUFBTSxNQUFNLEdBQ25DLElBQUksQ0FDVyxDQUNuQixDQUFBO2lDQUFBLENBQUM7NEJBQ0wsYUFBYSxJQUFJLENBQ2hCLG9CQUFDLGFBQWEsa0JBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxJQUFJLElBQU0sSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsR0FDcEUsYUFBYSxDQUFDLElBQUksQ0FDTCxDQUNqQixDQUNpQixDQUNILENBQ3BCLENBQ2dCLENBQ1IsQ0FDSCxDQUNKLENBQ1gsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FDMUMsUUFBUSxFQUNSLE9BQU8sRUFDUCxXQUFXLEVBQ1gsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FDN0Isb0JBQUMsU0FBUyxDQUFDLElBQUksSUFBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7SUFDeEMsb0JBQUMsaUJBQWlCLFFBQ2YsUUFBUSxDQUFDLElBQUksQ0FDWixDQUFDLElBQThDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDeEQsQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsS0FBSyxDQUFDLEtBQUssTUFBSyxRQUFRLElBQUksS0FBSyxLQUFLLFFBQVEsQ0FDdkQsQ0FDaUIsQ0FDTCxDQUNsQixDQUNGLENBQUMifQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTXVsdGlJbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL011bHRpSW5wdXQvTXVsdGlJbnB1dC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQztBQUN6QyxPQUFPLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUMzRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBcUIsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUEyQnhDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUF1QixFQXFCekIsRUFBaUQsRUFBRTs7UUFyQjFCLEVBQ25ELEVBQUUsRUFDRixJQUFJLEVBQ0osSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEVBQ1QsU0FBUyxHQUFHLE9BQU8sRUFDbkIsWUFBWSxFQUNaLEtBQUssRUFDTCxZQUFZLEVBQ1osR0FBRyxFQUNILFNBQVMsR0FBRyxHQUFHLEVBQ2YsTUFBTSxHQUFHLElBQUksRUFDYixZQUFZLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMs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
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