@worknice/whiteboard 0.61.0 → 0.63.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 (36) hide show
  1. package/dist/icons/components/ArrowsCompress.d.ts +5 -0
  2. package/dist/icons/components/ArrowsCompress.js +14 -0
  3. package/dist/icons/components/ArrowsExpand.d.ts +5 -0
  4. package/dist/icons/components/ArrowsExpand.js +14 -0
  5. package/dist/icons/components/FitView.d.ts +5 -0
  6. package/dist/icons/components/FitView.js +14 -0
  7. package/dist/icons/components/index.d.ts +3 -0
  8. package/dist/icons/components/index.js +7 -1
  9. package/dist/icons/svgs/ArrowsCompress.js +2 -0
  10. package/dist/icons/svgs/ArrowsExpand.js +2 -0
  11. package/dist/icons/svgs/FitView.js +2 -0
  12. package/dist/presentation/CustomizableTable/CustomizableTable.js +2 -1
  13. package/dist/presentation/RichList/RichList.d.ts +8 -2
  14. package/dist/presentation/RichList/RichList.js +43 -29
  15. package/dist/presentation/RichList/RichListDisplayModal.d.ts +11 -3
  16. package/dist/presentation/RichList/RichListDisplayModal.js +59 -6
  17. package/dist/presentation/RichList/RichListRow.d.ts +7 -4
  18. package/dist/presentation/RichList/RichListRow.js +42 -54
  19. package/dist/presentation/RichList/RichListRow.module.js +2 -1
  20. package/dist/presentation/RichList/RichListRow_module.css +23 -11
  21. package/dist/presentation/RichList/RichList_module.css +1 -0
  22. package/dist/presentation/RichList/helpers.d.ts +18 -2
  23. package/dist/presentation/RichList/helpers.js +14 -4
  24. package/dist/presentation/RichList/stories/EmployeePeople.d.ts +2 -0
  25. package/dist/presentation/RichList/stories/EmployeePeople.js +49 -17
  26. package/dist/presentation/RichList/stories/shared.d.ts +2 -1
  27. package/dist/presentation/RichList/types.d.ts +12 -0
  28. package/dist/presentation/SheetHeader_module.css +10 -0
  29. package/dist/presentation/TagSet.d.ts +7 -1
  30. package/dist/presentation/TagSet.js +70 -7
  31. package/dist/presentation/TagSet.module.js +2 -1
  32. package/dist/presentation/TagSet_module.css +10 -0
  33. package/dist/static/svg/ArrowsCompress.svg +3 -0
  34. package/dist/static/svg/ArrowsExpand.svg +3 -0
  35. package/dist/static/svg/FitView.svg +3 -0
  36. package/package.json +2 -2
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ ({ size, tone, animate }: import("../types").IconProps): import("react/jsx-runtime").JSX.Element;
3
+ displayName: string;
4
+ };
5
+ export default _default;
@@ -0,0 +1,14 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import * as __WEBPACK_EXTERNAL_MODULE__createIcon_js_4dc54f83__ from "../createIcon.js";
3
+ const ArrowsCompressSvg = (props)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("svg", {
4
+ xmlns: "http://www.w3.org/2000/svg",
5
+ viewBox: "0 0 640 640",
6
+ fill: "currentColor",
7
+ "aria-hidden": "true",
8
+ ...props,
9
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
10
+ d: "M553.5 121C562.9 111.6 562.9 96.4 553.5 87.1C544.1 77.8 528.9 77.7 519.6 87.1L384.6 222.1L384.6 136C384.6 122.7 373.9 112 360.6 112C347.3 112 336.6 122.7 336.6 136L336.6 280C336.6 293.3 347.3 304 360.6 304L504.6 304C517.9 304 528.6 293.3 528.6 280C528.6 266.7 517.9 256 504.6 256L418.5 256L553.5 121zM87.5 519C78.1 528.4 78.1 543.6 87.5 552.9C96.9 562.2 112.1 562.3 121.4 552.9L256.4 417.9L256.4 504C256.4 517.3 267.1 528 280.4 528C293.7 528 304.4 517.3 304.4 504L304.4 360C304.4 346.7 293.7 336 280.4 336L136.4 336C123.1 336 112.4 346.7 112.4 360C112.4 373.3 123.1 384 136.4 384L222.5 384L87.5 519z"
11
+ })
12
+ });
13
+ const ArrowsCompress_rslib_entry_ = (0, __WEBPACK_EXTERNAL_MODULE__createIcon_js_4dc54f83__.createIcon)(ArrowsCompressSvg);
14
+ export { ArrowsCompress_rslib_entry_ as default };
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ ({ size, tone, animate }: import("../types").IconProps): import("react/jsx-runtime").JSX.Element;
3
+ displayName: string;
4
+ };
5
+ export default _default;
@@ -0,0 +1,14 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import * as __WEBPACK_EXTERNAL_MODULE__createIcon_js_4dc54f83__ from "../createIcon.js";
3
+ const ArrowsExpandSvg = (props)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("svg", {
4
+ xmlns: "http://www.w3.org/2000/svg",
5
+ viewBox: "0 0 640 640",
6
+ fill: "currentColor",
7
+ "aria-hidden": "true",
8
+ ...props,
9
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
10
+ d: "M359 247C349.6 256.4 349.6 271.6 359 280.9C368.4 290.2 383.6 290.3 392.9 280.9L527.9 145.9L527.9 232C527.9 245.3 538.6 256 551.9 256C565.2 256 575.9 245.3 575.9 232L575.9 88C575.9 74.7 565.2 64 551.9 64L408 64C394.7 64 384 74.7 384 88C384 101.3 394.7 112 408 112L494.1 112L359.1 247zM281 393C290.4 383.6 290.4 368.4 281 359.1C271.6 349.8 256.4 349.7 247.1 359.1L112 494.1L112 408C112 394.7 101.3 384 88 384C74.7 384 64 394.7 64 408L64 552C64 565.3 74.7 576 88 576L232 576C245.3 576 256 565.3 256 552C256 538.7 245.3 528 232 528L145.9 528L280.9 393z"
11
+ })
12
+ });
13
+ const ArrowsExpand_rslib_entry_ = (0, __WEBPACK_EXTERNAL_MODULE__createIcon_js_4dc54f83__.createIcon)(ArrowsExpandSvg);
14
+ export { ArrowsExpand_rslib_entry_ as default };
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ ({ size, tone, animate }: import("../types").IconProps): import("react/jsx-runtime").JSX.Element;
3
+ displayName: string;
4
+ };
5
+ export default _default;
@@ -0,0 +1,14 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import * as __WEBPACK_EXTERNAL_MODULE__createIcon_js_4dc54f83__ from "../createIcon.js";
3
+ const FitViewSvg = (props)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("svg", {
4
+ xmlns: "http://www.w3.org/2000/svg",
5
+ viewBox: "0 0 640 640",
6
+ fill: "currentColor",
7
+ "aria-hidden": "true",
8
+ ...props,
9
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
10
+ d: "M232 96C245.3 96 256 106.7 256 120C256 133.3 245.3 144 232 144L144 144L144 232C144 245.3 133.3 256 120 256C106.7 256 96 245.3 96 232L96 120C96 106.7 106.7 96 120 96L232 96zM96 408C96 394.7 106.7 384 120 384C133.3 384 144 394.7 144 408L144 496L232 496C245.3 496 256 506.7 256 520C256 533.3 245.3 544 232 544L120 544C106.7 544 96 533.3 96 520L96 408zM520 96C533.3 96 544 106.7 544 120L544 232C544 245.3 533.3 256 520 256C506.7 256 496 245.3 496 232L496 144L408 144C394.7 144 384 133.3 384 120C384 106.7 394.7 96 408 96L520 96zM496 408C496 394.7 506.7 384 520 384C533.3 384 544 394.7 544 408L544 520C544 533.3 533.3 544 520 544L408 544C394.7 544 384 533.3 384 520C384 506.7 394.7 496 408 496L496 496L496 408z"
11
+ })
12
+ });
13
+ const FitView_rslib_entry_ = (0, __WEBPACK_EXTERNAL_MODULE__createIcon_js_4dc54f83__.createIcon)(FitViewSvg);
14
+ export { FitView_rslib_entry_ as default };
@@ -3,6 +3,8 @@ export { default as Apps } from "./Apps";
3
3
  export { default as Archive } from "./Archive";
4
4
  export { default as ArrowLeft } from "./ArrowLeft";
5
5
  export { default as ArrowRight } from "./ArrowRight";
6
+ export { default as ArrowsCompress } from "./ArrowsCompress";
7
+ export { default as ArrowsExpand } from "./ArrowsExpand";
6
8
  export { default as ArrowsUpDown } from "./ArrowsUpDown";
7
9
  export { default as ArrowTurnLeftUp } from "./ArrowTurnLeftUp";
8
10
  export { default as Assign } from "./Assign";
@@ -40,6 +42,7 @@ export { default as External } from "./External";
40
42
  export { default as FileExport } from "./FileExport";
41
43
  export { default as Filter } from "./Filter";
42
44
  export { default as FilterList } from "./FilterList";
45
+ export { default as FitView } from "./FitView";
43
46
  export { default as Globe } from "./Globe";
44
47
  export { default as GripLines } from "./GripLines";
45
48
  export { default as Help } from "./Help";
@@ -3,6 +3,8 @@ import * as __WEBPACK_EXTERNAL_MODULE__Apps_js_ac5be813__ from "./Apps.js";
3
3
  import * as __WEBPACK_EXTERNAL_MODULE__Archive_js_95b35fb0__ from "./Archive.js";
4
4
  import * as __WEBPACK_EXTERNAL_MODULE__ArrowLeft_js_4233a464__ from "./ArrowLeft.js";
5
5
  import * as __WEBPACK_EXTERNAL_MODULE__ArrowRight_js_b03494b0__ from "./ArrowRight.js";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__ArrowsCompress_js_0a97c78a__ from "./ArrowsCompress.js";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__ArrowsExpand_js_e865c05e__ from "./ArrowsExpand.js";
6
8
  import * as __WEBPACK_EXTERNAL_MODULE__ArrowsUpDown_js_5e0c3c30__ from "./ArrowsUpDown.js";
7
9
  import * as __WEBPACK_EXTERNAL_MODULE__ArrowTurnLeftUp_js_6b36a534__ from "./ArrowTurnLeftUp.js";
8
10
  import * as __WEBPACK_EXTERNAL_MODULE__Assign_js_d5a91ac0__ from "./Assign.js";
@@ -40,6 +42,7 @@ import * as __WEBPACK_EXTERNAL_MODULE__External_js_f57b3137__ from "./External.j
40
42
  import * as __WEBPACK_EXTERNAL_MODULE__FileExport_js_b58980f9__ from "./FileExport.js";
41
43
  import * as __WEBPACK_EXTERNAL_MODULE__Filter_js_962e7a68__ from "./Filter.js";
42
44
  import * as __WEBPACK_EXTERNAL_MODULE__FilterList_js_14d71870__ from "./FilterList.js";
45
+ import * as __WEBPACK_EXTERNAL_MODULE__FitView_js_91c9e961__ from "./FitView.js";
43
46
  import * as __WEBPACK_EXTERNAL_MODULE__Globe_js_b709cce8__ from "./Globe.js";
44
47
  import * as __WEBPACK_EXTERNAL_MODULE__GripLines_js_83a4e963__ from "./GripLines.js";
45
48
  import * as __WEBPACK_EXTERNAL_MODULE__Help_js_f6301461__ from "./Help.js";
@@ -105,6 +108,8 @@ var __webpack_exports__Archive = __WEBPACK_EXTERNAL_MODULE__Archive_js_95b35fb0_
105
108
  var __webpack_exports__ArrowLeft = __WEBPACK_EXTERNAL_MODULE__ArrowLeft_js_4233a464__["default"];
106
109
  var __webpack_exports__ArrowRight = __WEBPACK_EXTERNAL_MODULE__ArrowRight_js_b03494b0__["default"];
107
110
  var __webpack_exports__ArrowTurnLeftUp = __WEBPACK_EXTERNAL_MODULE__ArrowTurnLeftUp_js_6b36a534__["default"];
111
+ var __webpack_exports__ArrowsCompress = __WEBPACK_EXTERNAL_MODULE__ArrowsCompress_js_0a97c78a__["default"];
112
+ var __webpack_exports__ArrowsExpand = __WEBPACK_EXTERNAL_MODULE__ArrowsExpand_js_e865c05e__["default"];
108
113
  var __webpack_exports__ArrowsUpDown = __WEBPACK_EXTERNAL_MODULE__ArrowsUpDown_js_5e0c3c30__["default"];
109
114
  var __webpack_exports__Assign = __WEBPACK_EXTERNAL_MODULE__Assign_js_d5a91ac0__["default"];
110
115
  var __webpack_exports__AssignmentCertificate = __WEBPACK_EXTERNAL_MODULE__AssignmentCertificate_js_14da7bce__["default"];
@@ -141,6 +146,7 @@ var __webpack_exports__External = __WEBPACK_EXTERNAL_MODULE__External_js_f57b313
141
146
  var __webpack_exports__FileExport = __WEBPACK_EXTERNAL_MODULE__FileExport_js_b58980f9__["default"];
142
147
  var __webpack_exports__Filter = __WEBPACK_EXTERNAL_MODULE__Filter_js_962e7a68__["default"];
143
148
  var __webpack_exports__FilterList = __WEBPACK_EXTERNAL_MODULE__FilterList_js_14d71870__["default"];
149
+ var __webpack_exports__FitView = __WEBPACK_EXTERNAL_MODULE__FitView_js_91c9e961__["default"];
144
150
  var __webpack_exports__Globe = __WEBPACK_EXTERNAL_MODULE__Globe_js_b709cce8__["default"];
145
151
  var __webpack_exports__GripLines = __WEBPACK_EXTERNAL_MODULE__GripLines_js_83a4e963__["default"];
146
152
  var __webpack_exports__Help = __WEBPACK_EXTERNAL_MODULE__Help_js_f6301461__["default"];
@@ -200,4 +206,4 @@ var __webpack_exports__Tenure = __WEBPACK_EXTERNAL_MODULE__Tenure_js_7ba1f77f__[
200
206
  var __webpack_exports__Visible = __WEBPACK_EXTERNAL_MODULE__Visible_js_aa1c6acc__["default"];
201
207
  var __webpack_exports__Warning = __WEBPACK_EXTERNAL_MODULE__Warning_js_d0de15e9__["default"];
202
208
  var __webpack_exports__Workflows = __WEBPACK_EXTERNAL_MODULE__Workflows_js_35639a49__["default"];
203
- export { __webpack_exports__Approval as Approval, __webpack_exports__Apps as Apps, __webpack_exports__Archive as Archive, __webpack_exports__ArrowLeft as ArrowLeft, __webpack_exports__ArrowRight as ArrowRight, __webpack_exports__ArrowTurnLeftUp as ArrowTurnLeftUp, __webpack_exports__ArrowsUpDown as ArrowsUpDown, __webpack_exports__Assign as Assign, __webpack_exports__AssignmentCertificate as AssignmentCertificate, __webpack_exports__AssignmentDocument as AssignmentDocument, __webpack_exports__AssignmentQuestionnaire as AssignmentQuestionnaire, __webpack_exports__BankAccount as BankAccount, __webpack_exports__BookOpenLines as BookOpenLines, __webpack_exports__Bug as Bug, __webpack_exports__Calendar as Calendar, __webpack_exports__Cancel as Cancel, __webpack_exports__CaratDown as CaratDown, __webpack_exports__CaratLeft as CaratLeft, __webpack_exports__CaratRight as CaratRight, __webpack_exports__CaratUp as CaratUp, __webpack_exports__CheckMark as CheckMark, __webpack_exports__ChevronDown as ChevronDown, __webpack_exports__ChevronLeft as ChevronLeft, __webpack_exports__ChevronRight as ChevronRight, __webpack_exports__ChevronUp as ChevronUp, __webpack_exports__Close as Close, __webpack_exports__Columns as Columns, __webpack_exports__Comment as Comment, __webpack_exports__Copy as Copy, __webpack_exports__Dash as Dash, __webpack_exports__Delete as Delete, __webpack_exports__Directory as Directory, __webpack_exports__DocumentProcessingFailed as DocumentProcessingFailed, __webpack_exports__Download as Download, __webpack_exports__Edit as Edit, __webpack_exports__Email as Email, __webpack_exports__EmergencyContact as EmergencyContact, __webpack_exports__Events as Events, __webpack_exports__External as External, __webpack_exports__FileExport as FileExport, __webpack_exports__Filter as Filter, __webpack_exports__FilterList as FilterList, __webpack_exports__Globe as Globe, __webpack_exports__GripLines as GripLines, __webpack_exports__Help as Help, __webpack_exports__Hidden as Hidden, __webpack_exports__Inbox as Inbox, __webpack_exports__Info as Info, __webpack_exports__Insights as Insights, __webpack_exports__Job as Job, __webpack_exports__Leave as Leave, __webpack_exports__Lightbulb as Lightbulb, __webpack_exports__Loading as Loading, __webpack_exports__LocationCheck as LocationCheck, __webpack_exports__Logout as Logout, __webpack_exports__Messages as Messages, __webpack_exports__Microsoft as Microsoft, __webpack_exports__Minus as Minus, __webpack_exports__Newspaper as Newspaper, __webpack_exports__Overflow as Overflow, __webpack_exports__Paperwork as Paperwork, __webpack_exports__PaperworkAssigned as PaperworkAssigned, __webpack_exports__PaperworkDraft as PaperworkDraft, __webpack_exports__PaperworkExpired as PaperworkExpired, __webpack_exports__PaperworkExpiringSoon as PaperworkExpiringSoon, __webpack_exports__PaperworkMissing as PaperworkMissing, __webpack_exports__PaperworkProcessed as PaperworkProcessed, __webpack_exports__PaperworkSubmitted as PaperworkSubmitted, __webpack_exports__People as People, __webpack_exports__Phone as Phone, __webpack_exports__Plus as Plus, __webpack_exports__Positions as Positions, __webpack_exports__Profile as Profile, __webpack_exports__ProfileFemale as ProfileFemale, __webpack_exports__ProfileMale as ProfileMale, __webpack_exports__Remuneration as Remuneration, __webpack_exports__Reschedule as Reschedule, __webpack_exports__Restore as Restore, __webpack_exports__Review as Review, __webpack_exports__Schedule as Schedule, __webpack_exports__Search as Search, __webpack_exports__Settings as Settings, __webpack_exports__Sidebar as Sidebar, __webpack_exports__Sliders as Sliders, __webpack_exports__SortAsc as SortAsc, __webpack_exports__SortDefault as SortDefault, __webpack_exports__SortDes as SortDes, __webpack_exports__StepsComplete as StepsComplete, __webpack_exports__StepsCurrent as StepsCurrent, __webpack_exports__StepsIncomplete as StepsIncomplete, __webpack_exports__Submit as Submit, __webpack_exports__Success as Success, __webpack_exports__SuperFund as SuperFund, __webpack_exports__Sync as Sync, __webpack_exports__Table as Table, __webpack_exports__Task as Task, __webpack_exports__Tax as Tax, __webpack_exports__Tenure as Tenure, __webpack_exports__Visible as Visible, __webpack_exports__Warning as Warning, __webpack_exports__Workflows as Workflows };
209
+ export { __webpack_exports__Approval as Approval, __webpack_exports__Apps as Apps, __webpack_exports__Archive as Archive, __webpack_exports__ArrowLeft as ArrowLeft, __webpack_exports__ArrowRight as ArrowRight, __webpack_exports__ArrowTurnLeftUp as ArrowTurnLeftUp, __webpack_exports__ArrowsCompress as ArrowsCompress, __webpack_exports__ArrowsExpand as ArrowsExpand, __webpack_exports__ArrowsUpDown as ArrowsUpDown, __webpack_exports__Assign as Assign, __webpack_exports__AssignmentCertificate as AssignmentCertificate, __webpack_exports__AssignmentDocument as AssignmentDocument, __webpack_exports__AssignmentQuestionnaire as AssignmentQuestionnaire, __webpack_exports__BankAccount as BankAccount, __webpack_exports__BookOpenLines as BookOpenLines, __webpack_exports__Bug as Bug, __webpack_exports__Calendar as Calendar, __webpack_exports__Cancel as Cancel, __webpack_exports__CaratDown as CaratDown, __webpack_exports__CaratLeft as CaratLeft, __webpack_exports__CaratRight as CaratRight, __webpack_exports__CaratUp as CaratUp, __webpack_exports__CheckMark as CheckMark, __webpack_exports__ChevronDown as ChevronDown, __webpack_exports__ChevronLeft as ChevronLeft, __webpack_exports__ChevronRight as ChevronRight, __webpack_exports__ChevronUp as ChevronUp, __webpack_exports__Close as Close, __webpack_exports__Columns as Columns, __webpack_exports__Comment as Comment, __webpack_exports__Copy as Copy, __webpack_exports__Dash as Dash, __webpack_exports__Delete as Delete, __webpack_exports__Directory as Directory, __webpack_exports__DocumentProcessingFailed as DocumentProcessingFailed, __webpack_exports__Download as Download, __webpack_exports__Edit as Edit, __webpack_exports__Email as Email, __webpack_exports__EmergencyContact as EmergencyContact, __webpack_exports__Events as Events, __webpack_exports__External as External, __webpack_exports__FileExport as FileExport, __webpack_exports__Filter as Filter, __webpack_exports__FilterList as FilterList, __webpack_exports__FitView as FitView, __webpack_exports__Globe as Globe, __webpack_exports__GripLines as GripLines, __webpack_exports__Help as Help, __webpack_exports__Hidden as Hidden, __webpack_exports__Inbox as Inbox, __webpack_exports__Info as Info, __webpack_exports__Insights as Insights, __webpack_exports__Job as Job, __webpack_exports__Leave as Leave, __webpack_exports__Lightbulb as Lightbulb, __webpack_exports__Loading as Loading, __webpack_exports__LocationCheck as LocationCheck, __webpack_exports__Logout as Logout, __webpack_exports__Messages as Messages, __webpack_exports__Microsoft as Microsoft, __webpack_exports__Minus as Minus, __webpack_exports__Newspaper as Newspaper, __webpack_exports__Overflow as Overflow, __webpack_exports__Paperwork as Paperwork, __webpack_exports__PaperworkAssigned as PaperworkAssigned, __webpack_exports__PaperworkDraft as PaperworkDraft, __webpack_exports__PaperworkExpired as PaperworkExpired, __webpack_exports__PaperworkExpiringSoon as PaperworkExpiringSoon, __webpack_exports__PaperworkMissing as PaperworkMissing, __webpack_exports__PaperworkProcessed as PaperworkProcessed, __webpack_exports__PaperworkSubmitted as PaperworkSubmitted, __webpack_exports__People as People, __webpack_exports__Phone as Phone, __webpack_exports__Plus as Plus, __webpack_exports__Positions as Positions, __webpack_exports__Profile as Profile, __webpack_exports__ProfileFemale as ProfileFemale, __webpack_exports__ProfileMale as ProfileMale, __webpack_exports__Remuneration as Remuneration, __webpack_exports__Reschedule as Reschedule, __webpack_exports__Restore as Restore, __webpack_exports__Review as Review, __webpack_exports__Schedule as Schedule, __webpack_exports__Search as Search, __webpack_exports__Settings as Settings, __webpack_exports__Sidebar as Sidebar, __webpack_exports__Sliders as Sliders, __webpack_exports__SortAsc as SortAsc, __webpack_exports__SortDefault as SortDefault, __webpack_exports__SortDes as SortDes, __webpack_exports__StepsComplete as StepsComplete, __webpack_exports__StepsCurrent as StepsCurrent, __webpack_exports__StepsIncomplete as StepsIncomplete, __webpack_exports__Submit as Submit, __webpack_exports__Success as Success, __webpack_exports__SuperFund as SuperFund, __webpack_exports__Sync as Sync, __webpack_exports__Table as Table, __webpack_exports__Task as Task, __webpack_exports__Tax as Tax, __webpack_exports__Tenure as Tenure, __webpack_exports__Visible as Visible, __webpack_exports__Warning as Warning, __webpack_exports__Workflows as Workflows };
@@ -0,0 +1,2 @@
1
+ import ArrowsCompress_rslib_entry_namespaceObject from "../../static/svg/ArrowsCompress.svg";
2
+ export { ArrowsCompress_rslib_entry_namespaceObject as default };
@@ -0,0 +1,2 @@
1
+ import ArrowsExpand_rslib_entry_namespaceObject from "../../static/svg/ArrowsExpand.svg";
2
+ export { ArrowsExpand_rslib_entry_namespaceObject as default };
@@ -0,0 +1,2 @@
1
+ import FitView_rslib_entry_namespaceObject from "../../static/svg/FitView.svg";
2
+ export { FitView_rslib_entry_namespaceObject as default };
@@ -468,7 +468,8 @@ const CustomizableTable = ({ data, columns, csvFilename, getRowId, availableColu
468
468
  return void 0 !== tableColumn && tableColumn.getIsVisible();
469
469
  }), [
470
470
  filterableColumns,
471
- reactTable
471
+ reactTable,
472
+ columnVisibility
472
473
  ]);
473
474
  const hasFilterableColumns = filterableColumnsForModal.length > 0;
474
475
  (0, __WEBPACK_EXTERNAL_MODULE_react__.useEffect)(()=>{
@@ -1,5 +1,6 @@
1
1
  import { type CSSProperties, type ReactNode } from "react";
2
2
  import { type ZodTypeAny } from "zod";
3
+ import { type RichListRowHeight } from "./helpers";
3
4
  import { type RichListBulkAction, type RichListContentSlot, type RichListMainSlot, type RichListRowAction, type RichListSlot } from "./types";
4
5
  type CommonProps<Type> = {
5
6
  data: Array<Type>;
@@ -48,9 +49,14 @@ type CommonProps<Type> = {
48
49
  */
49
50
  rowActions?: (row: Type) => Array<RichListRowAction<Type> | null>;
50
51
  /**
52
+ * Row height preset, pixel value, or breakpoint-specific values keyed to
53
+ * `compactBreakpoint` (same signal as `layoutVisibility: "whenWide"` / `"whenCompact"`).
54
+ *
55
+ * @example rowHeight="large"
56
+ * @example rowHeight={{ whenWide: "large", whenCompact: "medium" }}
51
57
  * @default `"medium"`
52
58
  */
53
- rowHeight?: number | "small" | "medium" | "large";
59
+ rowHeight?: RichListRowHeight;
54
60
  /**
55
61
  * File name for CSV export when columns with `csvExport: true` are included.
56
62
  * @default (omitted) no CSV download from the list toolbar.
@@ -149,4 +155,4 @@ type NavigationProps<Type> = {
149
155
  export type RichListProps<Type> = CommonProps<Type> & NavigationProps<Type>;
150
156
  declare const RichList: <Type>({ data, getRowId, leadingSlot, mainSlot, contentSlots, contentAlignment, trailingSlot, href, onClick, rowActions, bulkActions, secondaryBulkActions, rowHeight, csvFilename, fillContainerHeight, compactBreakpoint: compactBreakpointProp, emptyState, id, pathName, localStorageSchema, header, }: RichListProps<Type>) => import("react/jsx-runtime").JSX.Element;
151
157
  export default RichList;
152
- export type { RichListBulkAction, RichListColumnWidthMode, RichListContentSlot, RichListLayoutVisibility, RichListMainSlot, RichListRowAction, RichListSlot, RichListSlotSize, RichListTextField, } from "./types";
158
+ export type { RichListBulkAction, RichListColumnWidthMode, RichListContentSlot, RichListGrouping, RichListLayoutVisibility, RichListMainSlot, RichListRowAction, RichListSlot, RichListSlotSize, RichListTextField, } from "./types";
@@ -63,7 +63,6 @@ const RichList = ({ data, getRowId, leadingSlot, mainSlot, contentSlots = EMPTY_
63
63
  contentSlots
64
64
  ]);
65
65
  (0, __WEBPACK_EXTERNAL_MODULE_react__.useLayoutEffect)(()=>{
66
- if (0 === renderableContentSlots.length) return;
67
66
  const el = listScopeRef.current;
68
67
  if (!el) return;
69
68
  const update = ()=>{
@@ -75,7 +74,6 @@ const RichList = ({ data, getRowId, leadingSlot, mainSlot, contentSlots = EMPTY_
75
74
  ro.observe(el);
76
75
  return ()=>ro.disconnect();
77
76
  }, [
78
- renderableContentSlots,
79
77
  compactBreakpointPx
80
78
  ]);
81
79
  const enableRowSelection = bulkActions.length + secondaryBulkActions.length > 0;
@@ -146,6 +144,9 @@ const RichList = ({ data, getRowId, leadingSlot, mainSlot, contentSlots = EMPTY_
146
144
  const sortableEntries = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>allEntries.filter((e)=>null !== e && e.enableSorting && void 0 !== e.value), [
147
145
  allEntries
148
146
  ]);
147
+ const groupableEntries = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>allEntries.filter((e)=>null !== e && void 0 !== e.grouping), [
148
+ allEntries
149
+ ]);
149
150
  const hasSortableEntries = sortableEntries.length > 0;
150
151
  const sortableEntryIds = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>new Set(sortableEntries.map((entry)=>entry.id)), [
151
152
  sortableEntries
@@ -155,12 +156,14 @@ const RichList = ({ data, getRowId, leadingSlot, mainSlot, contentSlots = EMPTY_
155
156
  const tableFilteringForEntry = (entryId)=>!(void 0 !== inlineSingleSelectExcludedFromTableColumnId && entryId === inlineSingleSelectExcludedFromTableColumnId);
156
157
  const columns = allEntries.filter((e)=>null !== e).map((entry)=>{
157
158
  const tableFiltering = !!entry.filter && tableFilteringForEntry(entry.id);
159
+ const grouping = entry.grouping;
158
160
  if (void 0 === entry.value) return columnHelper.display({
159
161
  id: entry.id,
160
162
  cell: ({ row })=>entry.render(row.original),
161
163
  enableHiding: (0, __WEBPACK_EXTERNAL_MODULE__helpers_js_87289b43__.isColumnWithVisibilityState)(entry),
162
164
  enableGlobalFilter: false,
163
- enableColumnFilter: tableFiltering
165
+ enableColumnFilter: tableFiltering,
166
+ getGroupingValue: grouping ? (row)=>grouping.fn(row) : void 0
164
167
  });
165
168
  const value = entry.value;
166
169
  return columnHelper.accessor((row)=>value(row), {
@@ -171,6 +174,7 @@ const RichList = ({ data, getRowId, leadingSlot, mainSlot, contentSlots = EMPTY_
171
174
  enableSorting: entry.enableSorting,
172
175
  sortingFn: entry.sortingFn ?? "auto",
173
176
  sortUndefined: 1,
177
+ getGroupingValue: grouping ? (row)=>grouping.fn(row) : void 0,
174
178
  filterFn: entry.filter && tableFiltering ? (row, _columnId, filterValue)=>{
175
179
  const filter = entry.filter;
176
180
  if (!filter) return true;
@@ -311,8 +315,11 @@ const RichList = ({ data, getRowId, leadingSlot, mainSlot, contentSlots = EMPTY_
311
315
  data: tableData,
312
316
  columns: columnDefs,
313
317
  getRowId,
318
+ groupedColumnMode: false,
314
319
  getCoreRowModel: (0, __WEBPACK_EXTERNAL_MODULE__tanstack_react_table_777e1b4b__.getCoreRowModel)(),
315
320
  getFilteredRowModel: (0, __WEBPACK_EXTERNAL_MODULE__tanstack_react_table_777e1b4b__.getFilteredRowModel)(),
321
+ getGroupedRowModel: (0, __WEBPACK_EXTERNAL_MODULE__tanstack_react_table_777e1b4b__.getGroupedRowModel)(),
322
+ getExpandedRowModel: (0, __WEBPACK_EXTERNAL_MODULE__tanstack_react_table_777e1b4b__.getExpandedRowModel)(),
316
323
  ...hasSortableEntries ? {
317
324
  getSortedRowModel: (0, __WEBPACK_EXTERNAL_MODULE__tanstack_react_table_777e1b4b__.getSortedRowModel)()
318
325
  } : {},
@@ -321,12 +328,15 @@ const RichList = ({ data, getRowId, leadingSlot, mainSlot, contentSlots = EMPTY_
321
328
  initialState: {
322
329
  columnFilters: tableColumnFiltersInitialState,
323
330
  columnVisibility: initialColumnVisibility,
331
+ expanded: true,
324
332
  globalFilter: "",
333
+ grouping: parsedLocalStorage.grouping ?? [],
325
334
  sorting: initialSorting
326
335
  },
327
336
  defaultColumn: {
328
337
  enableColumnFilter: false,
329
338
  enableGlobalFilter: false,
339
+ enableGrouping: false,
330
340
  enableSorting: false
331
341
  }
332
342
  });
@@ -363,12 +373,14 @@ const RichList = ({ data, getRowId, leadingSlot, mainSlot, contentSlots = EMPTY_
363
373
  if (storageKey) window.localStorage.setItem(storageKey, JSON.stringify({
364
374
  columnFilters: mergeInlineSinglePersistedColumnFilters(tableState.columnFilters, inlineSingleSelectExcludedFromTableColumnId, inlineSingleSelectOptionIdResolved),
365
375
  columnVisibility: tableState.columnVisibility,
366
- sorting: persistedSorting
376
+ sorting: persistedSorting,
377
+ grouping: tableState.grouping
367
378
  }));
368
379
  }, [
369
380
  storageKey,
370
381
  tableState.columnFilters,
371
382
  tableState.columnVisibility,
383
+ tableState.grouping,
372
384
  persistedSorting,
373
385
  inlineSingleSelectExcludedFromTableColumnId,
374
386
  inlineSingleSelectOptionIdResolved
@@ -393,13 +405,17 @@ const RichList = ({ data, getRowId, leadingSlot, mainSlot, contentSlots = EMPTY_
393
405
  const hasMultipleActions = allBulkActionRowCounts.length > 1;
394
406
  const allRowsCanDoAllActions = hasMultipleActions && allBulkActionRowCounts.every((count)=>count === filteredSelectedRows.rows.length);
395
407
  const showBulkActionCounts = bulkActionRowCountsDiffer || hasMultipleActions && !allRowsCanDoAllActions;
396
- const resolvedRowHeightPx = "number" == typeof rowHeight ? rowHeight : __WEBPACK_EXTERNAL_MODULE__helpers_js_87289b43__.ROW_HEIGHT_PRESETS[rowHeight];
408
+ const resolvedRowHeightValue = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>(0, __WEBPACK_EXTERNAL_MODULE__helpers_js_87289b43__.resolveRichListRowHeightValue)(rowHeight, isCompactContentSlots, "medium"), [
409
+ rowHeight,
410
+ isCompactContentSlots
411
+ ]);
412
+ const resolvedRowHeightPx = (0, __WEBPACK_EXTERNAL_MODULE__helpers_js_87289b43__.richListRowHeightToPx)(resolvedRowHeightValue);
397
413
  const listRootStyle = (0, __WEBPACK_EXTERNAL_MODULE__utils_customProperties_js_3d9c174d__["default"])({
398
414
  "--row-height": `${resolvedRowHeightPx}px`,
399
- "--richlist-padding-inline": `${(0, __WEBPACK_EXTERNAL_MODULE__helpers_js_87289b43__.richListInlinePaddingPx)(rowHeight)}px`
415
+ "--richlist-padding-inline": `${(0, __WEBPACK_EXTERNAL_MODULE__helpers_js_87289b43__.richListInlinePaddingPx)(resolvedRowHeightValue)}px`
400
416
  });
401
417
  const showDisplayForColumnVisibility = !isCompactContentSlots && toggleableContentSlots.length > 0;
402
- const showDisplayButton = hasSortableEntries || showDisplayForColumnVisibility;
418
+ const showDisplayButton = hasSortableEntries || groupableEntries.length > 0 || showDisplayForColumnVisibility;
403
419
  const defaultDisplayColumnVisibility = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>Object.fromEntries(toggleableContentSlots.map((entry)=>[
404
420
  entry.id,
405
421
  !("hiddenByDefault" in entry && entry.hiddenByDefault)
@@ -412,6 +428,12 @@ const RichList = ({ data, getRowId, leadingSlot, mainSlot, contentSlots = EMPTY_
412
428
  })), [
413
429
  sortableEntries
414
430
  ]);
431
+ const groupableColumnsForModal = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>groupableEntries.map((entry)=>({
432
+ id: entry.id,
433
+ label: entry.grouping.label
434
+ })), [
435
+ groupableEntries
436
+ ]);
415
437
  const displayColumnsForModal = toggleableContentSlots.map((entry)=>({
416
438
  id: entry.id,
417
439
  label: entry.label ?? entry.id,
@@ -419,7 +441,7 @@ const RichList = ({ data, getRowId, leadingSlot, mainSlot, contentSlots = EMPTY_
419
441
  defaultVisible: !("hiddenByDefault" in entry && entry.hiddenByDefault)
420
442
  }));
421
443
  const displayColumnsForDisplayModal = isCompactContentSlots ? [] : displayColumnsForModal;
422
- const displayActiveCount = (0, __WEBPACK_EXTERNAL_MODULE__RichListDisplayModal_js_6277e838__.getDisplayFormActiveExpanderCount)(hasSortableEntries, persistedSorting, displayColumnsForDisplayModal);
444
+ const displayActiveCount = (0, __WEBPACK_EXTERNAL_MODULE__RichListDisplayModal_js_6277e838__.getDisplayFormActiveExpanderCount)(hasSortableEntries, persistedSorting, displayColumnsForDisplayModal, groupableEntries.length > 0, tableState.grouping[0]);
423
445
  const hasToolbar = enableRowSelection || entriesWithGlobalFilter.length > 0 || entriesWithFilter.length > 0 || showDisplayButton || shouldShowCsvExport;
424
446
  const actionsByRowId = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
425
447
  const map = new Map();
@@ -434,22 +456,6 @@ const RichList = ({ data, getRowId, leadingSlot, mainSlot, contentSlots = EMPTY_
434
456
  rowActions,
435
457
  getRowId
436
458
  ]);
437
- const maxAlwaysVisibleActions = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
438
- let max = 0;
439
- for (const actions of actionsByRowId.values()){
440
- const count = actions.filter((a)=>a.alwaysVisible).length;
441
- if (count > max) max = count;
442
- }
443
- return max;
444
- }, [
445
- actionsByRowId
446
- ]);
447
- const anyRowHasOverflowAction = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>{
448
- for (const actions of actionsByRowId.values())if (actions.some((a)=>!a.alwaysVisible)) return true;
449
- return false;
450
- }, [
451
- actionsByRowId
452
- ]);
453
459
  const filterableColumnsForModal = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>entriesWithFilter.map((entry)=>({
454
460
  id: entry.id,
455
461
  filter: entry.filter
@@ -546,7 +552,7 @@ const RichList = ({ data, getRowId, leadingSlot, mainSlot, contentSlots = EMPTY_
546
552
  tone: "muted",
547
553
  children: [
548
554
  "Showing ",
549
- table.getFilteredRowModel().flatRows.length,
555
+ table.getPreGroupedRowModel().flatRows.length,
550
556
  " of",
551
557
  " ",
552
558
  table.getPreFilteredRowModel().flatRows.length
@@ -568,9 +574,12 @@ const RichList = ({ data, getRowId, leadingSlot, mainSlot, contentSlots = EMPTY_
568
574
  }),
569
575
  rows.length > 0 ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("ul", {
570
576
  className: __WEBPACK_EXTERNAL_MODULE__RichList_module_js_320d4975__["default"].list,
571
- children: rows.map((row)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__RichListRow_js_08189b13__["default"], {
577
+ children: rows.map((row)=>{
578
+ const groupEntry = groupableEntries.find((entry)=>entry.id === row.groupingColumnId);
579
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__RichListRow_js_08189b13__["default"], {
572
580
  row: row,
573
581
  table: table,
582
+ groupEntry: groupEntry,
574
583
  enableRowSelection: enableRowSelection,
575
584
  href: href,
576
585
  onClick: onClick,
@@ -584,10 +593,9 @@ const RichList = ({ data, getRowId, leadingSlot, mainSlot, contentSlots = EMPTY_
584
593
  rowMainHidesContentSlotColumns: rowMainHidesContentSlotColumns,
585
594
  contentSlotsJustifyContent: contentAlignment,
586
595
  actionsForRow: actionsByRowId.get(row.id) ?? [],
587
- maxAlwaysVisibleActions: maxAlwaysVisibleActions,
588
- anyRowHasOverflowAction: anyRowHasOverflowAction,
589
596
  lastSelectedRowRef: lastSelectedRowRef
590
- }, row.id))
597
+ }, row.id);
598
+ })
591
599
  }) : /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
592
600
  className: __WEBPACK_EXTERNAL_MODULE__RichList_module_js_320d4975__["default"].emptyState,
593
601
  children: emptyState
@@ -606,6 +614,11 @@ const RichList = ({ data, getRowId, leadingSlot, mainSlot, contentSlots = EMPTY_
606
614
  sortableColumns: sortableColumnsForModal,
607
615
  currentSorting: persistedSorting,
608
616
  onApplySorting: (sorting)=>table.setSorting(sorting),
617
+ groupableColumns: groupableColumnsForModal,
618
+ currentGroupingId: tableState.grouping[0],
619
+ onApplyGrouping: (columnId)=>table.setGrouping(columnId ? [
620
+ columnId
621
+ ] : []),
609
622
  displayColumns: displayColumnsForDisplayModal,
610
623
  onApplyColumnVisibility: (vis)=>{
611
624
  table.setColumnVisibility((prev)=>{
@@ -617,6 +630,7 @@ const RichList = ({ data, getRowId, leadingSlot, mainSlot, contentSlots = EMPTY_
617
630
  });
618
631
  },
619
632
  defaultSorting: [],
633
+ defaultGroupingId: void 0,
620
634
  defaultColumnVisibility: defaultDisplayColumnVisibility
621
635
  })
622
636
  ]
@@ -1,17 +1,21 @@
1
1
  import type { SortingState } from "@tanstack/react-table";
2
2
  /**
3
3
  * How many `FilterExpander` sections in the display form are in the
4
- * highlighted (non-default) state: Sort, and/or Visible columns.
4
+ * highlighted (non-default) state: Sort, Group by, and/or Visible columns.
5
5
  */
6
6
  export declare function getDisplayFormActiveExpanderCount(hasSortForm: boolean, sorting: SortingState, displayColumnRows: Array<{
7
7
  id: string;
8
8
  visible: boolean;
9
9
  defaultVisible: boolean;
10
- }>): number;
10
+ }>, hasGroupForm: boolean, groupingId: string | undefined): number;
11
11
  type SortableColumn = {
12
12
  id: string;
13
13
  label: string;
14
14
  };
15
+ type GroupableColumn = {
16
+ id: string;
17
+ label: string;
18
+ };
15
19
  type DisplayColumn = {
16
20
  id: string;
17
21
  label: string;
@@ -24,10 +28,14 @@ type Props = {
24
28
  sortableColumns: SortableColumn[];
25
29
  currentSorting: SortingState;
26
30
  onApplySorting: (sorting: SortingState) => void;
31
+ groupableColumns: GroupableColumn[];
32
+ currentGroupingId: string | undefined;
33
+ onApplyGrouping: (columnId: string | undefined) => void;
27
34
  displayColumns: DisplayColumn[];
28
35
  onApplyColumnVisibility: (visibility: Record<string, boolean>) => void;
29
36
  defaultSorting: SortingState;
37
+ defaultGroupingId: string | undefined;
30
38
  defaultColumnVisibility: Record<string, boolean>;
31
39
  };
32
- declare const RichListDisplayModal: ({ onClose, sortableColumns, currentSorting, onApplySorting, displayColumns, onApplyColumnVisibility, defaultSorting, defaultColumnVisibility, }: Props) => import("react/jsx-runtime").JSX.Element;
40
+ declare const RichListDisplayModal: ({ onClose, sortableColumns, currentSorting, onApplySorting, groupableColumns, currentGroupingId, onApplyGrouping, displayColumns, onApplyColumnVisibility, defaultSorting, defaultGroupingId, defaultColumnVisibility, }: Props) => import("react/jsx-runtime").JSX.Element;
33
41
  export default RichListDisplayModal;
@@ -16,13 +16,15 @@ import * as __WEBPACK_EXTERNAL_MODULE__Modal_js_91697624__ from "../Modal.js";
16
16
  import * as __WEBPACK_EXTERNAL_MODULE__PlainText_js_6d36b5d5__ from "../PlainText.js";
17
17
  import * as __WEBPACK_EXTERNAL_MODULE__VStack_js_6ebc0134__ from "../VStack.js";
18
18
  const NO_SORT_ID = "__richListNoSort__";
19
- function getDisplayFormActiveExpanderCount(hasSortForm, sorting, displayColumnRows) {
19
+ const NO_GROUP_ID = "__richListNoGroup__";
20
+ function getDisplayFormActiveExpanderCount(hasSortForm, sorting, displayColumnRows, hasGroupForm, groupingId) {
20
21
  let n = 0;
21
22
  if (hasSortForm && void 0 !== sorting[0]) n += 1;
23
+ if (hasGroupForm && void 0 !== groupingId) n += 1;
22
24
  if (displayColumnRows.some((c)=>c.visible !== c.defaultVisible)) n += 1;
23
25
  return n;
24
26
  }
25
- const RichListDisplayModal = ({ onClose, sortableColumns, currentSorting, onApplySorting, displayColumns, onApplyColumnVisibility, defaultSorting, defaultColumnVisibility })=>{
27
+ const RichListDisplayModal = ({ onClose, sortableColumns, currentSorting, onApplySorting, groupableColumns, currentGroupingId, onApplyGrouping, displayColumns, onApplyColumnVisibility, defaultSorting, defaultGroupingId, defaultColumnVisibility })=>{
26
28
  const sortOptions = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>[
27
29
  {
28
30
  id: NO_SORT_ID,
@@ -32,9 +34,19 @@ const RichListDisplayModal = ({ onClose, sortableColumns, currentSorting, onAppl
32
34
  ], [
33
35
  sortableColumns
34
36
  ]);
37
+ const groupOptions = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>[
38
+ {
39
+ id: NO_GROUP_ID,
40
+ label: "No grouping"
41
+ },
42
+ ...groupableColumns
43
+ ], [
44
+ groupableColumns
45
+ ]);
35
46
  const firstSort = currentSorting[0];
36
47
  const initialSortColumnId = firstSort?.id ?? NO_SORT_ID;
37
48
  const initialSortDesc = firstSort?.desc ?? false;
49
+ const initialGroupColumnId = currentGroupingId ?? NO_GROUP_ID;
38
50
  const initialVisibility = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>Object.fromEntries(displayColumns.map((c)=>[
39
51
  c.id,
40
52
  c.visible
@@ -45,6 +57,7 @@ const RichListDisplayModal = ({ onClose, sortableColumns, currentSorting, onAppl
45
57
  initialValues: {
46
58
  sortColumnId: initialSortColumnId,
47
59
  sortDesc: initialSortDesc,
60
+ groupColumnId: initialGroupColumnId,
48
61
  visibility: initialVisibility
49
62
  },
50
63
  onSubmit: async (values)=>{
@@ -55,6 +68,7 @@ const RichListDisplayModal = ({ onClose, sortableColumns, currentSorting, onAppl
55
68
  }
56
69
  ] : [];
57
70
  onApplySorting(nextSort);
71
+ onApplyGrouping(values.groupColumnId && values.groupColumnId !== NO_GROUP_ID ? values.groupColumnId : void 0);
58
72
  onApplyColumnVisibility(values.visibility);
59
73
  }
60
74
  });
@@ -62,19 +76,27 @@ const RichListDisplayModal = ({ onClose, sortableColumns, currentSorting, onAppl
62
76
  data.sortColumnId,
63
77
  sortOptions
64
78
  ]);
79
+ const groupColumnOption = (0, __WEBPACK_EXTERNAL_MODULE_react__.useMemo)(()=>groupOptions.find((o)=>o.id === data.groupColumnId) ?? groupOptions[0], [
80
+ data.groupColumnId,
81
+ groupOptions
82
+ ]);
65
83
  const isSortActive = data.sortColumnId !== NO_SORT_ID;
84
+ const isGroupActive = data.groupColumnId !== NO_GROUP_ID;
66
85
  const hasSortSection = sortableColumns.length > 0;
86
+ const hasGroupSection = groupableColumns.length > 0;
67
87
  const hasDisplaySection = displayColumns.length > 0;
68
88
  const handleReset = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
69
89
  setData(()=>({
70
90
  sortColumnId: defaultSorting[0]?.id ?? NO_SORT_ID,
71
91
  sortDesc: defaultSorting[0]?.desc ?? false,
92
+ groupColumnId: defaultGroupingId ?? NO_GROUP_ID,
72
93
  visibility: {
73
94
  ...defaultColumnVisibility
74
95
  }
75
96
  }));
76
97
  }, [
77
98
  defaultColumnVisibility,
99
+ defaultGroupingId,
78
100
  defaultSorting,
79
101
  setData
80
102
  ]);
@@ -93,7 +115,7 @@ const RichListDisplayModal = ({ onClose, sortableColumns, currentSorting, onAppl
93
115
  type: "secondary",
94
116
  onClick: handleReset,
95
117
  icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__icons_components_Restore_js_f78ce3bd__["default"], {}),
96
- disabled: !hasSortSection && !hasDisplaySection,
118
+ disabled: !hasSortSection && !hasGroupSection && !hasDisplaySection,
97
119
  children: "Reset"
98
120
  }),
99
121
  /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__forms_FormButtonSet_js_786d786e__["default"], {
@@ -118,8 +140,8 @@ const RichListDisplayModal = ({ onClose, sortableColumns, currentSorting, onAppl
118
140
  children: [
119
141
  hasSortSection ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__controls_FilterModal_js_c5dcd344__.FilterExpander, {
120
142
  label: "Sort by",
121
- highlight: isSortActive,
122
- defaultOpen: !hasDisplaySection || isSortActive,
143
+ highlight: isSortActive || hasGroupSection && isGroupActive,
144
+ defaultOpen: !hasDisplaySection || isSortActive || hasGroupSection && isGroupActive,
123
145
  children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__VStack_js_6ebc0134__["default"], {
124
146
  spacing: "n2",
125
147
  justifyItems: "start",
@@ -158,10 +180,41 @@ const RichListDisplayModal = ({ onClose, sortableColumns, currentSorting, onAppl
158
180
  }));
159
181
  },
160
182
  disabled: !isSortActive
161
- })
183
+ }),
184
+ hasGroupSection ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__inputs_SelectInput_js_a37c3c04__["default"], {
185
+ id: "richListDisplayGroupColumn",
186
+ options: groupOptions,
187
+ optionToId: (o)=>o.id,
188
+ optionToLabel: (o)=>o.label,
189
+ value: groupColumnOption,
190
+ onChange: (option)=>{
191
+ setData((prev)=>({
192
+ ...prev,
193
+ groupColumnId: option.id
194
+ }));
195
+ }
196
+ }) : null
162
197
  ]
163
198
  })
164
199
  }) : null,
200
+ !hasSortSection && hasGroupSection ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__controls_FilterModal_js_c5dcd344__.FilterExpander, {
201
+ label: "Group by",
202
+ highlight: isGroupActive,
203
+ defaultOpen: !hasDisplaySection || isGroupActive,
204
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__inputs_SelectInput_js_a37c3c04__["default"], {
205
+ id: "richListDisplayGroupColumn",
206
+ options: groupOptions,
207
+ optionToId: (o)=>o.id,
208
+ optionToLabel: (o)=>o.label,
209
+ value: groupColumnOption,
210
+ onChange: (option)=>{
211
+ setData((prev)=>({
212
+ ...prev,
213
+ groupColumnId: option.id
214
+ }));
215
+ }
216
+ })
217
+ }) : null,
165
218
  hasDisplaySection ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__controls_FilterModal_js_c5dcd344__.FilterExpander, {
166
219
  label: "Visible columns",
167
220
  highlight: displayColumns.some((c)=>data.visibility[c.id] !== c.defaultVisible),
@@ -1,10 +1,15 @@
1
1
  import { type Row, type Table } from "@tanstack/react-table";
2
2
  import { type CSSProperties, type MutableRefObject } from "react";
3
- import { type NormalizedSlot, type NormalizedTextField } from "./types";
3
+ import { type NormalizedSlot, type NormalizedTextField, type RichListGrouping } from "./types";
4
4
  import { type RichListRowAction } from "./types";
5
+ type GroupEntry<Type> = {
6
+ id: string;
7
+ grouping: RichListGrouping<Type>;
8
+ };
5
9
  type Props<Type> = {
6
10
  row: Row<Type>;
7
11
  table: Table<Type>;
12
+ groupEntry: GroupEntry<Type> | undefined;
8
13
  /** When the list has bulk actions, rows can be selected via the checkbox lane. */
9
14
  enableRowSelection: boolean;
10
15
  href: ((row: Type) => string) | undefined;
@@ -32,9 +37,7 @@ type Props<Type> = {
32
37
  /** Flex `justify-content` for `.contentSlots`. */
33
38
  contentSlotsJustifyContent: NonNullable<CSSProperties["justifyContent"]>;
34
39
  actionsForRow: Array<RichListRowAction<Type>>;
35
- maxAlwaysVisibleActions: number;
36
- anyRowHasOverflowAction: boolean;
37
40
  lastSelectedRowRef: MutableRefObject<Row<Type> | undefined>;
38
41
  };
39
- declare const RichListRow: <Type>({ row, table, enableRowSelection, href, onClick, normalizedLeadingSlots, normalizedPrimary, normalizedSecondary, mainSlotMaxWidthPx, normalizedContentSlots, normalizedTrailingSlots, isCompactContentSlots, rowMainHidesContentSlotColumns, contentSlotsJustifyContent, actionsForRow, maxAlwaysVisibleActions, anyRowHasOverflowAction, lastSelectedRowRef, }: Props<Type>) => import("react/jsx-runtime").JSX.Element;
42
+ declare const RichListRow: <Type>({ row, table, groupEntry, enableRowSelection, href, onClick, normalizedLeadingSlots, normalizedPrimary, normalizedSecondary, mainSlotMaxWidthPx, normalizedContentSlots, normalizedTrailingSlots, isCompactContentSlots, rowMainHidesContentSlotColumns, contentSlotsJustifyContent, actionsForRow, lastSelectedRowRef, }: Props<Type>) => import("react/jsx-runtime").JSX.Element;
40
43
  export default RichListRow;