@trinityui/design-system 1.0.3 → 1.0.5

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 (272) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +6 -0
  3. package/dist/Legend.js +1455 -0
  4. package/dist/accessibility.d.ts +119 -0
  5. package/dist/accessibility.d.ts.map +1 -0
  6. package/dist/assets/index.d.ts +234 -0
  7. package/dist/assets/index.d.ts.map +1 -0
  8. package/dist/components/AI/AIActions.d.ts +104 -0
  9. package/dist/components/AI/AIActions.d.ts.map +1 -0
  10. package/dist/components/AI/AIAvatar.d.ts +32 -0
  11. package/dist/components/AI/AIAvatar.d.ts.map +1 -0
  12. package/dist/components/AI/AIChat.d.ts +142 -0
  13. package/dist/components/AI/AIChat.d.ts.map +1 -0
  14. package/dist/components/AI/AIContainer.d.ts +97 -0
  15. package/dist/components/AI/AIContainer.d.ts.map +1 -0
  16. package/dist/components/AI/AIExplainability.d.ts +46 -0
  17. package/dist/components/AI/AIExplainability.d.ts.map +1 -0
  18. package/dist/components/AI/AILabel.d.ts +43 -0
  19. package/dist/components/AI/AILabel.d.ts.map +1 -0
  20. package/dist/components/AI/AIMessage.d.ts +93 -0
  21. package/dist/components/AI/AIMessage.d.ts.map +1 -0
  22. package/dist/components/AI/AIRelatedQuestions.d.ts +53 -0
  23. package/dist/components/AI/AIRelatedQuestions.d.ts.map +1 -0
  24. package/dist/components/AI/AIResponseRenderer.d.ts +50 -0
  25. package/dist/components/AI/AIResponseRenderer.d.ts.map +1 -0
  26. package/dist/components/AI/AISources.d.ts +66 -0
  27. package/dist/components/AI/AISources.d.ts.map +1 -0
  28. package/dist/components/AI/AISourcesPanel.d.ts +84 -0
  29. package/dist/components/AI/AISourcesPanel.d.ts.map +1 -0
  30. package/dist/components/AI/AITextBlock.d.ts +56 -0
  31. package/dist/components/AI/AITextBlock.d.ts.map +1 -0
  32. package/dist/components/AI/AIVisuals.d.ts +104 -0
  33. package/dist/components/AI/AIVisuals.d.ts.map +1 -0
  34. package/dist/components/AI/AIVoiceInput.d.ts +66 -0
  35. package/dist/components/AI/AIVoiceInput.d.ts.map +1 -0
  36. package/dist/components/AI/ChatHeader.d.ts +52 -0
  37. package/dist/components/AI/ChatHeader.d.ts.map +1 -0
  38. package/dist/components/AI/ChatHistoryList.d.ts +80 -0
  39. package/dist/components/AI/ChatHistoryList.d.ts.map +1 -0
  40. package/dist/components/AI/ChatThread.d.ts +74 -0
  41. package/dist/components/AI/ChatThread.d.ts.map +1 -0
  42. package/dist/components/AI/InsightEngine.d.ts +147 -0
  43. package/dist/components/AI/InsightEngine.d.ts.map +1 -0
  44. package/dist/components/AI/InsightEngineInput.d.ts +94 -0
  45. package/dist/components/AI/InsightEngineInput.d.ts.map +1 -0
  46. package/dist/components/AI/QueryInput.d.ts +114 -0
  47. package/dist/components/AI/QueryInput.d.ts.map +1 -0
  48. package/dist/components/AI/UserAvatar.d.ts +24 -0
  49. package/dist/components/AI/UserAvatar.d.ts.map +1 -0
  50. package/dist/components/AI/UserMessage.d.ts +26 -0
  51. package/dist/components/AI/UserMessage.d.ts.map +1 -0
  52. package/dist/components/AI/index.d.ts +39 -0
  53. package/dist/components/AI/index.d.ts.map +1 -0
  54. package/dist/components/AI/tokens.d.ts +132 -0
  55. package/dist/components/AI/tokens.d.ts.map +1 -0
  56. package/dist/components/AI/types/index.d.ts +6 -0
  57. package/dist/components/AI/types/index.d.ts.map +1 -0
  58. package/dist/components/AI/types/response.d.ts +312 -0
  59. package/dist/components/AI/types/response.d.ts.map +1 -0
  60. package/dist/components/AppLayout/AIFab.d.ts +50 -0
  61. package/dist/components/AppLayout/AIFab.d.ts.map +1 -0
  62. package/dist/components/AppLayout/AIFabLayout.deprecated.d.ts +32 -0
  63. package/dist/components/AppLayout/AIFabLayout.deprecated.d.ts.map +1 -0
  64. package/dist/components/AppLayout/AppLayout.d.ts +154 -0
  65. package/dist/components/AppLayout/AppLayout.d.ts.map +1 -0
  66. package/dist/components/AppLayout/InsightEnginePanel.d.ts +141 -0
  67. package/dist/components/AppLayout/InsightEnginePanel.d.ts.map +1 -0
  68. package/dist/components/AppLayout/ResizablePanel.d.ts +52 -0
  69. package/dist/components/AppLayout/ResizablePanel.d.ts.map +1 -0
  70. package/dist/components/AppLayout/ThreadHistorySidebar.d.ts +53 -0
  71. package/dist/components/AppLayout/ThreadHistorySidebar.d.ts.map +1 -0
  72. package/dist/components/AppLayout/index.d.ts +27 -0
  73. package/dist/components/AppLayout/index.d.ts.map +1 -0
  74. package/dist/components/Charts/AreaChart.d.ts +38 -0
  75. package/dist/components/Charts/AreaChart.d.ts.map +1 -0
  76. package/dist/components/Charts/BarChart.d.ts +47 -0
  77. package/dist/components/Charts/BarChart.d.ts.map +1 -0
  78. package/dist/components/Charts/ChartWrapper.d.ts +48 -0
  79. package/dist/components/Charts/ChartWrapper.d.ts.map +1 -0
  80. package/dist/components/Charts/ComposedChart.d.ts +34 -0
  81. package/dist/components/Charts/ComposedChart.d.ts.map +1 -0
  82. package/dist/components/Charts/CustomLegend.d.ts +69 -0
  83. package/dist/components/Charts/CustomLegend.d.ts.map +1 -0
  84. package/dist/components/Charts/CustomTooltip.d.ts +55 -0
  85. package/dist/components/Charts/CustomTooltip.d.ts.map +1 -0
  86. package/dist/components/Charts/LineChart.d.ts +36 -0
  87. package/dist/components/Charts/LineChart.d.ts.map +1 -0
  88. package/dist/components/Charts/PieChart.d.ts +52 -0
  89. package/dist/components/Charts/PieChart.d.ts.map +1 -0
  90. package/dist/components/Charts/RadialChart.d.ts +51 -0
  91. package/dist/components/Charts/RadialChart.d.ts.map +1 -0
  92. package/dist/components/Charts/ScatterChart.d.ts +55 -0
  93. package/dist/components/Charts/ScatterChart.d.ts.map +1 -0
  94. package/dist/components/Charts/Sparkline.d.ts +44 -0
  95. package/dist/components/Charts/Sparkline.d.ts.map +1 -0
  96. package/dist/components/Charts/index.d.ts +48 -0
  97. package/dist/components/Charts/index.d.ts.map +1 -0
  98. package/dist/components/Charts/tokens.d.ts +200 -0
  99. package/dist/components/Charts/tokens.d.ts.map +1 -0
  100. package/dist/components/Charts/types.d.ts +595 -0
  101. package/dist/components/Charts/types.d.ts.map +1 -0
  102. package/dist/components/Combobox/Combobox.d.ts +99 -0
  103. package/dist/components/Combobox/Combobox.d.ts.map +1 -0
  104. package/dist/components/Combobox/index.d.ts +3 -0
  105. package/dist/components/Combobox/index.d.ts.map +1 -0
  106. package/dist/components/CommandPalette/CommandPalette.d.ts +76 -0
  107. package/dist/components/CommandPalette/CommandPalette.d.ts.map +1 -0
  108. package/dist/components/CommandPalette/index.d.ts +2 -0
  109. package/dist/components/CommandPalette/index.d.ts.map +1 -0
  110. package/dist/components/DataCard/DataCard.d.ts +60 -0
  111. package/dist/components/DataCard/DataCard.d.ts.map +1 -0
  112. package/dist/components/DataCard/index.d.ts +2 -0
  113. package/dist/components/DataCard/index.d.ts.map +1 -0
  114. package/dist/components/DataTable/CellRenderers.d.ts +78 -0
  115. package/dist/components/DataTable/CellRenderers.d.ts.map +1 -0
  116. package/dist/components/DataTable/DataTable.d.ts +36 -0
  117. package/dist/components/DataTable/DataTable.d.ts.map +1 -0
  118. package/dist/components/DataTable/InlineAddRow.d.ts +27 -0
  119. package/dist/components/DataTable/InlineAddRow.d.ts.map +1 -0
  120. package/dist/components/DataTable/index.d.ts +6 -0
  121. package/dist/components/DataTable/index.d.ts.map +1 -0
  122. package/dist/components/DataTable/tokens.d.ts +132 -0
  123. package/dist/components/DataTable/tokens.d.ts.map +1 -0
  124. package/dist/components/DataTable/types.d.ts +334 -0
  125. package/dist/components/DataTable/types.d.ts.map +1 -0
  126. package/dist/components/DiffViewer/DiffViewer.d.ts +63 -0
  127. package/dist/components/DiffViewer/DiffViewer.d.ts.map +1 -0
  128. package/dist/components/DiffViewer/index.d.ts +3 -0
  129. package/dist/components/DiffViewer/index.d.ts.map +1 -0
  130. package/dist/components/DockLayout/DockLayout.d.ts +78 -0
  131. package/dist/components/DockLayout/DockLayout.d.ts.map +1 -0
  132. package/dist/components/DockLayout/index.d.ts +3 -0
  133. package/dist/components/DockLayout/index.d.ts.map +1 -0
  134. package/dist/components/FileUpload/FileUpload.d.ts +93 -0
  135. package/dist/components/FileUpload/FileUpload.d.ts.map +1 -0
  136. package/dist/components/FileUpload/index.d.ts +2 -0
  137. package/dist/components/FileUpload/index.d.ts.map +1 -0
  138. package/dist/components/FilterBar/FilterBar.d.ts +76 -0
  139. package/dist/components/FilterBar/FilterBar.d.ts.map +1 -0
  140. package/dist/components/FilterBar/index.d.ts +2 -0
  141. package/dist/components/FilterBar/index.d.ts.map +1 -0
  142. package/dist/components/Footer.d.ts +30 -0
  143. package/dist/components/Footer.d.ts.map +1 -0
  144. package/dist/components/Icon.d.ts +67 -0
  145. package/dist/components/Icon.d.ts.map +1 -0
  146. package/dist/components/IllustratedMessage.d.ts +99 -0
  147. package/dist/components/IllustratedMessage.d.ts.map +1 -0
  148. package/dist/components/LandingPage/FeatureCard.d.ts +89 -0
  149. package/dist/components/LandingPage/FeatureCard.d.ts.map +1 -0
  150. package/dist/components/LandingPage/LandingPage.d.ts +126 -0
  151. package/dist/components/LandingPage/LandingPage.d.ts.map +1 -0
  152. package/dist/components/LandingPage/index.d.ts +11 -0
  153. package/dist/components/LandingPage/index.d.ts.map +1 -0
  154. package/dist/components/Modal/Modal.d.ts +181 -0
  155. package/dist/components/Modal/Modal.d.ts.map +1 -0
  156. package/dist/components/Modal/index.d.ts +2 -0
  157. package/dist/components/Modal/index.d.ts.map +1 -0
  158. package/dist/components/PageHeader/PageHeader.d.ts +91 -0
  159. package/dist/components/PageHeader/PageHeader.d.ts.map +1 -0
  160. package/dist/components/PageHeader/index.d.ts +2 -0
  161. package/dist/components/PageHeader/index.d.ts.map +1 -0
  162. package/dist/components/RichTextEditor/RichTextEditor.d.ts +52 -0
  163. package/dist/components/RichTextEditor/RichTextEditor.d.ts.map +1 -0
  164. package/dist/components/RichTextEditor/index.d.ts +3 -0
  165. package/dist/components/RichTextEditor/index.d.ts.map +1 -0
  166. package/dist/components/SearchInput/SearchInput.d.ts +66 -0
  167. package/dist/components/SearchInput/SearchInput.d.ts.map +1 -0
  168. package/dist/components/SearchInput/index.d.ts +2 -0
  169. package/dist/components/SearchInput/index.d.ts.map +1 -0
  170. package/dist/components/SimpleTable/SimpleTable.d.ts +93 -0
  171. package/dist/components/SimpleTable/SimpleTable.d.ts.map +1 -0
  172. package/dist/components/SimpleTable/index.d.ts +3 -0
  173. package/dist/components/SimpleTable/index.d.ts.map +1 -0
  174. package/dist/components/SplitPane/SplitPane.d.ts +52 -0
  175. package/dist/components/SplitPane/SplitPane.d.ts.map +1 -0
  176. package/dist/components/SplitPane/index.d.ts +3 -0
  177. package/dist/components/SplitPane/index.d.ts.map +1 -0
  178. package/dist/components/StatusIndicator/Badge.d.ts +71 -0
  179. package/dist/components/StatusIndicator/Badge.d.ts.map +1 -0
  180. package/dist/components/StatusIndicator/Chip.d.ts +64 -0
  181. package/dist/components/StatusIndicator/Chip.d.ts.map +1 -0
  182. package/dist/components/StatusIndicator/Indicators.d.ts +81 -0
  183. package/dist/components/StatusIndicator/Indicators.d.ts.map +1 -0
  184. package/dist/components/StatusIndicator/Legend.d.ts +42 -0
  185. package/dist/components/StatusIndicator/Legend.d.ts.map +1 -0
  186. package/dist/components/StatusIndicator/Shapes.d.ts +32 -0
  187. package/dist/components/StatusIndicator/Shapes.d.ts.map +1 -0
  188. package/dist/components/StatusIndicator/StatusIndicator.d.ts +183 -0
  189. package/dist/components/StatusIndicator/StatusIndicator.d.ts.map +1 -0
  190. package/dist/components/StatusIndicator/index.d.ts +55 -0
  191. package/dist/components/StatusIndicator/index.d.ts.map +1 -0
  192. package/dist/components/StatusIndicator/types.d.ts +37 -0
  193. package/dist/components/StatusIndicator/types.d.ts.map +1 -0
  194. package/dist/components/Timeline/Timeline.d.ts +89 -0
  195. package/dist/components/Timeline/Timeline.d.ts.map +1 -0
  196. package/dist/components/Timeline/index.d.ts +2 -0
  197. package/dist/components/Timeline/index.d.ts.map +1 -0
  198. package/dist/components/Toast/Toast.d.ts +124 -0
  199. package/dist/components/Toast/Toast.d.ts.map +1 -0
  200. package/dist/components/Toast/index.d.ts +2 -0
  201. package/dist/components/Toast/index.d.ts.map +1 -0
  202. package/dist/components/TopNavHeader.d.ts +55 -0
  203. package/dist/components/TopNavHeader.d.ts.map +1 -0
  204. package/dist/components/TopNavWithSidebar.d.ts +64 -0
  205. package/dist/components/TopNavWithSidebar.d.ts.map +1 -0
  206. package/dist/components/TransferList/TransferList.d.ts +62 -0
  207. package/dist/components/TransferList/TransferList.d.ts.map +1 -0
  208. package/dist/components/TransferList/index.d.ts +3 -0
  209. package/dist/components/TransferList/index.d.ts.map +1 -0
  210. package/dist/components/TreeView/TreeView.d.ts +89 -0
  211. package/dist/components/TreeView/TreeView.d.ts.map +1 -0
  212. package/dist/components/TreeView/index.d.ts +3 -0
  213. package/dist/components/TreeView/index.d.ts.map +1 -0
  214. package/dist/components/index.d.ts +119 -0
  215. package/dist/components/index.d.ts.map +1 -0
  216. package/dist/components/internal/index.d.ts +27 -0
  217. package/dist/components/internal/index.d.ts.map +1 -0
  218. package/dist/components/navigation/components.d.ts +85 -0
  219. package/dist/components/navigation/components.d.ts.map +1 -0
  220. package/dist/components/navigation/hooks.d.ts +65 -0
  221. package/dist/components/navigation/hooks.d.ts.map +1 -0
  222. package/dist/components/navigation/index.d.ts +28 -0
  223. package/dist/components/navigation/index.d.ts.map +1 -0
  224. package/dist/components/navigation/styled.d.ts +13 -0
  225. package/dist/components/navigation/styled.d.ts.map +1 -0
  226. package/dist/components/navigation/types.d.ts +58 -0
  227. package/dist/components/navigation/types.d.ts.map +1 -0
  228. package/dist/components/shared/TrinityLogoSvg.d.ts +29 -0
  229. package/dist/components/shared/TrinityLogoSvg.d.ts.map +1 -0
  230. package/dist/components/shared.d.ts +92 -0
  231. package/dist/components/shared.d.ts.map +1 -0
  232. package/dist/components/templates/Dashboard/DashboardTemplate.d.ts +66 -0
  233. package/dist/components/templates/Dashboard/DashboardTemplate.d.ts.map +1 -0
  234. package/dist/components/templates/Dashboard/index.d.ts +2 -0
  235. package/dist/components/templates/Dashboard/index.d.ts.map +1 -0
  236. package/dist/components/templates/ListDetail/ListDetailTemplate.d.ts +88 -0
  237. package/dist/components/templates/ListDetail/ListDetailTemplate.d.ts.map +1 -0
  238. package/dist/components/templates/ListDetail/index.d.ts +2 -0
  239. package/dist/components/templates/ListDetail/index.d.ts.map +1 -0
  240. package/dist/components/templates/Settings/SettingsTemplate.d.ts +78 -0
  241. package/dist/components/templates/Settings/SettingsTemplate.d.ts.map +1 -0
  242. package/dist/components/templates/Settings/index.d.ts +2 -0
  243. package/dist/components/templates/Settings/index.d.ts.map +1 -0
  244. package/dist/components/templates/index.d.ts +5 -0
  245. package/dist/components/templates/index.d.ts.map +1 -0
  246. package/dist/essentials.d.ts +49 -0
  247. package/dist/essentials.d.ts.map +1 -0
  248. package/dist/essentials.js +256 -0
  249. package/dist/form.d.ts +212 -0
  250. package/dist/form.d.ts.map +1 -0
  251. package/dist/hierarchy.d.ts +371 -0
  252. package/dist/hierarchy.d.ts.map +1 -0
  253. package/dist/hooks/useTrinityPalette.d.ts +54 -0
  254. package/dist/hooks/useTrinityPalette.d.ts.map +1 -0
  255. package/dist/hooks.d.ts +217 -0
  256. package/dist/hooks.d.ts.map +1 -0
  257. package/dist/index.d.ts +111 -0
  258. package/dist/index.d.ts.map +1 -0
  259. package/dist/index.js +2293 -3731
  260. package/dist/presets/analytics.d.ts +197 -0
  261. package/dist/presets/analytics.d.ts.map +1 -0
  262. package/dist/presets/crm.d.ts +67 -0
  263. package/dist/presets/crm.d.ts.map +1 -0
  264. package/dist/presets/index.d.ts +21 -0
  265. package/dist/presets/index.d.ts.map +1 -0
  266. package/dist/presets/portal.d.ts +67 -0
  267. package/dist/presets/portal.d.ts.map +1 -0
  268. package/dist/theme.d.ts +221 -0
  269. package/dist/theme.d.ts.map +1 -0
  270. package/dist/tokens.d.ts +4760 -0
  271. package/dist/tokens.d.ts.map +1 -0
  272. package/package.json +6 -9
@@ -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":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAgC,MAAM,OAAO,CAAC;AAwBrD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE7F;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,gCAAgC;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,2CAA2C;IAC3C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,qBAAqB;IACrB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,eAAe,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7C,oCAAoC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qCAAqC;IACrC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,wCAAwC;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yCAAyC;IACzC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,6CAA6C;IAC7C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,+CAA+C;IAC/C,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,oBAAoB;IACpB,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IACpD,iBAAiB;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4BAA4B;IAC5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,4BAA4B;IAC5B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,kCAAkC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oBAAoB;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAoDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAqKtC,CAAC;AAMF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iCAAiC;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,kCAAkC;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kCAAkC;IAClC,SAAS,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC3C,sCAAsC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA4BtD,CAAC;AAMF,UAAU,kBAAkB;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAiBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,gBAAgB;uBAIf,OAAO,CAAC,kBAAkB,CAAC,GAAG;QAAE,SAAS,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE;;;CAepF,CAAC;AAEF,eAAe,KAAK,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Modal, ConfirmDialog, useConfirmDialog, type ModalProps, type ConfirmDialogProps, type ModalVariant, } from './Modal';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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,2 @@
1
+ export { PageHeader, type PageHeaderProps, type BreadcrumbItem } from './PageHeader';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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,3 @@
1
+ export { RichTextEditor, type RichTextEditorProps, type ToolbarItem, type HeadingLevel, type TextAlign } from './RichTextEditor';
2
+ export { default } from './RichTextEditor';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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,2 @@
1
+ export { SearchInput, type SearchInputProps, type SearchSuggestion } from './SearchInput';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,KAAyC,MAAM,OAAO,CAAC;AAwB9D,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;IACrB,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2BAA2B;IAC3B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IACrD,sDAAsD;IACtD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE;IACjE,yBAAyB;IACzB,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,yBAAyB;IACzB,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;IAChC,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qBAAqB;IACrB,aAAa,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IACtC,uBAAuB;IACvB,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC/B,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC5D,qCAAqC;IACrC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,sBAAsB;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4BAA4B;IAC5B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,4BAA4B;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,0BAA0B;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC;IACrC,6BAA6B;IAC7B,oBAAoB,CAAC,EAAE,aAAa,CAAC;IACrC,yBAAyB;IACzB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC1B,oBAAoB;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,0BAA0B;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkGD,wBAAgB,WAAW,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,EAAE,EAC7D,IAAI,EACJ,OAAO,EACP,OAAe,EACf,WAAe,EACf,UAAkB,EAClB,aAA0B,EAC1B,QAAa,EACb,iBAAiB,EACjB,UAAU,EACV,UAAiB,EACjB,kBAAoC,EACpC,kBAAuB,EACvB,iBAAiB,EACjB,oBAA4B,EAC5B,IAAe,EACf,YAAoB,EACpB,SAAS,EACT,YAAkC,EAClC,cAAc,EACd,SAAwB,GACzB,EAAE,gBAAgB,CAAC,CAAC,CAAC,2CAwPrB;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { SimpleTable, default } from './SimpleTable';
2
+ export type { SimpleTableProps, SimpleTableColumn, SortDirection } from './SimpleTable';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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,3 @@
1
+ export { SplitPane, type SplitPaneProps } from './SplitPane';
2
+ export { default } from './SplitPane';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -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"}