@worknice/whiteboard 0.37.0 → 0.38.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 (47) hide show
  1. package/dist/controls/Action.stories.d.ts +2 -2
  2. package/dist/controls/Button.d.ts +1 -1
  3. package/dist/controls/Button.js +1 -0
  4. package/dist/controls/Button.module.js +1 -0
  5. package/dist/controls/Button.stories.d.ts +2 -2
  6. package/dist/controls/ButtonCard.stories.d.ts +1 -1
  7. package/dist/controls/Button_module.css +5 -0
  8. package/dist/controls/Disclosure.stories.d.ts +1 -1
  9. package/dist/controls/MenuButton.d.ts +8 -2
  10. package/dist/controls/MenuButton.js +50 -11
  11. package/dist/controls/MenuButton.module.js +8 -0
  12. package/dist/controls/MenuButton.stories.d.ts +8 -5
  13. package/dist/controls/MenuButton_module.css +47 -1
  14. package/dist/controls/Sortable.stories.d.ts +1 -1
  15. package/dist/controls/TabSet.stories.d.ts +1 -1
  16. package/dist/fields/CheckboxSetField.stories.d.ts +1 -1
  17. package/dist/fields/ColorPickerField.stories.d.ts +1 -1
  18. package/dist/fields/OrgLogoField.stories.d.ts +1 -1
  19. package/dist/fields/PaletteColorPickerField.stories.d.ts +1 -1
  20. package/dist/fields/TimezoneField.stories.d.ts +1 -1
  21. package/dist/icons/BookOpenLinesIcon.d.ts +3 -0
  22. package/dist/icons/BookOpenLinesIcon.js +11 -0
  23. package/dist/icons/BugIcon.d.ts +3 -0
  24. package/dist/icons/BugIcon.js +11 -0
  25. package/dist/icons/CommentIcon.d.ts +3 -0
  26. package/dist/icons/CommentIcon.js +11 -0
  27. package/dist/icons/LightbulbIcon.d.ts +3 -0
  28. package/dist/icons/LightbulbIcon.js +11 -0
  29. package/dist/icons/NewspaperIcon.d.ts +3 -0
  30. package/dist/icons/NewspaperIcon.js +11 -0
  31. package/dist/icons/index.d.ts +5 -0
  32. package/dist/icons/index.js +6 -1
  33. package/dist/inputs/ColorInput.stories.d.ts +1 -1
  34. package/dist/inputs/PaletteColorInput.stories.d.ts +1 -1
  35. package/dist/layouts/FullLayout.js +5 -1
  36. package/dist/presentation/HeadlineStatisticCard.d.ts +2 -1
  37. package/dist/presentation/HeadlineStatisticCard.js +6 -1
  38. package/dist/presentation/Table.d.ts +23 -8
  39. package/dist/presentation/Table.js +569 -260
  40. package/dist/presentation/Table.module.js +14 -0
  41. package/dist/presentation/Table_module.css +91 -21
  42. package/dist/utils/useNextContext.d.ts +1 -1
  43. package/package.json +4 -4
  44. package/dist/presentation/Table_v2.d.ts +0 -87
  45. package/dist/presentation/Table_v2.js +0 -831
  46. package/dist/presentation/Table_v2.module.js +0 -33
  47. package/dist/presentation/Table_v2_module.css +0 -196
@@ -6,7 +6,7 @@ declare const meta: {
6
6
  onClick?: (event: React.MouseEvent) => void;
7
7
  size?: "normal" | "small";
8
8
  title?: string;
9
- type?: "submit" | "primary" | "secondary" | "danger";
9
+ type?: "submit" | "primary" | "secondary" | "danger" | "ghost";
10
10
  tooltip?: import("react").ReactNode | null;
11
11
  } & ({
12
12
  children: import("react").ReactNode;
@@ -36,7 +36,7 @@ declare const meta: {
36
36
  args: {
37
37
  disabled: false;
38
38
  id: string;
39
- onClick: import("storybook/test").Mock<(...args: any[]) => any>;
39
+ onClick: import("vitest").Mock<(...args: any[]) => any>;
40
40
  children: import("react/jsx-runtime").JSX.Element;
41
41
  };
42
42
  };
@@ -10,7 +10,7 @@ type Props = {
10
10
  * A "submit" type will behave as a submit button in a form, while "primary"
11
11
  * and "secondary" types will behave as regular buttons.
12
12
  */
13
- type?: "submit" | "primary" | "secondary" | "danger";
13
+ type?: "submit" | "primary" | "secondary" | "danger" | "ghost";
14
14
  tooltip?: ReactNode | null;
15
15
  } & ({
16
16
  children: ReactNode;
@@ -9,6 +9,7 @@ const ButtonElement = ({ children, disabled, icon, id, onClick, size, type, titl
9
9
  className: (0, __WEBPACK_EXTERNAL_MODULE_clsx__["default"])(__WEBPACK_EXTERNAL_MODULE__Button_module_js_2e345e34__["default"].button, {
10
10
  [__WEBPACK_EXTERNAL_MODULE__Button_module_js_2e345e34__["default"].primary]: "submit" === type || "primary" === type,
11
11
  [__WEBPACK_EXTERNAL_MODULE__Button_module_js_2e345e34__["default"].danger]: "danger" === type,
12
+ [__WEBPACK_EXTERNAL_MODULE__Button_module_js_2e345e34__["default"].ghost]: "ghost" === type,
12
13
  [__WEBPACK_EXTERNAL_MODULE__Button_module_js_2e345e34__["default"].small]: "small" === size,
13
14
  [__WEBPACK_EXTERNAL_MODULE__Button_module_js_2e345e34__["default"].iconOnly]: void 0 === children
14
15
  }),
@@ -3,6 +3,7 @@ const Button_module_rslib_entry_ = {
3
3
  button: "button-Eb4ddm",
4
4
  primary: "primary-tMqthm",
5
5
  danger: "danger-gtXRIQ",
6
+ ghost: "ghost-jZFk51",
6
7
  iconOnly: "iconOnly-RkeETP",
7
8
  small: "small-qYdSeo"
8
9
  };
@@ -6,7 +6,7 @@ declare const meta: {
6
6
  onClick?: (event: React.MouseEvent) => void;
7
7
  size?: "normal" | "small";
8
8
  title?: string;
9
- type?: "submit" | "primary" | "secondary" | "danger";
9
+ type?: "submit" | "primary" | "secondary" | "danger" | "ghost";
10
10
  tooltip?: import("react").ReactNode | null;
11
11
  } & ({
12
12
  children: import("react").ReactNode;
@@ -34,7 +34,7 @@ declare const meta: {
34
34
  args: {
35
35
  id: string;
36
36
  type: "primary";
37
- onClick: import("storybook/test").Mock<(...args: any[]) => any>;
37
+ onClick: import("vitest").Mock<(...args: any[]) => any>;
38
38
  children: import("react/jsx-runtime").JSX.Element;
39
39
  size: "normal";
40
40
  disabled: false;
@@ -19,7 +19,7 @@ declare const meta: {
19
19
  };
20
20
  };
21
21
  args: {
22
- onClick: import("storybook/test").Mock<(...args: any[]) => any>;
22
+ onClick: import("vitest").Mock<(...args: any[]) => any>;
23
23
  children: import("react/jsx-runtime").JSX.Element;
24
24
  async: false;
25
25
  };
@@ -59,6 +59,11 @@
59
59
  background-color: var(--color-red-s01);
60
60
  }
61
61
 
62
+ .ghost-jZFk51 {
63
+ background: none;
64
+ border-color: #0000;
65
+ }
66
+
62
67
  .iconOnly-RkeETP {
63
68
  padding: var(--size-n2);
64
69
  }
@@ -6,7 +6,7 @@ declare const meta: {
6
6
  onClick?: (event: React.MouseEvent) => void;
7
7
  size?: "normal" | "small";
8
8
  title?: string;
9
- type?: "submit" | "primary" | "secondary" | "danger";
9
+ type?: "submit" | "primary" | "secondary" | "danger" | "ghost";
10
10
  tooltip?: import("react").ReactNode | null;
11
11
  } & ({
12
12
  children: import("react").ReactNode;
@@ -3,6 +3,8 @@ type Option = {
3
3
  id: string;
4
4
  label: string;
5
5
  disabled?: boolean;
6
+ icon?: ReactNode;
7
+ iconRight?: ReactNode;
6
8
  } & ({
7
9
  onClick: (event: React.MouseEvent | React.KeyboardEvent) => void | Promise<void>;
8
10
  type: "onClick";
@@ -11,12 +13,16 @@ type Option = {
11
13
  type: "render";
12
14
  } | {
13
15
  href: string;
16
+ external?: boolean;
14
17
  type: "link";
15
18
  });
16
19
  type Props = {
17
20
  autoFocus?: boolean;
21
+ ariaLabel?: string;
18
22
  disabled?: boolean;
19
23
  id?: string;
24
+ size?: "normal" | "small";
25
+ type?: "secondary" | "ghost";
20
26
  searchPlaceholder?: string;
21
27
  displaySearch?: boolean;
22
28
  iconRight?: ReactNode;
@@ -35,10 +41,10 @@ type Props = {
35
41
  options?: never;
36
42
  /** An array of option groups to display in the menu. Each group has a header and an array of options. It is mutually exclusive with options. */
37
43
  optionGroups: Array<{
38
- header: string;
44
+ header?: string;
39
45
  options: Array<Option | null>;
40
46
  }>;
41
47
  });
42
- declare const MenuButton: ({ autoFocus, disabled, id, options, optionGroups, searchPlaceholder, children, icon, iconRight, displaySearch, fullWidth, }: Props) => import("react/jsx-runtime").JSX.Element;
48
+ declare const MenuButton: ({ autoFocus, ariaLabel, disabled, id, size, type, options, optionGroups, searchPlaceholder, children, icon, iconRight, displaySearch, fullWidth, }: Props) => import("react/jsx-runtime").JSX.Element;
43
49
  export default MenuButton;
44
50
  export type { Option as MenuButtonOption };
@@ -16,7 +16,7 @@ import * as __WEBPACK_EXTERNAL_MODULE__utils_search_js_89d5ae26__ from "../utils
16
16
  import * as __WEBPACK_EXTERNAL_MODULE__utils_useNextContext_js_47529181__ from "../utils/useNextContext.js";
17
17
  import * as __WEBPACK_EXTERNAL_MODULE__Button_js_17bdd71d__ from "./Button.js";
18
18
  import * as __WEBPACK_EXTERNAL_MODULE__MenuButton_module_js_872b1a55__ from "./MenuButton.module.js";
19
- const MenuButton = ({ autoFocus = false, disabled = false, id, options, optionGroups, searchPlaceholder, children, icon, iconRight, displaySearch = false, fullWidth = false })=>{
19
+ const MenuButton = ({ autoFocus = false, ariaLabel, disabled = false, id, size = "normal", type = "secondary", options, optionGroups, searchPlaceholder, children, icon, iconRight, displaySearch = false, fullWidth = false })=>{
20
20
  const listboxId = (0, __WEBPACK_EXTERNAL_MODULE_react__.useId)();
21
21
  const generatedButtonId = (0, __WEBPACK_EXTERNAL_MODULE_react__.useId)();
22
22
  const buttonId = id ?? generatedButtonId;
@@ -118,6 +118,26 @@ const MenuButton = ({ autoFocus = false, disabled = false, id, options, optionGr
118
118
  }
119
119
  }, []);
120
120
  const renderOption = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)((option, index)=>{
121
+ const optionContent = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.Fragment, {
122
+ children: [
123
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("span", {
124
+ className: __WEBPACK_EXTERNAL_MODULE__MenuButton_module_js_872b1a55__["default"].listItemContent,
125
+ children: [
126
+ option.icon ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
127
+ className: __WEBPACK_EXTERNAL_MODULE__MenuButton_module_js_872b1a55__["default"].listItemIcon,
128
+ children: option.icon
129
+ }) : null,
130
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
131
+ children: option.label
132
+ })
133
+ ]
134
+ }),
135
+ option.iconRight ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("span", {
136
+ className: __WEBPACK_EXTERNAL_MODULE__MenuButton_module_js_872b1a55__["default"].listItemIconRight,
137
+ children: option.iconRight
138
+ }) : null
139
+ ]
140
+ });
121
141
  if ("link" === option.type) return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("li", {
122
142
  role: "option",
123
143
  "aria-disabled": option.disabled,
@@ -126,14 +146,25 @@ const MenuButton = ({ autoFocus = false, disabled = false, id, options, optionGr
126
146
  [__WEBPACK_EXTERNAL_MODULE__MenuButton_module_js_872b1a55__["default"].disabled]: option.disabled
127
147
  }),
128
148
  ...getItemProps({
149
+ onClick: ()=>{
150
+ setIsOpen(false);
151
+ },
129
152
  ref: (node)=>{
130
153
  optionsRef.current[index] = node;
131
154
  }
132
155
  }),
133
- children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(NextLink, {
156
+ children: option.external ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("a", {
134
157
  href: option.href,
135
158
  "aria-disabled": option.disabled,
136
- children: option.label
159
+ target: "_blank",
160
+ rel: "noopener noreferrer",
161
+ className: __WEBPACK_EXTERNAL_MODULE__MenuButton_module_js_872b1a55__["default"].listItemLink,
162
+ children: optionContent
163
+ }) : /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(NextLink, {
164
+ href: option.href,
165
+ "aria-disabled": option.disabled,
166
+ className: __WEBPACK_EXTERNAL_MODULE__MenuButton_module_js_872b1a55__["default"].listItemLink,
167
+ children: optionContent
137
168
  })
138
169
  }, option.id);
139
170
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("li", {
@@ -151,7 +182,7 @@ const MenuButton = ({ autoFocus = false, disabled = false, id, options, optionGr
151
182
  optionsRef.current[index] = node;
152
183
  }
153
184
  }),
154
- children: option.label
185
+ children: optionContent
155
186
  }, option.id);
156
187
  }, [
157
188
  activeIndex,
@@ -173,23 +204,27 @@ const MenuButton = ({ autoFocus = false, disabled = false, id, options, optionGr
173
204
  ]);
174
205
  const renderOptions = (0, __WEBPACK_EXTERNAL_MODULE_react__.useCallback)(()=>{
175
206
  if (options) return filteredOptions.map((option, index)=>renderOption(option, index));
176
- return optionGroups.map((group)=>{
207
+ return optionGroups.map((group, groupIndex)=>{
177
208
  if (0 === group.options.length) return null;
178
209
  const groupOptionIds = new Set(group.options.map((o)=>o?.id));
179
210
  const filteredGroupOptions = filteredOptions.filter((o)=>groupOptionIds.has(o.id));
180
211
  if (0 === filteredGroupOptions.length) return null;
181
- const headerId = `${listboxId}-group-${group.header}`;
212
+ const groupKey = group.header ?? `group-${groupIndex}`;
213
+ const headerId = `${listboxId}-group-${groupKey}`;
182
214
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("li", {
183
215
  role: "presentation",
216
+ className: (0, __WEBPACK_EXTERNAL_MODULE_clsx__["default"])({
217
+ [__WEBPACK_EXTERNAL_MODULE__MenuButton_module_js_872b1a55__["default"].listItemGroupWithDivider]: groupIndex > 0
218
+ }),
184
219
  children: [
185
- /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
220
+ group.header ? /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("div", {
186
221
  id: headerId,
187
222
  className: __WEBPACK_EXTERNAL_MODULE__MenuButton_module_js_872b1a55__["default"].listItemGroupHeader,
188
223
  children: group.header
189
- }),
224
+ }) : null,
190
225
  /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("ul", {
191
226
  role: "group",
192
- "aria-labelledby": headerId,
227
+ "aria-labelledby": group.header ? headerId : void 0,
193
228
  children: filteredGroupOptions.map((option)=>{
194
229
  const optionIndex = filteredIndexById.get(option.id);
195
230
  if (null == optionIndex) return null;
@@ -197,7 +232,7 @@ const MenuButton = ({ autoFocus = false, disabled = false, id, options, optionGr
197
232
  })
198
233
  })
199
234
  ]
200
- }, group.header);
235
+ }, groupKey);
201
236
  });
202
237
  }, [
203
238
  filteredOptions,
@@ -210,13 +245,17 @@ const MenuButton = ({ autoFocus = false, disabled = false, id, options, optionGr
210
245
  return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.Fragment, {
211
246
  children: [
212
247
  /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)("button", {
248
+ "aria-label": ariaLabel,
213
249
  "aria-controls": listboxId,
214
250
  "aria-haspopup": "listbox",
215
251
  "aria-expanded": isOpen,
216
252
  autoFocus: autoFocus,
217
253
  disabled: disabled,
218
254
  className: (0, __WEBPACK_EXTERNAL_MODULE_clsx__["default"])(__WEBPACK_EXTERNAL_MODULE__MenuButton_module_js_872b1a55__["default"].button, {
219
- [__WEBPACK_EXTERNAL_MODULE__MenuButton_module_js_872b1a55__["default"].fullWidthButton]: fullWidth
255
+ [__WEBPACK_EXTERNAL_MODULE__MenuButton_module_js_872b1a55__["default"].fullWidthButton]: fullWidth,
256
+ [__WEBPACK_EXTERNAL_MODULE__MenuButton_module_js_872b1a55__["default"].ghost]: "ghost" === type,
257
+ [__WEBPACK_EXTERNAL_MODULE__MenuButton_module_js_872b1a55__["default"].small]: "small" === size,
258
+ [__WEBPACK_EXTERNAL_MODULE__MenuButton_module_js_872b1a55__["default"].iconOnly]: void 0 === children
220
259
  }),
221
260
  tabIndex: 0,
222
261
  type: "button",
@@ -2,11 +2,19 @@ import "./MenuButton_module.css";
2
2
  const MenuButton_module_rslib_entry_ = {
3
3
  button: "button-HIHLjl",
4
4
  fullWidthButton: "fullWidthButton-Q2zYOT",
5
+ ghost: "ghost-m99Ewa",
6
+ iconOnly: "iconOnly-SpQuMe",
7
+ small: "small-TyypSx",
5
8
  searchInput: "searchInput-bGdium",
6
9
  menu: "menu-jQY3kP",
7
10
  listBox: "listBox-IanUVy",
8
11
  listItemGroupHeader: "listItemGroupHeader-ijzhOF",
12
+ listItemGroupWithDivider: "listItemGroupWithDivider-L_h_bX",
9
13
  listItem: "listItem-PEQEDL",
14
+ listItemContent: "listItemContent-Lb0FR5",
15
+ listItemIcon: "listItemIcon-WXMGL7",
16
+ listItemIconRight: "listItemIconRight-HT2HDL",
17
+ listItemLink: "listItemLink-eKYeof",
10
18
  active: "active-SH4mjY",
11
19
  disabled: "disabled-c63Kbb"
12
20
  };
@@ -1,14 +1,17 @@
1
1
  import type { StoryObj } from "@storybook/nextjs-vite";
2
2
  declare const meta: {
3
- component: ({ autoFocus, disabled, id, options, optionGroups, searchPlaceholder, children, icon, iconRight, displaySearch, fullWidth, }: {
3
+ component: ({ autoFocus, ariaLabel, disabled, id, size, type, options, optionGroups, searchPlaceholder, children, icon, iconRight, displaySearch, fullWidth, }: {
4
4
  autoFocus?: boolean;
5
+ ariaLabel?: string;
5
6
  disabled?: boolean;
6
7
  id?: string;
8
+ size?: "normal" | "small";
9
+ type?: "secondary" | "ghost";
7
10
  searchPlaceholder?: string;
8
11
  displaySearch?: boolean;
9
12
  iconRight?: import("react").ReactNode;
10
13
  fullWidth?: boolean;
11
- } & ({
14
+ } & (({
12
15
  children: import("react").ReactNode;
13
16
  icon?: import("react").ReactNode;
14
17
  } | {
@@ -20,10 +23,10 @@ declare const meta: {
20
23
  } | {
21
24
  options?: never;
22
25
  optionGroups: Array<{
23
- header: string;
26
+ header?: string;
24
27
  options: Array<import("./MenuButton").MenuButtonOption | null>;
25
28
  }>;
26
- })) => import("react/jsx-runtime").JSX.Element;
29
+ }))) => import("react/jsx-runtime").JSX.Element;
27
30
  argTypes: {
28
31
  id: {
29
32
  control: false;
@@ -55,7 +58,7 @@ declare const meta: {
55
58
  id: string;
56
59
  label: string;
57
60
  type: "onClick";
58
- onClick: import("storybook/test").Mock<(...args: any[]) => any>;
61
+ onClick: import("vitest").Mock<(...args: any[]) => any>;
59
62
  }[];
60
63
  };
61
64
  };
@@ -27,6 +27,19 @@
27
27
  width: 100%;
28
28
  }
29
29
 
30
+ .ghost-m99Ewa {
31
+ background: none;
32
+ border-color: #0000;
33
+ }
34
+
35
+ .iconOnly-SpQuMe {
36
+ padding: var(--size-n2);
37
+ }
38
+
39
+ .iconOnly-SpQuMe.small-TyypSx {
40
+ padding: var(--size-n3);
41
+ }
42
+
30
43
  .button-HIHLjl:disabled {
31
44
  background: var(--color-grey-t09);
32
45
  border-color: var(--color-grey-t09);
@@ -34,6 +47,12 @@
34
47
  cursor: not-allowed;
35
48
  }
36
49
 
50
+ .small-TyypSx {
51
+ font: var(--font-small);
52
+ gap: var(--size-n2);
53
+ padding: var(--size-n3) var(--size-n2);
54
+ }
55
+
37
56
  .button-HIHLjl:focus-visible {
38
57
  box-shadow: 0px 0px 0px 2px var(--color-white), 0px 0px 0px 4px var(--color-purple-000);
39
58
  }
@@ -54,7 +73,7 @@
54
73
  border: 1px solid var(--color-grey-t08);
55
74
  border-radius: var(--size-n3);
56
75
  box-shadow: var(--shadow-heavy);
57
- z-index: 1;
76
+ z-index: 100;
58
77
  }
59
78
 
60
79
  .listBox-IanUVy {
@@ -68,6 +87,12 @@
68
87
  font: var(--font-regular-bold);
69
88
  }
70
89
 
90
+ .listItemGroupWithDivider-L_h_bX {
91
+ border-top: 1px solid var(--color-grey-t08);
92
+ margin-top: var(--size-n2);
93
+ padding-top: var(--size-n2);
94
+ }
95
+
71
96
  .listItem-PEQEDL {
72
97
  padding: var(--size-n2);
73
98
  border-radius: var(--size-n3);
@@ -77,6 +102,27 @@
77
102
  display: grid;
78
103
  }
79
104
 
105
+ .listItemContent-Lb0FR5 {
106
+ align-items: center;
107
+ gap: var(--size-n2);
108
+ min-width: 0;
109
+ display: inline-flex;
110
+ }
111
+
112
+ .listItemIcon-WXMGL7, .listItemIconRight-HT2HDL {
113
+ place-items: center;
114
+ display: inline-grid;
115
+ }
116
+
117
+ .listItemLink-eKYeof {
118
+ width: 100%;
119
+ color: inherit;
120
+ grid-template-columns: 1fr max-content;
121
+ align-items: center;
122
+ text-decoration: none;
123
+ display: grid;
124
+ }
125
+
80
126
  .listItem-PEQEDL:hover {
81
127
  cursor: pointer;
82
128
  }
@@ -12,7 +12,7 @@ declare const meta: {
12
12
  SortableItem: ({ id, children, actions }: import("./SortableItem").SortableItemProps) => import("react/jsx-runtime").JSX.Element;
13
13
  };
14
14
  args: {
15
- onDragEnd: import("storybook/test").Mock<(...args: any[]) => any>;
15
+ onDragEnd: import("vitest").Mock<(...args: any[]) => any>;
16
16
  items: {
17
17
  id: string;
18
18
  value: import("react/jsx-runtime").JSX.Element;
@@ -25,7 +25,7 @@ declare const meta: {
25
25
  content: string;
26
26
  key: string;
27
27
  }[];
28
- onChange: import("storybook/test").Mock<(...args: any[]) => any>;
28
+ onChange: import("vitest").Mock<(...args: any[]) => any>;
29
29
  };
30
30
  render: (args: {
31
31
  active: string;
@@ -34,7 +34,7 @@ declare const meta: {
34
34
  options: string[];
35
35
  optionToId: (option: string) => string;
36
36
  optionToLabel: (option: string) => string;
37
- onChange: import("storybook/test").Mock<(...args: any[]) => any>;
37
+ onChange: import("vitest").Mock<(...args: any[]) => any>;
38
38
  values: never[];
39
39
  };
40
40
  render: (args: {
@@ -23,7 +23,7 @@ declare const meta: {
23
23
  args: {
24
24
  label: string;
25
25
  value: string;
26
- onChange: import("storybook/test").Mock<(...args: any[]) => any>;
26
+ onChange: import("vitest").Mock<(...args: any[]) => any>;
27
27
  description: string;
28
28
  labelFont: "label";
29
29
  required: false;
@@ -20,7 +20,7 @@ declare const meta: {
20
20
  args: {
21
21
  value: undefined;
22
22
  logoUrl: string;
23
- onChange: import("storybook/test").Mock<(...args: any[]) => any>;
23
+ onChange: import("vitest").Mock<(...args: any[]) => any>;
24
24
  errors: never[];
25
25
  required: false;
26
26
  };
@@ -21,7 +21,7 @@ declare const meta: {
21
21
  args: {
22
22
  label: string;
23
23
  value: "blue";
24
- onChange: import("storybook/test").Mock<(...args: any[]) => any>;
24
+ onChange: import("vitest").Mock<(...args: any[]) => any>;
25
25
  description: string;
26
26
  labelFont: "label";
27
27
  required: false;
@@ -23,7 +23,7 @@ declare const meta: {
23
23
  args: {
24
24
  label: string;
25
25
  value: "Australia/Sydney";
26
- onChange: import("storybook/test").Mock<(...args: any[]) => any>;
26
+ onChange: import("vitest").Mock<(...args: any[]) => any>;
27
27
  description: string;
28
28
  required: false;
29
29
  disabled: false;
@@ -0,0 +1,3 @@
1
+ import type { Icon } from "./_types";
2
+ declare const BookOpenLinesIcon: Icon;
3
+ export default BookOpenLinesIcon;
@@ -0,0 +1,11 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ const BookOpenLinesIcon = ({ id })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("symbol", {
3
+ id: id,
4
+ viewBox: "0 0 640 640",
5
+ fill: "currentColor",
6
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
7
+ d: "M276.4 169.8L296 178L296 522.4C248.4 505 198 496 147.2 496L112 496L112 144L147.2 144C191.6 144 235.5 152.8 276.4 169.8zM492.8 496C442 496 391.6 505 344 522.4L344 178L363.6 169.8C404.5 152.8 448.4 144 492.8 144L528 144L528 496L492.8 496zM320 136L294.9 125.5C248.1 106 197.9 96 147.2 96L112 96C85.5 96 64 117.5 64 144L64 496C64 522.5 85.5 544 112 544L147.2 544C197.9 544 248.1 554 294.9 573.5L307.7 578.8C315.6 582.1 324.4 582.1 332.3 578.8L345.1 573.5C391.9 554 442.1 544 492.8 544L528 544C554.5 544 576 522.5 576 496L576 144C576 117.5 554.5 96 528 96L492.8 96C442.1 96 391.9 106 345.1 125.5L320 136zM168 192C154.7 192 144 202.7 144 216C144 229.3 154.7 240 168 240L172.2 240C192 240 211.5 244.6 229.2 253.5C241.1 259.4 255.5 254.6 261.4 242.8C267.3 231 262.5 216.5 250.7 210.6C226.3 198.4 199.4 192.1 172.2 192.1L168 192.1zM467.8 192C440.5 192 413.7 198.3 389.3 210.5C377.4 216.4 372.6 230.8 378.6 242.7C384.6 254.6 398.9 259.4 410.8 253.4C428.5 244.5 448 239.9 467.8 239.9L472 239.9C485.3 239.9 496 229.2 496 215.9C496 202.6 485.3 191.9 472 191.9L467.8 191.9zM168 288C154.7 288 144 298.7 144 312C144 325.3 154.7 336 168 336L172.2 336C192 336 211.5 340.6 229.2 349.5C241.1 355.4 255.5 350.6 261.4 338.8C267.3 327 262.5 312.5 250.7 306.6C226.3 294.4 199.4 288.1 172.2 288.1L168 288.1zM467.8 288C440.5 288 413.7 294.3 389.3 306.5C377.4 312.4 372.6 326.8 378.6 338.7C384.6 350.6 398.9 355.4 410.8 349.4C428.5 340.5 448 335.9 467.8 335.9L472 335.9C485.3 335.9 496 325.2 496 311.9C496 298.6 485.3 287.9 472 287.9L467.8 287.9zM168 384C154.7 384 144 394.7 144 408C144 421.3 154.7 432 168 432L172.2 432C192 432 211.5 436.6 229.2 445.5C241.1 451.4 255.5 446.6 261.4 434.8C267.3 423 262.5 408.5 250.7 402.6C226.3 390.4 199.4 384.1 172.2 384.1L168 384.1zM467.8 384C440.5 384 413.7 390.3 389.3 402.5C377.4 408.4 372.6 422.8 378.6 434.7C384.6 446.6 398.9 451.4 410.8 445.4C428.5 436.5 448 431.9 467.8 431.9L472 431.9C485.3 431.9 496 421.2 496 407.9C496 394.6 485.3 383.9 472 383.9L467.8 383.9z"
8
+ })
9
+ });
10
+ const BookOpenLinesIcon_rslib_entry_ = BookOpenLinesIcon;
11
+ export { BookOpenLinesIcon_rslib_entry_ as default };
@@ -0,0 +1,3 @@
1
+ import type { Icon } from "./_types";
2
+ declare const BugIcon: Icon;
3
+ export default BugIcon;
@@ -0,0 +1,11 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ const BugIcon = ({ id })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("symbol", {
3
+ id: id,
4
+ viewBox: "0 0 640 640",
5
+ fill: "currentColor",
6
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
7
+ d: "M320 64C267 64 224 107 224 160L224 163.6C224 179.3 236.7 192 252.4 192L387.5 192C403.2 192 415.9 179.3 415.9 163.6L415.9 160C415.9 107 372.9 64 319.9 64zM432 344L432 416C432 469.6 394.3 514.4 344 525.4L344 360C344 346.7 333.3 336 320 336C306.7 336 296 346.7 296 360L296 525.4C245.7 514.4 208 469.6 208 416L208 344C208 313.1 233.1 288 264 288L376 288C406.9 288 432 313.1 432 344zM179.8 282.9C170.3 296 163.8 311.3 161.2 328L56 328C42.7 328 32 338.7 32 352C32 365.3 42.7 376 56 376L160 376L160 416C160 422.5 160.4 428.9 161.1 435.1L73.6 500.8C63 508.8 60.8 523.8 68.8 534.4C76.8 545 91.8 547.2 102.4 539.2L175.4 484.5C201 538.6 256.1 576 320 576C383.9 576 439 538.6 464.6 484.5L537.6 539.2C548.2 547.2 563.2 545 571.2 534.4C579.2 523.8 577 508.8 566.4 500.8L478.9 435.1C479.6 428.8 480 422.4 480 416L480 376L584 376C597.3 376 608 365.3 608 352C608 338.7 597.3 328 584 328L478.8 328C476.2 311.3 469.7 296 460.2 282.9L566.4 203.2C577 195.2 579.2 180.2 571.2 169.6C563.2 159 548.2 156.8 537.6 164.8L422.6 251C408.6 243.9 392.7 240 376 240L264 240C247.2 240 231.4 244 217.4 251L102.4 164.8C91.8 156.8 76.8 159 68.8 169.6C60.8 180.2 63 195.2 73.6 203.2L179.8 282.9z"
8
+ })
9
+ });
10
+ const BugIcon_rslib_entry_ = BugIcon;
11
+ export { BugIcon_rslib_entry_ as default };
@@ -0,0 +1,3 @@
1
+ import type { Icon } from "./_types";
2
+ declare const CommentIcon: Icon;
3
+ export default CommentIcon;
@@ -0,0 +1,11 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ const CommentIcon = ({ id })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("symbol", {
3
+ id: id,
4
+ viewBox: "0 0 640 640",
5
+ fill: "currentColor",
6
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
7
+ d: "M115.9 448.9C83.3 408.6 64 358.4 64 304C64 171.5 178.6 64 320 64C461.4 64 576 171.5 576 304C576 436.5 461.4 544 320 544C283.5 544 248.8 536.8 217.4 524L101 573.9C97.3 575.5 93.5 576 89.5 576C75.4 576 64 564.6 64 550.5C64 546.2 65.1 542 67.1 538.3L115.9 448.9zM153.2 418.7C165.4 433.8 167.3 454.8 158 471.9L140 505L198.5 479.9C210.3 474.8 223.7 474.7 235.6 479.6C261.3 490.1 289.8 496 319.9 496C437.7 496 527.9 407.2 527.9 304C527.9 200.8 437.8 112 320 112C202.2 112 112 200.8 112 304C112 346.8 127.1 386.4 153.2 418.7z"
8
+ })
9
+ });
10
+ const CommentIcon_rslib_entry_ = CommentIcon;
11
+ export { CommentIcon_rslib_entry_ as default };
@@ -0,0 +1,3 @@
1
+ import type { Icon } from "./_types";
2
+ declare const LightbulbIcon: Icon;
3
+ export default LightbulbIcon;
@@ -0,0 +1,11 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ const LightbulbIcon = ({ id })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("symbol", {
3
+ id: id,
4
+ viewBox: "0 0 640 640",
5
+ fill: "currentColor",
6
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
7
+ d: "M424.5 355.1C449 329.2 464 294.4 464 256C464 176.5 399.5 112 320 112C240.5 112 176 176.5 176 256C176 294.4 191 329.2 215.5 355.1C236.8 377.5 260.4 409.1 268.8 448L371.2 448C379.6 409 403.2 377.5 424.5 355.1zM459.3 388.1C435.7 413 416 443.4 416 477.7L416 496C416 540.2 380.2 576 336 576L304 576C259.8 576 224 540.2 224 496L224 477.7C224 443.4 204.3 413 180.7 388.1C148 353.7 128 307.2 128 256C128 150 214 64 320 64C426 64 512 150 512 256C512 307.2 492 353.7 459.3 388.1zM272 248C272 261.3 261.3 272 248 272C234.7 272 224 261.3 224 248C224 199.4 263.4 160 312 160C325.3 160 336 170.7 336 184C336 197.3 325.3 208 312 208C289.9 208 272 225.9 272 248z"
8
+ })
9
+ });
10
+ const LightbulbIcon_rslib_entry_ = LightbulbIcon;
11
+ export { LightbulbIcon_rslib_entry_ as default };
@@ -0,0 +1,3 @@
1
+ import type { Icon } from "./_types";
2
+ declare const NewspaperIcon: Icon;
3
+ export default NewspaperIcon;
@@ -0,0 +1,11 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
2
+ const NewspaperIcon = ({ id })=>/*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("symbol", {
3
+ id: id,
4
+ viewBox: "0 0 640 640",
5
+ fill: "currentColor",
6
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
7
+ d: "M232 144C218.7 144 208 154.7 208 168L208 472C208 480.4 206.6 488.5 203.9 496L504 496C517.3 496 528 485.3 528 472L528 168C528 154.7 517.3 144 504 144L232 144zM136 544C96.2 544 64 511.8 64 472L64 176C64 162.7 74.7 152 88 152C101.3 152 112 162.7 112 176L112 472C112 485.3 122.7 496 136 496C149.3 496 160 485.3 160 472L160 168C160 128.2 192.2 96 232 96L504 96C543.8 96 576 128.2 576 168L576 472C576 511.8 543.8 544 504 544L136 544zM256 216C256 202.7 266.7 192 280 192L328 192C341.3 192 352 202.7 352 216L352 264C352 277.3 341.3 288 328 288L280 288C266.7 288 256 277.3 256 264L256 216zM408 240L456 240C469.3 240 480 250.7 480 264C480 277.3 469.3 288 456 288L408 288C394.7 288 384 277.3 384 264C384 250.7 394.7 240 408 240zM280 320L456 320C469.3 320 480 330.7 480 344C480 357.3 469.3 368 456 368L280 368C266.7 368 256 357.3 256 344C256 330.7 266.7 320 280 320zM280 400L456 400C469.3 400 480 410.7 480 424C480 437.3 469.3 448 456 448L280 448C266.7 448 256 437.3 256 424C256 410.7 266.7 400 280 400z"
8
+ })
9
+ });
10
+ const NewspaperIcon_rslib_entry_ = NewspaperIcon;
11
+ export { NewspaperIcon_rslib_entry_ as default };
@@ -8,6 +8,8 @@ export * as AssignmentCertificate from "./AssignmentCertificateIcon";
8
8
  export * as AssignmentDocument from "./AssignmentDocumentIcon";
9
9
  export * as AssignmentQuestionnaire from "./AssignmentQuestionnaireIcon";
10
10
  export * as BankAccount from "./BankAccountIcon";
11
+ export * as BookOpenLines from "./BookOpenLinesIcon";
12
+ export * as Bug from "./BugIcon";
11
13
  export * as Calendar from "./CalendarIcon";
12
14
  export * as Cancel from "./CancelIcon";
13
15
  export * as CaratDown from "./CaratDownIcon";
@@ -21,6 +23,7 @@ export * as ChevronRight from "./ChevronRightIcon";
21
23
  export * as ChevronUp from "./ChevronUpIcon";
22
24
  export * as Close from "./CloseIcon";
23
25
  export * as Columns from "./ColumnsIcon";
26
+ export * as Comment from "./CommentIcon";
24
27
  export * as Copy from "./CopyIcon";
25
28
  export * as Dash from "./DashIcon";
26
29
  export * as Delete from "./DeleteIcon";
@@ -39,10 +42,12 @@ export * as Inbox from "./InboxIcon";
39
42
  export * as Insights from "./InsightsIcon";
40
43
  export * as Job from "./JobIcon";
41
44
  export * as Leave from "./LeaveIcon";
45
+ export * as Lightbulb from "./LightbulbIcon";
42
46
  export * as Loading from "./LoadingIcon";
43
47
  export * as Logout from "./LogoutIcon";
44
48
  export * as Microsoft from "./MicrosoftIcon";
45
49
  export * as Minus from "./MinusIcon";
50
+ export * as Newspaper from "./NewspaperIcon";
46
51
  export * as Overflow from "./OverflowIcon";
47
52
  export * as PaperworkAssigned from "./PaperworkAssignedIcon";
48
53
  export * as PaperworkDraft from "./PaperworkDraftIcon";