@worknice/whiteboard 0.52.0 → 0.53.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/dist/{presentation/TableColumnFilterModal.d.ts → controls/FilterModal.d.ts} +10 -3
  2. package/dist/{presentation/TableColumnFilterModal.js → controls/FilterModal.js} +32 -32
  3. package/dist/controls/FilterModal.module.js +13 -0
  4. package/dist/controls/FilterModal_module.css +60 -0
  5. package/dist/controls/MenuButton.js +1 -1
  6. package/dist/icons/MessagesIcon.d.ts +3 -0
  7. package/dist/icons/MessagesIcon.js +11 -0
  8. package/dist/icons/SlidersIcon.d.ts +3 -0
  9. package/dist/icons/SlidersIcon.js +12 -0
  10. package/dist/icons/WarningIcon.js +3 -3
  11. package/dist/icons/index.d.ts +2 -0
  12. package/dist/icons/index.js +3 -1
  13. package/dist/presentation/CustomizableTable/CustomizableTable.d.ts +2 -2
  14. package/dist/presentation/CustomizableTable/CustomizableTable.js +9 -7
  15. package/dist/presentation/RichList/RichList.d.ts +150 -0
  16. package/dist/presentation/RichList/RichList.js +507 -0
  17. package/dist/presentation/RichList/RichList.module.js +12 -0
  18. package/dist/presentation/RichList/RichList.stories.d.ts +24 -0
  19. package/dist/presentation/RichList/RichList.stories.js +334 -0
  20. package/dist/presentation/RichList/RichListBulkActionBar.d.ts +21 -0
  21. package/dist/presentation/RichList/RichListBulkActionBar.js +112 -0
  22. package/dist/presentation/RichList/RichListBulkActionBar.module.js +7 -0
  23. package/dist/presentation/RichList/RichListBulkActionBar_module.css +18 -0
  24. package/dist/presentation/RichList/RichListDisplayModal.d.ts +33 -0
  25. package/dist/presentation/RichList/RichListDisplayModal.js +198 -0
  26. package/dist/presentation/RichList/RichListRow.d.ts +39 -0
  27. package/dist/presentation/RichList/RichListRow.js +278 -0
  28. package/dist/presentation/RichList/RichListRow.module.js +34 -0
  29. package/dist/presentation/RichList/RichListRow_module.css +313 -0
  30. package/dist/presentation/RichList/RichListToolbar.d.ts +21 -0
  31. package/dist/presentation/RichList/RichListToolbar.js +104 -0
  32. package/dist/presentation/RichList/RichListToolbar.module.js +12 -0
  33. package/dist/presentation/RichList/RichListToolbar_module.css +100 -0
  34. package/dist/presentation/RichList/RichList_module.css +77 -0
  35. package/dist/presentation/RichList/helpers.d.ts +77 -0
  36. package/dist/presentation/RichList/helpers.js +121 -0
  37. package/dist/presentation/RichList/stories/ComplianceGroups.d.ts +9 -0
  38. package/dist/presentation/RichList/stories/ComplianceGroups.js +141 -0
  39. package/dist/presentation/RichList/stories/CustomFields.d.ts +13 -0
  40. package/dist/presentation/RichList/stories/CustomFields.js +80 -0
  41. package/dist/presentation/RichList/stories/EmployeeCompliance.d.ts +15 -0
  42. package/dist/presentation/RichList/stories/EmployeeCompliance.js +300 -0
  43. package/dist/presentation/RichList/stories/EmployeePaperwork.d.ts +21 -0
  44. package/dist/presentation/RichList/stories/EmployeePaperwork.js +225 -0
  45. package/dist/presentation/RichList/stories/EmployeePeople.d.ts +10 -0
  46. package/dist/presentation/RichList/stories/EmployeePeople.js +170 -0
  47. package/dist/presentation/RichList/stories/Leave.d.ts +21 -0
  48. package/dist/presentation/RichList/stories/Leave.js +332 -0
  49. package/dist/presentation/RichList/stories/Paperwork.d.ts +22 -0
  50. package/dist/presentation/RichList/stories/Paperwork.js +446 -0
  51. package/dist/presentation/RichList/stories/PaperworkApprovals.d.ts +23 -0
  52. package/dist/presentation/RichList/stories/PaperworkApprovals.js +342 -0
  53. package/dist/presentation/RichList/stories/PeopleList.d.ts +19 -0
  54. package/dist/presentation/RichList/stories/PeopleList.js +391 -0
  55. package/dist/presentation/RichList/stories/PeopleTags.d.ts +14 -0
  56. package/dist/presentation/RichList/stories/PeopleTags.js +106 -0
  57. package/dist/presentation/RichList/stories/Positions.d.ts +22 -0
  58. package/dist/presentation/RichList/stories/Positions.js +519 -0
  59. package/dist/presentation/RichList/stories/SavedQuestions.d.ts +13 -0
  60. package/dist/presentation/RichList/stories/SavedQuestions.js +152 -0
  61. package/dist/presentation/RichList/stories/Tables.d.ts +9 -0
  62. package/dist/presentation/RichList/stories/Tables.js +85 -0
  63. package/dist/presentation/RichList/stories/Tasks.d.ts +16 -0
  64. package/dist/presentation/RichList/stories/Tasks.js +340 -0
  65. package/dist/presentation/RichList/stories/shared/bulkActionStubs.d.ts +9 -0
  66. package/dist/presentation/RichList/stories/shared/bulkActionStubs.js +122 -0
  67. package/dist/presentation/RichList/stories/shared.d.ts +8 -0
  68. package/dist/presentation/RichList/stories/shared.js +2 -0
  69. package/dist/presentation/RichList/types.d.ts +342 -0
  70. package/dist/presentation/RichList/types.js +0 -0
  71. package/dist/presentation/Table.d.ts +1 -1
  72. package/dist/presentation/Table.js +2 -2
  73. package/dist/presentation/Table.module.js +0 -10
  74. package/dist/presentation/Table_module.css +1 -61
  75. package/package.json +2 -2
@@ -0,0 +1,300 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import * as __WEBPACK_EXTERNAL_MODULE__controls_Button_js_237a92ad__ from "../../../controls/Button.js";
3
+ import * as __WEBPACK_EXTERNAL_MODULE__Badge_js_56d6dba9__ from "../../Badge.js";
4
+ import * as __WEBPACK_EXTERNAL_MODULE__HStack_js_d2f77bae__ from "../../HStack.js";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__Icon_js_b85e52f7__ from "../../Icon.js";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__PlainText_js_acfb96d1__ from "../../PlainText.js";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__VStack_js_c336f579__ from "../../VStack.js";
8
+ import * as __WEBPACK_EXTERNAL_MODULE__RichList_js_64f3f04c__ from "../RichList.js";
9
+ const items = [
10
+ {
11
+ id: "c1",
12
+ title: "Bullying, discrimination & harassment policy",
13
+ statusBadge: {
14
+ text: "Missing",
15
+ color: "red"
16
+ },
17
+ statusDetail: "Required 2 weeks ago"
18
+ },
19
+ {
20
+ id: "c2",
21
+ title: "CPR Certificate",
22
+ statusBadge: {
23
+ text: "Missing",
24
+ color: "red"
25
+ },
26
+ statusDetail: "Required 1 week ago"
27
+ },
28
+ {
29
+ id: "c3",
30
+ title: "NDIS Code of Conduct",
31
+ statusBadge: {
32
+ text: "Missing",
33
+ color: "red"
34
+ },
35
+ statusDetail: "Required 2 weeks ago"
36
+ },
37
+ {
38
+ id: "c4",
39
+ title: "Photo ID",
40
+ statusBadge: {
41
+ text: "Expired",
42
+ color: "red"
43
+ },
44
+ statusDetail: "Expired 10 days ago"
45
+ }
46
+ ];
47
+ const complianceStatusItems = [
48
+ {
49
+ id: "cat-1",
50
+ title: "Annual Security Training",
51
+ progress: "2 of 2 requirements met",
52
+ compliant: true
53
+ },
54
+ {
55
+ id: "cat-2",
56
+ title: "Company Policies",
57
+ progress: "5 of 9 requirements met",
58
+ compliant: false
59
+ },
60
+ {
61
+ id: "cat-3",
62
+ title: "Health & Safety Protocols",
63
+ progress: "4 of 4 requirements met",
64
+ compliant: true
65
+ }
66
+ ];
67
+ const leadingSlot = {
68
+ id: "alert",
69
+ label: "Alert",
70
+ render: ()=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
71
+ style: {
72
+ alignItems: "center",
73
+ backgroundColor: "var(--color-red-t10)",
74
+ borderRadius: "var(--size-n2)",
75
+ display: "flex",
76
+ height: "100%",
77
+ justifyContent: "center",
78
+ minHeight: "var(--size-p1)",
79
+ minWidth: "var(--size-p1)",
80
+ padding: "var(--size-n2)"
81
+ },
82
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__Icon_js_b85e52f7__["default"], {
83
+ symbol: "Warning",
84
+ size: "default",
85
+ tone: "danger"
86
+ })
87
+ }),
88
+ size: 40
89
+ };
90
+ const complianceStatusHeader = ()=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__VStack_js_c336f579__["default"], {
91
+ spacing: "n2",
92
+ tagName: "div",
93
+ children: [
94
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__HStack_js_d2f77bae__["default"], {
95
+ align: "center",
96
+ spacing: "n2",
97
+ children: [
98
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__Icon_js_b85e52f7__["default"], {
99
+ symbol: "Warning",
100
+ tone: "danger"
101
+ }),
102
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__PlainText_js_acfb96d1__["default"], {
103
+ font: "h5",
104
+ children: "Compliance status"
105
+ })
106
+ ]
107
+ }),
108
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
109
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__Badge_js_56d6dba9__["default"], {
110
+ color: "red",
111
+ id: "compliance-status-overall",
112
+ children: "Non compliant"
113
+ })
114
+ }),
115
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__PlainText_js_acfb96d1__["default"], {
116
+ font: "small",
117
+ tone: "muted",
118
+ children: "4 mandatory requirements are currently missing or expired."
119
+ }),
120
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
121
+ style: {
122
+ alignItems: "stretch",
123
+ display: "flex",
124
+ flexDirection: "column",
125
+ width: "100%"
126
+ },
127
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__controls_Button_js_237a92ad__["default"], {
128
+ id: "compliance-send-reminder-all",
129
+ icon: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__Icon_js_b85e52f7__["default"], {
130
+ symbol: "Email",
131
+ size: "small"
132
+ }),
133
+ onClick: ()=>{},
134
+ type: "secondary",
135
+ children: "Send reminder for all"
136
+ })
137
+ })
138
+ ]
139
+ });
140
+ const EmployeeComplianceList = ({ compactBreakpoint, contentAlignment, rowHeight, enableSorting })=>{
141
+ const titleField = {
142
+ label: "Policy",
143
+ value: (r)=>r.title,
144
+ globalFiltering: false,
145
+ render: (r)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__PlainText_js_acfb96d1__["default"], {
146
+ font: "regular-bold",
147
+ children: r.title
148
+ })
149
+ };
150
+ const subtitleField = ()=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__PlainText_js_acfb96d1__["default"], {
151
+ font: "small",
152
+ tone: "muted",
153
+ children: "Company Policies"
154
+ });
155
+ const trailingSlot = {
156
+ id: "compliance",
157
+ label: "Status",
158
+ value: (r)=>`${r.statusBadge.text} ${r.statusDetail}`,
159
+ globalFiltering: false,
160
+ render: (r)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
161
+ style: {
162
+ alignItems: "flex-end",
163
+ display: "flex",
164
+ flexDirection: "column",
165
+ gap: "var(--size-n2)"
166
+ },
167
+ children: [
168
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__Badge_js_56d6dba9__["default"], {
169
+ color: r.statusBadge.color,
170
+ id: `${r.id}-status`,
171
+ children: r.statusBadge.text
172
+ }),
173
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__PlainText_js_acfb96d1__["default"], {
174
+ font: "small",
175
+ tone: "muted",
176
+ children: r.statusDetail
177
+ })
178
+ ]
179
+ }),
180
+ align: "end",
181
+ size: 200
182
+ };
183
+ const statusTitleField = {
184
+ label: "Category",
185
+ value: (r)=>r.title,
186
+ globalFiltering: false,
187
+ render: (r)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__PlainText_js_acfb96d1__["default"], {
188
+ font: "regular-bold",
189
+ children: r.title
190
+ })
191
+ };
192
+ const statusSubtitleField = {
193
+ label: "Progress",
194
+ value: (r)=>r.progress,
195
+ globalFiltering: false,
196
+ render: (r)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__PlainText_js_acfb96d1__["default"], {
197
+ font: "small",
198
+ tone: "muted",
199
+ children: r.progress
200
+ })
201
+ };
202
+ const statusTrailingSlot = {
203
+ id: "rollup",
204
+ label: "Status",
205
+ value: (r)=>r.compliant ? "Compliant" : "Non-compliant",
206
+ globalFiltering: false,
207
+ render: (r)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__HStack_js_d2f77bae__["default"], {
208
+ align: "center",
209
+ spacing: "n2",
210
+ children: [
211
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
212
+ "aria-hidden": true,
213
+ style: {
214
+ background: r.compliant ? "var(--color-green-000)" : "var(--color-red-000)",
215
+ borderRadius: "50%",
216
+ flexShrink: 0,
217
+ height: "8px",
218
+ width: "8px"
219
+ }
220
+ }),
221
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__PlainText_js_acfb96d1__["default"], {
222
+ font: "small",
223
+ tone: r.compliant ? "success" : "danger",
224
+ children: r.compliant ? "Compliant" : "Non-compliant"
225
+ })
226
+ ]
227
+ }),
228
+ align: "end",
229
+ size: 160
230
+ };
231
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("div", {
232
+ style: {
233
+ boxSizing: "border-box",
234
+ display: "flex",
235
+ flex: 1,
236
+ flexDirection: "row",
237
+ gap: "var(--size-n2)",
238
+ minHeight: 0,
239
+ minWidth: 0,
240
+ width: "100%"
241
+ },
242
+ children: [
243
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
244
+ style: {
245
+ display: "flex",
246
+ flex: "6 1 0",
247
+ flexDirection: "column",
248
+ minHeight: 0,
249
+ minWidth: 0
250
+ },
251
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__RichList_js_64f3f04c__["default"], {
252
+ data: items,
253
+ fillContainerHeight: true,
254
+ compactBreakpoint: compactBreakpoint,
255
+ contentAlignment: contentAlignment,
256
+ enableSorting: enableSorting,
257
+ href: ()=>"#",
258
+ getRowId: (r)=>r.id,
259
+ header: ()=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__PlainText_js_acfb96d1__["default"], {
260
+ font: "h5",
261
+ children: "Action Required"
262
+ }),
263
+ leadingSlot: leadingSlot,
264
+ mainSlot: {
265
+ primary: titleField,
266
+ secondary: subtitleField
267
+ },
268
+ rowHeight: rowHeight,
269
+ trailingSlot: trailingSlot
270
+ })
271
+ }),
272
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
273
+ style: {
274
+ display: "flex",
275
+ flex: "4 1 0",
276
+ flexDirection: "column",
277
+ minHeight: 0,
278
+ minWidth: 0
279
+ },
280
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__RichList_js_64f3f04c__["default"], {
281
+ data: complianceStatusItems,
282
+ fillContainerHeight: true,
283
+ compactBreakpoint: compactBreakpoint,
284
+ contentAlignment: contentAlignment,
285
+ enableSorting: false,
286
+ getRowId: (r)=>r.id,
287
+ header: complianceStatusHeader,
288
+ rowHeight: rowHeight,
289
+ mainSlot: {
290
+ primary: statusTitleField,
291
+ secondary: statusSubtitleField
292
+ },
293
+ trailingSlot: statusTrailingSlot
294
+ })
295
+ })
296
+ ]
297
+ });
298
+ };
299
+ const EmployeeCompliance_rslib_entry_ = EmployeeComplianceList;
300
+ export { EmployeeCompliance_rslib_entry_ as default };
@@ -0,0 +1,21 @@
1
+ import type { ComponentProps } from "react";
2
+ import Badge from "../../Badge";
3
+ import Icon from "../../Icon";
4
+ import { type CommonProps } from "./shared";
5
+ type NameBadgeColor = NonNullable<ComponentProps<typeof Badge>["color"]>;
6
+ type IconSymbol = ComponentProps<typeof Icon>["symbol"];
7
+ export type EmployeePaperworkRow = {
8
+ id: string;
9
+ title: string;
10
+ leadingSymbol: IconSymbol;
11
+ statusBadge: {
12
+ id: string;
13
+ text: string;
14
+ color: NameBadgeColor;
15
+ } | null;
16
+ /** PlainText tone for the status line (matches urgency for red vs neutral rows). */
17
+ statusTone: "danger" | "muted" | "warning";
18
+ statusLine: string;
19
+ };
20
+ declare const EmployeePaperworkList: ({ compactBreakpoint, contentAlignment, enableSorting, rowHeight, }: CommonProps) => import("react/jsx-runtime").JSX.Element;
21
+ export default EmployeePaperworkList;
@@ -0,0 +1,225 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ import * as __WEBPACK_EXTERNAL_MODULE__Badge_js_56d6dba9__ from "../../Badge.js";
3
+ import * as __WEBPACK_EXTERNAL_MODULE__HStack_js_d2f77bae__ from "../../HStack.js";
4
+ import * as __WEBPACK_EXTERNAL_MODULE__Icon_js_b85e52f7__ from "../../Icon.js";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__PlainText_js_acfb96d1__ from "../../PlainText.js";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__RichList_js_64f3f04c__ from "../RichList.js";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__shared_bulkActionStubs_js_0d607dd0__ from "./shared/bulkActionStubs.js";
8
+ const items = [
9
+ {
10
+ id: "doc-1",
11
+ title: "Superannuation Choice Form",
12
+ leadingSymbol: "AssignmentQuestionnaire",
13
+ statusBadge: {
14
+ id: "s1",
15
+ text: "Missing",
16
+ color: "red"
17
+ },
18
+ statusTone: "danger",
19
+ statusLine: "Missing 9 days ago"
20
+ },
21
+ {
22
+ id: "doc-2",
23
+ title: "Code of Conduct",
24
+ leadingSymbol: "AssignmentDocument",
25
+ statusBadge: {
26
+ id: "s1",
27
+ text: "Expired",
28
+ color: "red"
29
+ },
30
+ statusTone: "danger",
31
+ statusLine: "Expired 12 days ago"
32
+ },
33
+ {
34
+ id: "doc-3",
35
+ title: "Work Rights Entitlement Certificate",
36
+ leadingSymbol: "AssignmentCertificate",
37
+ statusBadge: {
38
+ id: "s1",
39
+ text: "Expiring soon",
40
+ color: "orange"
41
+ },
42
+ statusTone: "warning",
43
+ statusLine: "Expires in 14 days"
44
+ },
45
+ {
46
+ id: "doc-4",
47
+ title: "Payroll Form",
48
+ leadingSymbol: "AssignmentQuestionnaire",
49
+ statusBadge: {
50
+ id: "s1",
51
+ text: "Assigned",
52
+ color: "orange"
53
+ },
54
+ statusTone: "warning",
55
+ statusLine: "Assigned 2 days ago"
56
+ },
57
+ {
58
+ id: "doc-5",
59
+ title: "TFN Declaration",
60
+ leadingSymbol: "AssignmentQuestionnaire",
61
+ statusBadge: {
62
+ id: "s1",
63
+ text: "Submitted",
64
+ color: "blue"
65
+ },
66
+ statusTone: "muted",
67
+ statusLine: "Submitted 1 day ago"
68
+ },
69
+ {
70
+ id: "doc-6",
71
+ title: "Working from Home Policy",
72
+ leadingSymbol: "Paperwork",
73
+ statusBadge: null,
74
+ statusTone: "muted",
75
+ statusLine: "Expires in 8 months"
76
+ },
77
+ {
78
+ id: "doc-7",
79
+ title: "National Police Check",
80
+ leadingSymbol: "AssignmentCertificate",
81
+ statusBadge: null,
82
+ statusTone: "muted",
83
+ statusLine: "Expires in 9 months"
84
+ },
85
+ {
86
+ id: "doc-8",
87
+ title: "Policy - IT Use and Internet",
88
+ leadingSymbol: "Paperwork",
89
+ statusBadge: null,
90
+ statusTone: "muted",
91
+ statusLine: "Expires in 6 months"
92
+ },
93
+ {
94
+ id: "doc-9",
95
+ title: "Fair Work Information Statement",
96
+ leadingSymbol: "Paperwork",
97
+ statusBadge: null,
98
+ statusTone: "muted",
99
+ statusLine: "Expires in 11 months"
100
+ }
101
+ ];
102
+ function statusLineIconForRow(statusTone) {
103
+ return "muted" === statusTone ? "Calendar" : "Warning";
104
+ }
105
+ const EmployeePaperworkList = ({ compactBreakpoint, contentAlignment, enableSorting, rowHeight })=>{
106
+ const titleField = {
107
+ label: "Title",
108
+ value: (r)=>r.title,
109
+ globalFiltering: true,
110
+ render: (r)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__PlainText_js_acfb96d1__["default"], {
111
+ font: "regular-bold",
112
+ children: r.title
113
+ }),
114
+ suffixOnWide: (r)=>r.statusBadge ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__Badge_js_56d6dba9__["default"], {
115
+ id: `${r.id}-${r.statusBadge.id}`,
116
+ color: r.statusBadge.color,
117
+ children: r.statusBadge.text
118
+ }) : null
119
+ };
120
+ const compactStatusField = {
121
+ layoutVisibility: "whenCompact",
122
+ globalFiltering: false,
123
+ csvExport: false,
124
+ render: (r)=>{
125
+ const lineIcon = statusLineIconForRow(r.statusTone);
126
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__HStack_js_d2f77bae__["default"], {
127
+ spacing: "n3",
128
+ align: "center",
129
+ tagName: "span",
130
+ children: [
131
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__Icon_js_b85e52f7__["default"], {
132
+ symbol: lineIcon,
133
+ size: "small",
134
+ tone: r.statusTone
135
+ }),
136
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__PlainText_js_acfb96d1__["default"], {
137
+ font: "danger" === r.statusTone ? "small-bold" : "small",
138
+ tone: r.statusTone,
139
+ children: r.statusLine
140
+ })
141
+ ]
142
+ });
143
+ }
144
+ };
145
+ const leadingSlot = {
146
+ id: "type",
147
+ label: "Type",
148
+ render: (r)=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
149
+ style: {
150
+ backgroundColor: "var(--color-grey-t09)",
151
+ borderRadius: "var(--size-n2)",
152
+ padding: "var(--size-n2)"
153
+ },
154
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__Icon_js_b85e52f7__["default"], {
155
+ symbol: r.leadingSymbol,
156
+ size: "default"
157
+ })
158
+ }),
159
+ size: 32
160
+ };
161
+ const statusSlot = {
162
+ id: "status",
163
+ label: "Status",
164
+ value: (r)=>r.statusLine,
165
+ globalFiltering: true,
166
+ render: (r)=>{
167
+ const lineIcon = statusLineIconForRow(r.statusTone);
168
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE__HStack_js_d2f77bae__["default"], {
169
+ spacing: "n2",
170
+ align: "center",
171
+ children: [
172
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__Icon_js_b85e52f7__["default"], {
173
+ symbol: lineIcon,
174
+ size: "Warning" === lineIcon ? "default" : "small",
175
+ tone: r.statusTone
176
+ }),
177
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__PlainText_js_acfb96d1__["default"], {
178
+ font: "danger" === r.statusTone ? "small-bold" : "small",
179
+ tone: r.statusTone,
180
+ children: r.statusLine
181
+ })
182
+ ]
183
+ });
184
+ },
185
+ layoutVisibility: "whenWide",
186
+ align: "end",
187
+ size: 240,
188
+ compactSize: 100
189
+ };
190
+ const compactStatusBadgeSlot = {
191
+ id: "compactStatusBadge",
192
+ layoutVisibility: "whenCompact",
193
+ render: (r)=>r.statusBadge ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__Badge_js_56d6dba9__["default"], {
194
+ id: `${r.id}-${r.statusBadge.id}-compact`,
195
+ color: r.statusBadge.color,
196
+ children: r.statusBadge.text
197
+ }) : null,
198
+ align: "end"
199
+ };
200
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__RichList_js_64f3f04c__["default"], {
201
+ data: items,
202
+ getRowId: (r)=>r.id,
203
+ fillContainerHeight: true,
204
+ bulkActions: (0, __WEBPACK_EXTERNAL_MODULE__shared_bulkActionStubs_js_0d607dd0__.richListStoryPrimaryBulkActions)(),
205
+ secondaryBulkActions: (0, __WEBPACK_EXTERNAL_MODULE__shared_bulkActionStubs_js_0d607dd0__.richListStorySecondaryBulkActions)(),
206
+ compactBreakpoint: compactBreakpoint,
207
+ contentAlignment: contentAlignment,
208
+ enableSorting: enableSorting,
209
+ rowHeight: rowHeight,
210
+ csvFilename: "employee-paperwork.csv",
211
+ mainSlot: {
212
+ size: 400,
213
+ primary: titleField,
214
+ secondary: compactStatusField
215
+ },
216
+ leadingSlot: leadingSlot,
217
+ trailingSlot: [
218
+ statusSlot,
219
+ compactStatusBadgeSlot
220
+ ],
221
+ href: ()=>"#"
222
+ });
223
+ };
224
+ const EmployeePaperwork_rslib_entry_ = EmployeePaperworkList;
225
+ export { EmployeePaperwork_rslib_entry_ as default };
@@ -0,0 +1,10 @@
1
+ import { type CommonProps } from "./shared";
2
+ export type EmployeePeopleRow = {
3
+ id: string;
4
+ name: string;
5
+ imageUrl: string | null;
6
+ /** “Role at location” (single line, may truncate in the list). */
7
+ line: string;
8
+ };
9
+ declare const EmployeePeopleList: ({ compactBreakpoint, contentAlignment, enableSorting, rowHeight, }: CommonProps) => import("react/jsx-runtime").JSX.Element;
10
+ export default EmployeePeopleList;