@aivenio/aquarium 2.2.0 → 2.3.1
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/atoms.cjs +21 -6
- package/dist/atoms.mjs +21 -6
- package/dist/src/atoms/DataList/DataList.d.ts +6 -2
- package/dist/src/atoms/DataList/DataList.js +15 -4
- package/dist/src/molecules/DataList/DataList.d.ts +2 -2
- package/dist/src/molecules/DataList/DataList.js +3 -3
- package/dist/src/molecules/DataList/DataListComponents.d.ts +3 -3
- package/dist/src/molecules/DataList/DataListComponents.js +15 -2
- package/dist/src/molecules/DataList/DataListGroup.js +10 -6
- package/dist/src/molecules/DataList/DataListSkeleton.js +2 -2
- package/dist/src/molecules/DataTable/DataTable.js +3 -3
- package/dist/src/molecules/ItemList/ItemList.d.ts +39 -0
- package/dist/src/molecules/ItemList/ItemList.js +72 -0
- package/dist/src/molecules/ItemList/ItemList.spec.d.ts +24 -0
- package/dist/src/molecules/ItemList/ItemList.spec.js +100 -0
- package/dist/src/molecules/ItemList/types.d.ts +114 -0
- package/dist/src/molecules/ItemList/types.js +2 -0
- package/dist/src/molecules/PageHeader/PageHeader.d.ts +3 -3
- package/dist/src/molecules/PageHeader/PageHeader.js +5 -1
- package/dist/src/molecules/index.d.ts +3 -0
- package/dist/src/molecules/index.js +4 -1
- package/dist/src/utils/table/sortByColumn.d.ts +3 -0
- package/dist/src/utils/table/sortByColumn.js +23 -0
- package/dist/src/utils/table/types.d.ts +23 -3
- package/dist/src/utils/table/types.js +3 -1
- package/dist/src/utils/table/useSortState.d.ts +15 -0
- package/dist/src/utils/table/useSortState.js +3 -0
- package/dist/src/utils/table/useTableSort.d.ts +3 -3
- package/dist/src/utils/table/useTableSort.js +2 -2
- package/dist/src/utils/table/utils.d.ts +2 -2
- package/dist/src/utils/table/utils.js +3 -3
- package/dist/styles.css +18 -0
- package/dist/system.cjs +182 -23
- package/dist/system.mjs +178 -23
- package/dist/tsconfig.module.tsbuildinfo +1 -1
- package/dist/types/tailwindGenerated.d.ts +1 -1
- package/package.json +2 -2
@@ -1,6 +1,6 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { isOnSortChangedDirection, } from '../../../src/utils/table/types';
|
3
|
-
export const useTableSort = ({ column, direction, onSortChanged
|
3
|
+
export const useTableSort = ({ column, direction, onSortChanged } = {}) => {
|
4
4
|
const defaultSort = column ? { column, direction } : undefined;
|
5
5
|
const [sort, setSort] = React.useState(defaultSort);
|
6
6
|
const setSortAndEmitOnSortChangedEvent = (sort) => {
|
@@ -29,4 +29,4 @@ export const useTableSort = ({ column, direction, onSortChanged, } = {}) => {
|
|
29
29
|
};
|
30
30
|
return [sort, handleSortClick];
|
31
31
|
};
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVGFibGVTb3J0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3V0aWxzL3RhYmxlL3VzZVRhYmxlU29ydC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRTFCLE9BQU8sRUFJTCx3QkFBd0IsR0FJekIsTUFBTSx1QkFBdUIsQ0FBQztBQWtCL0IsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBRzFCLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxhQUFhLEtBQWdDLEVBQUUsRUFBOEMsRUFBRTtJQUNwSCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDL0QsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFzQixXQUFXLENBQUMsQ0FBQztJQUN6RSxNQUFNLGdDQUFnQyxHQUFHLENBQUMsSUFBeUIsRUFBRSxFQUFFO1FBQ3JFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNkLElBQUksYUFBYSxFQUFFLENBQUM7WUFDbEIsSUFBSSxJQUFJLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3JELGFBQWEsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7WUFDckUsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0QixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUMsQ0FBQztJQUNGLE1BQU0sZUFBZSxHQUFHLENBQUMsTUFBUyxFQUFFLEVBQUU7UUFDcEMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEtBQUssTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3pELElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxXQUFXLEVBQUUsQ0FBQztnQkFDbkMsZ0NBQWdDLENBQUMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7WUFDeEUsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLGdDQUFnQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlDLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLGdDQUFnQyxDQUFDLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7SUFDSCxDQUFDLENBQUM7SUFFRixPQUFPLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0FBQ2pDLENBQUMsQ0FBQyJ9
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import { type DataListColumn, type DataTableColumn, type DataTableRow, type Sort } from '../../../src/utils/table/types';
|
2
|
-
export declare const sortRowsBy: <C extends DataListColumn<R> | DataTableColumn<R>, R extends DataTableRow>(rows: R[], sort: Sort<C> | undefined) => R[];
|
1
|
+
import { type DataListColumn, type DataTableColumn, type DataTableRow, type ItemListColumn, type Sort } from '../../../src/utils/table/types';
|
2
|
+
export declare const sortRowsBy: <C extends DataListColumn<R> | DataTableColumn<R> | ItemListColumn<R>, R extends DataTableRow>(rows: R[], sort: Sort<C> | undefined) => R[];
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import orderBy from 'lodash/orderBy';
|
2
|
-
import { columnIsFieldColumn, toSortDirection, } from '../../../src/utils/table/types';
|
2
|
+
import { columnHasSort, columnIsFieldColumn, toSortDirection, } from '../../../src/utils/table/types';
|
3
3
|
export const sortRowsBy = (rows, sort) => {
|
4
|
-
if (!sort) {
|
4
|
+
if (!sort || !columnHasSort(sort.column)) {
|
5
5
|
return rows;
|
6
6
|
}
|
7
7
|
const sortFunction = sort.column.sort;
|
@@ -13,4 +13,4 @@ export const sortRowsBy = (rows, sort) => {
|
|
13
13
|
}
|
14
14
|
return rows;
|
15
15
|
};
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvdGFibGUvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxPQUFPLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUNMLGFBQWEsRUFDYixtQkFBbUIsRUFNbkIsZUFBZSxHQUNoQixNQUFNLHVCQUF1QixDQUFDO0FBRS9CLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUl4QixJQUFTLEVBQ1QsSUFBeUIsRUFDekIsRUFBRTtJQUNGLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDekMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFFdEMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQixPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDO1NBQU0sSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUM1QyxPQUFPLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDIn0=
|
package/dist/styles.css
CHANGED
@@ -1053,6 +1053,10 @@ input[type='number'].no-arrows {
|
|
1053
1053
|
margin-left: 8px;
|
1054
1054
|
margin-right: 8px;
|
1055
1055
|
}
|
1056
|
+
.mx-4{
|
1057
|
+
margin-left: 12px;
|
1058
|
+
margin-right: 12px;
|
1059
|
+
}
|
1056
1060
|
.mx-7{
|
1057
1061
|
margin-left: 32px;
|
1058
1062
|
margin-right: 32px;
|
@@ -1194,6 +1198,9 @@ input[type='number'].no-arrows {
|
|
1194
1198
|
.h-1{
|
1195
1199
|
height: 2px;
|
1196
1200
|
}
|
1201
|
+
.h-1\/2{
|
1202
|
+
height: 50%;
|
1203
|
+
}
|
1197
1204
|
.h-1px{
|
1198
1205
|
height: 1px;
|
1199
1206
|
}
|
@@ -1311,6 +1318,9 @@ input[type='number'].no-arrows {
|
|
1311
1318
|
.w-\[1080px\]{
|
1312
1319
|
width: 1080px;
|
1313
1320
|
}
|
1321
|
+
.w-\[18px\]{
|
1322
|
+
width: 18px;
|
1323
|
+
}
|
1314
1324
|
.w-\[280px\]{
|
1315
1325
|
width: 280px;
|
1316
1326
|
}
|
@@ -1710,10 +1720,18 @@ input[type='number'].no-arrows {
|
|
1710
1720
|
border-bottom-width: 2px;
|
1711
1721
|
border-bottom-width: var(--aquarium-border-width-2);
|
1712
1722
|
}
|
1723
|
+
.border-l{
|
1724
|
+
border-left-width: 1px;
|
1725
|
+
border-left-width: var(--aquarium-border-width-default);
|
1726
|
+
}
|
1713
1727
|
.border-r-1{
|
1714
1728
|
border-right-width: 1px;
|
1715
1729
|
border-right-width: var(--aquarium-border-width-1);
|
1716
1730
|
}
|
1731
|
+
.border-t{
|
1732
|
+
border-top-width: 1px;
|
1733
|
+
border-top-width: var(--aquarium-border-width-default);
|
1734
|
+
}
|
1717
1735
|
.border-t-2{
|
1718
1736
|
border-top-width: 2px;
|
1719
1737
|
border-top-width: var(--aquarium-border-width-2);
|
package/dist/system.cjs
CHANGED
@@ -4265,6 +4265,7 @@ __export(system_exports, {
|
|
4265
4265
|
InlineIcon: () => InlineIcon,
|
4266
4266
|
Input: () => Input2,
|
4267
4267
|
InputBase: () => InputBase,
|
4268
|
+
ItemList: () => ItemList,
|
4268
4269
|
Label: () => Label2,
|
4269
4270
|
LabelControl: () => LabelControl,
|
4270
4271
|
LineClamp: () => LineClamp2,
|
@@ -4342,6 +4343,7 @@ __export(system_exports, {
|
|
4342
4343
|
calcTopPosition: () => calcTopPosition,
|
4343
4344
|
calcTopRightPosition: () => calcTopRightPosition,
|
4344
4345
|
cellProps: () => cellProps,
|
4346
|
+
columnHasSort: () => columnHasSort,
|
4345
4347
|
columnIsFieldColumn: () => columnIsFieldColumn,
|
4346
4348
|
createComponent: () => createComponent,
|
4347
4349
|
createMountPointElement: () => createMountPointElement,
|
@@ -4352,10 +4354,12 @@ __export(system_exports, {
|
|
4352
4354
|
isOnSortChangedDirection: () => isOnSortChangedDirection,
|
4353
4355
|
isOutOfBounds: () => isOutOfBounds,
|
4354
4356
|
placementOrder: () => placementOrder,
|
4357
|
+
sortByColumn: () => sortByColumn,
|
4355
4358
|
toSortDirection: () => toSortDirection,
|
4356
4359
|
usePagination: () => usePagination,
|
4357
4360
|
usePopoverContext: () => usePopoverContext,
|
4358
4361
|
useScrollTarget: () => useScrollTarget,
|
4362
|
+
useSortState: () => useSortState,
|
4359
4363
|
useStaticInfiniteList: () => useStaticInfiniteList,
|
4360
4364
|
useTableSelect: () => useTableSelect,
|
4361
4365
|
useTableSort: () => useTableSort,
|
@@ -4422,6 +4426,7 @@ __export(molecules_exports, {
|
|
4422
4426
|
InlineIcon: () => InlineIcon,
|
4423
4427
|
Input: () => Input2,
|
4424
4428
|
InputBase: () => InputBase,
|
4429
|
+
ItemList: () => ItemList,
|
4425
4430
|
LineClamp: () => LineClamp2,
|
4426
4431
|
Link: () => Link2,
|
4427
4432
|
List: () => List,
|
@@ -4486,13 +4491,16 @@ __export(molecules_exports, {
|
|
4486
4491
|
asPopoverButton: () => asPopoverButton,
|
4487
4492
|
asTabItem: () => asTabItem,
|
4488
4493
|
cellProps: () => cellProps,
|
4494
|
+
columnHasSort: () => columnHasSort,
|
4489
4495
|
columnIsFieldColumn: () => columnIsFieldColumn,
|
4490
4496
|
createTabsComponent: () => createTabsComponent,
|
4491
4497
|
isOnSortChangedDirection: () => isOnSortChangedDirection,
|
4498
|
+
sortByColumn: () => sortByColumn,
|
4492
4499
|
toSortDirection: () => toSortDirection,
|
4493
4500
|
usePagination: () => usePagination,
|
4494
4501
|
usePopoverContext: () => usePopoverContext,
|
4495
4502
|
useScrollTarget: () => useScrollTarget,
|
4503
|
+
useSortState: () => useSortState,
|
4496
4504
|
useStaticInfiniteList: () => useStaticInfiniteList,
|
4497
4505
|
useTableSelect: () => useTableSelect,
|
4498
4506
|
useTableSort: () => useTableSort,
|
@@ -11427,6 +11435,19 @@ var DataList = (_a) => {
|
|
11427
11435
|
var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
|
11428
11436
|
return /* @__PURE__ */ import_react70.default.createElement("div", __spreadValues({}, rest));
|
11429
11437
|
};
|
11438
|
+
var TreeLine = (_a) => {
|
11439
|
+
var _b = _a, { className, style, isLast } = _b, rest = __objRest(_b, ["className", "style", "isLast"]);
|
11440
|
+
return /* @__PURE__ */ import_react70.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
11441
|
+
className: classNames(tw("flex justify-start h-full mx-4"), className)
|
11442
|
+
}), /* @__PURE__ */ import_react70.default.createElement("div", {
|
11443
|
+
className: tw("border-l border-default border-dashed flex-1", {
|
11444
|
+
"h-full": !isLast,
|
11445
|
+
"h-1/2": Boolean(isLast)
|
11446
|
+
})
|
11447
|
+
}), /* @__PURE__ */ import_react70.default.createElement("div", {
|
11448
|
+
className: tw("border-t border-default border-dashed self-center w-[18px]")
|
11449
|
+
}));
|
11450
|
+
};
|
11430
11451
|
var HeadCell = (_a) => {
|
11431
11452
|
var _b = _a, {
|
11432
11453
|
className,
|
@@ -11476,22 +11497,22 @@ var Row = (_a) => {
|
|
11476
11497
|
className,
|
11477
11498
|
disabled,
|
11478
11499
|
header,
|
11479
|
-
|
11500
|
+
isGroup,
|
11480
11501
|
active,
|
11481
|
-
|
11502
|
+
noDivider
|
11482
11503
|
} = _b, rest = __objRest(_b, [
|
11483
11504
|
"className",
|
11484
11505
|
"disabled",
|
11485
11506
|
"header",
|
11486
|
-
"
|
11507
|
+
"isGroup",
|
11487
11508
|
"active",
|
11488
|
-
"
|
11509
|
+
"noDivider"
|
11489
11510
|
]);
|
11490
11511
|
return /* @__PURE__ */ import_react70.default.createElement("div", __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, rest), {
|
11491
|
-
role:
|
11512
|
+
role: isGroup ? "rowgroup" : "row"
|
11492
11513
|
}), { inert: disabled ? "" : void 0 }), {
|
11493
11514
|
className: classNames(tw("contents"), className, {
|
11494
|
-
"[&>*]:border-b-transparent":
|
11515
|
+
"[&>*]:border-b-transparent": noDivider,
|
11495
11516
|
"children:opacity-70": disabled,
|
11496
11517
|
"[&>*]:bg-primary-active": active,
|
11497
11518
|
"[&>*]:hover:bg-muted": !disabled && !header
|
@@ -11547,6 +11568,8 @@ DataList.SubGroupSpacing = SubGroupSpacing;
|
|
11547
11568
|
DataList.SubGroupSpacing.displayName = "DataList.SubGroupSpacing";
|
11548
11569
|
DataList.Row = Row;
|
11549
11570
|
DataList.Row.displayName = "DataList.Row";
|
11571
|
+
DataList.TreeLine = TreeLine;
|
11572
|
+
DataList.TreeLine.displayName = "DataList.TreeLine";
|
11550
11573
|
var ToolbarContainer = (_a) => {
|
11551
11574
|
var _b = _a, { className, sticky = true } = _b, rest = __objRest(_b, ["className", "sticky"]);
|
11552
11575
|
return /* @__PURE__ */ import_react70.default.createElement("div", __spreadProps(__spreadValues({}, rest), {
|
@@ -11693,6 +11716,7 @@ var cellProps = (column) => {
|
|
11693
11716
|
var _a;
|
11694
11717
|
let align;
|
11695
11718
|
switch (column.type) {
|
11719
|
+
case "menu":
|
11696
11720
|
case "action":
|
11697
11721
|
case "number": {
|
11698
11722
|
align = "right";
|
@@ -11712,6 +11736,7 @@ var cellProps = (column) => {
|
|
11712
11736
|
stickyColumn: column.sticky
|
11713
11737
|
};
|
11714
11738
|
};
|
11739
|
+
var columnHasSort = (column) => columnIsFieldColumn(column) && column.sortable || Boolean(column.sort);
|
11715
11740
|
var columnIsFieldColumn = (column) => Boolean(column && column.field);
|
11716
11741
|
function isOnSortChangedDirection(value) {
|
11717
11742
|
return value === void 0 || ["ascending", "descending"].includes(value);
|
@@ -11719,11 +11744,7 @@ function isOnSortChangedDirection(value) {
|
|
11719
11744
|
|
11720
11745
|
// src/utils/table/useTableSort.tsx
|
11721
11746
|
var import_react72 = __toESM(require("react"));
|
11722
|
-
var useTableSort = ({
|
11723
|
-
column,
|
11724
|
-
direction,
|
11725
|
-
onSortChanged
|
11726
|
-
} = {}) => {
|
11747
|
+
var useTableSort = ({ column, direction, onSortChanged } = {}) => {
|
11727
11748
|
const defaultSort = column ? { column, direction } : void 0;
|
11728
11749
|
const [sort, setSort] = import_react72.default.useState(defaultSort);
|
11729
11750
|
const setSortAndEmitOnSortChangedEvent = (sort2) => {
|
@@ -11753,7 +11774,7 @@ var useTableSort = ({
|
|
11753
11774
|
// src/utils/table/utils.ts
|
11754
11775
|
var import_orderBy2 = __toESM(require("lodash/orderBy"));
|
11755
11776
|
var sortRowsBy = (rows, sort) => {
|
11756
|
-
if (!sort) {
|
11777
|
+
if (!sort || !columnHasSort(sort.column)) {
|
11757
11778
|
return rows;
|
11758
11779
|
}
|
11759
11780
|
const sortFunction = sort.column.sort;
|
@@ -12218,7 +12239,7 @@ var DataListRow = ({
|
|
12218
12239
|
key: row.id,
|
12219
12240
|
disabled: isRowDisabled,
|
12220
12241
|
active,
|
12221
|
-
isLast
|
12242
|
+
noDivider: isLast
|
12222
12243
|
}, resolvedAdditionalRowProps), {
|
12223
12244
|
style,
|
12224
12245
|
onClick: isRowClickable ? onClick : void 0
|
@@ -12285,6 +12306,21 @@ var DataListCell = ({
|
|
12285
12306
|
}
|
12286
12307
|
break;
|
12287
12308
|
}
|
12309
|
+
case "menu": {
|
12310
|
+
const menuContent = column.menu(row, index);
|
12311
|
+
if (!menuContent) {
|
12312
|
+
cellContent = null;
|
12313
|
+
} else {
|
12314
|
+
cellContent = /* @__PURE__ */ import_react75.default.createElement(DropdownMenu2, {
|
12315
|
+
placement: defaultContextualMenuPlacement,
|
12316
|
+
onAction: (action) => column.onAction(action, row, index)
|
12317
|
+
}, /* @__PURE__ */ import_react75.default.createElement(DropdownMenu2.Trigger, null, /* @__PURE__ */ import_react75.default.createElement(Button.Icon, {
|
12318
|
+
"aria-label": "action",
|
12319
|
+
icon: import_more2.default
|
12320
|
+
})), menuContent);
|
12321
|
+
}
|
12322
|
+
break;
|
12323
|
+
}
|
12288
12324
|
default:
|
12289
12325
|
if (column.formatter) {
|
12290
12326
|
cellContent = column.formatter(row[column.field], row, index, rows);
|
@@ -12365,14 +12401,18 @@ var DataListGroup = (_a) => {
|
|
12365
12401
|
const hasCustomRowForGroup = (0, import_isFunction2.default)(getGroupRow);
|
12366
12402
|
if (!areRowsGrouped(groups)) {
|
12367
12403
|
if (groups.length === 0 && groupKey && groupKey !== "undefined") {
|
12404
|
+
const emptyGroupContent = renderEmptyGroup(groupKey);
|
12405
|
+
if (!emptyGroupContent) {
|
12406
|
+
return null;
|
12407
|
+
}
|
12368
12408
|
return /* @__PURE__ */ import_react77.default.createElement(DataList.Row, {
|
12369
|
-
|
12409
|
+
noDivider: isLastGroup
|
12370
12410
|
}, selectable && /* @__PURE__ */ import_react77.default.createElement(DataList.Cell, null), /* @__PURE__ */ import_react77.default.createElement(DataList.Cell, {
|
12371
12411
|
style: { paddingLeft: `${2 + GAP + level * INDENTATION}px`, gridColumn: `${selectable ? 2 : 1} / -1` }
|
12372
12412
|
}, /* @__PURE__ */ import_react77.default.createElement(Typography, {
|
12373
12413
|
variant: "small",
|
12374
12414
|
color: "muted"
|
12375
|
-
},
|
12415
|
+
}, emptyGroupContent)));
|
12376
12416
|
}
|
12377
12417
|
return /* @__PURE__ */ import_react77.default.createElement(List, {
|
12378
12418
|
items: groups,
|
@@ -12458,7 +12498,7 @@ var DataListGroup = (_a) => {
|
|
12458
12498
|
openPanelId
|
12459
12499
|
}, hasCustomRowForGroup && /* @__PURE__ */ import_react77.default.createElement(DataList.Row, {
|
12460
12500
|
active: isActiveRow,
|
12461
|
-
|
12501
|
+
noDivider: isLastRow
|
12462
12502
|
}, selectable && /* @__PURE__ */ import_react77.default.createElement(DataList.Cell, null, selectable === "multiple" && /* @__PURE__ */ import_react77.default.createElement(Checkbox, {
|
12463
12503
|
"aria-label": getGroupCheckboxLabel(key, group, index, isChecked, rows),
|
12464
12504
|
checked: isChecked,
|
@@ -12488,7 +12528,7 @@ var DataListGroup = (_a) => {
|
|
12488
12528
|
menuAriaLabel
|
12489
12529
|
})), !hasCustomRowForGroup && /* @__PURE__ */ import_react77.default.createElement(DataList.Row, {
|
12490
12530
|
active: isActiveRow,
|
12491
|
-
|
12531
|
+
noDivider: isLastRow
|
12492
12532
|
}, selectable === "multiple" && /* @__PURE__ */ import_react77.default.createElement(DataList.Cell, null, /* @__PURE__ */ import_react77.default.createElement(Checkbox, {
|
12493
12533
|
"aria-label": getGroupCheckboxLabel(key, group, index, isChecked, rows),
|
12494
12534
|
checked: isChecked,
|
@@ -12504,7 +12544,7 @@ var DataListGroup = (_a) => {
|
|
12504
12544
|
}), renderGroupName(key, group))), /* @__PURE__ */ import_react77.default.createElement(Accordion.UnanimatedPanel, {
|
12505
12545
|
panelId: key
|
12506
12546
|
}, /* @__PURE__ */ import_react77.default.createElement(DataList.Row, {
|
12507
|
-
|
12547
|
+
isGroup: true
|
12508
12548
|
}, /* @__PURE__ */ import_react77.default.createElement(DataListGroup, __spreadProps(__spreadValues({
|
12509
12549
|
key,
|
12510
12550
|
groupKey: key,
|
@@ -12533,7 +12573,7 @@ var DataListSkeleton = ({ columns = ["1", "2", "2", 52], rows = 5 }) => {
|
|
12533
12573
|
items: [...Array(rows).keys()],
|
12534
12574
|
renderItem: (item, index) => /* @__PURE__ */ import_react78.default.createElement(DataList.Row, {
|
12535
12575
|
key: item,
|
12536
|
-
|
12576
|
+
noDivider: index === rows - 1
|
12537
12577
|
}, /* @__PURE__ */ import_react78.default.createElement(List, {
|
12538
12578
|
items: columnsAmount,
|
12539
12579
|
renderItem: (key) => /* @__PURE__ */ import_react78.default.createElement(DataList.Cell, {
|
@@ -12739,7 +12779,7 @@ var DataList2 = (_a) => {
|
|
12739
12779
|
color: "default",
|
12740
12780
|
"aria-hidden": true
|
12741
12781
|
}), content) : content;
|
12742
|
-
const cell2 =
|
12782
|
+
const cell2 = columnHasSort(column) ? /* @__PURE__ */ import_react80.default.createElement(DataList.SortCell, __spreadValues({
|
12743
12783
|
direction: sort && sort.column.headerName === column.headerName ? sort.direction : "none",
|
12744
12784
|
onClick: () => updateSort(column),
|
12745
12785
|
sticky
|
@@ -13003,7 +13043,7 @@ var DataTable = (_a) => {
|
|
13003
13043
|
color: "default",
|
13004
13044
|
"aria-hidden": true
|
13005
13045
|
}), content) : content;
|
13006
|
-
const cell2 =
|
13046
|
+
const cell2 = columnHasSort(column) ? /* @__PURE__ */ import_react83.default.createElement(Table2.SortCell, __spreadValues({
|
13007
13047
|
direction: sort && sort.column.headerName === column.headerName ? sort.direction : "none",
|
13008
13048
|
onClick: () => updateSort(column),
|
13009
13049
|
style: { width: column.width },
|
@@ -15613,6 +15653,12 @@ var CommonPageHeader = ({
|
|
15613
15653
|
isSubHeader = false
|
15614
15654
|
}) => {
|
15615
15655
|
var _a, _b;
|
15656
|
+
const actions = [primaryAction, ...(0, import_castArray6.default)(secondaryActions)].filter(Boolean);
|
15657
|
+
if (actions.length > 2) {
|
15658
|
+
throw new Error(
|
15659
|
+
"Limit the combined `primaryAction` and `secondaryActions` to 2 actions. Use the `menu` prop for additional actions."
|
15660
|
+
);
|
15661
|
+
}
|
15616
15662
|
return /* @__PURE__ */ import_react119.default.createElement(PageHeader, {
|
15617
15663
|
className: "Aquarium-PageHeader"
|
15618
15664
|
}, /* @__PURE__ */ import_react119.default.createElement(PageHeader.Container, null, breadcrumbs && /* @__PURE__ */ import_react119.default.createElement(Box, {
|
@@ -16672,10 +16718,33 @@ Timeline2.Skeleton.displayName = "Timeline.Skeleton";
|
|
16672
16718
|
var import_react138 = __toESM(require("react"));
|
16673
16719
|
var TimePicker = (props) => /* @__PURE__ */ import_react138.default.createElement(TimeField, __spreadValues({}, props));
|
16674
16720
|
|
16675
|
-
// src/utils/table/
|
16721
|
+
// src/utils/table/sortByColumn.ts
|
16722
|
+
var sortByColumn = (items, column, sortState) => {
|
16723
|
+
const sortedColumn = column.find((column2) => column2.headerName === (sortState == null ? void 0 : sortState.headerName));
|
16724
|
+
if (sortState && sortedColumn && columnHasSort(sortedColumn)) {
|
16725
|
+
const sortFunction = sortedColumn.sort;
|
16726
|
+
if (sortFunction) {
|
16727
|
+
const ascending = [...items].sort((a, b) => sortFunction(a, b, sortState.direction));
|
16728
|
+
if (sortState.direction === "descending") {
|
16729
|
+
return ascending.reverse();
|
16730
|
+
} else {
|
16731
|
+
return ascending;
|
16732
|
+
}
|
16733
|
+
}
|
16734
|
+
return items;
|
16735
|
+
} else {
|
16736
|
+
return items;
|
16737
|
+
}
|
16738
|
+
};
|
16739
|
+
|
16740
|
+
// src/utils/table/useSortState.ts
|
16676
16741
|
var import_react139 = __toESM(require("react"));
|
16742
|
+
var useSortState = (initialSortState) => import_react139.default.useState(initialSortState);
|
16743
|
+
|
16744
|
+
// src/utils/table/useTableSelect.ts
|
16745
|
+
var import_react140 = __toESM(require("react"));
|
16677
16746
|
var useTableSelect = (data, { key }) => {
|
16678
|
-
const [selected, setSelected] =
|
16747
|
+
const [selected, setSelected] = import_react140.default.useState([]);
|
16679
16748
|
const allSelected = selected.length === data.length;
|
16680
16749
|
const isSelected = (dot) => selected.includes(dot[key]);
|
16681
16750
|
const selectAll = () => setSelected(data.map((dot) => dot[key]));
|
@@ -16699,6 +16768,92 @@ var useTableSelect = (data, { key }) => {
|
|
16699
16768
|
};
|
16700
16769
|
};
|
16701
16770
|
|
16771
|
+
// src/molecules/ItemList/ItemList.tsx
|
16772
|
+
var import_react141 = __toESM(require("react"));
|
16773
|
+
var ItemList = (_a) => {
|
16774
|
+
var _b = _a, {
|
16775
|
+
columns,
|
16776
|
+
items,
|
16777
|
+
onSortChanged,
|
16778
|
+
sticky
|
16779
|
+
} = _b, infiniteProps = __objRest(_b, [
|
16780
|
+
"columns",
|
16781
|
+
"items",
|
16782
|
+
"onSortChanged",
|
16783
|
+
"sticky"
|
16784
|
+
]);
|
16785
|
+
const templateColumns = columns.map((column) => {
|
16786
|
+
var _a2;
|
16787
|
+
return (_a2 = column.width) != null ? _a2 : "auto";
|
16788
|
+
});
|
16789
|
+
const [sortState, setSortState] = useSortState();
|
16790
|
+
const sortedItems = onSortChanged ? items : sortByColumn(items, columns, sortState);
|
16791
|
+
return /* @__PURE__ */ import_react141.default.createElement(Template, {
|
16792
|
+
className: "Aquarium-ItemList",
|
16793
|
+
columns: templateColumns,
|
16794
|
+
role: "table"
|
16795
|
+
}, /* @__PURE__ */ import_react141.default.createElement(DataList.Row, {
|
16796
|
+
header: true
|
16797
|
+
}, columns.map((column) => {
|
16798
|
+
if (columnHasSort(column)) {
|
16799
|
+
return /* @__PURE__ */ import_react141.default.createElement(DataList.SortCell, __spreadValues({
|
16800
|
+
sticky,
|
16801
|
+
direction: (sortState == null ? void 0 : sortState.headerName) === column.headerName ? sortState.direction : "none",
|
16802
|
+
onClick: () => {
|
16803
|
+
const newState = sortState && sortState.headerName === column.headerName ? sortState.direction === "ascending" ? { headerName: column.headerName, direction: "descending" } : void 0 : { headerName: column.headerName, direction: "ascending" };
|
16804
|
+
setSortState(newState);
|
16805
|
+
onSortChanged == null ? void 0 : onSortChanged(newState);
|
16806
|
+
}
|
16807
|
+
}, cellProps(column)), column.headerName);
|
16808
|
+
}
|
16809
|
+
return /* @__PURE__ */ import_react141.default.createElement(DataList.HeadCell, __spreadProps(__spreadValues({}, cellProps(column)), {
|
16810
|
+
sticky
|
16811
|
+
}), column.headerName);
|
16812
|
+
})), /* @__PURE__ */ import_react141.default.createElement(Rows, __spreadValues({
|
16813
|
+
columns,
|
16814
|
+
items: sortedItems,
|
16815
|
+
level: 0
|
16816
|
+
}, infiniteProps)));
|
16817
|
+
};
|
16818
|
+
var Rows = (_a) => {
|
16819
|
+
var _b = _a, { columns, items, level, isLastGroup } = _b, infiniteProps = __objRest(_b, ["columns", "items", "level", "isLastGroup"]);
|
16820
|
+
return /* @__PURE__ */ import_react141.default.createElement(List, __spreadProps(__spreadValues({}, level === 0 ? infiniteProps : {}), {
|
16821
|
+
items,
|
16822
|
+
renderItem: (item, itemIndex) => {
|
16823
|
+
const hasSubItems = item.items && item.items.length > 0;
|
16824
|
+
const isLastItem = itemIndex === items.length - 1;
|
16825
|
+
const noDivider = level === 0 && isLastItem || level > 0 && (isLastGroup || !isLastItem) || hasSubItems;
|
16826
|
+
return /* @__PURE__ */ import_react141.default.createElement(import_react141.default.Fragment, {
|
16827
|
+
key: item.id
|
16828
|
+
}, /* @__PURE__ */ import_react141.default.createElement(DataList.Row, {
|
16829
|
+
noDivider
|
16830
|
+
}, /* @__PURE__ */ import_react141.default.createElement(List, {
|
16831
|
+
items: columns,
|
16832
|
+
renderItem: (column, columnIndex) => /* @__PURE__ */ import_react141.default.createElement(DataList.Cell, __spreadProps(__spreadValues({}, cellProps(column)), {
|
16833
|
+
style: level > 1 && columnIndex === 0 ? { paddingLeft: (level - 1) * 60 } : void 0
|
16834
|
+
}), level > 0 && columnIndex === 0 && /* @__PURE__ */ import_react141.default.createElement(DataList.TreeLine, {
|
16835
|
+
isLast: itemIndex === items.length - 1
|
16836
|
+
}), /* @__PURE__ */ import_react141.default.createElement(DataListCell, {
|
16837
|
+
column,
|
16838
|
+
row: item,
|
16839
|
+
index: columnIndex,
|
16840
|
+
rows: items
|
16841
|
+
}))
|
16842
|
+
})), item.items && /* @__PURE__ */ import_react141.default.createElement(WithGroup, {
|
16843
|
+
level
|
16844
|
+
}, /* @__PURE__ */ import_react141.default.createElement(Rows, {
|
16845
|
+
columns,
|
16846
|
+
items: item.items,
|
16847
|
+
level: level + 1,
|
16848
|
+
isLastGroup: level === 0 && itemIndex === items.length - 1 || isLastGroup
|
16849
|
+
})));
|
16850
|
+
}
|
16851
|
+
}));
|
16852
|
+
};
|
16853
|
+
var WithGroup = ({ level, children }) => level === 0 ? /* @__PURE__ */ import_react141.default.createElement(DataList.Row, {
|
16854
|
+
isGroup: true
|
16855
|
+
}, children) : children;
|
16856
|
+
|
16702
16857
|
// src/molecules/index.ts
|
16703
16858
|
var SelectItem = Select.Item;
|
16704
16859
|
|
@@ -16875,6 +17030,7 @@ var system_default = __spreadValues({}, molecules_exports);
|
|
16875
17030
|
InlineIcon,
|
16876
17031
|
Input,
|
16877
17032
|
InputBase,
|
17033
|
+
ItemList,
|
16878
17034
|
Label,
|
16879
17035
|
LabelControl,
|
16880
17036
|
LineClamp,
|
@@ -16952,6 +17108,7 @@ var system_default = __spreadValues({}, molecules_exports);
|
|
16952
17108
|
calcTopPosition,
|
16953
17109
|
calcTopRightPosition,
|
16954
17110
|
cellProps,
|
17111
|
+
columnHasSort,
|
16955
17112
|
columnIsFieldColumn,
|
16956
17113
|
createComponent,
|
16957
17114
|
createMountPointElement,
|
@@ -16961,10 +17118,12 @@ var system_default = __spreadValues({}, molecules_exports);
|
|
16961
17118
|
isOnSortChangedDirection,
|
16962
17119
|
isOutOfBounds,
|
16963
17120
|
placementOrder,
|
17121
|
+
sortByColumn,
|
16964
17122
|
toSortDirection,
|
16965
17123
|
usePagination,
|
16966
17124
|
usePopoverContext,
|
16967
17125
|
useScrollTarget,
|
17126
|
+
useSortState,
|
16968
17127
|
useStaticInfiniteList,
|
16969
17128
|
useTableSelect,
|
16970
17129
|
useTableSort,
|