@aivenio/aquarium 1.52.1 → 1.53.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 +5 -1
- package/dist/atoms.cjs +41 -11
- package/dist/atoms.mjs +41 -11
- package/dist/charts.cjs +75 -50
- package/dist/charts.mjs +60 -37
- package/dist/src/atoms/Alert/Alert.js +1 -1
- package/dist/src/atoms/Card/Card.d.ts +4 -0
- package/dist/src/atoms/Card/Card.js +9 -4
- package/dist/src/atoms/DropdownMenu/DropdownMenu.d.ts +4 -3
- package/dist/src/atoms/DropdownMenu/DropdownMenu.js +3 -3
- package/dist/src/charts/Label/Label.d.ts +7 -0
- package/dist/src/charts/Label/Label.js +10 -0
- package/dist/src/charts/index.d.ts +1 -0
- package/dist/src/charts/index.js +2 -1
- package/dist/src/molecules/Badge/Badge.js +4 -4
- package/dist/src/molecules/Box/Box.d.ts +4 -1
- package/dist/src/molecules/Box/Box.js +3 -2
- package/dist/src/molecules/Card/Card.d.ts +2 -0
- package/dist/src/molecules/Card/Card.js +37 -6
- package/dist/src/molecules/Card/Compact.js +34 -6
- package/dist/src/molecules/Card/Group.d.ts +29 -0
- package/dist/src/molecules/Card/Group.js +12 -0
- package/dist/src/molecules/Card/types.d.ts +28 -1
- package/dist/src/molecules/Carousel/Carousel.js +2 -2
- package/dist/src/molecules/DataList/DataList.d.ts +4 -4
- package/dist/src/molecules/DataList/DataList.js +20 -8
- package/dist/src/molecules/DataTable/DataTable.d.ts +4 -3
- package/dist/src/molecules/DataTable/DataTable.js +7 -7
- package/dist/src/molecules/DropdownMenu/DropdownMenu.d.ts +10 -2
- package/dist/src/molecules/DropdownMenu/DropdownMenu.js +5 -5
- package/dist/src/molecules/List/List.d.ts +29 -8
- package/dist/src/molecules/List/List.js +36 -5
- package/dist/src/molecules/List/useStaticInfiniteList.d.ts +23 -0
- package/dist/src/molecules/List/useStaticInfiniteList.js +24 -0
- package/dist/src/molecules/Section/Section.js +7 -4
- package/dist/src/molecules/Template/Template.d.ts +2 -8
- package/dist/src/molecules/Template/Template.js +16 -9
- package/dist/src/molecules/index.d.ts +1 -0
- package/dist/src/molecules/index.js +2 -1
- package/dist/src/utils/mocks/mockIntersectionObserver.js +2 -1
- package/dist/src/utils/setupTests.js +4 -1
- package/dist/src/utils/table/types.d.ts +2 -2
- package/dist/src/utils/table/types.js +23 -6
- package/dist/src/utils/useInView.d.ts +17 -0
- package/dist/src/utils/useInView.js +35 -0
- package/dist/styles.css +78 -16
- package/dist/system.cjs +1542 -1255
- package/dist/system.mjs +1339 -1053
- package/dist/tailwind.config.js +5 -1
- package/dist/tsconfig.module.tsbuildinfo +1 -1
- package/dist/types/tailwindGenerated.d.ts +1 -1
- package/dist/types/utils.d.ts +3 -0
- package/package.json +2 -1
@@ -26,7 +26,7 @@ import { tw } from '../../../src/utils/tailwind';
|
|
26
26
|
import { isComponentType } from '../../../types/utils';
|
27
27
|
import { filterCollection } from './utils';
|
28
28
|
export const DropdownMenu = (_a) => {
|
29
|
-
var { onAction, selectionMode, selection, onSelectionChange, placement = 'bottom-left', minWidth, maxWidth, searchable = false, emptyState, header, footer, children } = _a, props = __rest(_a, ["onAction", "selectionMode", "selection", "onSelectionChange", "placement", "minWidth", "maxWidth", "searchable", "emptyState", "header", "footer", "children"]);
|
29
|
+
var { onAction, selectionMode, selection, onSelectionChange, placement = 'bottom-left', minWidth, maxWidth, minHeight, maxHeight, searchable = false, emptyState, header, footer, children } = _a, props = __rest(_a, ["onAction", "selectionMode", "selection", "onSelectionChange", "placement", "minWidth", "maxWidth", "minHeight", "maxHeight", "searchable", "emptyState", "header", "footer", "children"]);
|
30
30
|
const triggerRef = React.useRef(null);
|
31
31
|
const [trigger, items] = extractTriggerAndItems(children);
|
32
32
|
const state = useMenuTriggerState(props);
|
@@ -35,7 +35,7 @@ export const DropdownMenu = (_a) => {
|
|
35
35
|
React.createElement(PressResponder, Object.assign({ ref: triggerRef, onPress: () => state.toggle() }, omit(menuTriggerProps, ['id', 'aria-expanded'])),
|
36
36
|
React.createElement(TriggerWrapper, { "aria-expanded": menuTriggerProps['aria-expanded'] }, trigger.props.children)),
|
37
37
|
state.isOpen && (React.createElement(PopoverOverlay, { className: "Aquarium-DropdownMenu", triggerRef: triggerRef, state: state, placement: placement, focusable: false },
|
38
|
-
React.createElement(MenuWrapper, Object.assign({ onAction: onAction, selectionMode: selectionMode, selection: selection, onSelectionChange: onSelectionChange, searchable: searchable, emptyState: emptyState, minWidth: minWidth, maxWidth: maxWidth, header: header, footer: footer }, menuProps), items.props.children)))));
|
38
|
+
React.createElement(MenuWrapper, Object.assign({ onAction: onAction, selectionMode: selectionMode, selection: selection, onSelectionChange: onSelectionChange, searchable: searchable, emptyState: emptyState, minWidth: minWidth, maxWidth: maxWidth, maxHeight: maxHeight, minHeight: minHeight, header: header, footer: footer }, menuProps), items.props.children)))));
|
39
39
|
};
|
40
40
|
DropdownMenu.displayName = 'DropdownMenu';
|
41
41
|
const MenuTrigger = () => null;
|
@@ -63,7 +63,7 @@ const TriggerWrapper = (_a) => {
|
|
63
63
|
const isSectionNode = (item) => item.type === 'section';
|
64
64
|
const isItemNode = (item) => item.type === 'item';
|
65
65
|
const MenuWrapper = (_a) => {
|
66
|
-
var { selection: selectedKeys, minWidth, maxWidth, searchable, emptyState, header, footer } = _a, props = __rest(_a, ["selection", "minWidth", "maxWidth", "searchable", "emptyState", "header", "footer"]);
|
66
|
+
var { selection: selectedKeys, minWidth, maxWidth, minHeight, maxHeight, searchable, emptyState, header, footer } = _a, props = __rest(_a, ["selection", "minWidth", "maxWidth", "minHeight", "maxHeight", "searchable", "emptyState", "header", "footer"]);
|
67
67
|
const ref = React.useRef(null);
|
68
68
|
const disabledKeys = getDisabledItemKeys(props.children);
|
69
69
|
const state = useTreeState(Object.assign({ disabledKeys,
|
@@ -72,7 +72,7 @@ const MenuWrapper = (_a) => {
|
|
72
72
|
const { contains } = useFilter({ sensitivity: 'base' });
|
73
73
|
const [search, setSearch] = React.useState('');
|
74
74
|
const filteredCollection = React.useMemo(() => (searchable ? filterCollection(state.collection, search, contains) : state.collection), [searchable, state.collection, search, contains]);
|
75
|
-
return (React.createElement(Base, { minWidth: minWidth
|
75
|
+
return (React.createElement(Base, { minWidth: minWidth, maxWidth: maxWidth, minHeight: minHeight, maxHeight: maxHeight },
|
76
76
|
header,
|
77
77
|
React.createElement(Base.ContentContainer, null,
|
78
78
|
searchable && (React.createElement(SearchInput, { "aria-label": "search", value: search, onChange: (e) => setSearch(e.target.value), className: tw('mb-5') })),
|
@@ -138,4 +138,4 @@ const getDisabledItemKeys = (children) => {
|
|
138
138
|
});
|
139
139
|
return keys.flat().filter((key) => key !== null);
|
140
140
|
};
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25NZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9Ecm9wZG93bk1lbnUvRHJvcGRvd25NZW51LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBa0IsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFXbkUsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFdEUsT0FBTyxFQUFFLFlBQVksSUFBSSxJQUFJLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUF5SjNDLE1BQU0sQ0FBQyxN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
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJvcGRvd25NZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9Ecm9wZG93bk1lbnUvRHJvcGRvd25NZW51LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFELE9BQU8sRUFBa0IsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFXbkUsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFdEUsT0FBTyxFQUFFLFlBQVksSUFBSSxJQUFJLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFtSzNDLE1BQU0sQ0FBQyxN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
|
@@ -1,9 +1,35 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { type PaginationProps } from '../../../src/molecules/Pagination/Pagination';
|
3
3
|
import { type PaginationOptions } from '../../../src/molecules/Pagination/usePagination';
|
4
|
+
import { type AllOrNone, type Either } from '../../../types/utils';
|
4
5
|
declare type Item = unknown;
|
5
|
-
export declare type ListPaginationProps =
|
6
|
-
|
6
|
+
export declare type ListPaginationProps = {
|
7
|
+
/**
|
8
|
+
* Optional pagination props for the data table. Use boolean `true` to enable pagination with default settings and use
|
9
|
+
* object to pass in custom settings for pagination such as page size.
|
10
|
+
*/
|
11
|
+
pagination?: true | (PaginationOptions & Partial<Pick<PaginationProps, 'currentPage' | 'onPageChange' | 'onPageSizeChange' | 'pageSize' | 'pageSizes'>>);
|
12
|
+
};
|
13
|
+
export declare type InfiniteListProps = AllOrNone<IntersectionObserverInit & {
|
14
|
+
/**
|
15
|
+
* When `next()` callback is provided, the list will be rendered as an infinite list. When the user scrolls to the bottom of the list, the `next()` callback will be called if `hasMore` is `true` and `isLoading` is `false`.
|
16
|
+
* @returns
|
17
|
+
*/
|
18
|
+
next: () => void;
|
19
|
+
/**
|
20
|
+
* Indicates whether there are more items to be loaded.
|
21
|
+
*/
|
22
|
+
hasMore: boolean;
|
23
|
+
/**
|
24
|
+
* Indicates whether the list is currently waiting for more items to be loaded.
|
25
|
+
*/
|
26
|
+
isLoading: boolean;
|
27
|
+
/**
|
28
|
+
* Optional loading indicator that will be displayed at the bottom of the list when `isLoading` is `true`.
|
29
|
+
*/
|
30
|
+
loadingIndicator?: React.ReactNode;
|
31
|
+
}>;
|
32
|
+
export declare type ListProps<I extends Item> = Either<InfiniteListProps, ListPaginationProps> & {
|
7
33
|
/**
|
8
34
|
* Collection of items you want to render
|
9
35
|
*/
|
@@ -22,11 +48,6 @@ export declare type ListProps<I extends Item> = {
|
|
22
48
|
* @default React.Fragment
|
23
49
|
*/
|
24
50
|
paginationContainer?: React.ElementType;
|
25
|
-
/**
|
26
|
-
* Optional pagination props for the data table. Use boolean `true` to enable pagination with default settings and use
|
27
|
-
* object to pass in custom settings for pagination such as page size.
|
28
|
-
*/
|
29
|
-
pagination?: ListPaginationProps | true;
|
30
51
|
};
|
31
|
-
export declare const List: <I extends unknown>({ items, renderItem, container, paginationContainer, pagination, }: ListProps<I>) => React.JSX.Element;
|
52
|
+
export declare const List: <I extends unknown>({ items, renderItem, container, paginationContainer, pagination, loadingIndicator, hasMore, isLoading, next, ...props }: ListProps<I>) => React.JSX.Element;
|
32
53
|
export {};
|
@@ -1,16 +1,47 @@
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
2
|
+
var t = {};
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
4
|
+
t[p] = s[p];
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
8
|
+
t[p[i]] = s[p[i]];
|
9
|
+
}
|
10
|
+
return t;
|
11
|
+
};
|
1
12
|
import React from 'react';
|
2
13
|
import isObject from 'lodash/isObject';
|
14
|
+
import isString from 'lodash/isString';
|
15
|
+
import { Icon } from '../../../src/molecules/Icon/Icon';
|
3
16
|
import { Pagination } from '../../../src/molecules/Pagination/Pagination';
|
4
17
|
import { usePagination } from '../../../src/molecules/Pagination/usePagination';
|
5
|
-
|
18
|
+
import { Typography } from '../../../src/molecules/Typography/Typography';
|
19
|
+
import { tw } from '../../../src/utils/tailwind';
|
20
|
+
import { useInView } from '../../../src/utils/useInView';
|
21
|
+
import loading from '../../../src/icons/loading';
|
22
|
+
export const List = (_a) => {
|
23
|
+
var { items, renderItem, container = React.Fragment, paginationContainer = React.Fragment, pagination, loadingIndicator = 'Loading more items', hasMore, isLoading, next } = _a, props = __rest(_a, ["items", "renderItem", "container", "paginationContainer", "pagination", "loadingIndicator", "hasMore", "isLoading", "next"]);
|
6
24
|
const Component = container;
|
7
25
|
const PaginationComponent = paginationContainer;
|
8
|
-
const paginationProps = isObject(pagination) ? pagination :
|
26
|
+
const paginationProps = isObject(pagination) ? pagination : undefined;
|
27
|
+
const onChange = React.useCallback((inView) => {
|
28
|
+
if (inView && hasMore && !isLoading) {
|
29
|
+
next();
|
30
|
+
}
|
31
|
+
}, [hasMore, isLoading, next]);
|
32
|
+
const isInfinite = !!next;
|
33
|
+
const [ref] = useInView(Object.assign({ skip: !isInfinite, rootMargin: '200px', onChange }, props));
|
9
34
|
const [paginatedItems, paginationState] = usePagination(items, paginationProps);
|
10
35
|
const listItems = pagination ? paginatedItems : items;
|
36
|
+
// We'll render pagination container when pagination or infinite scrolling is enabled.
|
37
|
+
const showLoader = isInfinite && hasMore;
|
38
|
+
const showPagination = pagination || showLoader;
|
11
39
|
return (React.createElement(React.Fragment, null,
|
12
40
|
React.createElement(Component, null, listItems.map(renderItem)),
|
13
|
-
|
14
|
-
React.createElement(
|
41
|
+
showPagination && (React.createElement(PaginationComponent, null,
|
42
|
+
showLoader && (React.createElement("div", { ref: ref, "aria-hidden": !isLoading, "aria-busy": isLoading, "aria-label": isString(loadingIndicator) ? loadingIndicator : undefined, className: tw('flex gap-4 py-3 justify-center items-center transition-opacity duration-200', isLoading ? 'opacity-100' : 'opacity-0') },
|
43
|
+
React.createElement(Icon, { width: 22, icon: loading, className: tw('text-grey-50') }),
|
44
|
+
React.createElement(Typography.Small, { color: "grey-70" }, loadingIndicator))),
|
45
|
+
pagination && React.createElement(Pagination, Object.assign({}, paginationState, paginationProps))))));
|
15
46
|
};
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2xlY3VsZXMvTGlzdC9MaXN0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLFFBQVEsTUFBTSxpQkFBaUIsQ0FBQztBQUV2QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBd0IsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RixPQUFPLEVBQTBCLGFBQWEsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVqRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEMsT0FBTyxFQUFFLFNBQVMsRUFBMEIsTUFBTSxxQkFBcUIsQ0FBQztBQUd4RSxPQUFPLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQztBQWdFeEMsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQWlCLEVBV3RCLEVBQXFCLEVBQUU7UUFYRCxFQUNuQyxLQUFLLEVBQ0wsVUFBVSxFQUNWLFNBQVMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUMxQixtQkFBbUIsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUNwQyxVQUFVLEVBQ1YsZ0JBQWdCLEdBQUcsb0JBQW9CLEVBQ3ZDLE9BQU8sRUFDUCxTQUFTLEVBQ1QsSUFBSSxPQUVTLEVBRFYsS0FBSyxjQVYyQiw2SEFXcEMsQ0FEUztJQUVSLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM1QixNQUFNLG1CQUFtQixHQUFHLG1CQUFtQixDQUFDO0lBQ2hELE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFFdEUsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FDaEMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUNULElBQUksTUFBTSxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQyxJQUFJLEVBQUUsQ0FBQztTQUNSO0lBQ0gsQ0FBQyxFQUNELENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FDM0IsQ0FBQztJQUVGLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDMUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFNBQVMsaUJBQ3JCLElBQUksRUFBRSxDQUFDLFVBQVUsRUFDakIsVUFBVSxFQUFFLE9BQU8sRUFDbkIsUUFBUSxJQUNMLEtBQUssRUFDUixDQUFDO0lBRUgsTUFBTSxDQUFDLGNBQWMsRUFBRSxlQUFlLENBQUMsR0FBRyxhQUFhLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ2hGLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFFdEQsc0ZBQXNGO0lBQ3RGLE1BQU0sVUFBVSxHQUFHLFVBQVUsSUFBSSxPQUFPLENBQUM7SUFDekMsTUFBTSxjQUFjLEdBQUcsVUFBVSxJQUFJLFVBQVUsQ0FBQztJQUVoRCxPQUFPLENBQ0w7UUFDRSxvQkFBQyxTQUFTLFFBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBYTtRQUNqRCxjQUFjLElBQUksQ0FDakIsb0JBQUMsbUJBQW1CO1lBQ2pCLFVBQVUsSUFBSSxDQUNiLDZCQUNFLEdBQUcsRUFBRSxHQUFHLGlCQUNLLENBQUMsU0FBUyxlQUNaLFNBQVMsZ0JBQ1IsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQ3JFLFNBQVMsRUFBRSxFQUFFLENBQ1gsNkVBQTZFLEVBQzdFLFNBQVMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQ3hDO2dCQUVELG9CQUFDLElBQUksSUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsR0FBSTtnQkFDakUsb0JBQUMsVUFBVSxDQUFDLEtBQUssSUFBQyxLQUFLLEVBQUMsU0FBUyxJQUFFLGdCQUFnQixDQUFvQixDQUNuRSxDQUNQO1lBRUEsVUFBVSxJQUFJLG9CQUFDLFVBQVUsb0JBQUssZUFBZSxFQUFNLGVBQWUsRUFBSSxDQUNuRCxDQUN2QixDQUNBLENBQ0osQ0FBQztBQUNKLENBQUMsQ0FBQyJ9
|
@@ -0,0 +1,23 @@
|
|
1
|
+
export declare type UseStaticInfiniteListProps<Item> = {
|
2
|
+
/**
|
3
|
+
* The list of items to paginate.
|
4
|
+
*/
|
5
|
+
items: Item[];
|
6
|
+
/**
|
7
|
+
* The number of items to show per virtual page.
|
8
|
+
*/
|
9
|
+
pageSize: number;
|
10
|
+
/**
|
11
|
+
* Automatically reset the page when the items change.
|
12
|
+
* @default true
|
13
|
+
*/
|
14
|
+
autoReset?: boolean;
|
15
|
+
};
|
16
|
+
export declare type UseStaticInfiniteListReturn<Item> = {
|
17
|
+
items: Item[];
|
18
|
+
next: () => void;
|
19
|
+
reset: () => void;
|
20
|
+
hasMore: boolean;
|
21
|
+
isLoading: boolean;
|
22
|
+
};
|
23
|
+
export declare const useStaticInfiniteList: <Item>({ items, pageSize, autoReset, }: UseStaticInfiniteListProps<Item>) => UseStaticInfiniteListReturn<Item>;
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
export const useStaticInfiniteList = ({ items, pageSize, autoReset = true, }) => {
|
3
|
+
const [currentPage, setCurrentPage] = React.useState(1);
|
4
|
+
const numberOfVisible = currentPage * pageSize;
|
5
|
+
const next = React.useCallback(() => {
|
6
|
+
setCurrentPage((page) => page + 1);
|
7
|
+
}, [setCurrentPage]);
|
8
|
+
const reset = React.useCallback(() => {
|
9
|
+
setCurrentPage(1);
|
10
|
+
}, [setCurrentPage]);
|
11
|
+
React.useEffect(() => {
|
12
|
+
if (autoReset) {
|
13
|
+
setCurrentPage(1);
|
14
|
+
}
|
15
|
+
}, [autoReset, items]);
|
16
|
+
return {
|
17
|
+
items: items.slice(0, numberOfVisible),
|
18
|
+
next,
|
19
|
+
reset,
|
20
|
+
hasMore: items.length > numberOfVisible,
|
21
|
+
isLoading: false,
|
22
|
+
};
|
23
|
+
};
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlU3RhdGljSW5maW5pdGVMaXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9MaXN0L3VzZVN0YXRpY0luZmluaXRlTGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUE0QjFCLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQU8sRUFDMUMsS0FBSyxFQUNMLFFBQVEsRUFDUixTQUFTLEdBQUcsSUFBSSxHQUNpQixFQUFxQyxFQUFFO0lBQ3hFLE1BQU0sQ0FBQyxXQUFXLEVBQUUsY0FBYyxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RCxNQUFNLGVBQWUsR0FBRyxXQUFXLEdBQUcsUUFBUSxDQUFDO0lBRS9DLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFO1FBQ2xDLGNBQWMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFFckIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUU7UUFDbkMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFFckIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDbkIsSUFBSSxTQUFTLEVBQUU7WUFDYixjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbkI7SUFDSCxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUV2QixPQUFPO1FBQ0wsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGVBQWUsQ0FBQztRQUN0QyxJQUFJO1FBQ0osS0FBSztRQUNMLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxHQUFHLGVBQWU7UUFDdkMsU0FBUyxFQUFFLEtBQUs7S0FDakIsQ0FBQztBQUNKLENBQUMsQ0FBQyJ9
|
@@ -22,11 +22,13 @@ import { DropdownMenu } from '../../../src/molecules/DropdownMenu/DropdownMenu';
|
|
22
22
|
import { LineClamp } from '../../../src/molecules/LineClamp/LineClamp';
|
23
23
|
import { SelectBase } from '../../../src/molecules/Select/Select';
|
24
24
|
import { Switch } from '../../../src/molecules/Switch/Switch';
|
25
|
+
import { createTabsComponent, ModalTab, TabItem, Tabs } from '../../../src/molecules/Tabs/Tabs';
|
25
26
|
import { TagLabel } from '../../../src/molecules/TagLabel/TagLabel';
|
26
27
|
import { Section as BaseSection } from '../../../src/atoms/Section/Section';
|
27
28
|
import { renderAction } from '../../../src/utils/actions';
|
28
29
|
import { tw } from '../../../src/utils/tailwind';
|
29
30
|
import { useMeasure } from '../../../src/utils/useMeasure';
|
31
|
+
import { isComponentType } from '../../../types/utils';
|
30
32
|
import more from '../../../src/icons/more';
|
31
33
|
export const Section = (props) => {
|
32
34
|
var _a, _b, _c, _d, _e;
|
@@ -72,6 +74,7 @@ export const Section = (props) => {
|
|
72
74
|
const toggleId = useId();
|
73
75
|
const regionId = useId();
|
74
76
|
const titleId = useId();
|
77
|
+
const hasTabs = isComponentType(children, Tabs);
|
75
78
|
return (React.createElement(BaseSection, { "aria-label": title, className: "Aquarium-Section" },
|
76
79
|
title && (React.createElement(React.Fragment, null,
|
77
80
|
React.createElement(BaseSection.Header, { expanded: _collapsible && !isCollapsed },
|
@@ -97,9 +100,9 @@ export const Section = (props) => {
|
|
97
100
|
.map((action) => renderAction({ kind: 'secondary', action })),
|
98
101
|
props.switch && React.createElement(Switch, Object.assign({}, props.switch)),
|
99
102
|
props.select && React.createElement(SelectBase, Object.assign({ "aria-labelledby": titleId }, props.select))))),
|
100
|
-
React.createElement(animated.div, { className: tw(`h-[1px]`), style: { backgroundColor } }))),
|
103
|
+
!hasTabs && React.createElement(animated.div, { className: tw(`h-[1px]`), style: { backgroundColor } }))),
|
101
104
|
React.createElement(animated.div, { id: regionId, "aria-hidden": _collapsible ? (isCollapsed ? true : undefined) : undefined, style: spring, className: tw({ 'overflow-hidden': _collapsible }) },
|
102
|
-
React.createElement("div", { ref: ref },
|
103
|
-
React.createElement(BaseSection.Body, null, children)))));
|
105
|
+
React.createElement("div", { ref: ref }, hasTabs ? (React.createElement(SectionTabs, Object.assign({}, children.props, { className: tw('[&>div:first-child]:px-3 grow flex flex-col overflow-y-auto') }))) : (React.createElement(BaseSection.Body, null, children))))));
|
104
106
|
};
|
105
|
-
|
107
|
+
const SectionTabs = createTabsComponent(ModalTab, TabItem, 'SectionTabs', (children, selected) => (React.createElement(BaseSection.Body, null, children.find((node, index) => (node === null || node === void 0 ? void 0 : node.props.value) === selected || index === selected))));
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2xlY3VsZXMvU2VjdGlvbi9TZWN0aW9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQztBQUN6QyxPQUFPLFdBQVcsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLFlBQVksTUFBTSxxQkFBcUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUF3QixNQUFNLHlCQUF5QixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFtQixVQUFVLEVBQXdCLE1BQU0sNkJBQTZCLENBQUM7QUFDaEcsT0FBTyxFQUFFLE1BQU0sRUFBb0IsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBaUIsSUFBSSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEcsT0FBTyxFQUFFLFFBQVEsRUFBc0IsTUFBTSxpQ0FBaUMsQ0FBQztBQUUvRSxPQUFPLEVBQUUsT0FBTyxJQUFJLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztB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
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import React from 'react';
|
2
|
+
import { type BoxProps } from '../../../src/molecules/Box/Box';
|
2
3
|
import type twTheme from '../../../tailwind.theme.json';
|
3
4
|
export declare type Weight = 'auto' | `${number}`;
|
4
|
-
declare type TemplateProps = {
|
5
|
+
export declare type TemplateProps = Pick<BoxProps, 'alignContent' | 'alignItems' | 'alignSelf' | 'gap' | 'grow' | 'justifyContent' | 'justifySelf' | 'role' | 'style'> & {
|
5
6
|
/**
|
6
7
|
* Provide a number for amount of columns. Columns created this way have equal weight.
|
7
8
|
*
|
@@ -10,16 +11,9 @@ declare type TemplateProps = {
|
|
10
11
|
* Array value of Weight is considered as a weight in relation to other columns.
|
11
12
|
*/
|
12
13
|
columns: Array<Weight | number> | number;
|
13
|
-
alignContent?: React.CSSProperties['alignContent'];
|
14
|
-
alignSelf?: React.CSSProperties['alignSelf'];
|
15
|
-
alignItems?: React.CSSProperties['alignItems'];
|
16
|
-
justifySelf?: React.CSSProperties['justifySelf'];
|
17
|
-
gap?: keyof (typeof twTheme)['gap'];
|
18
14
|
columnGap?: keyof (typeof twTheme)['gap'];
|
19
15
|
rowGap?: keyof (typeof twTheme)['gap'];
|
20
16
|
fullHeight?: boolean;
|
21
17
|
className?: string;
|
22
|
-
role?: React.HTMLProps<HTMLDivElement>['role'];
|
23
18
|
};
|
24
19
|
export declare const Template: React.FC<React.PropsWithChildren<TemplateProps>>;
|
25
|
-
export {};
|
@@ -1,6 +1,19 @@
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
2
|
+
var t = {};
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
4
|
+
t[p] = s[p];
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
8
|
+
t[p[i]] = s[p[i]];
|
9
|
+
}
|
10
|
+
return t;
|
11
|
+
};
|
1
12
|
import React from 'react';
|
13
|
+
import { Box } from '../../../src/molecules/Box/Box';
|
2
14
|
import { useStyle } from '../../../src/utils/useStyle';
|
3
|
-
export const Template = (
|
15
|
+
export const Template = (_a) => {
|
16
|
+
var { columns, columnGap, rowGap, fullHeight, style } = _a, props = __rest(_a, ["columns", "columnGap", "rowGap", "fullHeight", "style"]);
|
4
17
|
const gridTemplateColumns = typeof columns === 'number'
|
5
18
|
? '1fr '.repeat(columns)
|
6
19
|
: columns
|
@@ -8,16 +21,10 @@ export const Template = ({ children, columns, alignSelf, alignContent, alignItem
|
|
8
21
|
.join(' ');
|
9
22
|
const styles = useStyle({
|
10
23
|
height: fullHeight ? '100%' : undefined,
|
11
|
-
display: 'grid',
|
12
24
|
gridTemplateColumns,
|
13
|
-
alignSelf,
|
14
|
-
alignContent,
|
15
|
-
alignItems,
|
16
|
-
justifySelf,
|
17
|
-
gap,
|
18
25
|
rowGap,
|
19
26
|
columnGap,
|
20
27
|
});
|
21
|
-
return
|
28
|
+
return React.createElement(Box, Object.assign({}, props, { display: "grid", style: Object.assign(Object.assign({}, styles), style) }));
|
22
29
|
};
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9sZWN1bGVzL1RlbXBsYXRlL1RlbXBsYXRlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsR0FBRyxFQUFpQixNQUFNLHVCQUF1QixDQUFDO0FBRTNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQTRCOUMsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFxRCxDQUFDLEVBTzFFLEVBQUUsRUFBRTtRQVBzRSxFQUN6RSxPQUFPLEVBQ1AsU0FBUyxFQUNULE1BQU0sRUFDTixVQUFVLEVBQ1YsS0FBSyxPQUVOLEVBREksS0FBSyxjQU5pRSx5REFPMUUsQ0FEUztJQUVSLE1BQU0sbUJBQW1CLEdBQ3ZCLE9BQU8sT0FBTyxLQUFLLFFBQVE7UUFDekIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxPQUFPO2FBQ0osR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDLENBQUM7YUFDMUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRW5CLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQztRQUN0QixNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDdkMsbUJBQW1CO1FBQ25CLE1BQU07UUFDTixTQUFTO0tBQ1YsQ0FBQyxDQUFDO0lBRUgsT0FBTyxvQkFBQyxHQUFHLG9CQUFLLEtBQUssSUFBRSxPQUFPLEVBQUMsTUFBTSxFQUFDLEtBQUssa0NBQU8sTUFBTSxHQUFLLEtBQUssS0FBTSxDQUFDO0FBQzNFLENBQUMsQ0FBQyJ9
|
@@ -34,6 +34,7 @@ export * from './Input/Input';
|
|
34
34
|
export * from './LineClamp/LineClamp';
|
35
35
|
export * from './Link/Link';
|
36
36
|
export * from './List/List';
|
37
|
+
export * from './List/useStaticInfiniteList';
|
37
38
|
export * from './ListItem/ListItem';
|
38
39
|
export * from './Modal/Modal';
|
39
40
|
export * from './MultiInput/MultiInput';
|
@@ -35,6 +35,7 @@ export * from './Input/Input';
|
|
35
35
|
export * from './LineClamp/LineClamp';
|
36
36
|
export * from './Link/Link';
|
37
37
|
export * from './List/List';
|
38
|
+
export * from './List/useStaticInfiniteList';
|
38
39
|
export * from './ListItem/ListItem';
|
39
40
|
export * from './Modal/Modal';
|
40
41
|
export * from './MultiInput/MultiInput';
|
@@ -75,4 +76,4 @@ export * from '../utils/table/useTableSelect';
|
|
75
76
|
export * from '../utils/table/useTableSort';
|
76
77
|
export * from './Pagination/usePagination';
|
77
78
|
export const SelectItem = Select.Item;
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9sZWN1bGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVoRCxzREFBc0Q7QUFDdEQsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx5QkFBeUIsQ0FBQztBQUV4Qyx1Q0FBdUM7QUFDdkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDIn0=
|
@@ -4,9 +4,10 @@ export const mockIntersectionObserver = () => {
|
|
4
4
|
writable: true,
|
5
5
|
value: jest.fn().mockImplementation(() => ({
|
6
6
|
observe: () => jest.fn(),
|
7
|
+
unobserve: () => jest.fn(),
|
7
8
|
disconnect: () => jest.fn(),
|
8
9
|
})),
|
9
10
|
});
|
10
11
|
});
|
11
12
|
};
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja0ludGVyc2VjdGlvbk9ic2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL21vY2tzL21vY2tJbnRlcnNlY3Rpb25PYnNlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxHQUFHLEVBQUU7SUFDM0MsU0FBUyxDQUFDLEdBQUcsRUFBRTtRQUNiLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLHNCQUFzQixFQUFFO1lBQ3BELFFBQVEsRUFBRSxJQUFJO1lBQ2QsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUN6QyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRTtnQkFDeEIsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUU7Z0JBQzFCLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFO2FBQzVCLENBQUMsQ0FBQztTQUNKLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDIn0=
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import '@testing-library/jest-dom';
|
2
|
+
import { faker } from '@faker-js/faker';
|
2
3
|
import failOnConsole from 'jest-fail-on-console';
|
3
4
|
import { mockDynamicIds } from './mocks/mockDynamicIds';
|
4
5
|
import { mockIntersectionObserver } from './mocks/mockIntersectionObserver';
|
@@ -17,4 +18,6 @@ mockDynamicIds();
|
|
17
18
|
mockIntersectionObserver();
|
18
19
|
mockResizeObserver();
|
19
20
|
mockRecharts();
|
20
|
-
|
21
|
+
// Use static seed for faker to get consistent results.
|
22
|
+
faker.seed(42);
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBUZXN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy9zZXR1cFRlc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sMkJBQTJCLENBQUM7QUFFbkMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sYUFBYSxNQUFNLHNCQUFzQixDQUFDO0FBRWpELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbEUsa0dBQWtHO0FBQ2xHLGFBQWEsQ0FBQztJQUNaLGdCQUFnQixFQUFFLElBQUk7SUFDdEIsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QixrQkFBa0IsRUFBRSxLQUFLO0lBQ3pCLGlCQUFpQixFQUFFLEtBQUs7SUFDeEIsZUFBZSxFQUFFLEtBQUs7SUFDdEIsZ0JBQWdCLEVBQUUsS0FBSztDQUN4QixDQUFDLENBQUM7QUFFSCxjQUFjLEVBQUUsQ0FBQztBQUNqQix3QkFBd0IsRUFBRSxDQUFDO0FBQzNCLGtCQUFrQixFQUFFLENBQUM7QUFDckIsWUFBWSxFQUFFLENBQUM7QUFFZix1REFBdUQ7QUFDdkQsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyJ9
|
@@ -7,7 +7,7 @@ import { type ActionType } from '../../../types/ActionType';
|
|
7
7
|
import { type CommonContextualMenuProps } from '../../../types/ContextualMenu';
|
8
8
|
import { type AllOrNone, type RequireAtLeastOne } from '../../../types/utils';
|
9
9
|
import type React from 'react';
|
10
|
-
export declare type TextAlign = 'center' | 'left' | 'right';
|
10
|
+
export declare type TextAlign = 'center' | 'left' | 'right' | 'stretch';
|
11
11
|
export declare type SortDirection = AriaAttributes['aria-sort'];
|
12
12
|
export declare type Column = {
|
13
13
|
/**
|
@@ -155,7 +155,7 @@ export declare const toSortDirection: (direction: SortDirection | undefined) =>
|
|
155
155
|
export declare type StickyColumn = 'left' | 'right';
|
156
156
|
declare type CellProps = {
|
157
157
|
key: string;
|
158
|
-
align: TextAlign;
|
158
|
+
align: TextAlign | undefined;
|
159
159
|
stickyColumn?: StickyColumn;
|
160
160
|
};
|
161
161
|
export declare const cellProps: <C extends Column>(column: C) => CellProps;
|
@@ -1,11 +1,28 @@
|
|
1
1
|
export const toSortDirection = (direction) => direction === 'ascending' ? 'asc' : direction === 'descending' ? 'desc' : false;
|
2
|
-
export const cellProps = (column) =>
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
2
|
+
export const cellProps = (column) => {
|
3
|
+
let align;
|
4
|
+
switch (column.type) {
|
5
|
+
case 'action':
|
6
|
+
case 'number': {
|
7
|
+
align = 'right';
|
8
|
+
break;
|
9
|
+
}
|
10
|
+
case 'custom': {
|
11
|
+
align = 'stretch';
|
12
|
+
break;
|
13
|
+
}
|
14
|
+
default: {
|
15
|
+
align = 'left';
|
16
|
+
}
|
17
|
+
}
|
18
|
+
return {
|
19
|
+
key: column.key || column.headerName,
|
20
|
+
align,
|
21
|
+
stickyColumn: column.sticky,
|
22
|
+
};
|
23
|
+
};
|
7
24
|
export const columnIsFieldColumn = (column) => Boolean(column && column.field);
|
8
25
|
export function isOnSortChangedDirection(value) {
|
9
26
|
return value === undefined || ['ascending', 'descending'].includes(value);
|
10
27
|
}
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvdGFibGUvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOExBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLFNBQW9DLEVBQTBCLEVBQUUsQ0FDOUYsU0FBUyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQVVsRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBbUIsTUFBUyxFQUFhLEVBQUU7SUFDbEUsSUFBSSxLQUE0QixDQUFDO0lBRWpDLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtRQUNuQixLQUFLLFFBQVEsQ0FBQztRQUNkLEtBQUssUUFBUSxDQUFDLENBQUM7WUFDYixLQUFLLEdBQUcsT0FBTyxDQUFDO1lBQ2hCLE1BQU07U0FDUDtRQUVELEtBQUssUUFBUSxDQUFDLENBQUM7WUFDYixLQUFLLEdBQUcsU0FBUyxDQUFDO1lBQ2xCLE1BQU07U0FDUDtRQUVELE9BQU8sQ0FBQyxDQUFDO1lBQ1AsS0FBSyxHQUFHLE1BQU0sQ0FBQztTQUNoQjtLQUNGO0lBRUQsT0FBTztRQUNMLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxVQUFVO1FBQ3BDLEtBQUs7UUFDTCxZQUFZLEVBQUUsTUFBTSxDQUFDLE1BQU07S0FDNUIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQXlCLE1BQTJCLEVBQTRCLEVBQUUsQ0FDbkgsT0FBTyxDQUFDLE1BQU0sSUFBSyxNQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBMkJ0RCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsS0FBeUI7SUFDaEUsT0FBTyxLQUFLLEtBQUssU0FBUyxJQUFJLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM1RSxDQUFDIn0=
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
export declare type UseInViewCallback = (inView: boolean, entry: IntersectionObserverEntry) => void;
|
3
|
+
export declare type UseInViewOptions = IntersectionObserverInit & {
|
4
|
+
/**
|
5
|
+
* Callback to be invoked when the target element changes from being in view to not being in view and vice-versa.
|
6
|
+
* @param inView True, if the target element is in view. False, if the target element is not in view.
|
7
|
+
* @param entry The entry for the target element in the IntersectionObserverEntry list.
|
8
|
+
*/
|
9
|
+
onChange?: UseInViewCallback;
|
10
|
+
/**
|
11
|
+
* If true, the observer will be skipped and the onChange callback will not be invoked.
|
12
|
+
*/
|
13
|
+
skip?: boolean;
|
14
|
+
};
|
15
|
+
declare type UseInViewResult = [React.RefObject<HTMLDivElement>, boolean, IntersectionObserverEntry | undefined];
|
16
|
+
export declare const useInView: ({ onChange, skip, root, rootMargin, threshold, }: UseInViewOptions) => UseInViewResult;
|
17
|
+
export {};
|
@@ -0,0 +1,35 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
export const useInView = ({ onChange, skip, root = document, rootMargin, threshold = 0, }) => {
|
3
|
+
const ref = React.useRef(null);
|
4
|
+
const [state, setState] = React.useState({
|
5
|
+
inView: false,
|
6
|
+
entry: undefined,
|
7
|
+
});
|
8
|
+
React.useEffect(() => {
|
9
|
+
const target = ref.current;
|
10
|
+
// Ensure we have target ref and that we shouldn't skip observing.
|
11
|
+
if (skip || !target) {
|
12
|
+
return;
|
13
|
+
}
|
14
|
+
const observer = new IntersectionObserver((entries) => {
|
15
|
+
entries.forEach((entry) => {
|
16
|
+
if (entry.target === ref.current) {
|
17
|
+
setState({ inView: entry.isIntersecting, entry });
|
18
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(entry.isIntersecting, entry);
|
19
|
+
}
|
20
|
+
});
|
21
|
+
}, {
|
22
|
+
root,
|
23
|
+
rootMargin,
|
24
|
+
threshold,
|
25
|
+
});
|
26
|
+
observer.observe(target);
|
27
|
+
return () => {
|
28
|
+
if (target) {
|
29
|
+
observer.unobserve(target);
|
30
|
+
}
|
31
|
+
};
|
32
|
+
}, [ref, skip, root, rootMargin, threshold, onChange]);
|
33
|
+
return [ref, state.inView, state.entry];
|
34
|
+
};
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlSW5WaWV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWxzL3VzZUluVmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUF5QjFCLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLEVBQ3hCLFFBQVEsRUFDUixJQUFJLEVBQ0osSUFBSSxHQUFHLFFBQVEsRUFDZixVQUFVLEVBQ1YsU0FBUyxHQUFHLENBQUMsR0FDSSxFQUFtQixFQUFFO0lBQ3RDLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQWlCLElBQUksQ0FBQyxDQUFDO0lBQy9DLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBYztRQUNwRCxNQUFNLEVBQUUsS0FBSztRQUNiLEtBQUssRUFBRSxTQUFTO0tBQ2pCLENBQUMsQ0FBQztJQUVILEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ25CLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFDM0Isa0VBQWtFO1FBQ2xFLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ25CLE9BQU87U0FDUjtRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksb0JBQW9CLENBQ3ZDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDVixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3hCLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBTyxFQUFFO29CQUNoQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLGNBQWMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO29CQUNsRCxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUcsS0FBSyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztpQkFDekM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsRUFDRDtZQUNFLElBQUk7WUFDSixVQUFVO1lBQ1YsU0FBUztTQUNWLENBQ0YsQ0FBQztRQUVGLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFekIsT0FBTyxHQUFHLEVBQUU7WUFDVixJQUFJLE1BQU0sRUFBRTtnQkFDVixRQUFRLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzVCO1FBQ0gsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBRXZELE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDMUMsQ0FBQyxDQUFDIn0=
|