@thebuoyant-tsdev/mui-ts-library 3.34.0 → 3.35.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.
@@ -8,11 +8,12 @@ type KanbanBoardColumnProps = {
8
8
  showAssignee: boolean;
9
9
  showDueDate: boolean;
10
10
  showDueDateWarning: boolean;
11
+ showSubtasks: boolean;
11
12
  chipVariant: "outlined" | "filled";
12
13
  t: Required<KanbanBoardTranslation>;
13
14
  enableBuiltinDialogs: boolean;
14
15
  onCardClick: (task: KanbanTask) => void;
15
16
  onAddClick: (columnId: string) => void;
16
17
  };
17
- export declare function KanbanBoardColumn({ column, tasks, totalCount, showPriority, showAssignee, showDueDate, showDueDateWarning, chipVariant, t, enableBuiltinDialogs, onCardClick, onAddClick, }: KanbanBoardColumnProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare function KanbanBoardColumn({ column, tasks, totalCount, showPriority, showAssignee, showDueDate, showDueDateWarning, showSubtasks, chipVariant, t, enableBuiltinDialogs, onCardClick, onAddClick, }: KanbanBoardColumnProps): import("react/jsx-runtime").JSX.Element;
18
19
  export {};
@@ -3,12 +3,12 @@ import { KanbanBoardCard as t } from "./KanbanBoardCard.js";
3
3
  import { useDroppable as n } from "@dnd-kit/core";
4
4
  import { SortableContext as r, verticalListSortingStrategy as i } from "@dnd-kit/sortable";
5
5
  import { Box as a, Button as o, Chip as s, Typography as c } from "@mui/material";
6
- import { jsx as l, jsxs as u } from "react/jsx-runtime";
7
- import d from "@mui/icons-material/Add";
6
+ import l from "@mui/icons-material/Add";
7
+ import { jsx as u, jsxs as d } from "react/jsx-runtime";
8
8
  //#region src/components/kanban-board/KanbanBoardColumn.tsx
9
- function f({ column: f, tasks: p, totalCount: m, showPriority: h, showAssignee: g, showDueDate: _, showDueDateWarning: v, chipVariant: y, t: b, enableBuiltinDialogs: x, onCardClick: S, onAddClick: C }) {
10
- let { setNodeRef: w, isOver: T } = n({ id: f.id }), E = f.wipLimit !== void 0 && m > f.wipLimit, D = f.wipLimit === void 0 ? `${p.length}` : `${p.length} / ${f.wipLimit}`, O = f.color ?? "primary.main";
11
- return /* @__PURE__ */ u(a, {
9
+ function f({ column: f, tasks: p, totalCount: m, showPriority: h, showAssignee: g, showDueDate: _, showDueDateWarning: v, showSubtasks: y, chipVariant: b, t: x, enableBuiltinDialogs: S, onCardClick: C, onAddClick: w }) {
10
+ let { setNodeRef: T, isOver: E } = n({ id: f.id }), D = f.wipLimit !== void 0 && m > f.wipLimit, O = f.wipLimit === void 0 ? `${p.length}` : `${p.length} / ${f.wipLimit}`, k = f.color ?? "primary.main";
11
+ return /* @__PURE__ */ d(a, {
12
12
  className: e.column,
13
13
  sx: {
14
14
  display: "flex",
@@ -23,7 +23,7 @@ function f({ column: f, tasks: p, totalCount: m, showPriority: h, showAssignee:
23
23
  borderColor: "divider"
24
24
  },
25
25
  children: [
26
- /* @__PURE__ */ u(a, {
26
+ /* @__PURE__ */ d(a, {
27
27
  className: e.columnHeader,
28
28
  sx: {
29
29
  px: 2,
@@ -36,7 +36,7 @@ function f({ column: f, tasks: p, totalCount: m, showPriority: h, showAssignee:
36
36
  borderTop: `3px solid ${f.color ?? "transparent"}`,
37
37
  bgcolor: (e) => e.palette.mode === "dark" ? "grey.800" : "grey.300"
38
38
  },
39
- children: [/* @__PURE__ */ l(c, {
39
+ children: [/* @__PURE__ */ u(c, {
40
40
  className: e.columnTitle,
41
41
  variant: "subtitle2",
42
42
  sx: {
@@ -44,15 +44,15 @@ function f({ column: f, tasks: p, totalCount: m, showPriority: h, showAssignee:
44
44
  fontWeight: 700
45
45
  },
46
46
  children: f.label
47
- }), /* @__PURE__ */ l(s, {
47
+ }), /* @__PURE__ */ u(s, {
48
48
  className: e.columnCount,
49
- label: D,
49
+ label: O,
50
50
  size: "small",
51
- color: E ? "error" : "default",
51
+ color: D ? "error" : "default",
52
52
  sx: {
53
53
  height: 20,
54
54
  fontSize: "0.7rem",
55
- ...!E && f.color && {
55
+ ...!D && f.color && {
56
56
  bgcolor: f.color,
57
57
  color: "#fff"
58
58
  }
@@ -60,11 +60,11 @@ function f({ column: f, tasks: p, totalCount: m, showPriority: h, showAssignee:
60
60
  "aria-label": `${p.length} cards${f.wipLimit ? ` of ${f.wipLimit} limit` : ""}${p.length === m ? "" : ` (${m} total)`}`
61
61
  })]
62
62
  }),
63
- /* @__PURE__ */ l(r, {
63
+ /* @__PURE__ */ u(r, {
64
64
  items: p.map((e) => e.id),
65
65
  strategy: i,
66
- children: /* @__PURE__ */ u(a, {
67
- ref: w,
66
+ children: /* @__PURE__ */ d(a, {
67
+ ref: T,
68
68
  className: e.columnBody,
69
69
  sx: {
70
70
  flex: 1,
@@ -73,10 +73,10 @@ function f({ column: f, tasks: p, totalCount: m, showPriority: h, showAssignee:
73
73
  "&::-webkit-scrollbar": { display: "none" },
74
74
  p: 1,
75
75
  minHeight: 80,
76
- bgcolor: (e) => T ? e.palette.action.selected : e.palette.mode === "dark" ? e.palette.grey[900] : e.palette.grey[100],
76
+ bgcolor: (e) => E ? e.palette.action.selected : e.palette.mode === "dark" ? e.palette.grey[900] : e.palette.grey[100],
77
77
  transition: "background-color 0.15s"
78
78
  },
79
- children: [p.length === 0 && !T && /* @__PURE__ */ l(c, {
79
+ children: [p.length === 0 && !E && /* @__PURE__ */ u(c, {
80
80
  variant: "caption",
81
81
  color: "text.disabled",
82
82
  sx: {
@@ -84,36 +84,38 @@ function f({ column: f, tasks: p, totalCount: m, showPriority: h, showAssignee:
84
84
  textAlign: "center",
85
85
  mt: 2
86
86
  },
87
- children: b.noCardsLabel
88
- }), p.map((e) => /* @__PURE__ */ l(t, {
87
+ children: x.noCardsLabel
88
+ }), p.map((e) => /* @__PURE__ */ u(t, {
89
89
  task: e,
90
90
  showPriority: h,
91
91
  showAssignee: g,
92
92
  showDueDate: _,
93
93
  showDueDateWarning: v,
94
- chipVariant: y,
95
- t: b,
96
- onCardClick: S
94
+ showSubtasks: y,
95
+ enableBuiltinDialogs: S,
96
+ chipVariant: b,
97
+ t: x,
98
+ onCardClick: C
97
99
  }, e.id))]
98
100
  })
99
101
  }),
100
- x && /* @__PURE__ */ l(a, {
102
+ S && /* @__PURE__ */ u(a, {
101
103
  sx: {
102
104
  p: 1,
103
105
  borderTop: "1px solid",
104
106
  borderColor: "divider"
105
107
  },
106
- children: /* @__PURE__ */ l(o, {
108
+ children: /* @__PURE__ */ u(o, {
107
109
  className: e.addButton,
108
- startIcon: /* @__PURE__ */ l(d, {}),
110
+ startIcon: /* @__PURE__ */ u(l, {}),
109
111
  size: "small",
110
112
  fullWidth: !0,
111
- onClick: () => C(f.id),
113
+ onClick: () => w(f.id),
112
114
  sx: {
113
115
  justifyContent: "flex-start",
114
- color: O,
116
+ color: k,
115
117
  border: "1px dashed",
116
- borderColor: O,
118
+ borderColor: k,
117
119
  borderRadius: 1,
118
120
  py: .75,
119
121
  fontWeight: 600,
@@ -123,7 +125,7 @@ function f({ column: f, tasks: p, totalCount: m, showPriority: h, showAssignee:
123
125
  borderStyle: "dashed"
124
126
  }
125
127
  },
126
- children: b.addCardLabel
128
+ children: x.addCardLabel
127
129
  })
128
130
  })
129
131
  ]
@@ -50,4 +50,8 @@ export declare const kanbanBoardClasses: {
50
50
  readonly searchFieldWrapper: "MuiTsKanbanBoard-searchFieldWrapper";
51
51
  /** The built-in search TextField (`showSearchField={true}`). */
52
52
  readonly searchField: "MuiTsKanbanBoard-searchField";
53
+ /** The subtask progress row at the bottom of a card (bar + "N / M ✓" label). */
54
+ readonly cardSubtasks: "MuiTsKanbanBoard-cardSubtasks";
55
+ /** The LinearProgress bar inside the subtask row. */
56
+ readonly cardSubtasksBar: "MuiTsKanbanBoard-cardSubtasksBar";
53
57
  };
@@ -15,7 +15,9 @@ var e = {
15
15
  cardPriorityDot: "MuiTsKanbanBoard-cardPriorityDot",
16
16
  addButton: "MuiTsKanbanBoard-addButton",
17
17
  searchFieldWrapper: "MuiTsKanbanBoard-searchFieldWrapper",
18
- searchField: "MuiTsKanbanBoard-searchField"
18
+ searchField: "MuiTsKanbanBoard-searchField",
19
+ cardSubtasks: "MuiTsKanbanBoard-cardSubtasks",
20
+ cardSubtasksBar: "MuiTsKanbanBoard-cardSubtasksBar"
19
21
  };
20
22
  //#endregion
21
23
  export { e as kanbanBoardClasses };
@@ -1,8 +1,8 @@
1
1
  import { Divider as e, IconButton as t, ListItemIcon as n, ListItemText as r, Menu as i, MenuItem as a, Tooltip as o } from "@mui/material";
2
2
  import { useState as s } from "react";
3
- import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
4
- import d from "@mui/icons-material/Delete";
5
- import f from "@mui/icons-material/Add";
3
+ import c from "@mui/icons-material/Add";
4
+ import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
5
+ import f from "@mui/icons-material/Delete";
6
6
  import p from "@mui/icons-material/TableChart";
7
7
  //#region src/components/rich-text-editor/RichTextEditorTableMenu.tsx
8
8
  function m({ editor: m, translation: h, disabled: g }) {
@@ -13,10 +13,10 @@ function m({ editor: m, translation: h, disabled: g }) {
13
13
  function S(e) {
14
14
  e(), x();
15
15
  }
16
- return /* @__PURE__ */ u(c, { children: [/* @__PURE__ */ l(o, {
16
+ return /* @__PURE__ */ d(l, { children: [/* @__PURE__ */ u(o, {
17
17
  title: h.table,
18
18
  arrow: !0,
19
- children: /* @__PURE__ */ l("span", { children: /* @__PURE__ */ l(t, {
19
+ children: /* @__PURE__ */ u("span", { children: /* @__PURE__ */ u(t, {
20
20
  size: "small",
21
21
  onMouseDown: (e) => e.preventDefault(),
22
22
  onClick: (e) => v(e.currentTarget),
@@ -25,67 +25,67 @@ function m({ editor: m, translation: h, disabled: g }) {
25
25
  sx: { borderRadius: 1 },
26
26
  "aria-label": h.table,
27
27
  "aria-pressed": b,
28
- children: /* @__PURE__ */ l(p, { fontSize: "small" })
28
+ children: /* @__PURE__ */ u(p, { fontSize: "small" })
29
29
  }) })
30
- }), /* @__PURE__ */ u(i, {
30
+ }), /* @__PURE__ */ d(i, {
31
31
  anchorEl: _,
32
32
  open: !!_,
33
33
  onClose: x,
34
34
  slotProps: { paper: { sx: { minWidth: 220 } } },
35
35
  children: [
36
- /* @__PURE__ */ u(a, {
36
+ /* @__PURE__ */ d(a, {
37
37
  onClick: () => S(() => m?.chain().focus().insertTable({
38
38
  rows: 3,
39
39
  cols: 3,
40
40
  withHeaderRow: !0
41
41
  }).run()),
42
- children: [/* @__PURE__ */ l(n, { children: /* @__PURE__ */ l(p, { fontSize: "small" }) }), /* @__PURE__ */ l(r, { children: h.insertTable })]
42
+ children: [/* @__PURE__ */ u(n, { children: /* @__PURE__ */ u(p, { fontSize: "small" }) }), /* @__PURE__ */ u(r, { children: h.insertTable })]
43
43
  }),
44
- b && /* @__PURE__ */ l(e, {}),
45
- b && /* @__PURE__ */ u(a, {
44
+ b && /* @__PURE__ */ u(e, {}),
45
+ b && /* @__PURE__ */ d(a, {
46
46
  onClick: () => S(() => m?.chain().focus().addRowBefore().run()),
47
- children: [/* @__PURE__ */ l(n, { children: /* @__PURE__ */ l(f, { fontSize: "small" }) }), /* @__PURE__ */ l(r, { children: h.addRowBefore })]
47
+ children: [/* @__PURE__ */ u(n, { children: /* @__PURE__ */ u(c, { fontSize: "small" }) }), /* @__PURE__ */ u(r, { children: h.addRowBefore })]
48
48
  }),
49
- b && /* @__PURE__ */ u(a, {
49
+ b && /* @__PURE__ */ d(a, {
50
50
  onClick: () => S(() => m?.chain().focus().addRowAfter().run()),
51
- children: [/* @__PURE__ */ l(n, { children: /* @__PURE__ */ l(f, { fontSize: "small" }) }), /* @__PURE__ */ l(r, { children: h.addRowAfter })]
51
+ children: [/* @__PURE__ */ u(n, { children: /* @__PURE__ */ u(c, { fontSize: "small" }) }), /* @__PURE__ */ u(r, { children: h.addRowAfter })]
52
52
  }),
53
- b && /* @__PURE__ */ u(a, {
53
+ b && /* @__PURE__ */ d(a, {
54
54
  onClick: () => S(() => m?.chain().focus().deleteRow().run()),
55
- children: [/* @__PURE__ */ l(n, { children: /* @__PURE__ */ l(d, {
55
+ children: [/* @__PURE__ */ u(n, { children: /* @__PURE__ */ u(f, {
56
56
  fontSize: "small",
57
57
  color: "error"
58
- }) }), /* @__PURE__ */ l(r, {
58
+ }) }), /* @__PURE__ */ u(r, {
59
59
  sx: { color: "error.main" },
60
60
  children: h.deleteRow
61
61
  })]
62
62
  }),
63
- b && /* @__PURE__ */ l(e, {}),
64
- b && /* @__PURE__ */ u(a, {
63
+ b && /* @__PURE__ */ u(e, {}),
64
+ b && /* @__PURE__ */ d(a, {
65
65
  onClick: () => S(() => m?.chain().focus().addColumnBefore().run()),
66
- children: [/* @__PURE__ */ l(n, { children: /* @__PURE__ */ l(f, { fontSize: "small" }) }), /* @__PURE__ */ l(r, { children: h.addColumnBefore })]
66
+ children: [/* @__PURE__ */ u(n, { children: /* @__PURE__ */ u(c, { fontSize: "small" }) }), /* @__PURE__ */ u(r, { children: h.addColumnBefore })]
67
67
  }),
68
- b && /* @__PURE__ */ u(a, {
68
+ b && /* @__PURE__ */ d(a, {
69
69
  onClick: () => S(() => m?.chain().focus().addColumnAfter().run()),
70
- children: [/* @__PURE__ */ l(n, { children: /* @__PURE__ */ l(f, { fontSize: "small" }) }), /* @__PURE__ */ l(r, { children: h.addColumnAfter })]
70
+ children: [/* @__PURE__ */ u(n, { children: /* @__PURE__ */ u(c, { fontSize: "small" }) }), /* @__PURE__ */ u(r, { children: h.addColumnAfter })]
71
71
  }),
72
- b && /* @__PURE__ */ u(a, {
72
+ b && /* @__PURE__ */ d(a, {
73
73
  onClick: () => S(() => m?.chain().focus().deleteColumn().run()),
74
- children: [/* @__PURE__ */ l(n, { children: /* @__PURE__ */ l(d, {
74
+ children: [/* @__PURE__ */ u(n, { children: /* @__PURE__ */ u(f, {
75
75
  fontSize: "small",
76
76
  color: "error"
77
- }) }), /* @__PURE__ */ l(r, {
77
+ }) }), /* @__PURE__ */ u(r, {
78
78
  sx: { color: "error.main" },
79
79
  children: h.deleteColumn
80
80
  })]
81
81
  }),
82
- b && /* @__PURE__ */ l(e, {}),
83
- b && /* @__PURE__ */ u(a, {
82
+ b && /* @__PURE__ */ u(e, {}),
83
+ b && /* @__PURE__ */ d(a, {
84
84
  onClick: () => S(() => m?.chain().focus().deleteTable().run()),
85
- children: [/* @__PURE__ */ l(n, { children: /* @__PURE__ */ l(d, {
85
+ children: [/* @__PURE__ */ u(n, { children: /* @__PURE__ */ u(f, {
86
86
  fontSize: "small",
87
87
  color: "error"
88
- }) }), /* @__PURE__ */ l(r, {
88
+ }) }), /* @__PURE__ */ u(r, {
89
89
  sx: { color: "error.main" },
90
90
  children: h.deleteTable
91
91
  })]
@@ -2,8 +2,8 @@ import { tagSelectionClasses as e } from "./tagSelectionClasses.js";
2
2
  import { Autocomplete as t, Box as n, Chip as r, IconButton as i, Stack as a, Switch as ee, TextField as o, Tooltip as s, Typography as c } from "@mui/material";
3
3
  import { useState as l } from "react";
4
4
  import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
5
- import p from "@mui/icons-material/Check";
6
- import m from "@mui/icons-material/Close";
5
+ import p from "@mui/icons-material/Close";
6
+ import m from "@mui/icons-material/Check";
7
7
  //#region src/components/tag-selection/TagSelectionAutocomplete.tsx
8
8
  var te = [
9
9
  "default",
@@ -191,13 +191,13 @@ function x({ availableTags: x, searchValue: S, translation: C, onSearchChange: w
191
191
  onClick: Z,
192
192
  disabled: q,
193
193
  "aria-label": C.confirmCreateLabel,
194
- children: /* @__PURE__ */ d(p, { fontSize: "small" })
194
+ children: /* @__PURE__ */ d(m, { fontSize: "small" })
195
195
  }), /* @__PURE__ */ d(i, {
196
196
  size: "small",
197
197
  onMouseDown: $,
198
198
  onClick: Q,
199
199
  "aria-label": C.cancelCreateLabel,
200
- children: /* @__PURE__ */ d(m, { fontSize: "small" })
200
+ children: /* @__PURE__ */ d(p, { fontSize: "small" })
201
201
  })] }), e.slotProps?.input?.endAdornment] })
202
202
  }
203
203
  }