@thebuoyant-tsdev/mui-ts-library 2.6.0 → 3.0.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.
- package/README.de.md +10 -31
- package/README.md +10 -31
- package/dist/components/gantt-chart/GanttChart.constants.d.ts +1 -0
- package/dist/components/gantt-chart/GanttChart.d.ts +1 -1
- package/dist/components/gantt-chart/GanttChart.types.d.ts +16 -0
- package/dist/components/gantt-chart/GanttTaskPanel.d.ts +2 -1
- package/dist/components/gantt-chart/GanttToolbar.d.ts +2 -1
- package/dist/components/password-strength-meter/PasswordStrengthMeter.d.ts +1 -1
- package/dist/components/password-strength-meter/PasswordStrengthMeter.types.d.ts +36 -0
- package/dist/components/tag-selection/TagSelection.types.d.ts +5 -1
- package/dist/components/tag-selection/TagSelectionAutocomplete.d.ts +2 -2
- package/dist/index.cjs +2 -1
- package/dist/index.d.cts +0 -2
- package/dist/index.d.ts +0 -2
- package/dist/index.js +1813 -1508
- package/package.json +6 -12
- package/dist/components/confirm-dialog/ConfirmDialog.types.d.ts +0 -23
- package/dist/components/confirm-dialog/ConfirmDialogProvider.d.ts +0 -5
package/README.de.md
CHANGED
|
@@ -12,16 +12,15 @@ Eine typsichere React-Komponentenbibliothek auf Basis von **TypeScript** und **M
|
|
|
12
12
|
|
|
13
13
|
| Komponente | Beschreibung | Docs |
|
|
14
14
|
|---|---|---|
|
|
15
|
-
| [`
|
|
16
|
-
| [`GanttChart`](#ganttchart) | Projekt-Timeline mit hierarchischen Aufgaben, Meilensteinen, Drag & Drop, Ctrl / Cmd ⌘+Scroll-Zoom, Heute-Chip und integrierten CRUD-Dialogen | [Vollständiges Manual →](user-manuals/GanttChart.de.md) |
|
|
15
|
+
| [`GanttChart`](#ganttchart) | Projekt-Timeline mit hierarchischen Aufgaben, Meilensteinen, Drag & Drop, Ctrl / Cmd ⌘+Scroll-Zoom, Heute-Chip, Assignee-Spalte, CSV-Export und integrierten CRUD-Dialogen | [Vollständiges Manual →](user-manuals/GanttChart.de.md) |
|
|
17
16
|
| [`TagSelection`](#tagselection) | Multi-Tag-Auswahlfeld mit Autocomplete, freier Tag-Erstellung, Overflow-Chips und MUI-Theme-Farben | [Vollständiges Manual →](user-manuals/TagSelection.de.md) |
|
|
18
|
-
| [`PasswordStrengthMeter`](#passwordstrengthmeter) | Passwort-Eingabe mit animiertem Stärke-Meter,
|
|
17
|
+
| [`PasswordStrengthMeter`](#passwordstrengthmeter) | Passwort-Eingabe mit animiertem Stärke-Meter, Confirm-Feld mit Match-Validierung, eigenen Anforderungen und eingebautem sicheren Passwort-Generator | [Vollständiges Manual →](user-manuals/PasswordStrengthMeter.de.md) |
|
|
19
18
|
| [`RichTextEditor`](#richtexteditor) | WYSIWYG-Editor (TipTap v3) mit Toolbar, Link-Dialog, Textfarbe, Hervorhebung, Wörter-Zähler, Vollbild-Modus, Markdown-Einfügen, Tabellen-Bearbeitung, Bild-Embed und Emoji-Picker | [Vollständiges Manual →](user-manuals/RichTextEditor.de.md) |
|
|
20
19
|
| [`SqlEditor`](#sqleditor) | SQL-Code-Editor (CodeMirror 6) mit Syntax-Highlighting, Multi-Dialekt, Autocomplete, Linting und `Cmd+Enter`-Ausführen-Shortcut | [Vollständiges Manual →](user-manuals/SqlEditor.de.md) |
|
|
21
20
|
| [`JsonEditor`](#jsoneditor) | JSON-Code-Editor (CodeMirror 6) mit Echtzeit-Validierung, Format- und Komprimieren-Schaltfläche sowie optionaler Minimap | [Vollständiges Manual →](user-manuals/JsonEditor.de.md) |
|
|
22
21
|
| [`SunburstChart`](#sunburstchart) | D3 v7 hierarchisches Chart — konzentrische Ringe, Ctrl / Cmd ⌘+Click Drill-Down, Ctrl / Cmd ⌘+Scroll Zoom, Donut-Modus, eigene Farben, MUI-Theme-Integration. Erste der D3-Chart-Familie. | [Vollständiges Manual →](user-manuals/SunburstChart.de.md) |
|
|
23
22
|
| [`ChordChart`](#chordchart) | D3 v7 Fluss-Chart — Arc-Gruppen, Bänder, Hover-Highlight, Ctrl / Cmd ⌘+Scroll-Zoom, gerichtet/ungerichtet, MUI-Theme-Integration | [Vollständiges Manual →](user-manuals/ChordChart.de.md) |
|
|
24
|
-
| [`RadialTreeChart`](#
|
|
23
|
+
| [`RadialTreeChart`](#radialtreechart) | D3 v7 radialer Baum — Knoten auf konzentrischen Ringen, MUI-Icons, Ctrl / Cmd ⌘+Click Drill-Down, Ctrl / Cmd ⌘+Scroll Zoom, MUI-Theme-Integration | [Vollständiges Manual →](user-manuals/RadialTreeChart.de.md) |
|
|
25
24
|
| [`CirclePackingChart`](#circlepackingchart) | D3 v7 Circle Packing — verschachtelte Kreise, animierter D3-Zoom, Ctrl / Cmd ⌘+Scroll-Zoom, Tiefen-Gradient oder Palette, MUI-Theme-Integration | [Vollständiges Manual →](user-manuals/CirclePackingChart.de.md) |
|
|
26
25
|
| [`HorizontalTreeChart`](#horizontaltreechart) | D3 v7 Baum-Chart — 4 Orientierungen (LR/RL/TB/BT), geschwungene Links, Drill-Down, Ctrl / Cmd ⌘+Scroll-Zoom, MUI-Icons und Theme-Integration | [Vollständiges Manual →](user-manuals/HorizontalTreeChart.de.md) |
|
|
27
26
|
|
|
@@ -55,29 +54,7 @@ import { GanttChart, JsonEditor, useConfirm } from '@thebuoyant-tsdev/mui-ts-lib
|
|
|
55
54
|
|
|
56
55
|
## Schnellstart
|
|
57
56
|
|
|
58
|
-
Die App wie gewohnt in MUI's `ThemeProvider` einschließen
|
|
59
|
-
|
|
60
|
-
### ConfirmDialog
|
|
61
|
-
|
|
62
|
-
Ersetzt jedes manuelle `open/setOpen`-State-Muster durch einen einzigen `await confirm(...)`-Aufruf. Eliminiert Boilerplate bei Lösch-Bestätigungen, destruktiven Aktionen und allen Flows, die vor dem Fortfahren eine Nutzerzustimmung benötigen — mit optionalem Countdown-Auto-Confirm und Enter = Bestätigen.
|
|
63
|
-
|
|
64
|
-
```tsx
|
|
65
|
-
import { ConfirmDialogProvider, useConfirm } from '@thebuoyant-tsdev/mui-ts-library';
|
|
66
|
-
|
|
67
|
-
// App-Wurzel — einmalig
|
|
68
|
-
<ConfirmDialogProvider>
|
|
69
|
-
<App />
|
|
70
|
-
</ConfirmDialogProvider>
|
|
71
|
-
|
|
72
|
-
// Überall innerhalb der App
|
|
73
|
-
const confirm = useConfirm();
|
|
74
|
-
const ok = await confirm({ title: 'Eintrag löschen?', severity: 'error', confirmLabel: 'Löschen', countdown: 10 });
|
|
75
|
-
if (ok) handleDelete();
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
→ [Vollständige Dokumentation](user-manuals/ConfirmDialog.de.md)
|
|
79
|
-
|
|
80
|
-
---
|
|
57
|
+
Die App wie gewohnt in MUI's `ThemeProvider` einschließen — alle Komponenten funktionieren ohne zusätzlichen Provider.
|
|
81
58
|
|
|
82
59
|
### GanttChart
|
|
83
60
|
|
|
@@ -121,7 +98,7 @@ const tags: TagSelectionItem[] = [
|
|
|
121
98
|
|
|
122
99
|
### PasswordStrengthMeter
|
|
123
100
|
|
|
124
|
-
Passwort-Eingabe mit Echtzeit-Stärke-Feedback. Konzipiert für Registrierungs- und Passwort-Änderungs-Flows
|
|
101
|
+
Passwort-Eingabe mit Echtzeit-Stärke-Feedback und eingebautem sicheren Passwort-Generator. Konzipiert für Registrierungs- und Passwort-Änderungs-Flows — Nutzer zu starken Passwörtern führen oder per Klick eines generieren lassen.
|
|
125
102
|
|
|
126
103
|
```tsx
|
|
127
104
|
import { PasswordStrengthMeter } from '@thebuoyant-tsdev/mui-ts-library';
|
|
@@ -129,7 +106,12 @@ import { PasswordStrengthMeter } from '@thebuoyant-tsdev/mui-ts-library';
|
|
|
129
106
|
<PasswordStrengthMeter
|
|
130
107
|
passwordMinLength={10}
|
|
131
108
|
showSegmentedBar
|
|
109
|
+
showConfirmField // zweites Feld mit ✓/✗ Match-Validierung
|
|
110
|
+
showPasswordGenerator // generiert ein kryptographisch sicheres Passwort
|
|
111
|
+
generatorOptions={{ length: 20 }}
|
|
132
112
|
onPasswordChange={(password, result) => console.log(result.score)}
|
|
113
|
+
onConfirmChange={(value, matches) => console.log('Übereinstimmung:', matches)}
|
|
114
|
+
onPasswordGenerated={(pw) => console.log('Generiert:', pw)}
|
|
133
115
|
/>
|
|
134
116
|
```
|
|
135
117
|
|
|
@@ -290,9 +272,6 @@ Alle Typen und Defaults werden direkt exportiert — kein separates `@types/...`
|
|
|
290
272
|
|
|
291
273
|
```tsx
|
|
292
274
|
import type {
|
|
293
|
-
// ConfirmDialog
|
|
294
|
-
ConfirmDialogOptions, ConfirmDialogSeverity,
|
|
295
|
-
|
|
296
275
|
// GanttChart
|
|
297
276
|
GanttTask, GanttTranslations, GanttTheme, GanttToolbarConfig,
|
|
298
277
|
|
package/README.md
CHANGED
|
@@ -12,16 +12,15 @@ A type-safe React component library built on **TypeScript** and **MUI (Material
|
|
|
12
12
|
|
|
13
13
|
| Component | Description | Docs |
|
|
14
14
|
|---|---|---|
|
|
15
|
-
| [`
|
|
16
|
-
| [`GanttChart`](#ganttchart) | Project timeline with hierarchical tasks, milestones, drag & drop, Ctrl / Cmd ⌘+Scroll zoom, today chip, and built-in CRUD dialogs | [Full Manual →](user-manuals/GanttChart.md) |
|
|
15
|
+
| [`GanttChart`](#ganttchart) | Project timeline with hierarchical tasks, milestones, drag & drop, Ctrl / Cmd ⌘+Scroll zoom, today chip, assignee column, CSV export, and built-in CRUD dialogs | [Full Manual →](user-manuals/GanttChart.md) |
|
|
17
16
|
| [`TagSelection`](#tagselection) | Multi-tag selector with autocomplete, free tag creation, overflow chips, and MUI theme colors | [Full Manual →](user-manuals/TagSelection.md) |
|
|
18
|
-
| [`PasswordStrengthMeter`](#passwordstrengthmeter) | Password input with animated strength meter, segmented bar, custom requirements, and
|
|
17
|
+
| [`PasswordStrengthMeter`](#passwordstrengthmeter) | Password input with animated strength meter, segmented bar, custom requirements, confirm field with match validation, and built-in secure password generator | [Full Manual →](user-manuals/PasswordStrengthMeter.md) |
|
|
19
18
|
| [`RichTextEditor`](#richtexteditor) | WYSIWYG editor (TipTap v3) with toolbar, link dialog, text color, highlight, word count, fullscreen mode, Markdown paste, table editing, image embed, and emoji picker | [Full Manual →](user-manuals/RichTextEditor.md) |
|
|
20
19
|
| [`SqlEditor`](#sqleditor) | SQL code editor (CodeMirror 6) with syntax highlighting, multi-dialect, autocomplete, linting, and `Cmd+Enter` execute shortcut | [Full Manual →](user-manuals/SqlEditor.md) |
|
|
21
20
|
| [`JsonEditor`](#jsoneditor) | JSON code editor (CodeMirror 6) with real-time validation, Format, Compact buttons, and optional minimap | [Full Manual →](user-manuals/JsonEditor.md) |
|
|
22
21
|
| [`SunburstChart`](#sunburstchart) | D3 v7 hierarchical chart — concentric rings, Ctrl / Cmd ⌘+Click drill-down, Ctrl / Cmd ⌘+Scroll zoom, donut mode, MUI theme integration | [Full Manual →](user-manuals/SunburstChart.md) |
|
|
23
22
|
| [`ChordChart`](#chordchart) | D3 v7 flow chart — arc groups, ribbons, hover highlight, Ctrl / Cmd ⌘+Scroll zoom, directed/undirected, MUI theme integration | [Full Manual →](user-manuals/ChordChart.md) |
|
|
24
|
-
| [`RadialTreeChart`](#
|
|
23
|
+
| [`RadialTreeChart`](#radialtreechart) | D3 v7 radial tree — hierarchical nodes on concentric rings, MUI icons, Ctrl / Cmd ⌘+Click drill-down, Ctrl / Cmd ⌘+Scroll zoom, MUI theme integration | [Full Manual →](user-manuals/RadialTreeChart.md) |
|
|
25
24
|
| [`CirclePackingChart`](#circlepackingchart) | D3 v7 circle packing — nested circles, animated D3 zoom, Ctrl / Cmd ⌘+Scroll zoom, depth gradient or palette, MUI theme integration | [Full Manual →](user-manuals/CirclePackingChart.md) |
|
|
26
25
|
| [`HorizontalTreeChart`](#horizontaltreechart) | D3 v7 tree chart — 4 orientations (LR/RL/TB/BT), curved links, drill-down, Ctrl / Cmd ⌘+Scroll zoom, MUI icons and theme integration | [Full Manual →](user-manuals/HorizontalTreeChart.md) |
|
|
27
26
|
|
|
@@ -55,29 +54,7 @@ import { GanttChart, JsonEditor, useConfirm } from '@thebuoyant-tsdev/mui-ts-lib
|
|
|
55
54
|
|
|
56
55
|
## Quick Start
|
|
57
56
|
|
|
58
|
-
Wrap your app in MUI's `ThemeProvider` as usual
|
|
59
|
-
|
|
60
|
-
### ConfirmDialog
|
|
61
|
-
|
|
62
|
-
Replace every manual `open/setOpen` state pattern with a single `await confirm(...)` call. Eliminates boilerplate from delete confirmations, destructive actions, and any flow that needs user approval before proceeding — with optional countdown auto-confirm and `Enter` = confirm shortcut.
|
|
63
|
-
|
|
64
|
-
```tsx
|
|
65
|
-
import { ConfirmDialogProvider, useConfirm } from '@thebuoyant-tsdev/mui-ts-library';
|
|
66
|
-
|
|
67
|
-
// App root — once
|
|
68
|
-
<ConfirmDialogProvider>
|
|
69
|
-
<App />
|
|
70
|
-
</ConfirmDialogProvider>
|
|
71
|
-
|
|
72
|
-
// Anywhere inside
|
|
73
|
-
const confirm = useConfirm();
|
|
74
|
-
const ok = await confirm({ title: 'Delete entry?', severity: 'error', confirmLabel: 'Delete', countdown: 10 });
|
|
75
|
-
if (ok) handleDelete();
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
→ [Full documentation](user-manuals/ConfirmDialog.md)
|
|
79
|
-
|
|
80
|
-
---
|
|
57
|
+
Wrap your app in MUI's `ThemeProvider` as usual — all components work without an additional provider.
|
|
81
58
|
|
|
82
59
|
### GanttChart
|
|
83
60
|
|
|
@@ -121,7 +98,7 @@ const tags: TagSelectionItem[] = [
|
|
|
121
98
|
|
|
122
99
|
### PasswordStrengthMeter
|
|
123
100
|
|
|
124
|
-
Password input with real-time strength feedback
|
|
101
|
+
Password input with real-time strength feedback, a confirm field with match validation, and a built-in secure password generator. Designed for registration flows and password-change screens.
|
|
125
102
|
|
|
126
103
|
```tsx
|
|
127
104
|
import { PasswordStrengthMeter } from '@thebuoyant-tsdev/mui-ts-library';
|
|
@@ -129,7 +106,12 @@ import { PasswordStrengthMeter } from '@thebuoyant-tsdev/mui-ts-library';
|
|
|
129
106
|
<PasswordStrengthMeter
|
|
130
107
|
passwordMinLength={10}
|
|
131
108
|
showSegmentedBar
|
|
109
|
+
showConfirmField // second input with ✓/✗ match validation
|
|
110
|
+
showPasswordGenerator // generates a cryptographically secure password
|
|
111
|
+
generatorOptions={{ length: 20 }}
|
|
132
112
|
onPasswordChange={(password, result) => console.log(result.score)}
|
|
113
|
+
onConfirmChange={(value, matches) => console.log('Matches:', matches)}
|
|
114
|
+
onPasswordGenerated={(pw) => console.log('Generated:', pw)}
|
|
133
115
|
/>
|
|
134
116
|
```
|
|
135
117
|
|
|
@@ -290,9 +272,6 @@ All types and defaults are exported directly — no separate `@types/...` packag
|
|
|
290
272
|
|
|
291
273
|
```tsx
|
|
292
274
|
import type {
|
|
293
|
-
// ConfirmDialog
|
|
294
|
-
ConfirmDialogOptions, ConfirmDialogSeverity,
|
|
295
|
-
|
|
296
275
|
// GanttChart
|
|
297
276
|
GanttTask, GanttTranslations, GanttTheme, GanttToolbarConfig,
|
|
298
277
|
|
|
@@ -8,6 +8,7 @@ export declare const COLUMN_WIDTH_QUARTER = 360;
|
|
|
8
8
|
export declare const BAR_HEIGHT = 16;
|
|
9
9
|
export declare const STATUS_COL_WIDTH = 90;
|
|
10
10
|
export declare const ACTIONS_COL_WIDTH = 96;
|
|
11
|
+
export declare const ASSIGNEE_COL_WIDTH = 110;
|
|
11
12
|
export declare const DIVIDER_WIDTH = 4;
|
|
12
13
|
/** MUI-Farb-Token für Balken und Status-Punkte (bgcolor-kompatibel) */
|
|
13
14
|
export declare const STATUS_BAR_COLOR: Record<string, string>;
|
|
@@ -4,4 +4,4 @@ export declare function useGanttChartStore<T>(selector: (state: ReturnType<Gantt
|
|
|
4
4
|
export declare function useRawGanttChartStore(): GanttChartStore;
|
|
5
5
|
export declare function useGanttTranslations(): GanttTranslations;
|
|
6
6
|
export declare function useGanttTheme(): GanttTheme;
|
|
7
|
-
export declare function GanttChart({ tasks, timeScale, initialExpandAll, showToolbar, defaultRangeStart, defaultRangeEnd, translations, enableBuiltinDialogs, toolbarConfig, zoomable, draggable, resizable, inlineEdit, progressDraggable, showCriticalPath, virtualizeRows, cascadeDependencies, statusColors, ganttTheme, onTaskClick, onMilestoneClick, onAddTask, onEditTask, onDeleteTask, onStatusChange, onTasksChange, onTaskMoved, onTaskResized, onTaskCreated, onTaskUpdated, onTaskDeleted, height, width, minPanelWidth, maxPanelWidth, }: GanttChartProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare function GanttChart({ tasks, timeScale, initialExpandAll, showToolbar, defaultRangeStart, defaultRangeEnd, translations, enableBuiltinDialogs, toolbarConfig, zoomable, draggable, resizable, inlineEdit, progressDraggable, showCriticalPath, virtualizeRows, showAssigneeColumn, cascadeDependencies, statusColors, ganttTheme, onExportCSV, onTaskClick, onMilestoneClick, onAddTask, onEditTask, onDeleteTask, onStatusChange, onTasksChange, onTaskMoved, onTaskResized, onTaskCreated, onTaskUpdated, onTaskDeleted, height, width, minPanelWidth, maxPanelWidth, }: GanttChartProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -11,6 +11,8 @@ export type GanttTask = {
|
|
|
11
11
|
isMilestone?: boolean;
|
|
12
12
|
progress?: number;
|
|
13
13
|
color?: string;
|
|
14
|
+
/** Person or team responsible for this task — shown in the Assignee column */
|
|
15
|
+
assignee?: string;
|
|
14
16
|
};
|
|
15
17
|
export type GanttTaskNode = GanttTask & {
|
|
16
18
|
children: GanttTaskNode[];
|
|
@@ -50,6 +52,8 @@ export type GanttTranslations = {
|
|
|
50
52
|
dialogFieldDependencies: string;
|
|
51
53
|
dialogFieldDependenciesNone: string;
|
|
52
54
|
columnActions: string;
|
|
55
|
+
/** Header label for the Assignee column — shown when showAssigneeColumn=true */
|
|
56
|
+
columnAssignee: string;
|
|
53
57
|
addTaskTooltip: string;
|
|
54
58
|
editTaskTooltip: string;
|
|
55
59
|
deleteTaskTooltip: string;
|
|
@@ -57,6 +61,8 @@ export type GanttTranslations = {
|
|
|
57
61
|
expandAllTooltip: string;
|
|
58
62
|
collapseAllTooltip: string;
|
|
59
63
|
resetViewTooltip: string;
|
|
64
|
+
/** Toolbar tooltip for the CSV export button */
|
|
65
|
+
exportCsvTooltip: string;
|
|
60
66
|
};
|
|
61
67
|
export declare const DEFAULT_GANTT_TRANSLATIONS: GanttTranslations;
|
|
62
68
|
export type GanttStatusColors = Partial<Record<GanttTaskStatus, string>>;
|
|
@@ -78,6 +84,8 @@ export type GanttToolbarConfig = {
|
|
|
78
84
|
showDateRange?: boolean;
|
|
79
85
|
showRangeReset?: boolean;
|
|
80
86
|
showResetView?: boolean;
|
|
87
|
+
/** Show CSV export button in the toolbar (default: false) */
|
|
88
|
+
showExportCSV?: boolean;
|
|
81
89
|
};
|
|
82
90
|
export type GanttChartProps = {
|
|
83
91
|
cascadeDependencies?: boolean;
|
|
@@ -102,6 +110,8 @@ export type GanttChartProps = {
|
|
|
102
110
|
toolbarConfig?: GanttToolbarConfig;
|
|
103
111
|
translations?: Partial<GanttTranslations>;
|
|
104
112
|
virtualizeRows?: boolean;
|
|
113
|
+
/** Show the Assignee column in the task panel (default: false) */
|
|
114
|
+
showAssigneeColumn?: boolean;
|
|
105
115
|
/** Breite des Charts. "auto" = 100 % des Eltern-Containers. Standard: "100%". */
|
|
106
116
|
width?: number | string;
|
|
107
117
|
zoomable?: boolean;
|
|
@@ -116,5 +126,11 @@ export type GanttChartProps = {
|
|
|
116
126
|
onTaskMoved?: (task: GanttTask, newStart: Date, newEnd: Date) => void;
|
|
117
127
|
onTaskResized?: (task: GanttTask, newEnd: Date) => void;
|
|
118
128
|
onTasksChange?: (tasks: GanttTask[]) => void;
|
|
129
|
+
/**
|
|
130
|
+
* Fired when the user clicks the CSV export button.
|
|
131
|
+
* The first argument is the ready-to-download CSV string.
|
|
132
|
+
* When not provided, the chart triggers a browser download automatically.
|
|
133
|
+
*/
|
|
134
|
+
onExportCSV?: (csv: string, tasks: GanttTask[]) => void;
|
|
119
135
|
onTaskUpdated?: (task: GanttTask) => void;
|
|
120
136
|
};
|
|
@@ -16,6 +16,7 @@ type GanttTaskPanelProps = {
|
|
|
16
16
|
onTaskDeleted?: (taskId: string) => void;
|
|
17
17
|
inlineEdit?: boolean;
|
|
18
18
|
virtualizeRows?: boolean;
|
|
19
|
+
showAssigneeColumn?: boolean;
|
|
19
20
|
};
|
|
20
|
-
export declare function GanttTaskPanel({ scrollRef, onScroll, panelWidth, onTaskClick, onAddTask, onEditTask, onDeleteTask, onStatusChange, onTasksChange, enableBuiltinDialogs, onTaskCreated, onTaskUpdated, onTaskDeleted, inlineEdit, virtualizeRows, }: GanttTaskPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare function GanttTaskPanel({ scrollRef, onScroll, panelWidth, onTaskClick, onAddTask, onEditTask, onDeleteTask, onStatusChange, onTasksChange, enableBuiltinDialogs, onTaskCreated, onTaskUpdated, onTaskDeleted, inlineEdit, virtualizeRows, showAssigneeColumn, }: GanttTaskPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
21
22
|
export {};
|
|
@@ -2,6 +2,7 @@ import type { GanttToolbarConfig } from "./GanttChart.types";
|
|
|
2
2
|
type GanttToolbarProps = {
|
|
3
3
|
onScrollToToday?: () => void;
|
|
4
4
|
config: Required<GanttToolbarConfig>;
|
|
5
|
+
onExportCSV?: () => void;
|
|
5
6
|
};
|
|
6
|
-
export declare function GanttToolbar({ onScrollToToday, config }: GanttToolbarProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare function GanttToolbar({ onScrollToToday, config, onExportCSV }: GanttToolbarProps): import("react/jsx-runtime").JSX.Element;
|
|
7
8
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { PasswordStrengthMeterProps } from "./PasswordStrengthMeter.types";
|
|
2
|
-
export declare function PasswordStrengthMeter({ value, name, inputRef, disabled, error, helperText, autoComplete, customRequirements, showPasswordAdornment, showMeter, showSegmentedBar, showSummary, inputSize, translation, meterColors, passwordMinLength, checkColors, onPasswordChange, }: PasswordStrengthMeterProps): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare function PasswordStrengthMeter({ value, confirmValue, name, inputRef, disabled, error, helperText, autoComplete, customRequirements, generatorOptions, showConfirmField, showPasswordAdornment, showMeter, showPasswordGenerator, showSegmentedBar, showSummary, inputSize, translation, meterColors, passwordMinLength, checkColors, onPasswordChange, onConfirmChange, onPasswordGenerated, }: PasswordStrengthMeterProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -32,6 +32,30 @@ export type PasswordStrengthMeterTranslation = {
|
|
|
32
32
|
showPasswordLabel: string;
|
|
33
33
|
hidePasswordLabel: string;
|
|
34
34
|
meterAriaLabel: string;
|
|
35
|
+
/** Tooltip for the password generator button */
|
|
36
|
+
generatePasswordLabel: string;
|
|
37
|
+
/** Label for the confirm password input */
|
|
38
|
+
confirmLabel: string;
|
|
39
|
+
/** Shown when passwords match */
|
|
40
|
+
confirmMatchLabel: string;
|
|
41
|
+
/** Shown when passwords do not match */
|
|
42
|
+
confirmMismatchLabel: string;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Options for the built-in password generator.
|
|
46
|
+
* All character classes are included by default.
|
|
47
|
+
*/
|
|
48
|
+
export type PasswordGeneratorOptions = {
|
|
49
|
+
/** Total password length (default: 16) */
|
|
50
|
+
length?: number;
|
|
51
|
+
/** Include uppercase letters A–Z (default: true) */
|
|
52
|
+
upper?: boolean;
|
|
53
|
+
/** Include lowercase letters a–z (default: true) */
|
|
54
|
+
lower?: boolean;
|
|
55
|
+
/** Include digits 0–9 (default: true) */
|
|
56
|
+
numbers?: boolean;
|
|
57
|
+
/** Include symbols !@#$%^&*... (default: true) */
|
|
58
|
+
symbols?: boolean;
|
|
35
59
|
};
|
|
36
60
|
export declare const DEFAULT_PASSWORD_TRANSLATIONS: PasswordStrengthMeterTranslation;
|
|
37
61
|
export declare const DEFAULT_METER_COLORS: MeterColors;
|
|
@@ -51,6 +75,10 @@ export type PasswordStrengthMeterProps = {
|
|
|
51
75
|
customRequirements?: CustomRequirement[];
|
|
52
76
|
disabled?: boolean;
|
|
53
77
|
error?: boolean;
|
|
78
|
+
/** Value of the confirm input in controlled mode. */
|
|
79
|
+
confirmValue?: string;
|
|
80
|
+
/** Options for the built-in password generator (used when showPasswordGenerator=true). */
|
|
81
|
+
generatorOptions?: PasswordGeneratorOptions;
|
|
54
82
|
helperText?: string;
|
|
55
83
|
inputRef?: React.Ref<HTMLInputElement>;
|
|
56
84
|
inputSize?: "small" | "medium";
|
|
@@ -59,10 +87,18 @@ export type PasswordStrengthMeterProps = {
|
|
|
59
87
|
passwordMinLength?: number;
|
|
60
88
|
showMeter?: boolean;
|
|
61
89
|
showPasswordAdornment?: boolean;
|
|
90
|
+
/** Show a second "Confirm password" input with match validation indicator. */
|
|
91
|
+
showConfirmField?: boolean;
|
|
92
|
+
/** Show a "Generate secure password" button — generates and fills a strong password on click. */
|
|
93
|
+
showPasswordGenerator?: boolean;
|
|
62
94
|
showSummary?: boolean;
|
|
63
95
|
/** Render the strength bar as 4 animated segments instead of a single growing bar. */
|
|
64
96
|
showSegmentedBar?: boolean;
|
|
65
97
|
translation?: Partial<PasswordStrengthMeterTranslation>;
|
|
66
98
|
value?: string;
|
|
67
99
|
onPasswordChange?: (password: string, strengthResult: StrengthResult) => void;
|
|
100
|
+
/** Fired when the confirm field value changes — includes whether the passwords match. */
|
|
101
|
+
onConfirmChange?: (confirmValue: string, matches: boolean) => void;
|
|
102
|
+
/** Fired when a password was generated — receives the generated password. */
|
|
103
|
+
onPasswordGenerated?: (password: string) => void;
|
|
68
104
|
};
|
|
@@ -16,6 +16,10 @@ export type TagSelectionTranslation = {
|
|
|
16
16
|
placeholder: string;
|
|
17
17
|
loadingText: string;
|
|
18
18
|
maxTagsReachedText: string;
|
|
19
|
+
colorPickerLabel: string;
|
|
20
|
+
backgroundColorLabel: string;
|
|
21
|
+
textColorLabel: string;
|
|
22
|
+
autoTextColorLabel: string;
|
|
19
23
|
};
|
|
20
24
|
export declare const DEFAULT_TAG_SELECTION_TRANSLATION: TagSelectionTranslation;
|
|
21
25
|
export type TagSelectionProps = {
|
|
@@ -34,7 +38,7 @@ export type TagSelectionProps = {
|
|
|
34
38
|
tags: TagSelectionItem[];
|
|
35
39
|
translation?: Partial<TagSelectionTranslation>;
|
|
36
40
|
onSearchChange?: (searchValue: string) => void;
|
|
37
|
-
onTagCreate?: (
|
|
41
|
+
onTagCreate?: (tag: TagSelectionItem) => void;
|
|
38
42
|
onTagDelete?: (tag: TagSelectionItem, selectedTags: TagSelectionItem[], allTags: TagSelectionItem[]) => void;
|
|
39
43
|
onTagSelect?: (tag: TagSelectionItem, selectedTags: TagSelectionItem[], allTags: TagSelectionItem[]) => void;
|
|
40
44
|
onTagsChange?: (selectedTags: TagSelectionItem[], allTags: TagSelectionItem[]) => void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { TagSelectionItem, TagSelectionTranslation } from "./TagSelection.types";
|
|
2
2
|
type TagSelectionAutocompleteProps = {
|
|
3
3
|
inputSize: "medium" | "small";
|
|
4
4
|
chipSize: "medium" | "small";
|
|
@@ -7,7 +7,7 @@ type TagSelectionAutocompleteProps = {
|
|
|
7
7
|
translation: TagSelectionTranslation;
|
|
8
8
|
onSearchChange: (value: string) => void;
|
|
9
9
|
onTagSelect: (tag: TagSelectionItem) => void;
|
|
10
|
-
onTagCreate?: (
|
|
10
|
+
onTagCreate?: (tag: TagSelectionItem) => void;
|
|
11
11
|
disabled?: boolean;
|
|
12
12
|
loading?: boolean;
|
|
13
13
|
isMaxReached?: boolean;
|