@aivenio/aquarium 1.12.0 → 1.13.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 (42) hide show
  1. package/dist/_variables.scss +1 -1
  2. package/dist/_variables_timescale.scss +1 -1
  3. package/dist/atoms.cjs +13 -6
  4. package/dist/atoms.mjs +13 -6
  5. package/dist/src/atoms/DropdownMenu/DropdownMenu.js +3 -3
  6. package/dist/src/atoms/Popover/Popover.d.ts +2 -0
  7. package/dist/src/atoms/Popover/Popover.js +6 -2
  8. package/dist/src/molecules/Combobox/Combobox.js +25 -24
  9. package/dist/src/molecules/DataList/DataList.d.ts +3 -3
  10. package/dist/src/molecules/DataList/DataList.js +7 -7
  11. package/dist/src/molecules/DataTable/DataTable.d.ts +3 -3
  12. package/dist/src/molecules/DataTable/DataTable.js +5 -5
  13. package/dist/src/molecules/Dialog/Dialog.d.ts +3 -3
  14. package/dist/src/molecules/Dialog/Dialog.js +26 -22
  15. package/dist/src/molecules/Dropdown/Dropdown.js +2 -2
  16. package/dist/src/molecules/DropdownMenu/DropdownMenu.js +4 -13
  17. package/dist/src/molecules/Modal/Modal.d.ts +5 -0
  18. package/dist/src/molecules/Modal/Modal.js +35 -32
  19. package/dist/src/molecules/MultiSelect/MultiSelect.js +26 -25
  20. package/dist/src/molecules/Popover/Dialog.d.ts +2 -0
  21. package/dist/src/molecules/Popover/Dialog.js +9 -0
  22. package/dist/src/molecules/Popover/Popover.d.ts +8 -6
  23. package/dist/src/molecules/Popover/Popover.js +8 -17
  24. package/dist/src/molecules/Popover/PopoverOverlay.d.ts +21 -0
  25. package/dist/src/molecules/Popover/PopoverOverlay.js +35 -0
  26. package/dist/src/molecules/PopoverDialog/PopoverDialog.js +2 -2
  27. package/dist/src/molecules/Select/Select.js +18 -24
  28. package/dist/src/utils/table/types.d.ts +25 -12
  29. package/dist/src/utils/table/types.js +2 -1
  30. package/dist/src/utils/table/useTableSort.d.ts +2 -2
  31. package/dist/src/utils/table/useTableSort.js +5 -5
  32. package/dist/src/utils/table/utils.d.ts +2 -0
  33. package/dist/src/utils/table/utils.js +16 -0
  34. package/dist/styles.css +6 -0
  35. package/dist/styles_timescaledb.css +6 -0
  36. package/dist/system.cjs +720 -681
  37. package/dist/system.mjs +687 -649
  38. package/dist/tsconfig.module.tsbuildinfo +1 -1
  39. package/dist/types/tailwindGenerated.d.ts +1 -1
  40. package/package.json +3 -3
  41. package/dist/src/molecules/Popover/PopoverWrapper.d.ts +0 -16
  42. package/dist/src/molecules/Popover/PopoverWrapper.js +0 -34
@@ -18,11 +18,11 @@ const PopoverDialog = ({ placement, open, title, secondaryAction, primaryAction,
18
18
  }
19
19
  return child;
20
20
  };
21
- return (React.createElement(Popover, { type: "dialog", isOpen: open, placement: placement, isDismissable: true, isKeyboardDismissDisabled: false, autoFocus: true, containFocus: true }, React.Children.map(children, wrapPromptWithBody)));
21
+ return (React.createElement(Popover, { type: "dialog", isOpen: open, placement: placement, containFocus: true }, React.Children.map(children, wrapPromptWithBody)));
22
22
  };
23
23
  PopoverDialog.Trigger = Popover.Trigger;
24
24
  const Prompt = ({ children }) => React.createElement(Base.Body, null, children);
25
25
  Prompt.displayName = 'PopoverDialog.Prompt';
26
26
  PopoverDialog.Prompt = Prompt;
27
27
  export { PopoverDialog };
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9wb3ZlckRpYWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2xlY3VsZXMvUG9wb3ZlckRpYWxvZy9Qb3BvdmVyRGlhbG9nLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBRy9CLE9BQU8sRUFBeUIsT0FBTyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFL0UsT0FBTyxFQUFFLGFBQWEsSUFBSSxJQUFJLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQU85QyxNQUFNLGFBQWEsR0FHZixDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO0lBQzNFLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxLQUFzQixFQUFFLEVBQUU7UUFDcEQsSUFBSSxlQUFlLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNoRCxPQUFPLENBQ0wsb0JBQUMsT0FBTyxDQUFDLEtBQUssSUFBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQztnQkFDM0Msb0JBQUMsSUFBSSxDQUFDLE1BQU07b0JBQ1Ysb0JBQUMsSUFBSSxDQUFDLEtBQUssUUFBRSxLQUFLLENBQWMsQ0FDcEI7Z0JBQ2IsS0FBSztnQkFDTixvQkFBQyxJQUFJLENBQUMsTUFBTTtvQkFDVixvQkFBQyxJQUFJLENBQUMsT0FBTzt3QkFDVixlQUFlLElBQUksQ0FDbEIsb0JBQUMsT0FBTyxDQUFDLE1BQU0sa0JBQ2IsSUFBSSxFQUFDLGlCQUFpQixFQUN0QixHQUFHLEVBQUUsZUFBZSxDQUFDLElBQUksRUFDekIsS0FBSyxVQUNELElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLEdBRWhDLGVBQWUsQ0FBQyxJQUFJLENBQ04sQ0FDbEI7d0JBQ0Qsb0JBQUMsT0FBTyxDQUFDLE1BQU0sa0JBQUMsSUFBSSxFQUFDLE9BQU8sRUFBQyxHQUFHLEVBQUUsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLFVBQUssSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsR0FDeEYsYUFBYSxDQUFDLElBQUksQ0FDSixDQUNKLENBQ0gsQ0FDQSxDQUNqQixDQUFDO1NBQ0g7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQztJQUVGLE9BQU8sQ0FDTCxvQkFBQyxPQUFPLElBQ04sSUFBSSxFQUFDLFFBQVEsRUFDYixNQUFNLEVBQUUsSUFBSSxFQUNaLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLGFBQWEsRUFBRSxJQUFJLEVBQ25CLHlCQUF5QixFQUFFLEtBQUssRUFDaEMsU0FBUyxFQUFFLElBQUksRUFDZixZQUFZLEVBQUUsSUFBSSxJQUVqQixLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsQ0FDekMsQ0FDWCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsYUFBYSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO0FBRXhDLE1BQU0sTUFBTSxHQUFhLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsb0JBQUMsSUFBSSxDQUFDLElBQUksUUFBRSxRQUFRLENBQWEsQ0FBQztBQUM3RSxNQUFNLENBQUMsV0FBVyxHQUFHLHNCQUFzQixDQUFDO0FBQzVDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0FBRTlCLE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQyJ9
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9wb3ZlckRpYWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2xlY3VsZXMvUG9wb3ZlckRpYWxvZy9Qb3BvdmVyRGlhbG9nLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBRy9CLE9BQU8sRUFBeUIsT0FBTyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFL0UsT0FBTyxFQUFFLGFBQWEsSUFBSSxJQUFJLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQU85QyxNQUFNLGFBQWEsR0FHZixDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFO0lBQzNFLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxLQUFzQixFQUFFLEVBQUU7UUFDcEQsSUFBSSxlQUFlLENBQUMsS0FBSyxFQUFFLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNoRCxPQUFPLENBQ0wsb0JBQUMsT0FBTyxDQUFDLEtBQUssSUFBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQztnQkFDM0Msb0JBQUMsSUFBSSxDQUFDLE1BQU07b0JBQ1Ysb0JBQUMsSUFBSSxDQUFDLEtBQUssUUFBRSxLQUFLLENBQWMsQ0FDcEI7Z0JBQ2IsS0FBSztnQkFDTixvQkFBQyxJQUFJLENBQUMsTUFBTTtvQkFDVixvQkFBQyxJQUFJLENBQUMsT0FBTzt3QkFDVixlQUFlLElBQUksQ0FDbEIsb0JBQUMsT0FBTyxDQUFDLE1BQU0sa0JBQ2IsSUFBSSxFQUFDLGlCQUFpQixFQUN0QixHQUFHLEVBQUUsZUFBZSxDQUFDLElBQUksRUFDekIsS0FBSyxVQUNELElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLEdBRWhDLGVBQWUsQ0FBQyxJQUFJLENBQ04sQ0FDbEI7d0JBQ0Qsb0JBQUMsT0FBTyxDQUFDLE1BQU0sa0JBQUMsSUFBSSxFQUFDLE9BQU8sRUFBQyxHQUFHLEVBQUUsYUFBYSxDQUFDLElBQUksRUFBRSxLQUFLLFVBQUssSUFBSSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsR0FDeEYsYUFBYSxDQUFDLElBQUksQ0FDSixDQUNKLENBQ0gsQ0FDQSxDQUNqQixDQUFDO1NBQ0g7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQztJQUVGLE9BQU8sQ0FDTCxvQkFBQyxPQUFPLElBQUMsSUFBSSxFQUFDLFFBQVEsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxVQUNwRSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsQ0FDekMsQ0FDWCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsYUFBYSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO0FBRXhDLE1BQU0sTUFBTSxHQUFhLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsb0JBQUMsSUFBSSxDQUFDLElBQUksUUFBRSxRQUFRLENBQWEsQ0FBQztBQUM3RSxNQUFNLENBQUMsV0FBVyxHQUFHLHNCQUFzQixDQUFDO0FBQzVDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0FBRTlCLE9BQU8sRUFBRSxhQUFhLEVBQUUsQ0FBQyJ9
@@ -10,7 +10,6 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  return t;
11
11
  };
12
12
  import React, { useRef, useState } from 'react';
13
- import { useOverlayPosition } from '@react-aria/overlays';
14
13
  import { useSelect } from 'downshift';
15
14
  import defaults from 'lodash/defaults';
16
15
  import isArray from 'lodash/isArray';
@@ -18,7 +17,7 @@ import isNil from 'lodash/isNil';
18
17
  import omit from 'lodash/omit';
19
18
  import uniqueId from 'lodash/uniqueId';
20
19
  import { InlineIcon } from '../../../src/molecules/Icon/Icon';
21
- import { PopoverWrapper } from '../../../src/molecules/Popover/PopoverWrapper';
20
+ import { PopoverOverlay } from '../../../src/molecules/Popover/PopoverOverlay';
22
21
  import { Skeleton } from '../../../src/molecules/Skeleton/Skeleton';
23
22
  import { getOptionLabelBuiltin, isOptionDisabledBuiltin, Select as Base } from '../../../src/atoms/Select/Select';
24
23
  import { FormControl } from '../../../src/utils/form/FormControl/FormControl';
@@ -63,7 +62,7 @@ const _SelectBase = (props) => {
63
62
  const { id, name, placeholder, disabled, readOnly, maxHeight, options, optionToString: itemToString, getValue, getOptionKey, UNSAFE_renderOption, isOptionDisabled, defaultValue, value, onChange, valid, emptyState, actions, required, children, labelWrapper } = withDefaults, rest = __rest(withDefaults, ["id", "name", "placeholder", "disabled", "readOnly", "maxHeight", "options", "optionToString", "getValue", "getOptionKey", "UNSAFE_renderOption", "isOptionDisabled", "defaultValue", "value", "onChange", "valid", "emptyState", "actions", "required", "children", "labelWrapper"]);
64
63
  const [hasFocus, setFocus] = useState(false);
65
64
  const targetRef = useRef(null);
66
- const overlayRef = useRef(null);
65
+ const menuRef = useRef(null);
67
66
  const items = hasOptionGroups(options) ? options.flatMap((g) => g.options) : options;
68
67
  const findItemByValue = (val) => {
69
68
  if (val === null) {
@@ -71,20 +70,20 @@ const _SelectBase = (props) => {
71
70
  }
72
71
  return val === undefined ? undefined : items.find((opt) => getValue(opt) === getValue(val));
73
72
  };
74
- const { isOpen, closeMenu, selectItem, selectedItem, highlightedIndex, getToggleButtonProps, getMenuProps, getItemProps, setHighlightedIndex, } = useSelect({
73
+ const { isOpen, openMenu, closeMenu, toggleMenu, selectItem, selectedItem, highlightedIndex, getToggleButtonProps, getMenuProps, getItemProps, setHighlightedIndex, } = useSelect({
75
74
  selectedItem: findItemByValue(value),
76
75
  defaultSelectedItem: findItemByValue(defaultValue),
77
76
  items,
78
77
  itemToString,
79
78
  onSelectedItemChange: (e) => onChange === null || onChange === void 0 ? void 0 : onChange(e.selectedItem),
80
79
  });
81
- const { overlayProps } = useOverlayPosition({
82
- targetRef,
83
- overlayRef,
84
- placement: 'bottom start',
85
- shouldFlip: true,
80
+ const state = {
86
81
  isOpen,
87
- });
82
+ close: closeMenu,
83
+ open: openMenu,
84
+ toggle: toggleMenu,
85
+ setOpen: (isOpen) => (isOpen ? openMenu() : closeMenu()),
86
+ };
88
87
  const renderItem = (item, index) => UNSAFE_renderOption(item, Object.assign({ highlighted: index === highlightedIndex }, getItemProps({ item, index, disabled: isOptionDisabled(item, index) })), {
89
88
  selectedItem,
90
89
  closeMenu,
@@ -96,25 +95,20 @@ const _SelectBase = (props) => {
96
95
  const input = (React.createElement(Base.InputContainer, Object.assign({}, getToggleButtonProps({ disabled: disabled || readOnly, ref: targetRef }), { variant: disabled ? 'disabled' : !valid ? 'error' : readOnly ? 'readOnly' : hasFocus ? 'focused' : 'default', tabIndex: 0 }),
97
96
  React.createElement(Base.Input, Object.assign({ id: id, name: name }, rest, { className: !disabled && !readOnly ? 'cursor-pointer' : undefined, disabled: disabled, readOnly: true, placeholder: readOnly ? undefined : placeholder, value: !isNil(selectedItem) ? itemToString(selectedItem) : '', tabIndex: -1, onFocus: () => setFocus(true), onBlur: () => setFocus(false) })),
98
97
  !readOnly && React.createElement(Base.Toggle, { disabled: disabled, isOpen: isOpen, tabIndex: -1 })));
99
- const width = (_a = targetRef.current) === null || _a === void 0 ? void 0 : _a.offsetWidth;
100
- const style = isOpen ? Object.assign(Object.assign({}, overlayProps.style), { width }) : { display: 'none' };
98
+ const menuProps = getMenuProps({ ref: menuRef }, { suppressRefError: !isOpen });
101
99
  return (React.createElement("div", { className: tw('relative') },
102
100
  labelWrapper ? React.cloneElement(labelWrapper, { children: input }) : input,
103
- React.createElement(PopoverWrapper
104
- // Downshift expects the menu to be in the DOM all the time.
105
- , Object.assign({
106
- // Downshift expects the menu to be in the DOM all the time.
107
- isOpen: true, isDismissable: true, autoFocus: true }, getMenuProps({ ref: overlayRef }), { style: style, onClose: closeMenu }),
108
- React.createElement(Base.Menu, { maxHeight: maxHeight },
109
- isOpen && options.length === 0 && React.createElement(Base.EmptyStateContainer, null, emptyState),
110
- isOpen && options.length > 0 && !hasOptionGroups(options) && options.map(renderItem),
111
- isOpen && options.length > 0 && hasOptionGroups(options) && options.map(renderGroup),
112
- isOpen && actions.length > 0 && (React.createElement(React.Fragment, null,
101
+ isOpen && (React.createElement(PopoverOverlay, { state: state, triggerRef: targetRef, placement: "bottom-left", shouldFlip: true, style: { width: (_a = targetRef.current) === null || _a === void 0 ? void 0 : _a.offsetWidth } },
102
+ React.createElement(Base.Menu, Object.assign({ ref: menuRef, maxHeight: maxHeight }, menuProps),
103
+ options.length === 0 && React.createElement(Base.EmptyStateContainer, null, emptyState),
104
+ options.length > 0 && !hasOptionGroups(options) && options.map(renderItem),
105
+ options.length > 0 && hasOptionGroups(options) && options.map(renderGroup),
106
+ actions.length > 0 && (React.createElement(React.Fragment, null,
113
107
  React.createElement(Base.Divider, { onMouseOver: () => setHighlightedIndex(-1) }),
114
108
  actions.map((act, index) => (React.createElement(Base.ActionItem, Object.assign({ key: `${index}` }, act, { onMouseOver: () => setHighlightedIndex(-1), onClick: () => {
115
109
  act.onClick();
116
110
  closeMenu();
117
- } }), act.label)))))))));
111
+ } }), act.label))))))))));
118
112
  };
119
113
  export const SelectBase = (props) => React.createElement(_SelectBase, Object.assign({}, props, { labelWrapper: undefined }));
120
114
  const SelectBaseSkeleton = () => React.createElement(Skeleton, { height: 38 });
@@ -141,4 +135,4 @@ const SelectSkeleton = () => (React.createElement(LabelControl.Skeleton, null,
141
135
  React.createElement(SelectBase.Skeleton, null)));
142
136
  Select.Skeleton = SelectSkeleton;
143
137
  Select.Skeleton.displayName = 'Select.Skeleton';
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9TZWxlY3QvU2VsZWN0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUVoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sUUFBUSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxRQUFRLE1BQU0saUJBQWlCLENBQUM7QUFFdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sSUFBSSxJQUFJLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2xFLE9BQU8sRUFBMEIsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9HLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQW1DeEMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxHQUFZLEVBQXlDLEVBQUU7O0lBQzlFLE9B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
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9TZWxlY3QvU2VsZWN0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUVoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3RDLE9BQU8sUUFBUSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sT0FBTyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sS0FBSyxNQUFNLGNBQWMsQ0FBQztBQUNqQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxRQUFRLE1BQU0saUJBQWlCLENBQUM7QUFFdkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFM0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sSUFBSSxJQUFJLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDckUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ2xFLE9BQU8sRUFBMEIsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9HLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQW1DeEMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxHQUFZLEVBQXlDLEVBQUU7O0lBQzlFLE9BQU8sT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLENBQUEsTUFBQyxHQUFXLGFB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
@@ -15,25 +15,37 @@ export declare type Column = {
15
15
  * Display name for the column.
16
16
  */
17
17
  headerName: string;
18
+ /**
19
+ * Determines if the header name should be visible.
20
+ * Because headerName is used as a key use this to toggle visibility instead of empty string as headerName.
21
+ */
18
22
  headerInvisible?: boolean;
19
23
  key?: string;
20
24
  };
21
25
  declare type Formatter<R, K extends keyof R, V = R[K]> = (value: V, row: R, index: number, rows: R[]) => string;
22
- export declare type FieldColumn<T, K extends keyof T = keyof T> = K extends keyof T ? {
26
+ declare type CustomSortable<R> = {
23
27
  /**
24
- * Name of the property field that this column represents in the data rows.
28
+ * Optional compare function for sorting.
25
29
  */
26
- field: K;
30
+ sort?: (a: R, b: R, direction: SortDirection) => number;
31
+ };
32
+ declare type Sortable = {
27
33
  /**
28
34
  * When true, user will be able to sort data rows by clicking this column header.
29
35
  */
30
36
  sortable?: boolean;
37
+ };
38
+ export declare type FieldColumn<R, K extends keyof R = keyof R> = K extends keyof R ? {
39
+ /**
40
+ * Name of the property field that this column represents in the data rows.
41
+ */
42
+ field: K;
31
43
  /**
32
44
  * Formatter function. Use for example for formatting dates or capitalizing words.
33
45
  * Sorting will still be based on the unformatted value.
34
46
  */
35
- formatter?: Formatter<T, K>;
36
- } : never;
47
+ formatter?: Formatter<R, K>;
48
+ } & Sortable & CustomSortable<R> : never;
37
49
  export declare type TextColumn<R> = FieldColumn<R> & {
38
50
  /**
39
51
  * Type of the column.
@@ -46,7 +58,7 @@ export declare type NumberColumn<R> = FieldColumn<R> & {
46
58
  */
47
59
  type: 'number';
48
60
  };
49
- export declare type ActionColumn<R> = {
61
+ export declare type ActionColumn<R> = CustomSortable<R> & {
50
62
  /**
51
63
  * Type of the column.
52
64
  */
@@ -56,7 +68,7 @@ export declare type ActionColumn<R> = {
56
68
  */
57
69
  action: (row: R, index: number, rows: R[]) => ActionType;
58
70
  };
59
- export declare type CustomColumn<R> = {
71
+ export declare type CustomColumn<R> = CustomSortable<R> & {
60
72
  /**
61
73
  * Type of the column.
62
74
  */
@@ -74,7 +86,7 @@ export declare type TableItem = RequireAtLeastOne<{
74
86
  imageAlt?: string;
75
87
  imageSize?: number;
76
88
  }, 'caption' | 'image'>;
77
- declare type ItemColumn<T> = Column & {
89
+ declare type ItemColumn<R> = Column & CustomSortable<R> & {
78
90
  /**
79
91
  * Type of the column.
80
92
  */
@@ -82,9 +94,9 @@ declare type ItemColumn<T> = Column & {
82
94
  /**
83
95
  * Callback function that resolves to TableItem props
84
96
  */
85
- item: (row: T, index: number, rows: T[]) => TableItem;
97
+ item: (row: R, index: number, rows: R[]) => TableItem;
86
98
  };
87
- declare type StatusColumn<R> = {
99
+ declare type StatusColumn<R> = Column & CustomSortable<R> & {
88
100
  /**
89
101
  * Type of the column.
90
102
  */
@@ -119,8 +131,8 @@ export declare type DataTableRow = Record<string, any> & {
119
131
  */
120
132
  id: string | number;
121
133
  };
122
- export declare type Sort<R extends DataTableRow> = {
123
- key: keyof R;
134
+ export declare type Sort<C> = {
135
+ column: C;
124
136
  direction: SortDirection;
125
137
  };
126
138
  export declare const toSortDirection: (direction: SortDirection | undefined) => 'asc' | 'desc' | false;
@@ -129,4 +141,5 @@ declare type CellProps = {
129
141
  align: TextAlign;
130
142
  };
131
143
  export declare const cellProps: <C extends Column>(column: C) => CellProps;
144
+ export declare const columnIsFieldColumn: <R extends DataTableRow>(column?: any) => column is FieldColumn<R, keyof R>;
132
145
  export {};
@@ -3,4 +3,5 @@ export const cellProps = (column) => ({
3
3
  key: column.key || column.headerName,
4
4
  align: column.type === 'number' || column.type === 'action' ? 'right' : 'left',
5
5
  });
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvdGFibGUvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUpBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLFNBQW9DLEVBQTBCLEVBQUUsQ0FDOUYsU0FBUyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQU9sRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBbUIsTUFBUyxFQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxVQUFVO0lBQ3BDLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNO0NBQy9FLENBQUMsQ0FBQyJ9
6
+ export const columnIsFieldColumn = (column) => Boolean(column && column.field);
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvdGFibGUvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcUtBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLFNBQW9DLEVBQTBCLEVBQUUsQ0FDOUYsU0FBUyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQU9sRixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBbUIsTUFBUyxFQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxVQUFVO0lBQ3BDLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNO0NBQy9FLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQXlCLE1BQTJCLEVBQTRCLEVBQUUsQ0FDbkgsT0FBTyxDQUFDLE1BQU0sSUFBSyxNQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDIn0=
@@ -1,2 +1,2 @@
1
- import { type DataTableRow, type Sort } from '../../../src/utils/table/types';
2
- export declare const useTableSort: <T extends DataTableRow>() => [Sort<T> | undefined, (field: keyof T) => void];
1
+ import { type DataListColumn, type DataTableColumn, type DataTableRow, type Sort } from '../../../src/utils/table/types';
2
+ export declare const useTableSort: <C extends DataTableColumn<R> | DataListColumn<R>, R extends DataTableRow>() => [Sort<C> | undefined, (column: C) => void];
@@ -1,19 +1,19 @@
1
1
  import React from 'react';
2
2
  export const useTableSort = () => {
3
3
  const [sort, setSort] = React.useState();
4
- const handleSortClick = (field) => {
5
- if ((sort === null || sort === void 0 ? void 0 : sort.key) === field) {
4
+ const handleSortClick = (column) => {
5
+ if (sort && sort.column.headerName === column.headerName) {
6
6
  if (sort.direction === 'ascending') {
7
- setSort({ key: field, direction: 'descending' });
7
+ setSort({ column, direction: 'descending' });
8
8
  }
9
9
  else {
10
10
  setSort(undefined);
11
11
  }
12
12
  }
13
13
  else {
14
- setSort({ key: field, direction: 'ascending' });
14
+ setSort({ column, direction: 'ascending' });
15
15
  }
16
16
  };
17
17
  return [sort, handleSortClick];
18
18
  };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGFibGVTb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL3RhYmxlL3VzZVRhYmxlU29ydC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBSTFCLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxHQUE0RSxFQUFFO0lBQ3hHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVyxDQUFDO0lBQ2xELE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBYyxFQUFFLEVBQUU7UUFDekMsSUFBSSxDQUFBLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRSxHQUFHLE1BQUssS0FBSyxFQUFFO1lBQ3ZCLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxXQUFXLEVBQUU7Z0JBQ2xDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7YUFDbEQ7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3BCO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7U0FDakQ7SUFDSCxDQUFDLENBQUM7SUFFRixPQUFPLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBQ2pDLENBQUMsQ0FBQyJ9
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGFibGVTb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL3RhYmxlL3VzZVRhYmxlU29ydC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBSTFCLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxHQUcxQixFQUFFO0lBQ0YsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFXLENBQUM7SUFDbEQsTUFBTSxlQUFlLEdBQUcsQ0FBQyxNQUFTLEVBQUUsRUFBRTtRQUNwQyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsS0FBSyxNQUFNLENBQUMsVUFBVSxFQUFFO1lBQ3hELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxXQUFXLEVBQUU7Z0JBQ2xDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQzthQUM5QztpQkFBTTtnQkFDTCxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDcEI7U0FDRjthQUFNO1lBQ0wsT0FBTyxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1NBQzdDO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsT0FBTyxDQUFDLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQztBQUNqQyxDQUFDLENBQUMifQ==
@@ -0,0 +1,2 @@
1
+ import { type DataListColumn, type DataTableColumn, type DataTableRow, type Sort } from '../../../src/utils/table/types';
2
+ export declare const sortRowsBy: <C extends DataTableColumn<R> | DataListColumn<R>, R extends DataTableRow>(rows: R[], sort: Sort<C> | undefined) => R[];
@@ -0,0 +1,16 @@
1
+ import orderBy from 'lodash/orderBy';
2
+ import { columnIsFieldColumn, toSortDirection, } from '../../../src/utils/table/types';
3
+ export const sortRowsBy = (rows, sort) => {
4
+ if (!sort) {
5
+ return rows;
6
+ }
7
+ const sortFunction = sort.column.sort;
8
+ if (sortFunction) {
9
+ return [...rows].sort((a, b) => sortFunction(a, b, sort.direction));
10
+ }
11
+ else if (columnIsFieldColumn(sort.column)) {
12
+ return orderBy(rows, [sort.column.field], [toSortDirection(sort.direction)]);
13
+ }
14
+ return rows;
15
+ };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvdGFibGUvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxPQUFPLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUtMLG1CQUFtQixFQUNuQixlQUFlLEdBQ2hCLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQ3hCLElBQVMsRUFDVCxJQUF5QixFQUN6QixFQUFFO0lBQ0YsSUFBSSxDQUFDLElBQUksRUFBRTtRQUNULE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUV0QyxJQUFJLFlBQVksRUFBRTtRQUNoQixPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztLQUNyRTtTQUFNLElBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQzNDLE9BQU8sT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUM5RTtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDIn0=
package/dist/styles.css CHANGED
@@ -2039,6 +2039,12 @@ input[type='number'].no-arrows {
2039
2039
  outline: 2px solid transparent;
2040
2040
  outline-offset: 2px;
2041
2041
  }
2042
+ .ring-0 {
2043
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2044
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
2045
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
2046
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
2047
+ }
2042
2048
  .ring-1 {
2043
2049
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2044
2050
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
@@ -2038,6 +2038,12 @@ input[type='number'].no-arrows {
2038
2038
  outline: 2px solid transparent;
2039
2039
  outline-offset: 2px;
2040
2040
  }
2041
+ .ring-0 {
2042
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2043
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
2044
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), 0 0 rgba(0,0,0,0);
2045
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0,0,0,0));
2046
+ }
2041
2047
  .ring-1 {
2042
2048
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
2043
2049
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);