@trinityui/design-system 1.0.2 → 1.0.4
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/CHANGELOG.md +37 -1
- package/MIGRATION.md +8 -8
- package/README.md +8 -8
- package/dist/Legend.js +1455 -0
- package/dist/accessibility.d.ts +119 -0
- package/dist/accessibility.d.ts.map +1 -0
- package/dist/assets/index.d.ts +234 -0
- package/dist/assets/index.d.ts.map +1 -0
- package/dist/components/AI/AIActions.d.ts +104 -0
- package/dist/components/AI/AIActions.d.ts.map +1 -0
- package/dist/components/AI/AIAvatar.d.ts +32 -0
- package/dist/components/AI/AIAvatar.d.ts.map +1 -0
- package/dist/components/AI/AIChat.d.ts +142 -0
- package/dist/components/AI/AIChat.d.ts.map +1 -0
- package/dist/components/AI/AIContainer.d.ts +97 -0
- package/dist/components/AI/AIContainer.d.ts.map +1 -0
- package/dist/components/AI/AIExplainability.d.ts +46 -0
- package/dist/components/AI/AIExplainability.d.ts.map +1 -0
- package/dist/components/AI/AILabel.d.ts +43 -0
- package/dist/components/AI/AILabel.d.ts.map +1 -0
- package/dist/components/AI/AIMessage.d.ts +93 -0
- package/dist/components/AI/AIMessage.d.ts.map +1 -0
- package/dist/components/AI/AIRelatedQuestions.d.ts +53 -0
- package/dist/components/AI/AIRelatedQuestions.d.ts.map +1 -0
- package/dist/components/AI/AIResponseRenderer.d.ts +50 -0
- package/dist/components/AI/AIResponseRenderer.d.ts.map +1 -0
- package/dist/components/AI/AISources.d.ts +66 -0
- package/dist/components/AI/AISources.d.ts.map +1 -0
- package/dist/components/AI/AISourcesPanel.d.ts +84 -0
- package/dist/components/AI/AISourcesPanel.d.ts.map +1 -0
- package/dist/components/AI/AITextBlock.d.ts +56 -0
- package/dist/components/AI/AITextBlock.d.ts.map +1 -0
- package/dist/components/AI/AIVisuals.d.ts +104 -0
- package/dist/components/AI/AIVisuals.d.ts.map +1 -0
- package/dist/components/AI/AIVoiceInput.d.ts +66 -0
- package/dist/components/AI/AIVoiceInput.d.ts.map +1 -0
- package/dist/components/AI/ChatHeader.d.ts +52 -0
- package/dist/components/AI/ChatHeader.d.ts.map +1 -0
- package/dist/components/AI/ChatHistoryList.d.ts +80 -0
- package/dist/components/AI/ChatHistoryList.d.ts.map +1 -0
- package/dist/components/AI/ChatThread.d.ts +74 -0
- package/dist/components/AI/ChatThread.d.ts.map +1 -0
- package/dist/components/AI/InsightEngine.d.ts +147 -0
- package/dist/components/AI/InsightEngine.d.ts.map +1 -0
- package/dist/components/AI/InsightEngineInput.d.ts +94 -0
- package/dist/components/AI/InsightEngineInput.d.ts.map +1 -0
- package/dist/components/AI/QueryInput.d.ts +114 -0
- package/dist/components/AI/QueryInput.d.ts.map +1 -0
- package/dist/components/AI/UserAvatar.d.ts +24 -0
- package/dist/components/AI/UserAvatar.d.ts.map +1 -0
- package/dist/components/AI/UserMessage.d.ts +26 -0
- package/dist/components/AI/UserMessage.d.ts.map +1 -0
- package/dist/components/AI/index.d.ts +39 -0
- package/dist/components/AI/index.d.ts.map +1 -0
- package/dist/components/AI/tokens.d.ts +132 -0
- package/dist/components/AI/tokens.d.ts.map +1 -0
- package/dist/components/AI/types/index.d.ts +6 -0
- package/dist/components/AI/types/index.d.ts.map +1 -0
- package/dist/components/AI/types/response.d.ts +312 -0
- package/dist/components/AI/types/response.d.ts.map +1 -0
- package/dist/components/AppLayout/AIFab.d.ts +50 -0
- package/dist/components/AppLayout/AIFab.d.ts.map +1 -0
- package/dist/components/AppLayout/AIFabLayout.deprecated.d.ts +32 -0
- package/dist/components/AppLayout/AIFabLayout.deprecated.d.ts.map +1 -0
- package/dist/components/AppLayout/AppLayout.d.ts +154 -0
- package/dist/components/AppLayout/AppLayout.d.ts.map +1 -0
- package/dist/components/AppLayout/InsightEnginePanel.d.ts +141 -0
- package/dist/components/AppLayout/InsightEnginePanel.d.ts.map +1 -0
- package/dist/components/AppLayout/ResizablePanel.d.ts +52 -0
- package/dist/components/AppLayout/ResizablePanel.d.ts.map +1 -0
- package/dist/components/AppLayout/ThreadHistorySidebar.d.ts +53 -0
- package/dist/components/AppLayout/ThreadHistorySidebar.d.ts.map +1 -0
- package/dist/components/AppLayout/index.d.ts +27 -0
- package/dist/components/AppLayout/index.d.ts.map +1 -0
- package/dist/components/Charts/AreaChart.d.ts +38 -0
- package/dist/components/Charts/AreaChart.d.ts.map +1 -0
- package/dist/components/Charts/BarChart.d.ts +47 -0
- package/dist/components/Charts/BarChart.d.ts.map +1 -0
- package/dist/components/Charts/ChartWrapper.d.ts +48 -0
- package/dist/components/Charts/ChartWrapper.d.ts.map +1 -0
- package/dist/components/Charts/ComposedChart.d.ts +34 -0
- package/dist/components/Charts/ComposedChart.d.ts.map +1 -0
- package/dist/components/Charts/CustomLegend.d.ts +69 -0
- package/dist/components/Charts/CustomLegend.d.ts.map +1 -0
- package/dist/components/Charts/CustomTooltip.d.ts +55 -0
- package/dist/components/Charts/CustomTooltip.d.ts.map +1 -0
- package/dist/components/Charts/LineChart.d.ts +36 -0
- package/dist/components/Charts/LineChart.d.ts.map +1 -0
- package/dist/components/Charts/PieChart.d.ts +52 -0
- package/dist/components/Charts/PieChart.d.ts.map +1 -0
- package/dist/components/Charts/RadialChart.d.ts +51 -0
- package/dist/components/Charts/RadialChart.d.ts.map +1 -0
- package/dist/components/Charts/ScatterChart.d.ts +55 -0
- package/dist/components/Charts/ScatterChart.d.ts.map +1 -0
- package/dist/components/Charts/Sparkline.d.ts +44 -0
- package/dist/components/Charts/Sparkline.d.ts.map +1 -0
- package/dist/components/Charts/index.d.ts +48 -0
- package/dist/components/Charts/index.d.ts.map +1 -0
- package/dist/components/Charts/tokens.d.ts +200 -0
- package/dist/components/Charts/tokens.d.ts.map +1 -0
- package/dist/components/Charts/types.d.ts +595 -0
- package/dist/components/Charts/types.d.ts.map +1 -0
- package/dist/components/Combobox/Combobox.d.ts +99 -0
- package/dist/components/Combobox/Combobox.d.ts.map +1 -0
- package/dist/components/Combobox/index.d.ts +3 -0
- package/dist/components/Combobox/index.d.ts.map +1 -0
- package/dist/components/CommandPalette/CommandPalette.d.ts +76 -0
- package/dist/components/CommandPalette/CommandPalette.d.ts.map +1 -0
- package/dist/components/CommandPalette/index.d.ts +2 -0
- package/dist/components/CommandPalette/index.d.ts.map +1 -0
- package/dist/components/DataCard/DataCard.d.ts +60 -0
- package/dist/components/DataCard/DataCard.d.ts.map +1 -0
- package/dist/components/DataCard/index.d.ts +2 -0
- package/dist/components/DataCard/index.d.ts.map +1 -0
- package/dist/components/DataTable/CellRenderers.d.ts +78 -0
- package/dist/components/DataTable/CellRenderers.d.ts.map +1 -0
- package/dist/components/DataTable/DataTable.d.ts +36 -0
- package/dist/components/DataTable/DataTable.d.ts.map +1 -0
- package/dist/components/DataTable/InlineAddRow.d.ts +27 -0
- package/dist/components/DataTable/InlineAddRow.d.ts.map +1 -0
- package/dist/components/DataTable/index.d.ts +6 -0
- package/dist/components/DataTable/index.d.ts.map +1 -0
- package/dist/components/DataTable/tokens.d.ts +132 -0
- package/dist/components/DataTable/tokens.d.ts.map +1 -0
- package/dist/components/DataTable/types.d.ts +334 -0
- package/dist/components/DataTable/types.d.ts.map +1 -0
- package/dist/components/DiffViewer/DiffViewer.d.ts +63 -0
- package/dist/components/DiffViewer/DiffViewer.d.ts.map +1 -0
- package/dist/components/DiffViewer/index.d.ts +3 -0
- package/dist/components/DiffViewer/index.d.ts.map +1 -0
- package/dist/components/DockLayout/DockLayout.d.ts +78 -0
- package/dist/components/DockLayout/DockLayout.d.ts.map +1 -0
- package/dist/components/DockLayout/index.d.ts +3 -0
- package/dist/components/DockLayout/index.d.ts.map +1 -0
- package/dist/components/FileUpload/FileUpload.d.ts +93 -0
- package/dist/components/FileUpload/FileUpload.d.ts.map +1 -0
- package/dist/components/FileUpload/index.d.ts +2 -0
- package/dist/components/FileUpload/index.d.ts.map +1 -0
- package/dist/components/FilterBar/FilterBar.d.ts +76 -0
- package/dist/components/FilterBar/FilterBar.d.ts.map +1 -0
- package/dist/components/FilterBar/index.d.ts +2 -0
- package/dist/components/FilterBar/index.d.ts.map +1 -0
- package/dist/components/Footer.d.ts +30 -0
- package/dist/components/Footer.d.ts.map +1 -0
- package/dist/components/Icon.d.ts +67 -0
- package/dist/components/Icon.d.ts.map +1 -0
- package/dist/components/IllustratedMessage.d.ts +99 -0
- package/dist/components/IllustratedMessage.d.ts.map +1 -0
- package/dist/components/LandingPage/FeatureCard.d.ts +89 -0
- package/dist/components/LandingPage/FeatureCard.d.ts.map +1 -0
- package/dist/components/LandingPage/LandingPage.d.ts +126 -0
- package/dist/components/LandingPage/LandingPage.d.ts.map +1 -0
- package/dist/components/LandingPage/index.d.ts +11 -0
- package/dist/components/LandingPage/index.d.ts.map +1 -0
- package/dist/components/Modal/Modal.d.ts +181 -0
- package/dist/components/Modal/Modal.d.ts.map +1 -0
- package/dist/components/Modal/index.d.ts +2 -0
- package/dist/components/Modal/index.d.ts.map +1 -0
- package/dist/components/PageHeader/PageHeader.d.ts +91 -0
- package/dist/components/PageHeader/PageHeader.d.ts.map +1 -0
- package/dist/components/PageHeader/index.d.ts +2 -0
- package/dist/components/PageHeader/index.d.ts.map +1 -0
- package/dist/components/RichTextEditor/RichTextEditor.d.ts +52 -0
- package/dist/components/RichTextEditor/RichTextEditor.d.ts.map +1 -0
- package/dist/components/RichTextEditor/index.d.ts +3 -0
- package/dist/components/RichTextEditor/index.d.ts.map +1 -0
- package/dist/components/SearchInput/SearchInput.d.ts +66 -0
- package/dist/components/SearchInput/SearchInput.d.ts.map +1 -0
- package/dist/components/SearchInput/index.d.ts +2 -0
- package/dist/components/SearchInput/index.d.ts.map +1 -0
- package/dist/components/SimpleTable/SimpleTable.d.ts +93 -0
- package/dist/components/SimpleTable/SimpleTable.d.ts.map +1 -0
- package/dist/components/SimpleTable/index.d.ts +3 -0
- package/dist/components/SimpleTable/index.d.ts.map +1 -0
- package/dist/components/SplitPane/SplitPane.d.ts +52 -0
- package/dist/components/SplitPane/SplitPane.d.ts.map +1 -0
- package/dist/components/SplitPane/index.d.ts +3 -0
- package/dist/components/SplitPane/index.d.ts.map +1 -0
- package/dist/components/StatusIndicator/Badge.d.ts +71 -0
- package/dist/components/StatusIndicator/Badge.d.ts.map +1 -0
- package/dist/components/StatusIndicator/Chip.d.ts +64 -0
- package/dist/components/StatusIndicator/Chip.d.ts.map +1 -0
- package/dist/components/StatusIndicator/Indicators.d.ts +81 -0
- package/dist/components/StatusIndicator/Indicators.d.ts.map +1 -0
- package/dist/components/StatusIndicator/Legend.d.ts +42 -0
- package/dist/components/StatusIndicator/Legend.d.ts.map +1 -0
- package/dist/components/StatusIndicator/Shapes.d.ts +32 -0
- package/dist/components/StatusIndicator/Shapes.d.ts.map +1 -0
- package/dist/components/StatusIndicator/StatusIndicator.d.ts +183 -0
- package/dist/components/StatusIndicator/StatusIndicator.d.ts.map +1 -0
- package/dist/components/StatusIndicator/index.d.ts +55 -0
- package/dist/components/StatusIndicator/index.d.ts.map +1 -0
- package/dist/components/StatusIndicator/types.d.ts +37 -0
- package/dist/components/StatusIndicator/types.d.ts.map +1 -0
- package/dist/components/Timeline/Timeline.d.ts +89 -0
- package/dist/components/Timeline/Timeline.d.ts.map +1 -0
- package/dist/components/Timeline/index.d.ts +2 -0
- package/dist/components/Timeline/index.d.ts.map +1 -0
- package/dist/components/Toast/Toast.d.ts +124 -0
- package/dist/components/Toast/Toast.d.ts.map +1 -0
- package/dist/components/Toast/index.d.ts +2 -0
- package/dist/components/Toast/index.d.ts.map +1 -0
- package/dist/components/TopNavHeader.d.ts +55 -0
- package/dist/components/TopNavHeader.d.ts.map +1 -0
- package/dist/components/TopNavWithSidebar.d.ts +64 -0
- package/dist/components/TopNavWithSidebar.d.ts.map +1 -0
- package/dist/components/TransferList/TransferList.d.ts +62 -0
- package/dist/components/TransferList/TransferList.d.ts.map +1 -0
- package/dist/components/TransferList/index.d.ts +3 -0
- package/dist/components/TransferList/index.d.ts.map +1 -0
- package/dist/components/TreeView/TreeView.d.ts +89 -0
- package/dist/components/TreeView/TreeView.d.ts.map +1 -0
- package/dist/components/TreeView/index.d.ts +3 -0
- package/dist/components/TreeView/index.d.ts.map +1 -0
- package/dist/components/index.d.ts +119 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/internal/index.d.ts +27 -0
- package/dist/components/internal/index.d.ts.map +1 -0
- package/dist/components/navigation/components.d.ts +85 -0
- package/dist/components/navigation/components.d.ts.map +1 -0
- package/dist/components/navigation/hooks.d.ts +65 -0
- package/dist/components/navigation/hooks.d.ts.map +1 -0
- package/dist/components/navigation/index.d.ts +28 -0
- package/dist/components/navigation/index.d.ts.map +1 -0
- package/dist/components/navigation/styled.d.ts +13 -0
- package/dist/components/navigation/styled.d.ts.map +1 -0
- package/dist/components/navigation/types.d.ts +58 -0
- package/dist/components/navigation/types.d.ts.map +1 -0
- package/dist/components/shared/TrinityLogoSvg.d.ts +29 -0
- package/dist/components/shared/TrinityLogoSvg.d.ts.map +1 -0
- package/dist/components/shared.d.ts +92 -0
- package/dist/components/shared.d.ts.map +1 -0
- package/dist/components/templates/Dashboard/DashboardTemplate.d.ts +66 -0
- package/dist/components/templates/Dashboard/DashboardTemplate.d.ts.map +1 -0
- package/dist/components/templates/Dashboard/index.d.ts +2 -0
- package/dist/components/templates/Dashboard/index.d.ts.map +1 -0
- package/dist/components/templates/ListDetail/ListDetailTemplate.d.ts +88 -0
- package/dist/components/templates/ListDetail/ListDetailTemplate.d.ts.map +1 -0
- package/dist/components/templates/ListDetail/index.d.ts +2 -0
- package/dist/components/templates/ListDetail/index.d.ts.map +1 -0
- package/dist/components/templates/Settings/SettingsTemplate.d.ts +78 -0
- package/dist/components/templates/Settings/SettingsTemplate.d.ts.map +1 -0
- package/dist/components/templates/Settings/index.d.ts +2 -0
- package/dist/components/templates/Settings/index.d.ts.map +1 -0
- package/dist/components/templates/index.d.ts +5 -0
- package/dist/components/templates/index.d.ts.map +1 -0
- package/dist/essentials.d.ts +49 -0
- package/dist/essentials.d.ts.map +1 -0
- package/dist/essentials.js +256 -0
- package/dist/form.d.ts +212 -0
- package/dist/form.d.ts.map +1 -0
- package/dist/hierarchy.d.ts +371 -0
- package/dist/hierarchy.d.ts.map +1 -0
- package/dist/hooks/useTrinityPalette.d.ts +54 -0
- package/dist/hooks/useTrinityPalette.d.ts.map +1 -0
- package/dist/hooks.d.ts +217 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/index.d.ts +111 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2293 -3731
- package/dist/presets/analytics.d.ts +197 -0
- package/dist/presets/analytics.d.ts.map +1 -0
- package/dist/presets/crm.d.ts +67 -0
- package/dist/presets/crm.d.ts.map +1 -0
- package/dist/presets/index.d.ts +21 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/portal.d.ts +67 -0
- package/dist/presets/portal.d.ts.map +1 -0
- package/dist/theme.d.ts +221 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/tokens.d.ts +4760 -0
- package/dist/tokens.d.ts.map +1 -0
- package/dist/trinity.css +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Modal component.
|
|
3
|
+
* @module components/Modal/Modal
|
|
4
|
+
* @example
|
|
5
|
+
* ```tsx
|
|
6
|
+
* import { Modal } from '@trinityui/design-system';
|
|
7
|
+
*
|
|
8
|
+
* <Modal
|
|
9
|
+
* open={false}
|
|
10
|
+
* onClose={() => {}}
|
|
11
|
+
* />
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
import React from 'react';
|
|
15
|
+
export type ModalVariant = 'default' | 'info' | 'success' | 'warning' | 'danger' | 'confirm';
|
|
16
|
+
/**
|
|
17
|
+
* Props for Modal component.
|
|
18
|
+
*/
|
|
19
|
+
export interface ModalProps {
|
|
20
|
+
/** Whether the modal is open */
|
|
21
|
+
open: boolean;
|
|
22
|
+
/** Callback when the modal should close */
|
|
23
|
+
onClose: () => void;
|
|
24
|
+
/** Modal title */
|
|
25
|
+
title?: string;
|
|
26
|
+
/** Modal content */
|
|
27
|
+
children?: React.ReactNode;
|
|
28
|
+
/** Visual variant */
|
|
29
|
+
variant?: ModalVariant;
|
|
30
|
+
/** Primary action button label */
|
|
31
|
+
primaryAction?: string;
|
|
32
|
+
/** Primary action click handler */
|
|
33
|
+
onPrimaryAction?: () => void | Promise<void>;
|
|
34
|
+
/** Secondary action button label */
|
|
35
|
+
secondaryAction?: string;
|
|
36
|
+
/** Secondary action click handler */
|
|
37
|
+
onSecondaryAction?: () => void;
|
|
38
|
+
/** Whether primary action is loading */
|
|
39
|
+
loading?: boolean;
|
|
40
|
+
/** Whether primary action is disabled */
|
|
41
|
+
primaryDisabled?: boolean;
|
|
42
|
+
/** Whether to show close button in header */
|
|
43
|
+
showCloseButton?: boolean;
|
|
44
|
+
/** Whether clicking backdrop closes the modal */
|
|
45
|
+
disableBackdropClick?: boolean;
|
|
46
|
+
/** Whether pressing escape closes the modal */
|
|
47
|
+
disableEscapeKeyDown?: boolean;
|
|
48
|
+
/** Maximum width */
|
|
49
|
+
maxWidth?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | false;
|
|
50
|
+
/** Full width */
|
|
51
|
+
fullWidth?: boolean;
|
|
52
|
+
/** Full screen on mobile */
|
|
53
|
+
fullScreenMobile?: boolean;
|
|
54
|
+
/** Custom footer content */
|
|
55
|
+
footer?: React.ReactNode;
|
|
56
|
+
/** Hide default footer actions */
|
|
57
|
+
hideFooter?: boolean;
|
|
58
|
+
/** Custom styles */
|
|
59
|
+
sx?: object;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Modal component provides a consistent dialog pattern for Trinity applications.
|
|
63
|
+
* Supports multiple variants for different use cases.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```tsx
|
|
67
|
+
* // Basic modal
|
|
68
|
+
* <Modal
|
|
69
|
+
* open={isOpen}
|
|
70
|
+
* onClose={() => setIsOpen(false)}
|
|
71
|
+
* title="Edit Profile"
|
|
72
|
+
* primaryAction="Save"
|
|
73
|
+
* onPrimaryAction={handleSave}
|
|
74
|
+
* >
|
|
75
|
+
* <TextField label="Name" fullWidth />
|
|
76
|
+
* </Modal>
|
|
77
|
+
*
|
|
78
|
+
* // Danger confirmation
|
|
79
|
+
* <Modal
|
|
80
|
+
* open={showDelete}
|
|
81
|
+
* onClose={() => setShowDelete(false)}
|
|
82
|
+
* variant="danger"
|
|
83
|
+
* title="Delete Item"
|
|
84
|
+
* primaryAction="Delete"
|
|
85
|
+
* onPrimaryAction={handleDelete}
|
|
86
|
+
* >
|
|
87
|
+
* Are you sure you want to delete this item? This action cannot be undone.
|
|
88
|
+
* </Modal>
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
export declare const Modal: React.FC<ModalProps>;
|
|
92
|
+
/**
|
|
93
|
+
* Props for ConfirmDialog component.
|
|
94
|
+
*/
|
|
95
|
+
export interface ConfirmDialogProps {
|
|
96
|
+
/** Whether the dialog is open */
|
|
97
|
+
open: boolean;
|
|
98
|
+
/** Callback when dialog closes */
|
|
99
|
+
onClose: () => void;
|
|
100
|
+
/** Callback when user confirms */
|
|
101
|
+
onConfirm: () => void | Promise<void>;
|
|
102
|
+
/** Dialog title */
|
|
103
|
+
title?: string;
|
|
104
|
+
/** Dialog message */
|
|
105
|
+
message?: string;
|
|
106
|
+
/** Confirm button label */
|
|
107
|
+
confirmLabel?: string;
|
|
108
|
+
/** Cancel button label */
|
|
109
|
+
cancelLabel?: string;
|
|
110
|
+
/** Visual variant */
|
|
111
|
+
variant?: 'default' | 'danger' | 'warning';
|
|
112
|
+
/** Whether confirmation is loading */
|
|
113
|
+
loading?: boolean;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* ConfirmDialog provides a simple "Are you sure?" pattern.
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```tsx
|
|
120
|
+
* <ConfirmDialog
|
|
121
|
+
* open={showConfirm}
|
|
122
|
+
* onClose={() => setShowConfirm(false)}
|
|
123
|
+
* onConfirm={handleDelete}
|
|
124
|
+
* title="Delete Item"
|
|
125
|
+
* message="Are you sure you want to delete this item?"
|
|
126
|
+
* variant="danger"
|
|
127
|
+
* confirmLabel="Delete"
|
|
128
|
+
* />
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
export declare const ConfirmDialog: React.FC<ConfirmDialogProps>;
|
|
132
|
+
interface ConfirmDialogState {
|
|
133
|
+
isOpen: boolean;
|
|
134
|
+
title: string;
|
|
135
|
+
message: string;
|
|
136
|
+
variant: 'default' | 'danger' | 'warning';
|
|
137
|
+
confirmLabel: string;
|
|
138
|
+
onConfirm: () => void | Promise<void>;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Hook for programmatically showing confirmation dialogs.
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* ```tsx
|
|
145
|
+
* // In your component
|
|
146
|
+
* const { confirm, state, close } = useConfirmDialog();
|
|
147
|
+
*
|
|
148
|
+
* const handleDelete = () => {
|
|
149
|
+
* confirm({
|
|
150
|
+
* title: 'Delete Item',
|
|
151
|
+
* message: 'This cannot be undone.',
|
|
152
|
+
* variant: 'danger',
|
|
153
|
+
* confirmLabel: 'Delete',
|
|
154
|
+
* onConfirm: async () => {
|
|
155
|
+
* await deleteItem();
|
|
156
|
+
* close();
|
|
157
|
+
* },
|
|
158
|
+
* });
|
|
159
|
+
* };
|
|
160
|
+
*
|
|
161
|
+
* // Render the dialog
|
|
162
|
+
* <ConfirmDialog
|
|
163
|
+
* open={state.isOpen}
|
|
164
|
+
* onClose={close}
|
|
165
|
+
* onConfirm={state.onConfirm}
|
|
166
|
+
* title={state.title}
|
|
167
|
+
* message={state.message}
|
|
168
|
+
* variant={state.variant}
|
|
169
|
+
* confirmLabel={state.confirmLabel}
|
|
170
|
+
* />
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
export declare const useConfirmDialog: () => {
|
|
174
|
+
confirm: (options: Partial<ConfirmDialogState> & {
|
|
175
|
+
onConfirm: () => void | Promise<void>;
|
|
176
|
+
}) => void;
|
|
177
|
+
close: () => void;
|
|
178
|
+
state: ConfirmDialogState;
|
|
179
|
+
};
|
|
180
|
+
export default Modal;
|
|
181
|
+
//# sourceMappingURL=Modal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/Modal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Modal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,EACL,aAAa,EACb,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,YAAY,GAClB,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview PageHeader component.
|
|
3
|
+
* @module components/PageHeader/PageHeader
|
|
4
|
+
* @example
|
|
5
|
+
* ```tsx
|
|
6
|
+
* import { PageHeader } from '@trinityui/design-system';
|
|
7
|
+
*
|
|
8
|
+
* <PageHeader
|
|
9
|
+
* title="Example"
|
|
10
|
+
* />
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
import React from 'react';
|
|
14
|
+
export interface BreadcrumbItem {
|
|
15
|
+
/** Label to display */
|
|
16
|
+
label: string;
|
|
17
|
+
/** Optional href for navigation. Last item typically has no href. */
|
|
18
|
+
href?: string;
|
|
19
|
+
/** Optional icon to display before label */
|
|
20
|
+
icon?: React.ReactNode;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Props for PageHeader component.
|
|
24
|
+
*/
|
|
25
|
+
export interface PageHeaderProps {
|
|
26
|
+
/** Page title */
|
|
27
|
+
title: string;
|
|
28
|
+
/** Optional subtitle/description */
|
|
29
|
+
subtitle?: string;
|
|
30
|
+
/** Breadcrumb navigation items */
|
|
31
|
+
breadcrumbs?: BreadcrumbItem[];
|
|
32
|
+
/** Whether to show breadcrumbs */
|
|
33
|
+
showBreadcrumbs?: boolean;
|
|
34
|
+
/** Tab labels for sub-navigation */
|
|
35
|
+
tabs?: string[];
|
|
36
|
+
/** Currently selected tab index */
|
|
37
|
+
selectedTab?: number;
|
|
38
|
+
/** Callback when tab changes */
|
|
39
|
+
onTabChange?: (index: number) => void;
|
|
40
|
+
/** Primary action button label */
|
|
41
|
+
primaryAction?: string;
|
|
42
|
+
/** Primary action click handler */
|
|
43
|
+
onPrimaryAction?: () => void;
|
|
44
|
+
/** Secondary action button label */
|
|
45
|
+
secondaryAction?: string;
|
|
46
|
+
/** Secondary action click handler */
|
|
47
|
+
onSecondaryAction?: () => void;
|
|
48
|
+
/** Additional action buttons/elements */
|
|
49
|
+
actions?: React.ReactNode;
|
|
50
|
+
/** Icon to display next to title */
|
|
51
|
+
icon?: React.ReactNode;
|
|
52
|
+
/** Status badge label */
|
|
53
|
+
statusLabel?: string;
|
|
54
|
+
/** Status badge color */
|
|
55
|
+
statusColor?: 'success' | 'warning' | 'error' | 'info' | 'default';
|
|
56
|
+
/** Visual variant */
|
|
57
|
+
variant?: 'default' | 'compact' | 'hero';
|
|
58
|
+
/** Hero background image URL */
|
|
59
|
+
heroImage?: string;
|
|
60
|
+
/** Whether the header is in loading state */
|
|
61
|
+
loading?: boolean;
|
|
62
|
+
/** Additional content below title area */
|
|
63
|
+
children?: React.ReactNode;
|
|
64
|
+
/** Custom styles */
|
|
65
|
+
sx?: object;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* PageHeader provides a consistent header pattern for pages within Trinity applications.
|
|
69
|
+
* It includes breadcrumb navigation, page title, description, contextual actions, and optional tab navigation.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```tsx
|
|
73
|
+
* <PageHeader
|
|
74
|
+
* title="Dashboard"
|
|
75
|
+
* subtitle="Overview of your analytics"
|
|
76
|
+
* breadcrumbs={[
|
|
77
|
+
* { label: 'Home', href: '/' },
|
|
78
|
+
* { label: 'Analytics', href: '/analytics' },
|
|
79
|
+
* { label: 'Dashboard' }
|
|
80
|
+
* ]}
|
|
81
|
+
* primaryAction="Create Report"
|
|
82
|
+
* onPrimaryAction={() => console.log('Create clicked')}
|
|
83
|
+
* tabs={['Overview', 'Details', 'Settings']}
|
|
84
|
+
* selectedTab={0}
|
|
85
|
+
* onTabChange={(index) => console.log('Tab:', index)}
|
|
86
|
+
* />
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
export declare const PageHeader: React.FC<PageHeaderProps>;
|
|
90
|
+
export default PageHeader;
|
|
91
|
+
//# sourceMappingURL=PageHeader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PageHeader.d.ts","sourceRoot":"","sources":["../../../src/components/PageHeader/PageHeader.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAmBxC,MAAM,WAAW,cAAc;IAC7B,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,kCAAkC;IAClC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gCAAgC;IAChC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,oCAAoC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qCAAqC;IACrC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,yCAAyC;IACzC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,oCAAoC;IACpC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yBAAyB;IACzB,WAAW,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACnE,qBAAqB;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IACzC,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,oBAAoB;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA2RhD,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PageHeader/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Rich text editor component with configurable toolbar, formatting controls, and fullscreen mode.
|
|
3
|
+
* @module components/RichTextEditor
|
|
4
|
+
* @example
|
|
5
|
+
* ```tsx
|
|
6
|
+
* import { RichTextEditor } from '@trinityui/design-system';
|
|
7
|
+
*
|
|
8
|
+
* <RichTextEditor />
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
import * as React from 'react';
|
|
12
|
+
export type HeadingLevel = 'p' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
|
|
13
|
+
export type TextAlign = 'left' | 'center' | 'right' | 'justify';
|
|
14
|
+
/**
|
|
15
|
+
* Props for RichTextEditor component.
|
|
16
|
+
*/
|
|
17
|
+
export interface RichTextEditorProps {
|
|
18
|
+
/** Initial HTML content */
|
|
19
|
+
value?: string;
|
|
20
|
+
/** Callback when content changes */
|
|
21
|
+
onChange?: (html: string) => void;
|
|
22
|
+
/** Placeholder text */
|
|
23
|
+
placeholder?: string;
|
|
24
|
+
/** Editor height */
|
|
25
|
+
height?: number | string;
|
|
26
|
+
/** Minimum height */
|
|
27
|
+
minHeight?: number | string;
|
|
28
|
+
/** Maximum height */
|
|
29
|
+
maxHeight?: number | string;
|
|
30
|
+
/** Read-only mode */
|
|
31
|
+
readOnly?: boolean;
|
|
32
|
+
/** Disabled state */
|
|
33
|
+
disabled?: boolean;
|
|
34
|
+
/** Show toolbar */
|
|
35
|
+
showToolbar?: boolean;
|
|
36
|
+
/** Toolbar items to show */
|
|
37
|
+
toolbarItems?: ToolbarItem[];
|
|
38
|
+
/** Callback when image is inserted */
|
|
39
|
+
onImageUpload?: (file: File) => Promise<string>;
|
|
40
|
+
/** Callback when link is inserted */
|
|
41
|
+
onLinkInsert?: (url: string, text: string) => void;
|
|
42
|
+
/** Auto-focus on mount */
|
|
43
|
+
autoFocus?: boolean;
|
|
44
|
+
/** Custom class name */
|
|
45
|
+
className?: string;
|
|
46
|
+
/** Custom styles */
|
|
47
|
+
sx?: Record<string, unknown>;
|
|
48
|
+
}
|
|
49
|
+
export type ToolbarItem = 'heading' | 'bold' | 'italic' | 'underline' | 'strike' | 'divider' | 'bulletList' | 'numberList' | 'quote' | 'code' | 'link' | 'image' | 'align' | 'undo' | 'redo' | 'clearFormat' | 'fullscreen';
|
|
50
|
+
export declare const RichTextEditor: React.FC<RichTextEditorProps>;
|
|
51
|
+
export default RichTextEditor;
|
|
52
|
+
//# sourceMappingURL=RichTextEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichTextEditor.d.ts","sourceRoot":"","sources":["../../../src/components/RichTextEditor/RichTextEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAyC/B,MAAM,MAAM,YAAY,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACzE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4BAA4B;IAC5B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,sCAAsC;IACtC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,qCAAqC;IACrC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,0BAA0B;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AAED,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,MAAM,GACN,QAAQ,GACR,WAAW,GACX,QAAQ,GACR,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,OAAO,GACP,MAAM,GACN,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,GACN,MAAM,GACN,aAAa,GACb,YAAY,CAAC;AA2XjB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAwTxD,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/RichTextEditor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACjI,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview SearchInput component with suggestions, recent searches, and keyboard navigation
|
|
3
|
+
* @module components/SearchInput
|
|
4
|
+
* @example
|
|
5
|
+
* ```tsx
|
|
6
|
+
* import { SearchInput } from '@trinityui/design-system';
|
|
7
|
+
*
|
|
8
|
+
* <SearchInput />
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
import * as React from 'react';
|
|
12
|
+
export interface SearchSuggestion {
|
|
13
|
+
/** Unique identifier */
|
|
14
|
+
id: string;
|
|
15
|
+
/** Display text */
|
|
16
|
+
label: string;
|
|
17
|
+
/** Optional category/type */
|
|
18
|
+
category?: string;
|
|
19
|
+
/** Optional icon */
|
|
20
|
+
icon?: React.ReactNode;
|
|
21
|
+
/** Optional metadata */
|
|
22
|
+
metadata?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Props for SearchInput component.
|
|
26
|
+
*/
|
|
27
|
+
export interface SearchInputProps {
|
|
28
|
+
/** Current search value */
|
|
29
|
+
value?: string;
|
|
30
|
+
/** Callback when value changes */
|
|
31
|
+
onChange?: (value: string) => void;
|
|
32
|
+
/** Callback when search is submitted */
|
|
33
|
+
onSearch?: (value: string) => void;
|
|
34
|
+
/** Callback when a suggestion is selected */
|
|
35
|
+
onSuggestionSelect?: (suggestion: SearchSuggestion) => void;
|
|
36
|
+
/** Placeholder text */
|
|
37
|
+
placeholder?: string;
|
|
38
|
+
/** List of suggestions to display */
|
|
39
|
+
suggestions?: SearchSuggestion[];
|
|
40
|
+
/** Recent search terms */
|
|
41
|
+
recentSearches?: string[];
|
|
42
|
+
/** Callback to clear recent searches */
|
|
43
|
+
onClearRecentSearches?: () => void;
|
|
44
|
+
/** Callback to remove a single recent search */
|
|
45
|
+
onRemoveRecentSearch?: (search: string) => void;
|
|
46
|
+
/** Loading state for suggestions */
|
|
47
|
+
loading?: boolean;
|
|
48
|
+
/** Disable the input */
|
|
49
|
+
disabled?: boolean;
|
|
50
|
+
/** Size variant */
|
|
51
|
+
size?: 'small' | 'medium' | 'large';
|
|
52
|
+
/** Full width */
|
|
53
|
+
fullWidth?: boolean;
|
|
54
|
+
/** Show keyboard shortcut hint */
|
|
55
|
+
showShortcut?: boolean;
|
|
56
|
+
/** Custom shortcut key */
|
|
57
|
+
shortcutKey?: string;
|
|
58
|
+
/** Auto focus on mount */
|
|
59
|
+
autoFocus?: boolean;
|
|
60
|
+
/** Maximum recent searches to show */
|
|
61
|
+
maxRecentSearches?: number;
|
|
62
|
+
/** Debounce delay for onChange in ms */
|
|
63
|
+
debounceMs?: number;
|
|
64
|
+
}
|
|
65
|
+
export declare const SearchInput: React.FC<SearchInputProps>;
|
|
66
|
+
//# sourceMappingURL=SearchInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../../src/components/SearchInput/SearchInput.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA6B/B,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,wCAAwC;IACxC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,6CAA6C;IAC7C,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC5D,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACjC,0BAA0B;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,wCAAwC;IACxC,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,gDAAgD;IAChD,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,oCAAoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB;IACnB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,iBAAiB;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kCAAkC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAuBD,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAkclD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SearchInput/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview SimpleTable component.
|
|
3
|
+
* @module components/SimpleTable/SimpleTable
|
|
4
|
+
* SimpleTable Component
|
|
5
|
+
*
|
|
6
|
+
* A lightweight table component built on standard MUI Table.
|
|
7
|
+
* No @mui/x-data-grid dependency required.
|
|
8
|
+
*
|
|
9
|
+
* Features:
|
|
10
|
+
* - Sorting (client-side)
|
|
11
|
+
* - Pagination
|
|
12
|
+
* - Row selection (single/multiple)
|
|
13
|
+
* - Custom cell rendering
|
|
14
|
+
* - Loading states
|
|
15
|
+
* - Empty states
|
|
16
|
+
* - Full light/dark mode support
|
|
17
|
+
*
|
|
18
|
+
* For advanced features (virtualization, filtering, column resize, etc.),
|
|
19
|
+
* use the DataTable component which requires @mui/x-data-grid.
|
|
20
|
+
* @example
|
|
21
|
+
* ```tsx
|
|
22
|
+
* import { SimpleTable } from '@trinityui/design-system';
|
|
23
|
+
*
|
|
24
|
+
* <SimpleTable />
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
import React from 'react';
|
|
28
|
+
export type SortDirection = 'asc' | 'desc';
|
|
29
|
+
export interface SimpleTableColumn<T> {
|
|
30
|
+
/** Unique identifier for the column */
|
|
31
|
+
id: keyof T | string;
|
|
32
|
+
/** Display label for the column header */
|
|
33
|
+
label: string;
|
|
34
|
+
/** Minimum width in pixels */
|
|
35
|
+
minWidth?: number;
|
|
36
|
+
/** Text alignment */
|
|
37
|
+
align?: 'left' | 'center' | 'right';
|
|
38
|
+
/** Whether the column is sortable */
|
|
39
|
+
sortable?: boolean;
|
|
40
|
+
/** Custom cell renderer */
|
|
41
|
+
render?: (value: unknown, row: T) => React.ReactNode;
|
|
42
|
+
/** Format function for simple value transformation */
|
|
43
|
+
format?: (value: unknown) => string;
|
|
44
|
+
}
|
|
45
|
+
export interface SimpleTableProps<T extends {
|
|
46
|
+
id: string | number;
|
|
47
|
+
}> {
|
|
48
|
+
/** Array of data rows */
|
|
49
|
+
rows: T[];
|
|
50
|
+
/** Column definitions */
|
|
51
|
+
columns: SimpleTableColumn<T>[];
|
|
52
|
+
/** Loading state */
|
|
53
|
+
loading?: boolean;
|
|
54
|
+
/** Number of skeleton rows to show when loading */
|
|
55
|
+
loadingRows?: number;
|
|
56
|
+
/** Enable row selection */
|
|
57
|
+
selectable?: boolean;
|
|
58
|
+
/** Selection mode */
|
|
59
|
+
selectionMode?: 'single' | 'multiple';
|
|
60
|
+
/** Selected row IDs */
|
|
61
|
+
selected?: (string | number)[];
|
|
62
|
+
/** Callback when selection changes */
|
|
63
|
+
onSelectionChange?: (selected: (string | number)[]) => void;
|
|
64
|
+
/** Callback when a row is clicked */
|
|
65
|
+
onRowClick?: (row: T) => void;
|
|
66
|
+
/** Show pagination */
|
|
67
|
+
pagination?: boolean;
|
|
68
|
+
/** Rows per page options */
|
|
69
|
+
rowsPerPageOptions?: number[];
|
|
70
|
+
/** Default rows per page */
|
|
71
|
+
defaultRowsPerPage?: number;
|
|
72
|
+
/** Default sort column */
|
|
73
|
+
defaultSortColumn?: keyof T | string;
|
|
74
|
+
/** Default sort direction */
|
|
75
|
+
defaultSortDirection?: SortDirection;
|
|
76
|
+
/** Table size/density */
|
|
77
|
+
size?: 'small' | 'medium';
|
|
78
|
+
/** Sticky header */
|
|
79
|
+
stickyHeader?: boolean;
|
|
80
|
+
/** Maximum table height (enables scroll) */
|
|
81
|
+
maxHeight?: number | string;
|
|
82
|
+
/** Empty state message */
|
|
83
|
+
emptyMessage?: string;
|
|
84
|
+
/** Custom empty state component */
|
|
85
|
+
emptyComponent?: React.ReactNode;
|
|
86
|
+
/** Table aria-label for accessibility */
|
|
87
|
+
ariaLabel?: string;
|
|
88
|
+
}
|
|
89
|
+
export declare function SimpleTable<T extends {
|
|
90
|
+
id: string | number;
|
|
91
|
+
}>({ rows, columns, loading, loadingRows, selectable, selectionMode, selected, onSelectionChange, onRowClick, pagination, rowsPerPageOptions, defaultRowsPerPage, defaultSortColumn, defaultSortDirection, size, stickyHeader, maxHeight, emptyMessage, emptyComponent, ariaLabel, }: SimpleTableProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
92
|
+
export default SimpleTable;
|
|
93
|
+
//# sourceMappingURL=SimpleTable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SimpleTable.d.ts","sourceRoot":"","sources":["../../../src/components/SimpleTable/SimpleTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SimpleTable/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Split pane layout component with draggable resizer and keyboard-accessible resizing.
|
|
3
|
+
* @module components/SplitPane
|
|
4
|
+
* @example
|
|
5
|
+
* ```tsx
|
|
6
|
+
* import { SplitPane } from '@trinityui/design-system';
|
|
7
|
+
*
|
|
8
|
+
* <SplitPane
|
|
9
|
+
* >
|
|
10
|
+
* <div>Example content</div>
|
|
11
|
+
* </SplitPane>
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
import * as React from 'react';
|
|
15
|
+
/**
|
|
16
|
+
* Props for SplitPane component.
|
|
17
|
+
*/
|
|
18
|
+
export interface SplitPaneProps {
|
|
19
|
+
/** Child panes (must be exactly 2) */
|
|
20
|
+
children: [React.ReactNode, React.ReactNode];
|
|
21
|
+
/** Orientation of the split */
|
|
22
|
+
direction?: 'horizontal' | 'vertical';
|
|
23
|
+
/** Initial size of the first pane (percentage or pixels) */
|
|
24
|
+
defaultSize?: number | string;
|
|
25
|
+
/** Minimum size for panes (pixels) */
|
|
26
|
+
minSize?: number;
|
|
27
|
+
/** Maximum size for first pane (pixels) */
|
|
28
|
+
maxSize?: number;
|
|
29
|
+
/** Size of the resizer handle */
|
|
30
|
+
resizerSize?: number;
|
|
31
|
+
/** Callback when size changes */
|
|
32
|
+
onResize?: (size: number) => void;
|
|
33
|
+
/** Callback when resize starts */
|
|
34
|
+
onResizeStart?: () => void;
|
|
35
|
+
/** Callback when resize ends */
|
|
36
|
+
onResizeEnd?: (size: number) => void;
|
|
37
|
+
/** Show visual indicator on resizer */
|
|
38
|
+
showResizerIcon?: boolean;
|
|
39
|
+
/** Allow double-click to reset to default */
|
|
40
|
+
doubleClickReset?: boolean;
|
|
41
|
+
/** Collapse first pane */
|
|
42
|
+
collapsedFirst?: boolean;
|
|
43
|
+
/** Collapse second pane */
|
|
44
|
+
collapsedSecond?: boolean;
|
|
45
|
+
/** Custom class name */
|
|
46
|
+
className?: string;
|
|
47
|
+
/** Custom styles */
|
|
48
|
+
sx?: Record<string, unknown>;
|
|
49
|
+
}
|
|
50
|
+
export declare const SplitPane: React.FC<SplitPaneProps>;
|
|
51
|
+
export default SplitPane;
|
|
52
|
+
//# sourceMappingURL=SplitPane.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SplitPane.d.ts","sourceRoot":"","sources":["../../../src/components/SplitPane/SplitPane.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,QAAQ,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7C,+BAA+B;IAC/B,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACtC,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,gCAAgC;IAChC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,uCAAuC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,0BAA0B;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2BAA2B;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AA8HD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAiQ9C,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SplitPane/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC"}
|