@gtcx/ui 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/dist/components/ai/index.d.ts +3 -0
  2. package/dist/components/ai/index.d.ts.map +1 -0
  3. package/dist/components/ai/insight-card.d.ts +16 -0
  4. package/dist/components/ai/insight-card.d.ts.map +1 -0
  5. package/dist/components/data/advanced-table.d.ts +45 -0
  6. package/dist/components/data/advanced-table.d.ts.map +1 -0
  7. package/dist/components/data/avatar-group.d.ts +19 -0
  8. package/dist/components/data/avatar-group.d.ts.map +1 -0
  9. package/dist/components/data/avatar.d.ts +42 -0
  10. package/dist/components/data/avatar.d.ts.map +1 -0
  11. package/dist/components/data/badge.d.ts +53 -0
  12. package/dist/components/data/badge.d.ts.map +1 -0
  13. package/dist/components/data/card.d.ts +64 -0
  14. package/dist/components/data/card.d.ts.map +1 -0
  15. package/dist/components/data/data-visualization.d.ts +31 -0
  16. package/dist/components/data/data-visualization.d.ts.map +1 -0
  17. package/dist/components/data/index.d.ts +17 -0
  18. package/dist/components/data/index.d.ts.map +1 -0
  19. package/dist/components/data/rating.d.ts +25 -0
  20. package/dist/components/data/rating.d.ts.map +1 -0
  21. package/dist/components/data/skeleton.d.ts +16 -0
  22. package/dist/components/data/skeleton.d.ts.map +1 -0
  23. package/dist/components/effects/glassmorphism-card.d.ts +12 -0
  24. package/dist/components/effects/glassmorphism-card.d.ts.map +1 -0
  25. package/dist/components/effects/index.d.ts +3 -0
  26. package/dist/components/effects/index.d.ts.map +1 -0
  27. package/dist/components/feedback/accordion.d.ts +30 -0
  28. package/dist/components/feedback/accordion.d.ts.map +1 -0
  29. package/dist/components/feedback/alert-dialog.d.ts +67 -0
  30. package/dist/components/feedback/alert-dialog.d.ts.map +1 -0
  31. package/dist/components/feedback/alert.d.ts +60 -0
  32. package/dist/components/feedback/alert.d.ts.map +1 -0
  33. package/dist/components/feedback/collapsible.d.ts +32 -0
  34. package/dist/components/feedback/collapsible.d.ts.map +1 -0
  35. package/dist/components/feedback/content-loader.d.ts +12 -0
  36. package/dist/components/feedback/content-loader.d.ts.map +1 -0
  37. package/dist/components/feedback/dialog.d.ts +73 -0
  38. package/dist/components/feedback/dialog.d.ts.map +1 -0
  39. package/dist/components/feedback/hover-card.d.ts +22 -0
  40. package/dist/components/feedback/hover-card.d.ts.map +1 -0
  41. package/dist/components/feedback/index.d.ts +28 -0
  42. package/dist/components/feedback/index.d.ts.map +1 -0
  43. package/dist/components/feedback/popover.d.ts +29 -0
  44. package/dist/components/feedback/popover.d.ts.map +1 -0
  45. package/dist/components/feedback/progress.d.ts +33 -0
  46. package/dist/components/feedback/progress.d.ts.map +1 -0
  47. package/dist/components/feedback/screen-loader.d.ts +13 -0
  48. package/dist/components/feedback/screen-loader.d.ts.map +1 -0
  49. package/dist/components/feedback/sheet.d.ts +69 -0
  50. package/dist/components/feedback/sheet.d.ts.map +1 -0
  51. package/dist/components/feedback/toaster.d.ts +31 -0
  52. package/dist/components/feedback/toaster.d.ts.map +1 -0
  53. package/dist/components/feedback/tooltip.d.ts +13 -0
  54. package/dist/components/feedback/tooltip.d.ts.map +1 -0
  55. package/dist/components/forms/button.d.ts +34 -0
  56. package/dist/components/forms/button.d.ts.map +1 -0
  57. package/dist/components/forms/calendar.d.ts +12 -0
  58. package/dist/components/forms/calendar.d.ts.map +1 -0
  59. package/dist/components/forms/checkbox.d.ts +17 -0
  60. package/dist/components/forms/checkbox.d.ts.map +1 -0
  61. package/dist/components/forms/file-upload.d.ts +37 -0
  62. package/dist/components/forms/file-upload.d.ts.map +1 -0
  63. package/dist/components/forms/form.d.ts +48 -0
  64. package/dist/components/forms/form.d.ts.map +1 -0
  65. package/dist/components/forms/image-input.d.ts +20 -0
  66. package/dist/components/forms/image-input.d.ts.map +1 -0
  67. package/dist/components/forms/index.d.ts +29 -0
  68. package/dist/components/forms/index.d.ts.map +1 -0
  69. package/dist/components/forms/input.d.ts +58 -0
  70. package/dist/components/forms/input.d.ts.map +1 -0
  71. package/dist/components/forms/label.d.ts +19 -0
  72. package/dist/components/forms/label.d.ts.map +1 -0
  73. package/dist/components/forms/radio-group.d.ts +39 -0
  74. package/dist/components/forms/radio-group.d.ts.map +1 -0
  75. package/dist/components/forms/select.d.ts +18 -0
  76. package/dist/components/forms/select.d.ts.map +1 -0
  77. package/dist/components/forms/switch.d.ts +32 -0
  78. package/dist/components/forms/switch.d.ts.map +1 -0
  79. package/dist/components/forms/textarea.d.ts +14 -0
  80. package/dist/components/forms/textarea.d.ts.map +1 -0
  81. package/dist/components/forms/toggle-group.d.ts +33 -0
  82. package/dist/components/forms/toggle-group.d.ts.map +1 -0
  83. package/dist/components/forms/toggle.d.ts +27 -0
  84. package/dist/components/forms/toggle.d.ts.map +1 -0
  85. package/dist/components/index.d.ts +8 -0
  86. package/dist/components/index.d.ts.map +1 -0
  87. package/dist/components/layout/header.d.ts +49 -0
  88. package/dist/components/layout/header.d.ts.map +1 -0
  89. package/dist/components/layout/index.d.ts +13 -0
  90. package/dist/components/layout/index.d.ts.map +1 -0
  91. package/dist/components/layout/metronic-layout.d.ts +104 -0
  92. package/dist/components/layout/metronic-layout.d.ts.map +1 -0
  93. package/dist/components/layout/responsive-grid.d.ts +49 -0
  94. package/dist/components/layout/responsive-grid.d.ts.map +1 -0
  95. package/dist/components/layout/scroll-area.d.ts +24 -0
  96. package/dist/components/layout/scroll-area.d.ts.map +1 -0
  97. package/dist/components/layout/separator.d.ts +12 -0
  98. package/dist/components/layout/separator.d.ts.map +1 -0
  99. package/dist/components/layout/split-pane.d.ts +32 -0
  100. package/dist/components/layout/split-pane.d.ts.map +1 -0
  101. package/dist/components/navigation/breadcrumbs.d.ts +24 -0
  102. package/dist/components/navigation/breadcrumbs.d.ts.map +1 -0
  103. package/dist/components/navigation/command.d.ts +35 -0
  104. package/dist/components/navigation/command.d.ts.map +1 -0
  105. package/dist/components/navigation/context-menu.d.ts +24 -0
  106. package/dist/components/navigation/context-menu.d.ts.map +1 -0
  107. package/dist/components/navigation/dropdown-menu.d.ts +49 -0
  108. package/dist/components/navigation/dropdown-menu.d.ts.map +1 -0
  109. package/dist/components/navigation/index.d.ts +21 -0
  110. package/dist/components/navigation/index.d.ts.map +1 -0
  111. package/dist/components/navigation/mega-menu.d.ts +47 -0
  112. package/dist/components/navigation/mega-menu.d.ts.map +1 -0
  113. package/dist/components/navigation/menubar.d.ts +25 -0
  114. package/dist/components/navigation/menubar.d.ts.map +1 -0
  115. package/dist/components/navigation/navigation-menu.d.ts +28 -0
  116. package/dist/components/navigation/navigation-menu.d.ts.map +1 -0
  117. package/dist/components/navigation/platform-tabs.d.ts +39 -0
  118. package/dist/components/navigation/platform-tabs.d.ts.map +1 -0
  119. package/dist/components/navigation/side-nav.d.ts +55 -0
  120. package/dist/components/navigation/side-nav.d.ts.map +1 -0
  121. package/dist/components/navigation/tabs.d.ts +40 -0
  122. package/dist/components/navigation/tabs.d.ts.map +1 -0
  123. package/dist/components/navigation/toolbar.d.ts +33 -0
  124. package/dist/components/navigation/toolbar.d.ts.map +1 -0
  125. package/dist/hooks/index.d.ts +15 -0
  126. package/dist/hooks/index.d.ts.map +1 -0
  127. package/dist/hooks/use-body-class.d.ts +8 -0
  128. package/dist/hooks/use-body-class.d.ts.map +1 -0
  129. package/dist/hooks/use-breakpoint.d.ts +22 -0
  130. package/dist/hooks/use-breakpoint.d.ts.map +1 -0
  131. package/dist/hooks/use-copy-to-clipboard.d.ts +15 -0
  132. package/dist/hooks/use-copy-to-clipboard.d.ts.map +1 -0
  133. package/dist/hooks/use-menu.d.ts +19 -0
  134. package/dist/hooks/use-menu.d.ts.map +1 -0
  135. package/dist/hooks/use-mounted.d.ts +8 -0
  136. package/dist/hooks/use-mounted.d.ts.map +1 -0
  137. package/dist/hooks/use-responsive.d.ts +11 -0
  138. package/dist/hooks/use-responsive.d.ts.map +1 -0
  139. package/dist/hooks/use-scroll-position.d.ts +13 -0
  140. package/dist/hooks/use-scroll-position.d.ts.map +1 -0
  141. package/dist/hooks/use-slider-input.d.ts +24 -0
  142. package/dist/hooks/use-slider-input.d.ts.map +1 -0
  143. package/dist/hooks/use-viewport.d.ts +6 -0
  144. package/dist/hooks/use-viewport.d.ts.map +1 -0
  145. package/dist/index.d.mts +566 -0
  146. package/dist/index.d.ts +12 -0
  147. package/dist/index.d.ts.map +1 -0
  148. package/dist/index.js +6590 -0
  149. package/dist/index.mjs +6418 -0
  150. package/dist/themes/index.d.ts +6 -0
  151. package/dist/themes/index.d.ts.map +1 -0
  152. package/dist/tokens/index.d.ts +6 -0
  153. package/dist/tokens/index.d.ts.map +1 -0
  154. package/package.json +55 -0
  155. package/readme.md +143 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-menu.d.ts","sourceRoot":"","sources":["../../src/hooks/use-menu.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM;sBACb,MAAM,KAAG,OAAO;gCAMN,QAAQ,EAAE,KAAG,OAAO;yBAQ3B,QAAQ,KAAG,OAAO;4BAOf,QAAQ,EAAE,KAAG,QAAQ,GAAG,SAAS;2BAiBlC,QAAQ,EAAE,KAAG,QAAQ,EAAE;yBAiBzB,QAAQ,EAAE,SAAS,MAAM,KAAG,QAAQ,EAAE,GAAG,IAAI;EA2C1E"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * useMounted — SSR-safe hydration check.
3
+ *
4
+ * Returns `true` after the component has mounted on the client.
5
+ * Use this to guard client-only code that would cause hydration mismatches.
6
+ */
7
+ export declare function useMounted(): boolean;
8
+ //# sourceMappingURL=use-mounted.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-mounted.d.ts","sourceRoot":"","sources":["../../src/hooks/use-mounted.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAQpC"}
@@ -0,0 +1,11 @@
1
+ import { type Breakpoint } from './use-breakpoint';
2
+ type ResponsiveValue<T> = Partial<Record<Breakpoint, T>>;
3
+ /**
4
+ * Resolve a responsive value map to the value matching the current breakpoint.
5
+ *
6
+ * Falls back to the nearest defined value at or below the current breakpoint.
7
+ * Returns `undefined` during SSR or if no matching value is found.
8
+ */
9
+ export declare function useResponsive<T>(values: ResponsiveValue<T>): T | undefined;
10
+ export {};
11
+ //# sourceMappingURL=use-responsive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-responsive.d.ts","sourceRoot":"","sources":["../../src/hooks/use-responsive.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAElE,KAAK,eAAe,CAAC,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;AAIzD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAgB1E"}
@@ -0,0 +1,13 @@
1
+ export interface ScrollPosition {
2
+ x: number;
3
+ y: number;
4
+ }
5
+ /**
6
+ * useScrollPosition — throttled scroll position tracker.
7
+ *
8
+ * Mirrors Metronic's useScrollPosition hook.
9
+ *
10
+ * @param throttleMs - Throttle interval in ms. @default 100
11
+ */
12
+ export declare function useScrollPosition(throttleMs?: number): ScrollPosition;
13
+ //# sourceMappingURL=use-scroll-position.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-scroll-position.d.ts","sourceRoot":"","sources":["../../src/hooks/use-scroll-position.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,SAAM,GAAG,cAAc,CAiClE"}
@@ -0,0 +1,24 @@
1
+ export interface UseSliderInputOptions {
2
+ minValue: number;
3
+ maxValue: number;
4
+ initialValue: [number, number];
5
+ }
6
+ /**
7
+ * Dual-range slider value sync between slider and number inputs.
8
+ * Ported from Metronic useSliderInput.
9
+ */
10
+ export declare function useSliderInput({ minValue, maxValue, initialValue }: UseSliderInputOptions): {
11
+ sliderValues: [number, number];
12
+ inputValues: [number, number];
13
+ setSliderValues: import("react").Dispatch<import("react").SetStateAction<[number, number]>>;
14
+ setInputValues: import("react").Dispatch<import("react").SetStateAction<[number, number]>>;
15
+ handleSliderChange: (values: [number, number]) => void;
16
+ handleInputChange: (e: React.ChangeEvent<HTMLInputElement>, index: 0 | 1) => void;
17
+ validateAndUpdateValue: (value: number, index: 0 | 1) => void;
18
+ };
19
+ /**
20
+ * Clamp a slider value for the given index.
21
+ * Exported for unit testing — used internally by validateAndUpdateValue.
22
+ */
23
+ export declare function clampSliderValue(value: number, index: 0 | 1, currentValues: [number, number], minValue: number, maxValue: number): number;
24
+ //# sourceMappingURL=use-slider-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-slider-input.d.ts","sourceRoot":"","sources":["../../src/hooks/use-slider-input.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,qBAAqB;;;;;iCAIxC,CAAC,MAAM,EAAE,MAAM,CAAC;2BAM1D,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC;oCAY7C,MAAM,SAAS,CAAC,GAAG,CAAC;EAsB/B;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,CAAC,GAAG,CAAC,EACZ,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,MAAM,CAKR"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Returns [height, width] of the viewport. SSR-safe.
3
+ * Ported from Metronic useViewport.
4
+ */
5
+ export declare function useViewport(): [number, number];
6
+ //# sourceMappingURL=use-viewport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-viewport.d.ts","sourceRoot":"","sources":["../../src/hooks/use-viewport.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,WAAW,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAe9C"}
@@ -0,0 +1,566 @@
1
+ import React from 'react';
2
+ import { TablePaginationConfig } from 'antd';
3
+
4
+ /**
5
+ * GTCX color token system
6
+ *
7
+ * Semantic colors supporting light/dark themes with platform-specific variations.
8
+ */
9
+ declare const colors: {
10
+ primary: {
11
+ 50: string;
12
+ 100: string;
13
+ 200: string;
14
+ 300: string;
15
+ 400: string;
16
+ 500: string;
17
+ 600: string;
18
+ 700: string;
19
+ 800: string;
20
+ 900: string;
21
+ 950: string;
22
+ };
23
+ secondary: {
24
+ 50: string;
25
+ 100: string;
26
+ 200: string;
27
+ 300: string;
28
+ 400: string;
29
+ 500: string;
30
+ 600: string;
31
+ 700: string;
32
+ 800: string;
33
+ 900: string;
34
+ 950: string;
35
+ };
36
+ success: {
37
+ 50: string;
38
+ 100: string;
39
+ 200: string;
40
+ 300: string;
41
+ 400: string;
42
+ 500: string;
43
+ 600: string;
44
+ 700: string;
45
+ 800: string;
46
+ 900: string;
47
+ 950: string;
48
+ };
49
+ warning: {
50
+ 50: string;
51
+ 100: string;
52
+ 200: string;
53
+ 300: string;
54
+ 400: string;
55
+ 500: string;
56
+ 600: string;
57
+ 700: string;
58
+ 800: string;
59
+ 900: string;
60
+ 950: string;
61
+ };
62
+ error: {
63
+ 50: string;
64
+ 100: string;
65
+ 200: string;
66
+ 300: string;
67
+ 400: string;
68
+ 500: string;
69
+ 600: string;
70
+ 700: string;
71
+ 800: string;
72
+ 900: string;
73
+ 950: string;
74
+ };
75
+ info: {
76
+ 50: string;
77
+ 100: string;
78
+ 200: string;
79
+ 300: string;
80
+ 400: string;
81
+ 500: string;
82
+ 600: string;
83
+ 700: string;
84
+ 800: string;
85
+ 900: string;
86
+ 950: string;
87
+ };
88
+ neutral: {
89
+ 50: string;
90
+ 100: string;
91
+ 200: string;
92
+ 300: string;
93
+ 400: string;
94
+ 500: string;
95
+ 600: string;
96
+ 700: string;
97
+ 800: string;
98
+ 900: string;
99
+ 950: string;
100
+ };
101
+ semantic: {
102
+ profit: string;
103
+ loss: string;
104
+ approved: string;
105
+ pending: string;
106
+ rejected: string;
107
+ secure: string;
108
+ insecure: string;
109
+ };
110
+ };
111
+ declare const platformColors: {
112
+ crx: {
113
+ primary: string;
114
+ secondary: string;
115
+ accent: string;
116
+ gradient: string;
117
+ };
118
+ sgx: {
119
+ primary: string;
120
+ secondary: string;
121
+ accent: string;
122
+ gradient: string;
123
+ };
124
+ agx: {
125
+ primary: string;
126
+ secondary: string;
127
+ accent: string;
128
+ gradient: string;
129
+ };
130
+ };
131
+ declare const colorTokens: {
132
+ brand: {
133
+ primary: string;
134
+ primaryHover: string;
135
+ primaryActive: string;
136
+ secondary: string;
137
+ secondaryHover: string;
138
+ };
139
+ status: {
140
+ success: string;
141
+ warning: string;
142
+ error: string;
143
+ info: string;
144
+ };
145
+ text: {
146
+ primary: string;
147
+ secondary: string;
148
+ tertiary: string;
149
+ disabled: string;
150
+ inverse: string;
151
+ };
152
+ background: {
153
+ primary: string;
154
+ secondary: string;
155
+ tertiary: string;
156
+ inverse: string;
157
+ };
158
+ border: {
159
+ primary: string;
160
+ secondary: string;
161
+ focus: string;
162
+ };
163
+ };
164
+ declare const darkColors: {
165
+ text: {
166
+ primary: string;
167
+ secondary: string;
168
+ tertiary: string;
169
+ };
170
+ background: {
171
+ primary: string;
172
+ secondary: string;
173
+ tertiary: string;
174
+ };
175
+ border: {
176
+ primary: string;
177
+ secondary: string;
178
+ };
179
+ };
180
+
181
+ /**
182
+ * GTCX spacing token system
183
+ *
184
+ * 4px base unit for 8px grid system
185
+ */
186
+ declare const BASE_UNIT = 4;
187
+ declare const spacing: {
188
+ 0: number;
189
+ 1: number;
190
+ 2: number;
191
+ 3: number;
192
+ 4: number;
193
+ 5: number;
194
+ 6: number;
195
+ 8: number;
196
+ 10: number;
197
+ 12: number;
198
+ 16: number;
199
+ 20: number;
200
+ 24: number;
201
+ 32: number;
202
+ };
203
+ declare const spacingTokens: {
204
+ component: {
205
+ button: {
206
+ paddingX: number;
207
+ paddingY: number;
208
+ gap: number;
209
+ };
210
+ input: {
211
+ paddingX: number;
212
+ paddingY: number;
213
+ };
214
+ card: {
215
+ padding: number;
216
+ gap: number;
217
+ };
218
+ form: {
219
+ fieldGap: number;
220
+ sectionGap: number;
221
+ labelGap: number;
222
+ };
223
+ modal: {
224
+ padding: number;
225
+ gap: number;
226
+ };
227
+ table: {
228
+ cellPadding: number;
229
+ headerPadding: number;
230
+ };
231
+ };
232
+ layout: {
233
+ container: {
234
+ paddingX: number;
235
+ paddingY: number;
236
+ };
237
+ section: {
238
+ marginY: number;
239
+ gap: number;
240
+ };
241
+ page: {
242
+ marginY: number;
243
+ paddingX: number;
244
+ };
245
+ };
246
+ };
247
+ declare const platformSpacing: {
248
+ crx: {
249
+ density: string;
250
+ basePadding: number;
251
+ baseGap: number;
252
+ };
253
+ sgx: {
254
+ density: string;
255
+ basePadding: number;
256
+ baseGap: number;
257
+ };
258
+ agx: {
259
+ density: string;
260
+ basePadding: number;
261
+ baseGap: number;
262
+ };
263
+ };
264
+
265
+ /**
266
+ * GTCX typography token system
267
+ */
268
+ declare const fontFamilies: {
269
+ sans: string;
270
+ mono: string;
271
+ serif: string;
272
+ };
273
+ declare const fontWeights: {
274
+ normal: number;
275
+ medium: number;
276
+ semibold: number;
277
+ bold: number;
278
+ };
279
+ declare const fontSizes: {
280
+ xs: string;
281
+ sm: string;
282
+ base: string;
283
+ lg: string;
284
+ xl: string;
285
+ '2xl': string;
286
+ '3xl': string;
287
+ '4xl': string;
288
+ '5xl': string;
289
+ };
290
+ declare const lineHeights: {
291
+ tight: number;
292
+ normal: number;
293
+ relaxed: number;
294
+ };
295
+ declare const letterSpacing: {
296
+ tight: string;
297
+ normal: string;
298
+ wide: string;
299
+ };
300
+ declare const typography: {
301
+ display: {
302
+ lg: {
303
+ fontSize: string;
304
+ fontWeight: number;
305
+ lineHeight: number;
306
+ letterSpacing: string;
307
+ };
308
+ md: {
309
+ fontSize: string;
310
+ fontWeight: number;
311
+ lineHeight: number;
312
+ };
313
+ sm: {
314
+ fontSize: string;
315
+ fontWeight: number;
316
+ lineHeight: number;
317
+ };
318
+ };
319
+ heading: {
320
+ h1: {
321
+ fontSize: string;
322
+ fontWeight: number;
323
+ lineHeight: number;
324
+ };
325
+ h2: {
326
+ fontSize: string;
327
+ fontWeight: number;
328
+ lineHeight: number;
329
+ };
330
+ h3: {
331
+ fontSize: string;
332
+ fontWeight: number;
333
+ lineHeight: number;
334
+ };
335
+ h4: {
336
+ fontSize: string;
337
+ fontWeight: number;
338
+ lineHeight: number;
339
+ };
340
+ };
341
+ body: {
342
+ lg: {
343
+ fontSize: string;
344
+ fontWeight: number;
345
+ lineHeight: number;
346
+ };
347
+ md: {
348
+ fontSize: string;
349
+ fontWeight: number;
350
+ lineHeight: number;
351
+ };
352
+ sm: {
353
+ fontSize: string;
354
+ fontWeight: number;
355
+ lineHeight: number;
356
+ };
357
+ };
358
+ caption: {
359
+ fontSize: string;
360
+ fontWeight: number;
361
+ lineHeight: number;
362
+ };
363
+ button: {
364
+ lg: {
365
+ fontSize: string;
366
+ fontWeight: number;
367
+ };
368
+ md: {
369
+ fontSize: string;
370
+ fontWeight: number;
371
+ };
372
+ sm: {
373
+ fontSize: string;
374
+ fontWeight: number;
375
+ };
376
+ };
377
+ };
378
+
379
+ declare const breakpoints: {
380
+ xs: number;
381
+ sm: number;
382
+ md: number;
383
+ lg: number;
384
+ xl: number;
385
+ xxl: number;
386
+ };
387
+ declare const radii: {
388
+ none: number;
389
+ sm: number;
390
+ md: number;
391
+ lg: number;
392
+ xl: number;
393
+ full: number;
394
+ };
395
+ declare const shadows: {
396
+ sm: string;
397
+ md: string;
398
+ lg: string;
399
+ xl: string;
400
+ };
401
+ declare const zIndex: {
402
+ dropdown: number;
403
+ sticky: number;
404
+ fixed: number;
405
+ modal: number;
406
+ popover: number;
407
+ tooltip: number;
408
+ };
409
+ declare const transitions: {
410
+ fast: string;
411
+ normal: string;
412
+ slow: string;
413
+ };
414
+
415
+ type Platform = 'crx' | 'sgx' | 'agx';
416
+ interface Theme {
417
+ platform: Platform;
418
+ colors: {
419
+ primary: string;
420
+ secondary: string;
421
+ accent: string;
422
+ gradient: string;
423
+ };
424
+ spacing: {
425
+ density: string;
426
+ basePadding: number;
427
+ baseGap: number;
428
+ };
429
+ }
430
+ declare const themes: Record<Platform, Theme>;
431
+ declare const getTheme: (platform: Platform) => Theme;
432
+ declare const getAntTheme: (platform: Platform) => {
433
+ token: {
434
+ colorPrimary: string;
435
+ colorInfo: string;
436
+ colorSuccess: string;
437
+ colorWarning: string;
438
+ colorError: string;
439
+ borderRadius: number;
440
+ fontFamily: string;
441
+ };
442
+ components: {
443
+ Button: {
444
+ paddingInline: number;
445
+ };
446
+ Card: {
447
+ paddingLG: number;
448
+ };
449
+ };
450
+ };
451
+
452
+ type Breakpoint = keyof typeof breakpoints;
453
+ declare function useBreakpoint(): {
454
+ current: "xs" | "sm" | "md" | "lg" | "xl" | "xxl";
455
+ isMobile: boolean;
456
+ isTablet: boolean;
457
+ isDesktop: boolean;
458
+ isAbove: (bp: Breakpoint) => boolean;
459
+ isBelow: (bp: Breakpoint) => boolean;
460
+ breakpoints: {
461
+ xs: number;
462
+ sm: number;
463
+ md: number;
464
+ lg: number;
465
+ xl: number;
466
+ xxl: number;
467
+ };
468
+ };
469
+
470
+ type ResponsiveValue<T> = Partial<Record<Breakpoint, T>>;
471
+ declare function useResponsive<T>(values: ResponsiveValue<T>): T | undefined;
472
+
473
+ type InsightType = "prediction" | "anomaly" | "recommendation" | "alert" | "optimization";
474
+ type ImpactLevel = "low" | "medium" | "high" | "critical";
475
+ interface AIInsightCardProps {
476
+ type: InsightType;
477
+ title: string;
478
+ description: string;
479
+ confidence: number;
480
+ impact: ImpactLevel;
481
+ actions: string[];
482
+ className?: string;
483
+ delay?: number;
484
+ }
485
+ declare function AIInsightCard({ type, title, description, confidence, impact, actions, className, delay, }: AIInsightCardProps): React.JSX.Element;
486
+
487
+ interface AdvancedTableColumn {
488
+ key: string;
489
+ title: string;
490
+ dataIndex: string;
491
+ width?: number;
492
+ fixed?: "left" | "right";
493
+ sorter?: boolean | ((a: any, b: any) => number);
494
+ filterable?: boolean;
495
+ filterType?: "text" | "select" | "date" | "number";
496
+ filterOptions?: Array<{
497
+ label: string;
498
+ value: any;
499
+ }>;
500
+ render?: (value: any, record: any, index: number) => React.ReactNode;
501
+ align?: "left" | "center" | "right";
502
+ ellipsis?: boolean;
503
+ copyable?: boolean;
504
+ }
505
+ interface AdvancedTableProps {
506
+ dataSource: any[];
507
+ columns: AdvancedTableColumn[];
508
+ loading?: boolean;
509
+ pagination?: false | TablePaginationConfig;
510
+ rowSelection?: boolean | object;
511
+ searchable?: boolean;
512
+ filterable?: boolean;
513
+ exportable?: boolean;
514
+ refreshable?: boolean;
515
+ sticky?: boolean;
516
+ className?: string;
517
+ onRow?: (record: any, index?: number) => any;
518
+ onSelectionChange?: (selectedRowKeys: React.Key[], selectedRows: any[]) => void;
519
+ onExport?: (data: any[], format: "csv" | "excel" | "pdf") => void;
520
+ onRefresh?: () => void;
521
+ onSearch?: (searchText: string) => void;
522
+ onFilter?: (filters: Record<string, any>) => void;
523
+ }
524
+ declare function AdvancedTable({ dataSource, columns, loading, pagination, rowSelection, searchable, filterable, exportable, refreshable, sticky, className, onRow, onSelectionChange, onExport, onRefresh, onSearch, onFilter, }: AdvancedTableProps): React.JSX.Element;
525
+
526
+ interface GlassmorphismCardProps {
527
+ children: React.ReactNode;
528
+ className?: string;
529
+ intensity?: "light" | "medium" | "strong";
530
+ blur?: "sm" | "md" | "lg";
531
+ border?: boolean;
532
+ hover?: boolean;
533
+ delay?: number;
534
+ }
535
+ declare function GlassmorphismCard({ children, className, intensity, blur, border, hover, delay, }: GlassmorphismCardProps): React.JSX.Element;
536
+
537
+ interface HeaderMenuItem {
538
+ key: string;
539
+ label: string;
540
+ icon?: React.ReactNode;
541
+ href?: string;
542
+ }
543
+ interface UserMenu {
544
+ name: string;
545
+ email: string;
546
+ avatar?: string;
547
+ role?: string;
548
+ }
549
+ interface HeaderProps {
550
+ platform: Platform;
551
+ title?: string;
552
+ subtitle?: string;
553
+ logo?: React.ReactNode;
554
+ menuItems?: HeaderMenuItem[];
555
+ user?: UserMenu;
556
+ showNotifications?: boolean;
557
+ notificationCount?: number;
558
+ onNotificationClick?: () => void;
559
+ onUserMenuClick?: (key: string) => void;
560
+ onMenuClick?: (key: string) => void;
561
+ className?: string;
562
+ fixed?: boolean;
563
+ }
564
+ declare function Header({ platform, title, subtitle, logo, menuItems, user, showNotifications, notificationCount, onNotificationClick, onUserMenuClick, onMenuClick, className, fixed, }: HeaderProps): React.JSX.Element;
565
+
566
+ export { AIInsightCard, type AIInsightCardProps, AdvancedTable, type AdvancedTableColumn, type AdvancedTableProps, BASE_UNIT, type Breakpoint, GlassmorphismCard, type GlassmorphismCardProps, Header, type HeaderMenuItem, type HeaderProps, type ImpactLevel, type InsightType, type Platform, type Theme, type UserMenu, breakpoints, colorTokens, colors, darkColors, fontFamilies, fontSizes, fontWeights, getAntTheme, getTheme, letterSpacing, lineHeights, platformColors, platformSpacing, radii, shadows, spacing, spacingTokens, themes, transitions, typography, useBreakpoint, useResponsive, zIndex };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @gtcx/ui - Shared UI components and design system
3
+ *
4
+ * Usage:
5
+ * import { Header, AIInsightCard, colors } from '@gtcx/ui';
6
+ * import { getAntTheme } from '@gtcx/ui/themes';
7
+ */
8
+ export * from './tokens';
9
+ export * from './themes';
10
+ export * from './hooks';
11
+ export * from './components';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,cAAc,UAAU,CAAC;AAGzB,cAAc,UAAU,CAAC;AAGzB,cAAc,SAAS,CAAC;AAGxB,cAAc,cAAc,CAAC"}