@cyber-harbour/ui 2.2.43 → 3.0.0-fix-button-focus-visible.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 (67) hide show
  1. package/README.md +115 -205
  2. package/bin/switch-ui-lib.js +218 -106
  3. package/dist/Icons/index.d.mts +468 -0
  4. package/dist/Icons/index.d.ts +468 -0
  5. package/dist/Icons/index.js +2 -0
  6. package/dist/Icons/index.js.map +1 -0
  7. package/dist/Icons/index.mjs +2 -0
  8. package/dist/Icons/index.mjs.map +1 -0
  9. package/dist/PdfDriver-IRXY5HVF.js +2 -0
  10. package/dist/PdfDriver-IRXY5HVF.js.map +1 -0
  11. package/dist/PdfDriver-XCFXTEEH.mjs +2 -0
  12. package/dist/PdfDriver-XCFXTEEH.mjs.map +1 -0
  13. package/dist/chunk-47BJH42B.mjs +2 -0
  14. package/dist/chunk-47BJH42B.mjs.map +1 -0
  15. package/dist/chunk-47O3IYW3.js +3 -0
  16. package/dist/chunk-47O3IYW3.js.map +1 -0
  17. package/dist/chunk-4O4WHXDT.mjs +3 -0
  18. package/dist/chunk-4O4WHXDT.mjs.map +1 -0
  19. package/dist/chunk-7F6XMY63.mjs +3 -0
  20. package/dist/chunk-7F6XMY63.mjs.map +1 -0
  21. package/dist/chunk-7LHQWEWV.mjs +2 -0
  22. package/dist/chunk-7LHQWEWV.mjs.map +1 -0
  23. package/dist/chunk-AYDF3IFZ.js +2 -0
  24. package/dist/chunk-AYDF3IFZ.js.map +1 -0
  25. package/dist/chunk-HFG4KP6L.js +2 -0
  26. package/dist/chunk-HFG4KP6L.js.map +1 -0
  27. package/dist/chunk-JVDLOXO7.js +2 -0
  28. package/dist/chunk-JVDLOXO7.js.map +1 -0
  29. package/dist/chunk-NQZUCXJV.js +2 -0
  30. package/dist/chunk-NQZUCXJV.js.map +1 -0
  31. package/dist/chunk-QWPVIX2T.mjs +2 -0
  32. package/dist/chunk-QWPVIX2T.mjs.map +1 -0
  33. package/dist/chunk-S3RLHUDJ.js +3 -0
  34. package/dist/chunk-S3RLHUDJ.js.map +1 -0
  35. package/dist/chunk-XP4PPF7V.mjs +2 -0
  36. package/dist/chunk-XP4PPF7V.mjs.map +1 -0
  37. package/dist/index.d.mts +1646 -1871
  38. package/dist/index.d.ts +1646 -1871
  39. package/dist/index.js +8 -1690
  40. package/dist/index.js.map +1 -1
  41. package/dist/index.mjs +8 -1690
  42. package/dist/index.mjs.map +1 -1
  43. package/dist/styles/design-tokens.css +839 -0
  44. package/dist/styles/legacy-token-aliases.css +26 -0
  45. package/dist/styles/tailwind.css +477 -3
  46. package/dist/utils/index.d.mts +7 -0
  47. package/dist/utils/index.d.ts +7 -0
  48. package/dist/utils/index.js +2 -0
  49. package/dist/utils/index.js.map +1 -0
  50. package/dist/utils/index.mjs +2 -0
  51. package/dist/utils/index.mjs.map +1 -0
  52. package/dist/utils-jfCLo6l4.d.mts +26 -0
  53. package/dist/utils-jfCLo6l4.d.ts +26 -0
  54. package/package.json +65 -53
  55. package/dist/PdfDriver-54FN6DBI.js +0 -2
  56. package/dist/PdfDriver-54FN6DBI.js.map +0 -1
  57. package/dist/PdfDriver-AVC3OSKE.mjs +0 -2
  58. package/dist/PdfDriver-AVC3OSKE.mjs.map +0 -1
  59. package/dist/chunk-EGCG27KL.mjs +0 -3
  60. package/dist/chunk-EGCG27KL.mjs.map +0 -1
  61. package/dist/chunk-WRBRJBUL.js +0 -3
  62. package/dist/chunk-WRBRJBUL.js.map +0 -1
  63. package/dist/index.css +0 -3
  64. package/dist/index.css.map +0 -1
  65. package/dist/styles/tailwind.css.map +0 -1
  66. package/dist/styles/tailwind.d.mts +0 -2
  67. package/dist/styles/tailwind.d.ts +0 -2
package/dist/index.d.mts CHANGED
@@ -1,1833 +1,693 @@
1
- import * as styled_components from 'styled-components';
2
- import { CSSProperties, DefaultTheme } from 'styled-components';
3
- export { ServerStyleSheet, StyleSheetManager } from 'styled-components';
4
- import * as styled_components_dist_types from 'styled-components/dist/types';
5
- import { DefaultTheme as DefaultTheme$1 } from 'styled-components/dist/types';
6
- import * as react from 'react';
7
- import react__default, { SVGProps, CSSProperties as CSSProperties$1, ElementType, MouseEventHandler, InputHTMLAttributes, TextareaHTMLAttributes, ReactNode } from 'react';
8
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
9
- import { PopoverPosition, PopoverAlign } from 'react-tiny-popover';
10
- import { IContentLoaderProps } from 'react-content-loader';
11
-
12
- interface ThemeProviderProps {
13
- children: any;
14
- mode?: 'light' | 'LIGHT' | 'dark' | 'DARK';
15
- }
16
- type ThemeMode = 'light' | 'LIGHT' | 'dark' | 'DARK';
17
- declare const ThemeProvider: ({ children, mode }: ThemeProviderProps) => react_jsx_runtime.JSX.Element;
18
-
19
- type ButtonVariant = 'fill' | 'outlined' | 'empty';
20
- type ButtonColor = 'default' | 'primary' | 'secondary' | 'error' | 'soft' | 'light';
21
- type ButtonState = 'default' | 'hover' | 'active' | 'disabled';
22
- type ButtonSize = 'small' | 'medium';
23
- type InputVariant = 'outlined' | 'empty';
24
- type InputState = 'default' | 'focus' | 'error' | 'disabled';
25
- type InputSize = 'empty' | 'small' | 'medium';
26
- type TagVariant = 'fill' | 'outlined';
27
- type TagColor = 'default' | 'primary' | 'error' | 'warning' | 'success' | 'disabled' | 'text' | 'orange' | string;
28
- type LabelSize = 'small' | 'medium';
29
- type LabelSizeStyle = {
30
- fontSize: number | string;
31
- gap: number | string;
32
- marginBottom: number | string;
33
- helpText: {
34
- fontSize: number | string;
35
- marginTop: number | string;
36
- };
37
- };
38
- type SwitchState = 'default' | 'checked' | 'disabled';
39
- type SwitchSize = 'small' | 'medium';
40
- type Breakpoint = 'xs' | 's' | 'm' | 'l' | 'xl';
41
- type ButtonElementStyle = {
42
- background: string;
43
- text: string;
44
- border: string;
45
- boxShadow: string;
46
- filledIcon?: {
47
- background: string;
48
- color: string;
49
- };
50
- };
51
- type ButtonSizeStyle = {
52
- fontSize: number | string;
53
- paddingInline: number | string;
54
- paddingBlock: number | string;
55
- borderRadius: number | string;
56
- borderWidth: number | string;
57
- gap: number | string;
58
- iconSize: number | string;
59
- };
60
- type InputElementStyle = {
61
- background: string;
62
- text: string;
63
- placeholder: string;
64
- border: string;
65
- boxShadow: string;
66
- icon: string;
67
- };
68
- type InputSizeStyle = {
69
- fontSize: number | string;
70
- paddingInline: number | string;
71
- paddingBlock: number | string;
72
- borderRadius: number | string;
73
- iconSize: number | string;
74
- height: number | string;
75
- lineHeight: number;
76
- };
77
- type TagElementStyle = {
78
- paddingInline: number | string;
79
- paddingBlock: number | string;
80
- borderRadius: number | string;
81
- borderWidth: number | string;
82
- color: Record<TagColor, string>;
83
- };
84
- type Theme = {
85
- mode: 'light' | 'dark';
86
- baseSize: number;
87
- colors: {
88
- background: string;
89
- backgroundBase: string;
90
- primary: {
91
- main: string;
92
- light: string;
93
- lighter: string;
94
- lightest: string;
95
- lightest2: string;
96
- dark: string;
97
- };
98
- text: {
99
- main: string;
100
- light: string;
101
- lighter: string;
102
- invert: string;
103
- success: string;
104
- error: string;
105
- };
106
- stroke: {
107
- main: string;
108
- light: string;
109
- lighter: string;
110
- };
111
- disable: string;
112
- success: string;
113
- error: string;
114
- warning: string;
115
- info: string;
116
- };
117
- line: {
118
- size: string | number;
119
- color: string;
120
- };
121
- typography: {
122
- fontFamily: string;
123
- lineHeight: number;
124
- variants: {
125
- h1: {
126
- fontSize: number | string;
127
- };
128
- h2: {
129
- fontSize: number | string;
130
- };
131
- h3: {
132
- fontSize: number | string;
133
- };
134
- body: {
135
- fontSize: number | string;
136
- };
137
- };
138
- };
139
- breakpoints: Record<Breakpoint, number>;
140
- zIndex: {
141
- dropdown: number;
142
- sticky: number;
143
- fixed: number;
144
- backdrop: number;
145
- modal: number;
146
- popover: number;
147
- tooltip: number;
148
- };
149
- button: {
150
- fill: Record<ButtonColor, Record<ButtonState, ButtonElementStyle>>;
151
- outlined: Record<ButtonColor, Record<ButtonState, ButtonElementStyle>>;
152
- empty: Record<ButtonColor, Record<ButtonState, ButtonElementStyle>>;
153
- sizes: Record<ButtonSize, ButtonSizeStyle>;
154
- };
155
- sidebar: {
156
- background: string;
157
- border: string;
158
- width: number;
159
- collapsedWidth: number;
160
- text: {
161
- default: string;
162
- active: string;
163
- hover: string;
164
- };
165
- item: {
166
- default: {
167
- background: string;
168
- border: string;
169
- padding: string;
170
- height: number;
171
- };
172
- active: {
173
- background: string;
174
- borderLeft: string;
175
- padding: string;
176
- height: number;
177
- };
178
- hover: {
179
- background: string;
180
- border: string;
181
- padding: string;
182
- height: number;
183
- };
184
- };
185
- section: {
186
- background: string;
187
- padding: string;
188
- title: {
189
- color: string;
190
- fontSize: string;
191
- fontWeight: number;
192
- };
193
- };
194
- delimeter: {
195
- color: string;
196
- thickness: number;
197
- margin: string;
198
- };
199
- };
200
- contextMenu: {
201
- button: Record<ButtonState, ButtonElementStyle>;
202
- padding: number;
203
- delimeter: {
204
- style: CSSProperties['borderStyle'];
205
- color: string;
206
- thickness: number;
207
- marginInline: number | string;
208
- marginBlock: number | string;
209
- };
210
- shadow: string;
211
- icon: {
212
- size: number | string;
213
- };
214
- };
215
- select: {
216
- item: Record<ButtonState, ButtonElementStyle>;
217
- paddingBlock: string | number;
218
- paddingInline: string | number;
219
- margin: string | number;
220
- padding: string | number;
221
- };
222
- rowActionsMenu: {
223
- button: Record<ButtonState, ButtonElementStyle>;
224
- delimiterColor: string;
225
- icon: {
226
- size: number | string;
227
- };
228
- };
229
- input: {
230
- sizes: Record<InputSize, InputSizeStyle>;
231
- outlined: Record<InputState, InputElementStyle>;
232
- empty: Record<InputState, InputElementStyle>;
233
- };
234
- box: {
235
- padding: number | string;
236
- background: string;
237
- borderRadius: number | string;
238
- border: {
239
- width: number | string;
240
- style: string;
241
- color: string;
242
- };
243
- };
244
- graph2D: {
245
- ring: {
246
- highlightFill: string;
247
- selectionFill: string;
248
- };
249
- button: {
250
- stroke: string;
251
- normalFill: string;
252
- hoverFill: string;
253
- textColor: string;
254
- spinnerColor: string;
255
- };
256
- grid: {
257
- dotColor: string;
258
- };
259
- link: {
260
- normal: string;
261
- highlighted: string;
262
- textColor: string;
263
- highlightedTextColor: string;
264
- textBgColor: string;
265
- highlightedTextBgColor: string;
266
- };
267
- };
268
- contentLoader: {
269
- foreground: string;
270
- background: string;
271
- };
272
- tag: Record<TagVariant, TagElementStyle>;
273
- alert: {
274
- paddingBlock: number | string;
275
- paddingLeft: number | string;
276
- paddingRight: number | string;
277
- borderRadius: number | string;
278
- fontSize: number | string;
279
- gap: number | string;
280
- icon: {
281
- width: number | string;
282
- height: number | string;
283
- paddingTop: number | string;
284
- };
285
- color: {
286
- icon: string;
287
- text: string;
288
- background: string;
289
- };
290
- };
291
- label: {
292
- sizes: Record<LabelSize, LabelSizeStyle>;
293
- color: string;
294
- helpTextColor: string;
295
- };
296
- leanerProgress: {
297
- background: string;
298
- progressColor: string;
299
- };
300
- switch: Record<SwitchState, {
301
- background: string;
302
- color: string;
303
- }>;
304
- drawer: {
305
- padding: string | number;
306
- width: number;
307
- shadow: string;
308
- };
309
- tooltip: {
310
- fontSize: string | number;
311
- padding: string | number;
312
- maxWidth: string | number;
313
- borderRadius: string | number;
314
- shadow: string;
315
- color: string;
316
- background: string;
317
- };
318
- pagination: {
319
- fontSize: string | number;
320
- paddingBlock: string | number;
321
- paddingInline: string | number;
322
- borderRadius: string | number;
323
- gap: string | number;
324
- height: string | number;
325
- iconSize: string | number;
326
- };
327
- overlay: {
328
- paddingBlock: string | number;
329
- background: string;
330
- gap: string | number;
331
- };
332
- modal: {
333
- padding: string | number;
334
- width: number;
335
- shadow: string;
336
- borderColor: string;
337
- background: string;
338
- borderRadius: string | number;
339
- };
340
- };
341
- type ThemeColors = Theme['colors'];
342
- type ColorCategory = keyof ThemeColors;
343
- type NestedColorPaths = keyof Pick<ThemeColors, 'background' | 'disable'> | `${Extract<ColorCategory, 'primary'>}.${keyof ThemeColors['primary']}` | `${Extract<ColorCategory, 'text'>}.${keyof ThemeColors['text']}` | `${Extract<ColorCategory, 'stroke'>}.${keyof ThemeColors['stroke']}`;
344
- type ColorVariant = NestedColorPaths;
345
- type TypographyVariant = 'h1' | 'h2' | 'h3' | 'body';
346
-
347
- /**
348
- * Helper function to resolve nested color paths from theme
349
- * Supports formats like 'primary.main', 'text.lightest', 'background'
350
- *
351
- * @param theme - The styled-components theme object
352
- * @param colorPath - A dot-notation path to the color in the theme, e.g. 'primary.main'
353
- * @returns The resolved color value or undefined if not found
354
- */
355
- declare const resolveThemeColor: (theme: DefaultTheme, colorPath: string | undefined) => string | undefined;
356
- /**
357
- * Converts a pixel value to rem units
358
- *
359
- * @param pxValue - The pixel value to convert. Can be a number or a string with 'px' suffix
360
- * @param baseSize - Base font size in pixels. Default is 16px (browser default)
361
- * @returns The value in rem units as a string (e.g., "1.25rem")
362
- */
363
- declare const pxToRem: (pxValue: number | string, baseSize?: number) => string;
364
- declare const remToPx: (remValue: number | string, baseSize?: number) => number;
365
- /**
366
- * Converts a prop value to rem units if needed
367
- *
368
- * @param value - The pixel value to convert. Can be a number or a string with 'px' suffix
369
- * @param baseSize - Base font size in pixels. Default is 16px (browser default)
370
- * @returns The value in rem units as a string (e.g., "1.25rem")
371
- */
372
- declare const propToRem: (value: number | string, baseSize?: number) => string;
373
- /**
374
- * Recursively converts all pixel values in an object to rem units
375
- *
376
- * @param obj - The object containing values to convert
377
- * @param baseSize - Base font size in pixels. Default is 16px
378
- * @returns A new object with pixel values converted to rem
379
- */
380
- declare const convertPaletteToRem: (obj: Record<string, any>, baseSize?: number, parentKey?: string) => Record<string, any>;
381
- /**
382
- * Функція для отримання стилів кнопки за варіантом, кольором, станом та розміром
383
- */
384
- declare const getButtonStyles: <V extends ButtonVariant>(theme: DefaultTheme, variant: ButtonVariant, color: ButtonColor, state: ButtonState) => ButtonElementStyle;
385
- declare const getButtonSizeStyles: (theme: DefaultTheme, size: ButtonSize) => ButtonSizeStyle;
386
- /**
387
- * Функція для отримання стилів інпута за варіантом та станом
388
- */
389
- declare const getInputStyles: (theme: DefaultTheme, variant: InputVariant, state: InputState) => InputElementStyle;
390
- /**
391
- * Функція для отримання типографічних стилів
392
- */
393
- declare const getTypographyStyles: (theme: DefaultTheme, variant?: string) => {
394
- fontSize: number | string;
395
- } | {
396
- fontSize: number | string;
397
- } | {
398
- fontSize: number | string;
399
- } | {
400
- fontSize: number | string;
401
- };
402
- /**
403
- * Функція для отримання медіа-запитів для breakpoints
404
- */
405
- declare const getBreakpoint: (theme: DefaultTheme, size?: Breakpoint) => string;
406
- /**
407
- * Функція для отримання rgba кольору з hex формату
408
- */
409
- declare const hexToRgba: (hex: string, alpha: number) => string;
410
-
411
- /**
412
- * Палітра, що містить як кольори, так і розміри в px
413
- * Кольори взято з теми, розміри будуть автоматично конвертовані в rem
414
- */
415
- declare const lightThemePx: Theme;
416
- declare const lightTheme: DefaultTheme$1;
417
-
418
- /**
419
- * Палітра, що містить як кольори, так і розміри в px
420
- * Кольори взято з теми, розміри будуть автоматично конвертовані в rem
421
- */
422
- declare const darkThemePx: Theme;
423
- declare const darkTheme: DefaultTheme$1;
424
-
425
- type SpaceProps = {
426
- m?: string | number;
427
- mt?: string | number;
428
- mr?: string | number;
429
- mb?: string | number;
430
- ml?: string | number;
431
- mx?: string | number;
432
- my?: string | number;
433
- p?: string | number;
434
- pt?: string | number;
435
- pr?: string | number;
436
- pb?: string | number;
437
- pl?: string | number;
438
- px?: string | number;
439
- py?: string | number;
440
- };
441
- type GeneratedFabricMarginProperties = 'margin' | 'margin-top' | 'margin-right' | 'margin-bottom' | 'margin-left' | 'margin-inline' | 'margin-block' | 'padding' | 'padding-top' | 'padding-right' | 'padding-bottom' | 'padding-left' | 'padding-inline' | 'padding-block';
442
- type MediaProps<T = object> = {
443
- media?: {
444
- [key in Breakpoint]?: Partial<T>;
445
- };
446
- };
447
- type FabricStyledComponentOptions = {
448
- ignoreStyles?: GeneratedFabricMarginProperties[] | undefined;
449
- };
450
- type CreatedFabricComponent<T extends FabricComponent> = react__default.ComponentType<Omit<T, 'media'>> | react__default.ForwardRefExoticComponent<Omit<T, 'media'>>;
451
- type FabricComponent<T = object> = T & SpaceProps & MediaProps<T>;
452
- type StyledFabricComponent<T = object> = T & SpaceProps;
453
- declare const destructSpaceProps: <T extends FabricComponent>(props: T) => SpaceProps;
454
- declare const generatePropertySpaceStyle: (theme: DefaultTheme, property: GeneratedFabricMarginProperties, value?: string | number, ignoredOptions?: GeneratedFabricMarginProperties[]) => string;
455
- declare function getResponsiveProps<T = object>({ media, ...props }: T & MediaProps<T>, currentBreakpoint: Breakpoint, breakpointOrder: Breakpoint[]): Omit<T & MediaProps<T>, "media">;
456
- declare const createComponent: <T extends FabricComponent, R = unknown>(Component: CreatedFabricComponent<T>) => react__default.ForwardRefExoticComponent<react__default.PropsWithoutRef<FabricComponent<T>> & react__default.RefAttributes<R>>;
457
- declare const createStyledComponent: <T extends object = StyledFabricComponent>(component: react__default.ComponentType<T>, options?: FabricStyledComponentOptions) => styled_components_dist_types.IStyledComponentBase<"web", styled_components_dist_types.Substitute<T | (react__default.PropsWithoutRef<T> & react__default.RefAttributes<react__default.Component<T, any, any>>), StyledFabricComponent<T>>> & (string & (Omit<react__default.ComponentClass<T, any>, keyof react__default.Component<any, {}, any>> | Omit<react__default.FunctionComponent<T>, keyof react__default.Component<any, {}, any>>));
458
-
459
- declare const useTheme: () => Theme;
460
-
461
- declare const BreakpointProvider: ({ children }: {
462
- children: any;
463
- }) => react_jsx_runtime.JSX.Element;
464
- declare const useBreakpoint: () => {
465
- currentBreakpoint: Breakpoint;
466
- breakpointsOrder: Breakpoint[];
467
- };
468
-
469
- type BaseButtonProps = {
470
- children?: any;
471
- variant?: ButtonVariant;
472
- color?: ButtonColor;
2
+ import * as class_variance_authority_types from 'class-variance-authority/types';
3
+ import * as React$1 from 'react';
4
+ import React__default, { FC, Ref, CSSProperties, ReactNode, HTMLAttributes, ButtonHTMLAttributes, InputHTMLAttributes } from 'react';
5
+ import { VariantProps } from 'class-variance-authority';
6
+ import { Placement } from '@floating-ui/react';
7
+ import { ParsedCountry, CountryIso2, CountryData } from 'react-international-phone';
8
+ import { F as FileWithFolderPath } from './utils-jfCLo6l4.mjs';
9
+
10
+ declare const button2Variants: (props?: ({
11
+ type?: "primary" | "secondary" | "tertiary" | "tertiaryGrey" | "ghost" | "ghostGrey" | "dangerPrimary" | "dangerTertiary" | "dangerGhost" | null | undefined;
12
+ size?: "xxs" | "xs" | "sm" | "md" | "lg" | "xl" | "expressive" | null | undefined;
13
+ active?: boolean | null | undefined;
14
+ loading?: boolean | null | undefined;
15
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
16
+ type ButtonVariantProps = VariantProps<typeof button2Variants>;
17
+ type ButtonType = NonNullable<ButtonVariantProps['type']>;
18
+ type ButtonSize = NonNullable<ButtonVariantProps['size']>;
19
+ type ButtonOwnProps = {
20
+ /** Visual type. Defaults to 'primary'. */
21
+ type?: ButtonType;
22
+ /** Size scale. Defaults to 'md'. */
473
23
  size?: ButtonSize;
24
+ /** Pressed/selected toggle state. Paints the button as if `:active` is sticky. */
25
+ active?: boolean;
26
+ loading?: boolean;
27
+ leftIcon?: React__default.ReactNode;
28
+ rightIcon?: React__default.ReactNode;
29
+ children?: React__default.ReactNode;
30
+ className?: string;
31
+ /**
32
+ * Disabled state. Applied as native `disabled` only on `<button>`; otherwise
33
+ * surfaced as `aria-disabled` and used to suppress click handling.
34
+ */
474
35
  disabled?: boolean;
475
- fullWidth?: boolean;
36
+ /**
37
+ * Native button form-association type. Only applied when rendered as `<button>`.
38
+ * Defaults to 'button' to avoid accidental form submission.
39
+ */
40
+ htmlType?: 'button' | 'submit' | 'reset';
41
+ };
42
+ type PolymorphicRef$5<C extends React__default.ElementType> = React__default.ComponentPropsWithRef<C>['ref'];
43
+ type ButtonProps<C extends React__default.ElementType = 'button'> = ButtonOwnProps & {
44
+ /** Render as a different element/component (e.g. react-router `Link`). Defaults to `<button>`. */
45
+ as?: C;
46
+ ref?: PolymorphicRef$5<C>;
47
+ } & Omit<React__default.ComponentPropsWithoutRef<C>, keyof ButtonOwnProps | 'as' | 'ref'>;
48
+ declare function Button<C extends React__default.ElementType = 'button'>({ as, type, size, active, loading, leftIcon, rightIcon, children, className, disabled, onClick, style, ref, htmlType, ...rest }: ButtonProps<C>): react_jsx_runtime.JSX.Element;
49
+
50
+ declare const iconButton2Variants: (props?: ({
51
+ type?: "primary" | "secondary" | "tertiary" | "tertiaryGrey" | "ghost" | "ghostGrey" | "dangerPrimary" | "dangerTertiary" | "dangerGhost" | null | undefined;
52
+ size?: "xs" | "sm" | "md" | "lg" | "xl" | "expressive" | null | undefined;
53
+ active?: boolean | null | undefined;
54
+ loading?: boolean | null | undefined;
55
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
56
+ type IconButtonVariantProps = VariantProps<typeof iconButton2Variants>;
57
+ type IconButtonType = NonNullable<IconButtonVariantProps['type']>;
58
+ type IconButtonSize = NonNullable<IconButtonVariantProps['size']>;
59
+ type IconButtonOwnProps = {
60
+ /** Icon to render. Replaced by a spinner while `loading` is true. */
61
+ icon: React__default.ReactNode;
62
+ /** Visual type. Defaults to 'primary'. */
63
+ type?: IconButtonType;
64
+ /** Size scale. Defaults to 'md'. */
65
+ size?: IconButtonSize;
66
+ /** Pressed/selected toggle state. Paints the button as if `:active` is sticky. */
67
+ active?: boolean;
68
+ loading?: boolean;
476
69
  className?: string;
477
- icon?: any;
478
- iconPosition?: 'left' | 'right';
479
- iconVariant?: 'filled' | 'empty';
480
- minWidth?: number;
481
- whiteSpace?: CSSProperties['whiteSpace'];
482
- component?: react__default.ElementType;
70
+ /**
71
+ * Native button form-association type. Only applied when rendered as `<button>`.
72
+ * Defaults to 'button' to avoid accidental form submission.
73
+ */
74
+ htmlType?: 'button' | 'submit' | 'reset';
483
75
  };
484
- type ButtonProps = (Omit<react__default.AnchorHTMLAttributes<HTMLAnchorElement>, 'children' | 'media'> | Omit<react__default.ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'media'>) & BaseButtonProps;
485
- declare const Button: react__default.ForwardRefExoticComponent<FabricComponent<ButtonProps> & react__default.RefAttributes<unknown>>;
486
-
487
- interface AlertIconProps extends SVGProps<SVGSVGElement> {
488
- fill?: string;
489
- }
490
- declare const AlertIcon: ({ fill, ...props }: AlertIconProps) => react_jsx_runtime.JSX.Element;
491
-
492
- interface ApiIconProps extends SVGProps<SVGSVGElement> {
493
- fill?: string;
494
- }
495
- declare const ApiIcon: ({ fill, ...props }: ApiIconProps) => react_jsx_runtime.JSX.Element;
496
-
497
- interface ArrowCircleTopRightIconProps extends SVGProps<SVGSVGElement> {
498
- fill?: string;
499
- }
500
- declare const ArrowCircleTopRightIcon: ({ fill, ...props }: ArrowCircleTopRightIconProps) => react_jsx_runtime.JSX.Element;
501
-
502
- interface ArrowRightIconProps extends SVGProps<SVGSVGElement> {
503
- fill?: string;
504
- }
505
- declare const ArrowRightIcon: ({ fill, ...props }: ArrowRightIconProps) => react_jsx_runtime.JSX.Element;
506
-
507
- interface BugReportIconProps extends SVGProps<SVGSVGElement> {
508
- fill?: string;
509
- }
510
- declare const BugReportIcon: ({ fill, ...props }: BugReportIconProps) => react_jsx_runtime.JSX.Element;
511
-
512
- interface CalendarIconProps extends SVGProps<SVGSVGElement> {
513
- fill?: string;
514
- }
515
- declare const CalendarIcon: ({ fill, ...props }: CalendarIconProps) => react_jsx_runtime.JSX.Element;
516
-
517
- interface ChevronLeftIconProps extends SVGProps<SVGSVGElement> {
518
- fill?: string;
519
- }
520
- declare const ChevronLeftIcon: ({ fill, ...props }: ChevronLeftIconProps) => react_jsx_runtime.JSX.Element;
521
-
522
- interface ChevronRightIconProps$2 extends SVGProps<SVGSVGElement> {
523
- fill?: string;
524
- }
525
- declare const ChevronRightIcon: ({ fill, ...props }: ChevronRightIconProps$2) => react_jsx_runtime.JSX.Element;
526
-
527
- interface CloseCircleIconProps extends SVGProps<SVGSVGElement> {
528
- fill?: string;
529
- }
530
- declare const CloseCircleIcon: ({ fill, ...props }: CloseCircleIconProps) => react_jsx_runtime.JSX.Element;
531
-
532
- interface ClosedLockIconProps extends SVGProps<SVGSVGElement> {
533
- fill?: string;
534
- }
535
- declare const ClosedLockIcon: ({ fill, ...props }: ClosedLockIconProps) => react_jsx_runtime.JSX.Element;
536
-
537
- interface DataSetsIconProps$2 extends SVGProps<SVGSVGElement> {
538
- fill?: string;
539
- }
540
- declare const DataSetsIcon: ({ fill, ...props }: DataSetsIconProps$2) => react_jsx_runtime.JSX.Element;
541
-
542
- interface DeepSearchIconProps extends SVGProps<SVGSVGElement> {
543
- fill?: string;
544
- }
545
- declare const DeepSearchIcon: ({ fill, ...props }: DeepSearchIconProps) => react_jsx_runtime.JSX.Element;
546
-
547
- interface DisabledVisibleIconProps extends SVGProps<SVGSVGElement> {
548
- fill?: string;
549
- }
550
- declare const DisabledVisibleIcon: ({ fill, ...props }: DisabledVisibleIconProps) => react_jsx_runtime.JSX.Element;
551
-
552
- interface DocsIconProps extends SVGProps<SVGSVGElement> {
553
- fill?: string;
554
- }
555
- declare const DocsIcon: ({ fill, ...props }: DocsIconProps) => react_jsx_runtime.JSX.Element;
556
-
557
- interface DownloadIconProps extends SVGProps<SVGSVGElement> {
558
- fill?: string;
559
- }
560
- declare const DownloadIcon: ({ fill, ...props }: DownloadIconProps) => react_jsx_runtime.JSX.Element;
561
-
562
- interface EditUserIconProps extends SVGProps<SVGSVGElement> {
563
- fill?: string;
564
- }
565
- declare const EditUserIcon: ({ fill, ...props }: EditUserIconProps) => react_jsx_runtime.JSX.Element;
566
-
567
- interface EnableVisibleIconProps extends SVGProps<SVGSVGElement> {
568
- fill?: string;
569
- }
570
- declare const EnableVisibleIcon: ({ fill, ...props }: EnableVisibleIconProps) => react_jsx_runtime.JSX.Element;
571
-
572
- interface EnterArrowLeftIconProps extends SVGProps<SVGSVGElement> {
573
- fill?: string;
574
- }
575
- declare const EnterArrowLeftIcon: ({ fill, ...props }: EnterArrowLeftIconProps) => react_jsx_runtime.JSX.Element;
576
-
577
- interface FiltersIconProps extends SVGProps<SVGSVGElement> {
578
- fill?: string;
579
- }
580
- declare const FiltersIcon: ({ fill, ...props }: FiltersIconProps) => react_jsx_runtime.JSX.Element;
581
-
582
- declare const FolderIcon: (props: SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
583
-
584
- interface HomepageIconProps extends SVGProps<SVGSVGElement> {
585
- fill?: string;
586
- }
587
- declare const HomepageIcon: ({ fill, ...props }: HomepageIconProps) => react_jsx_runtime.JSX.Element;
588
-
589
- interface InfoCircleIconProps$3 extends SVGProps<SVGSVGElement> {
590
- fill?: string;
591
- }
592
- declare const InfoCircleIcon: ({ fill, ...props }: InfoCircleIconProps$3) => react_jsx_runtime.JSX.Element;
593
-
594
- interface MapRadarIconProps extends SVGProps<SVGSVGElement> {
595
- fill?: string;
596
- }
597
- declare const MapRadarIcon: ({ fill, ...props }: MapRadarIconProps) => react_jsx_runtime.JSX.Element;
598
-
599
- interface MoonIconProps extends SVGProps<SVGSVGElement> {
600
- fill?: string;
601
- }
602
- declare const MoonIcon: ({ fill, ...props }: MoonIconProps) => react_jsx_runtime.JSX.Element;
603
-
604
- interface OpenLockIconProps extends SVGProps<SVGSVGElement> {
605
- fill?: string;
606
- }
607
- declare const OpenLockIcon: ({ fill, ...props }: OpenLockIconProps) => react_jsx_runtime.JSX.Element;
608
-
609
- interface OrganizationIconProps extends SVGProps<SVGSVGElement> {
610
- fill?: string;
611
- }
612
- declare const OrganizationIcon: ({ fill, ...props }: OrganizationIconProps) => react_jsx_runtime.JSX.Element;
613
-
614
- interface PasswordFinderIconProps extends SVGProps<SVGSVGElement> {
615
- fill?: string;
616
- }
617
- declare const PasswordFinderIcon: ({ fill, ...props }: PasswordFinderIconProps) => react_jsx_runtime.JSX.Element;
618
-
619
- interface PhonebookIconProps extends SVGProps<SVGSVGElement> {
620
- fill?: string;
621
- }
622
- declare const PhonebookIcon: ({ fill, ...props }: PhonebookIconProps) => react_jsx_runtime.JSX.Element;
623
-
624
- interface PrintIconProps$2 extends SVGProps<SVGSVGElement> {
625
- fill?: string;
626
- }
627
- declare const PrintIcon: ({ fill, ...props }: PrintIconProps$2) => react_jsx_runtime.JSX.Element;
628
-
629
- interface Profiler20IconProps extends SVGProps<SVGSVGElement> {
630
- fill?: string;
631
- }
632
- declare const Profiler2Icon: ({ fill, ...props }: Profiler20IconProps) => react_jsx_runtime.JSX.Element;
633
-
634
- interface ProfilerIconProps extends SVGProps<SVGSVGElement> {
635
- fill?: string;
636
- }
637
- declare const ProfilerIcon: ({ fill, ...props }: ProfilerIconProps) => react_jsx_runtime.JSX.Element;
638
-
639
- interface SandBoxIconProps extends SVGProps<SVGSVGElement> {
640
- fill?: string;
641
- }
642
- declare const SandBoxIcon: ({ fill, ...props }: SandBoxIconProps) => react_jsx_runtime.JSX.Element;
643
-
644
- interface SearchIconProps extends SVGProps<SVGSVGElement> {
645
- stroke?: string;
646
- }
647
- declare const SearchIcon: ({ stroke, ...props }: SearchIconProps) => react_jsx_runtime.JSX.Element;
648
-
649
- interface StatisticIconProps extends SVGProps<SVGSVGElement> {
650
- fill?: string;
651
- }
652
- declare const StatisticIcon: ({ fill, ...props }: StatisticIconProps) => react_jsx_runtime.JSX.Element;
653
-
654
- interface SunIconProps extends SVGProps<SVGSVGElement> {
655
- fill?: string;
656
- stroke?: string;
657
- }
658
- declare const SunIcon: ({ fill, stroke, ...props }: SunIconProps) => react_jsx_runtime.JSX.Element;
659
-
660
- interface UpRightArrowCircleIconProps extends SVGProps<SVGSVGElement> {
661
- fill?: string;
662
- }
663
- declare const UpRightArrowCircleIcon: ({ fill, ...props }: UpRightArrowCircleIconProps) => react_jsx_runtime.JSX.Element;
664
-
665
- interface VectorIconProps extends SVGProps<SVGSVGElement> {
666
- fill?: string;
667
- }
668
- declare const VectorIcon: ({ fill, ...props }: VectorIconProps) => react_jsx_runtime.JSX.Element;
669
-
670
- interface InfoCircleIconProps$2 extends SVGProps<SVGSVGElement> {
671
- fill?: string;
672
- }
673
- declare const BallsMenu: ({ fill, ...props }: InfoCircleIconProps$2) => react_jsx_runtime.JSX.Element;
674
-
675
- interface InfoCircleIconProps$1 extends SVGProps<SVGSVGElement> {
676
- fill?: string;
677
- }
678
- declare const CheckIcon: ({ fill, ...props }: InfoCircleIconProps$1) => react_jsx_runtime.JSX.Element;
679
-
680
- interface ChevronRightIconProps$1 extends SVGProps<SVGSVGElement> {
681
- fill?: string;
682
- }
683
- declare const ChevronDownIcon: ({ fill, ...props }: ChevronRightIconProps$1) => react_jsx_runtime.JSX.Element;
684
-
685
- interface ChevronRightIconProps extends SVGProps<SVGSVGElement> {
686
- fill?: string;
687
- }
688
- declare const ChevronUpIcon: ({ fill, ...props }: ChevronRightIconProps) => react_jsx_runtime.JSX.Element;
689
-
690
- interface PrintIconProps$1 extends SVGProps<SVGSVGElement> {
691
- fill?: string;
692
- }
693
- declare const PlusIcon: ({ fill, ...props }: PrintIconProps$1) => react_jsx_runtime.JSX.Element;
694
-
695
- interface PrintIconProps extends SVGProps<SVGSVGElement> {
696
- fill?: string;
697
- }
698
- declare const UsersIcon: ({ fill, ...props }: PrintIconProps) => react_jsx_runtime.JSX.Element;
699
-
700
- interface InfoCircleIconProps extends SVGProps<SVGSVGElement> {
701
- fill?: string;
702
- }
703
- declare const InfoCircleFilledIcon: ({ fill, ...props }: InfoCircleIconProps) => react_jsx_runtime.JSX.Element;
704
-
705
- interface DataSetsIconProps$1 extends SVGProps<SVGSVGElement> {
706
- fill?: string;
707
- }
708
- declare const UnfoldIcon: ({ fill, ...props }: DataSetsIconProps$1) => react_jsx_runtime.JSX.Element;
709
-
710
- interface DataSetsIconProps extends SVGProps<SVGSVGElement> {
711
- fill?: string;
712
- }
713
- declare const CrossIcon: ({ fill, ...props }: DataSetsIconProps) => react_jsx_runtime.JSX.Element;
714
-
715
- interface MaximizeIconProps extends SVGProps<SVGSVGElement> {
716
- fill?: string;
717
- }
718
- declare const MaximizeIcon: ({ fill, ...props }: MaximizeIconProps) => react_jsx_runtime.JSX.Element;
719
-
720
- interface BusIconProps extends SVGProps<SVGSVGElement> {
721
- fill?: string;
722
- }
723
- declare const BusIcon: ({ fill, ...props }: BusIconProps) => react_jsx_runtime.JSX.Element;
724
-
725
- interface CarIconProps extends SVGProps<SVGSVGElement> {
726
- fill?: string;
727
- }
728
- declare const CarIcon: ({ fill, ...props }: CarIconProps) => react_jsx_runtime.JSX.Element;
729
-
730
- interface WayIconProps extends SVGProps<SVGSVGElement> {
731
- fill?: string;
732
- }
733
- declare const WayIcon: ({ fill, ...props }: WayIconProps) => react_jsx_runtime.JSX.Element;
734
-
735
- interface PlaneIconProps extends SVGProps<SVGSVGElement> {
736
- fill?: string;
737
- }
738
- declare const PlaneIcon: ({ fill, ...props }: PlaneIconProps) => react_jsx_runtime.JSX.Element;
739
-
740
- interface ShipIconProps extends SVGProps<SVGSVGElement> {
741
- fill?: string;
742
- }
743
- declare const ShipIcon: ({ fill, ...props }: ShipIconProps) => react_jsx_runtime.JSX.Element;
744
-
745
- interface FileIconProps extends SVGProps<SVGSVGElement> {
746
- fill?: string;
747
- }
748
- declare const FileIcon: ({ fill, ...props }: FileIconProps) => react_jsx_runtime.JSX.Element;
749
-
750
- declare const File2Icon: (props: SVGProps<SVGSVGElement>) => react_jsx_runtime.JSX.Element;
751
-
752
- interface IosIconProps extends SVGProps<SVGSVGElement> {
753
- fill?: string;
754
- }
755
- declare const IosIcon: ({ fill, ...props }: IosIconProps) => react_jsx_runtime.JSX.Element;
756
-
757
- interface AndroidIconProps extends SVGProps<SVGSVGElement> {
758
- fill?: string;
759
- }
760
- declare const AndroidIcon: ({ fill, ...props }: AndroidIconProps) => react_jsx_runtime.JSX.Element;
761
-
762
- interface MicrosoftIconProps extends SVGProps<SVGSVGElement> {
763
- fill?: string;
764
- }
765
- declare const MicrosoftIcon: ({ fill, ...props }: MicrosoftIconProps) => react_jsx_runtime.JSX.Element;
766
-
767
- interface FolderAlertIconProps extends SVGProps<SVGSVGElement> {
768
- fill?: string;
769
- }
770
- declare const FolderAlertIcon: ({ fill, ...props }: FolderAlertIconProps) => react_jsx_runtime.JSX.Element;
771
-
772
- interface RelationIconProps extends SVGProps<SVGSVGElement> {
773
- fill?: string;
774
- }
775
- declare const RelationIcon: ({ fill, ...props }: RelationIconProps) => react_jsx_runtime.JSX.Element;
776
-
777
- interface RelationPointsIconProps extends SVGProps<SVGSVGElement> {
778
- fill?: string;
779
- }
780
- declare const RelationPointsIcon: ({ fill, ...props }: RelationPointsIconProps) => react_jsx_runtime.JSX.Element;
781
-
782
- interface PassportIconProps extends SVGProps<SVGSVGElement> {
783
- fill?: string;
784
- }
785
- declare const PassportIcon: ({ fill, ...props }: PassportIconProps) => react_jsx_runtime.JSX.Element;
786
-
787
- interface PointIconProps extends SVGProps<SVGSVGElement> {
788
- fill?: string;
789
- }
790
- declare const PointIcon: ({ fill, ...props }: PointIconProps) => react_jsx_runtime.JSX.Element;
791
-
792
- interface PencilIconProps extends SVGProps<SVGSVGElement> {
793
- fill?: string;
794
- }
795
- declare const PencilIcon: ({ fill, ...props }: PencilIconProps) => react_jsx_runtime.JSX.Element;
796
-
797
- interface UserInCircleIconProps extends SVGProps<SVGSVGElement> {
798
- fill?: string;
799
- }
800
- declare const UserInCircleIcon: ({ fill, ...props }: UserInCircleIconProps) => react_jsx_runtime.JSX.Element;
801
-
802
- interface FlashIconProps extends SVGProps<SVGSVGElement> {
803
- fill?: string;
804
- }
805
- declare const FlashIcon: ({ fill, ...props }: FlashIconProps) => react_jsx_runtime.JSX.Element;
806
-
807
- interface FolderInfoIconProps extends SVGProps<SVGSVGElement> {
808
- fill?: string;
809
- }
810
- declare const FolderInfoIcon: ({ fill, ...props }: FolderInfoIconProps) => react_jsx_runtime.JSX.Element;
811
-
812
- interface RotateLeftIconProps extends SVGProps<SVGSVGElement> {
813
- fill?: string;
814
- }
815
- declare const RotateLeftIcon: ({ fill, ...props }: RotateLeftIconProps) => react_jsx_runtime.JSX.Element;
816
-
817
- interface RotateRightIconProps extends SVGProps<SVGSVGElement> {
818
- fill?: string;
819
- }
820
- declare const RotateRightIcon: ({ fill, ...props }: RotateRightIconProps) => react_jsx_runtime.JSX.Element;
821
-
822
- interface UploadImageIconProps extends SVGProps<SVGSVGElement> {
823
- fill?: string;
824
- }
825
- declare const UploadImageIcon: ({ fill, ...props }: UploadImageIconProps) => react_jsx_runtime.JSX.Element;
826
-
827
- interface BurgerMenuIconProps extends SVGProps<SVGSVGElement> {
828
- fill?: string;
829
- }
830
- declare const BurgerMenuIcon: ({ fill, ...props }: BurgerMenuIconProps) => react_jsx_runtime.JSX.Element;
831
-
832
- interface ClockIconProps extends SVGProps<SVGSVGElement> {
833
- fill?: string;
834
- }
835
- declare const ClockIcon: ({ fill, ...props }: ClockIconProps) => react_jsx_runtime.JSX.Element;
836
-
837
- interface MinusIconProps extends SVGProps<SVGSVGElement> {
838
- fill?: string;
839
- }
840
- declare const MinusIcon: ({ fill, ...props }: MinusIconProps) => react_jsx_runtime.JSX.Element;
841
-
842
- interface ImageIconProps extends SVGProps<SVGSVGElement> {
843
- fill?: string;
844
- }
845
- declare const ImageIcon: ({ fill, ...props }: ImageIconProps) => react_jsx_runtime.JSX.Element;
846
-
847
- interface FaceSearchIconProps extends SVGProps<SVGSVGElement> {
848
- fill?: string;
849
- }
850
- declare const FaceSearchIcon: ({ fill, ...props }: FaceSearchIconProps) => react_jsx_runtime.JSX.Element;
851
-
852
- interface MessageAsteriskIconProps extends SVGProps<SVGSVGElement> {
853
- fill?: string;
854
- }
855
- declare const MessageAsteriskIcon: ({ fill, ...props }: MessageAsteriskIconProps) => react_jsx_runtime.JSX.Element;
856
-
857
- type SidebarProps = {
76
+ type PolymorphicRef$4<C extends React__default.ElementType> = React__default.ComponentPropsWithRef<C>['ref'];
77
+ type IconButtonProps<C extends React__default.ElementType = 'button'> = IconButtonOwnProps & {
78
+ /** Render as a different element/component (e.g. react-router `Link`). Defaults to `<button>`. */
79
+ as?: C;
80
+ ref?: PolymorphicRef$4<C>;
81
+ } & Omit<React__default.ComponentPropsWithoutRef<C>, keyof IconButtonOwnProps | 'as' | 'ref'>;
82
+ declare function IconButton<C extends React__default.ElementType = 'button'>({ as, icon, type, size, active, loading, className, disabled, onClick, ref, htmlType, ...rest }: IconButtonProps<C>): react_jsx_runtime.JSX.Element;
83
+
84
+ type CheckboxProps = Omit<React__default.InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> & {
85
+ /** Top label (small, above the checkbox row). */
86
+ label?: React__default.ReactNode;
87
+ /** Optional info icon next to the label (slot for tooltip target). Pass `true` for default <i> icon. */
88
+ info?: React__default.ReactNode | boolean;
89
+ /** Inline value text rendered next to the checkbox box. */
90
+ children?: React__default.ReactNode;
91
+ helperText?: React__default.ReactNode;
92
+ /** Pass `true` for invalid state without text, or a string to show error message. */
93
+ error?: string | boolean;
94
+ /** Pass `true` for warning state without text, or a string to show warning message. */
95
+ warning?: string | boolean;
96
+ /** Third (mixed) checkbox state. Resolved into `:indeterminate` on the native input. */
97
+ indeterminate?: boolean;
98
+ /** Read-only state — visible but not interactive. Different from disabled. */
99
+ readOnly?: boolean;
100
+ /** Outer wrapper class (label + checkbox row + helper). */
101
+ rootClassName?: string;
102
+ /** Class for the visual checkbox box. */
858
103
  className?: string;
859
- collapsed?: boolean;
860
- mobileMode?: 'button' | 'collapse';
861
- } & react__default.HTMLAttributes<HTMLDivElement>;
862
- declare const Sidebar: react__default.ForwardRefExoticComponent<{
104
+ };
105
+ declare const Checkbox: React__default.ForwardRefExoticComponent<Omit<React__default.InputHTMLAttributes<HTMLInputElement>, "type" | "size"> & {
106
+ /** Top label (small, above the checkbox row). */
107
+ label?: React__default.ReactNode;
108
+ /** Optional info icon next to the label (slot for tooltip target). Pass `true` for default <i> icon. */
109
+ info?: React__default.ReactNode | boolean;
110
+ /** Inline value text rendered next to the checkbox box. */
111
+ children?: React__default.ReactNode;
112
+ helperText?: React__default.ReactNode;
113
+ /** Pass `true` for invalid state without text, or a string to show error message. */
114
+ error?: string | boolean;
115
+ /** Pass `true` for warning state without text, or a string to show warning message. */
116
+ warning?: string | boolean;
117
+ /** Third (mixed) checkbox state. Resolved into `:indeterminate` on the native input. */
118
+ indeterminate?: boolean;
119
+ /** Read-only state — visible but not interactive. Different from disabled. */
120
+ readOnly?: boolean;
121
+ /** Outer wrapper class (label + checkbox row + helper). */
122
+ rootClassName?: string;
123
+ /** Class for the visual checkbox box. */
863
124
  className?: string;
864
- collapsed?: boolean;
865
- mobileMode?: "button" | "collapse";
866
- } & react__default.HTMLAttributes<HTMLDivElement> & {
867
- m?: string | number;
868
- mt?: string | number;
869
- mr?: string | number;
870
- mb?: string | number;
871
- ml?: string | number;
872
- mx?: string | number;
873
- my?: string | number;
874
- p?: string | number;
875
- pt?: string | number;
876
- pr?: string | number;
877
- pb?: string | number;
878
- pl?: string | number;
879
- px?: string | number;
880
- py?: string | number;
881
- } & {
882
- media?: {
883
- xs?: Partial<SidebarProps> | undefined;
884
- s?: Partial<SidebarProps> | undefined;
885
- m?: Partial<SidebarProps> | undefined;
886
- l?: Partial<SidebarProps> | undefined;
887
- xl?: Partial<SidebarProps> | undefined;
888
- } | undefined;
889
- } & react__default.RefAttributes<unknown>>;
890
-
891
- interface SidebarContext {
892
- collapsed: boolean;
893
- }
894
- declare const SidebarContext: react.Context<SidebarContext>;
125
+ } & React__default.RefAttributes<HTMLInputElement>>;
895
126
 
896
- interface SidebarItemBase {
127
+ type CounterProps = {
897
128
  active?: boolean;
898
- icon?: React.ReactNode;
899
- label?: string;
900
- height?: number;
901
- component?: React.ElementType;
129
+ count: number;
902
130
  className?: string;
903
- title?: string;
904
- }
905
- interface SidebarItemAnchor {
906
- href: string;
907
- onClick?: (e: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void;
908
- target?: '_blank' | '_self' | '_parent' | '_top';
909
- }
910
- interface SidebarItemButton {
911
- type?: 'button' | 'reset' | 'submit';
912
- onClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
913
- }
914
- type SidebarItemProps = SidebarItemBase & (SidebarItemAnchor | SidebarItemButton);
915
- declare const SidebarItem: ({ active, icon, label, component, title, height, ...props }: SidebarItemProps) => react_jsx_runtime.JSX.Element;
916
-
917
- declare const SidebarDelimeter: () => react_jsx_runtime.JSX.Element;
131
+ };
132
+ declare const Counter: FC<CounterProps>;
918
133
 
919
- interface SidebarSectionProps {
920
- grow?: number;
921
- shrink?: number;
922
- basis?: CSSProperties['flexBasis'];
923
- className?: string;
924
- children: React.ReactNode;
925
- }
926
- declare const SidebarSection: ({ grow, shrink, basis, className, children }: SidebarSectionProps) => react_jsx_runtime.JSX.Element;
134
+ type CounterTagLevel = 'none' | 'low' | 'medium' | 'hight';
135
+ type BaseCounterTagProps = {
136
+ count: number;
137
+ level?: CounterTagLevel;
138
+ };
139
+ type CounterTagProps = Omit<React__default.HTMLAttributes<HTMLDivElement>, keyof BaseCounterTagProps> & BaseCounterTagProps;
140
+ declare const CounterTag: React__default.ForwardRefExoticComponent<Omit<React__default.HTMLAttributes<HTMLDivElement>, keyof BaseCounterTagProps> & BaseCounterTagProps & React__default.RefAttributes<HTMLDivElement>>;
927
141
 
928
- type TypographyProps = FabricComponent<{
929
- style?: CSSProperties$1;
930
- variant?: TypographyVariant;
931
- element?: ElementType;
932
- children: any;
933
- weight?: CSSProperties$1['fontWeight'];
934
- fontStyle?: CSSProperties$1['fontStyle'];
935
- color?: ColorVariant | string;
936
- className?: string;
937
- ellipsis?: boolean;
938
- }> & Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>;
939
- declare const Typography: react.ForwardRefExoticComponent<{
940
- style?: CSSProperties$1;
941
- variant?: TypographyVariant;
942
- element?: ElementType;
943
- children: any;
944
- weight?: CSSProperties$1["fontWeight"];
945
- fontStyle?: CSSProperties$1["fontStyle"];
946
- color?: ColorVariant | string;
947
- className?: string;
948
- ellipsis?: boolean;
949
- } & {
950
- m?: string | number;
951
- mt?: string | number;
952
- mr?: string | number;
953
- mb?: string | number;
954
- ml?: string | number;
955
- mx?: string | number;
956
- my?: string | number;
957
- p?: string | number;
958
- pt?: string | number;
959
- pr?: string | number;
960
- pb?: string | number;
961
- pl?: string | number;
962
- px?: string | number;
963
- py?: string | number;
964
- } & {
965
- media?: {
966
- xs?: Partial<{
967
- style?: CSSProperties$1;
968
- variant?: TypographyVariant;
969
- element?: ElementType;
970
- children: any;
971
- weight?: CSSProperties$1["fontWeight"];
972
- fontStyle?: CSSProperties$1["fontStyle"];
973
- color?: ColorVariant | string;
974
- className?: string;
975
- ellipsis?: boolean;
976
- }> | undefined;
977
- s?: Partial<{
978
- style?: CSSProperties$1;
979
- variant?: TypographyVariant;
980
- element?: ElementType;
981
- children: any;
982
- weight?: CSSProperties$1["fontWeight"];
983
- fontStyle?: CSSProperties$1["fontStyle"];
984
- color?: ColorVariant | string;
985
- className?: string;
986
- ellipsis?: boolean;
987
- }> | undefined;
988
- m?: Partial<{
989
- style?: CSSProperties$1;
990
- variant?: TypographyVariant;
991
- element?: ElementType;
992
- children: any;
993
- weight?: CSSProperties$1["fontWeight"];
994
- fontStyle?: CSSProperties$1["fontStyle"];
995
- color?: ColorVariant | string;
996
- className?: string;
997
- ellipsis?: boolean;
998
- }> | undefined;
999
- l?: Partial<{
1000
- style?: CSSProperties$1;
1001
- variant?: TypographyVariant;
1002
- element?: ElementType;
1003
- children: any;
1004
- weight?: CSSProperties$1["fontWeight"];
1005
- fontStyle?: CSSProperties$1["fontStyle"];
1006
- color?: ColorVariant | string;
1007
- className?: string;
1008
- ellipsis?: boolean;
1009
- }> | undefined;
1010
- xl?: Partial<{
1011
- style?: CSSProperties$1;
1012
- variant?: TypographyVariant;
1013
- element?: ElementType;
1014
- children: any;
1015
- weight?: CSSProperties$1["fontWeight"];
1016
- fontStyle?: CSSProperties$1["fontStyle"];
1017
- color?: ColorVariant | string;
1018
- className?: string;
1019
- ellipsis?: boolean;
1020
- }> | undefined;
1021
- } | undefined;
1022
- } & Omit<react.HTMLAttributes<HTMLDivElement>, "children"> & {
1023
- media?: {
1024
- xs?: Partial<TypographyProps> | undefined;
1025
- s?: Partial<TypographyProps> | undefined;
1026
- m?: Partial<TypographyProps> | undefined;
1027
- l?: Partial<TypographyProps> | undefined;
1028
- xl?: Partial<TypographyProps> | undefined;
1029
- } | undefined;
1030
- } & react.RefAttributes<unknown>>;
1031
-
1032
- interface ListMenuProps {
1033
- children: any;
1034
- width?: number;
142
+ type LineProps = {
143
+ direction?: 'horizontal' | 'vertical';
1035
144
  className?: string;
1036
- }
1037
- declare const ListMenu: ({ children, className, width }: ListMenuProps) => react_jsx_runtime.JSX.Element;
1038
-
1039
- type ListMenuItemBase = {
1040
- active?: boolean;
1041
- label?: string;
1042
- count?: number;
1043
- component?: React.ElementType;
1044
- };
1045
- type ListMenuItemAnchorProps = {
1046
- href: string;
1047
- onClick?: (e: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void;
1048
- target?: '_blank' | '_self' | '_parent' | '_top';
145
+ } & Omit<React__default.DetailedHTMLProps<React__default.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, 'children'>;
146
+ declare const Line: React__default.ForwardRefExoticComponent<Omit<LineProps, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
147
+
148
+ type BaseLinkProps = {
149
+ variant?: 'default' | 'icon';
150
+ startIcon?: React__default.ReactNode;
151
+ endIcon?: React__default.ReactNode;
152
+ children?: React__default.ReactNode;
153
+ /** Truncate overflowing children with ellipsis. Caller must constrain the link's width. */
154
+ truncate?: boolean;
1049
155
  };
1050
- type ListMenuItemButtonProps = {
1051
- type?: 'button' | 'reset' | 'submit';
1052
- onClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
1053
- };
1054
- type ListMenuItemProps = ListMenuItemBase & (ListMenuItemAnchorProps | ListMenuItemButtonProps);
1055
- declare const ListMenuItem: ({ component, active, label, count, ...props }: ListMenuItemProps) => react_jsx_runtime.JSX.Element;
1056
-
1057
- interface ListMenuSectionProps {
1058
- items: any;
1059
- title?: string;
156
+ type PolymorphicRef$3<C extends React__default.ElementType> = React__default.ComponentPropsWithRef<C>['ref'];
157
+ type LinkProps<C extends React__default.ElementType = 'a'> = BaseLinkProps & {
158
+ /** Render as a different element/component (e.g. react-router `Link`). Defaults to `<a>`. */
159
+ as?: C;
160
+ ref?: PolymorphicRef$3<C>;
161
+ } & Omit<React__default.ComponentPropsWithoutRef<C>, keyof BaseLinkProps | 'as' | 'ref'>;
162
+ declare function Link<C extends React__default.ElementType = 'a'>({ as, variant, startIcon, endIcon, truncate, className, children, ref, ...rest }: LinkProps<C>): react_jsx_runtime.JSX.Element;
163
+ declare namespace Link {
164
+ var displayName: string;
1060
165
  }
1061
- declare const ListMenuSection: ({ title, items }: ListMenuSectionProps) => react_jsx_runtime.JSX.Element;
1062
-
1063
- interface HeaderProps {
1064
- children?: any;
1065
- }
1066
- declare const Header: react.ForwardRefExoticComponent<HeaderProps & react.RefAttributes<HTMLHeadElement>>;
1067
-
1068
- declare const HeaderDelimeter: () => react_jsx_runtime.JSX.Element;
1069
166
 
1070
- interface HeaderSectionProps {
1071
- grow?: CSSProperties$1['flexGrow'];
1072
- shrink?: CSSProperties$1['flexShrink'];
1073
- basis?: CSSProperties$1['flexBasis'];
1074
- justify?: CSSProperties$1['justifyContent'];
1075
- children?: React.ReactNode;
1076
- }
1077
- declare const HeaderSection: ({ grow, shrink, basis, justify, children }: HeaderSectionProps) => react_jsx_runtime.JSX.Element;
1078
-
1079
- type ColumnTable<ID = string> = {
1080
- id: ID;
1081
- title: string;
1082
- width?: CSSProperties$1['width'];
167
+ type OverlayProps = {
168
+ children: React__default.ReactNode;
169
+ onOutsideClick?: () => void;
170
+ isLocked?: boolean;
1083
171
  className?: string;
1084
172
  };
1085
- type RenderCellProps<T = string> = {
1086
- rowIndex: number;
1087
- cellIndex: number;
1088
- columnId: T;
1089
- };
1090
- type RenderHeaderCellProps<T = string> = {
1091
- title: string;
1092
- columnId: T;
1093
- };
1094
- interface TableProps {
1095
- columns: ColumnTable[];
1096
- rowCount: number;
1097
- renderCell: (props: RenderCellProps<any>) => any;
1098
- renderHeaderCell?: (props: RenderHeaderCellProps<any>) => any;
1099
- rowIds?: string[];
1100
- hasHeader?: boolean;
1101
- hasBorder?: boolean;
1102
- cellPadding?: number;
1103
- }
1104
- declare const Table: ({ columns, rowCount, renderCell, renderHeaderCell, rowIds, hasHeader, hasBorder, cellPadding, }: TableProps) => react_jsx_runtime.JSX.Element;
173
+ declare const Overlay: ({ children, onOutsideClick, isLocked, className, }: OverlayProps) => React__default.ReactPortal | null;
1105
174
 
1106
- interface PaginationProps {
1107
- total_items: number;
1108
- limit: number;
1109
- offset: number;
1110
- paginationPageLimit?: number;
1111
- visiblePageLimit?: number;
1112
- diffPageLimit?: number;
1113
- component?: React.ElementType;
1114
- getHref?: (page: number) => string;
1115
- onChangePage?: (offset: number) => void;
1116
- }
1117
- declare const Pagination: ({ component, total_items, limit, offset, paginationPageLimit, visiblePageLimit, diffPageLimit, getHref, onChangePage, }: PaginationProps) => react_jsx_runtime.JSX.Element;
1118
-
1119
- interface ContextMenuProps {
1120
- isOpen: boolean;
1121
- onClick: () => void;
1122
- onClickOutside: (e: MouseEvent) => void;
1123
- size?: ButtonSize;
1124
- disabled?: boolean;
175
+ declare const Panel: React__default.ForwardRefExoticComponent<{
176
+ as?: "div" | "section" | "article";
177
+ className?: string;
178
+ children?: React__default.ReactNode;
179
+ } & React__default.HTMLAttributes<HTMLDivElement> & React__default.RefAttributes<HTMLDivElement>>;
180
+
181
+ declare const trackVariants: (props?: ({
182
+ size?: "big" | "small" | null | undefined;
183
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
184
+ declare const fillVariants: (props?: ({
185
+ status?: "active" | "error" | "finished" | null | undefined;
186
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
187
+ declare const containerVariants: (props?: ({
188
+ type?: "default" | "inline" | "indented" | null | undefined;
189
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
190
+ type ProgressBarVariantProps = VariantProps<typeof trackVariants> & VariantProps<typeof fillVariants> & VariantProps<typeof containerVariants>;
191
+ type ProgressBarStatus = NonNullable<ProgressBarVariantProps['status']>;
192
+ type ProgressBarSize = NonNullable<ProgressBarVariantProps['size']>;
193
+ type ProgressBarType = NonNullable<ProgressBarVariantProps['type']>;
194
+ type ProgressBarProps = {
195
+ /** Visible label above (or beside, in `inline` type) the bar. */
196
+ label?: React__default.ReactNode;
197
+ /** Optional helper text rendered under the bar. */
198
+ helperText?: React__default.ReactNode;
199
+ /** When true, the label is rendered only to assistive tech (sr-only). */
200
+ hideLabel?: boolean;
201
+ /** Maximum progress value. Defaults to 100. */
202
+ max?: number;
203
+ /**
204
+ * Current progress value. When `status === 'active'` and `value` is omitted
205
+ * (or null), the bar renders an indeterminate animation.
206
+ */
207
+ value?: number | null;
208
+ /** Bar height. `big` = 8px, `small` = 4px. Defaults to `big`. */
209
+ size?: ProgressBarSize;
210
+ /** Visual status. `active` shows progress; `finished` paints success; `error` paints error. */
211
+ status?: ProgressBarStatus;
212
+ /** Layout variant. */
213
+ type?: ProgressBarType;
214
+ className?: string;
215
+ } & Omit<React__default.HTMLAttributes<HTMLDivElement>, 'children'>;
216
+ declare const ProgressBar: React__default.ForwardRefExoticComponent<{
217
+ /** Visible label above (or beside, in `inline` type) the bar. */
218
+ label?: React__default.ReactNode;
219
+ /** Optional helper text rendered under the bar. */
220
+ helperText?: React__default.ReactNode;
221
+ /** When true, the label is rendered only to assistive tech (sr-only). */
222
+ hideLabel?: boolean;
223
+ /** Maximum progress value. Defaults to 100. */
224
+ max?: number;
225
+ /**
226
+ * Current progress value. When `status === 'active'` and `value` is omitted
227
+ * (or null), the bar renders an indeterminate animation.
228
+ */
229
+ value?: number | null;
230
+ /** Bar height. `big` = 8px, `small` = 4px. Defaults to `big`. */
231
+ size?: ProgressBarSize;
232
+ /** Visual status. `active` shows progress; `finished` paints success; `error` paints error. */
233
+ status?: ProgressBarStatus;
234
+ /** Layout variant. */
235
+ type?: ProgressBarType;
236
+ className?: string;
237
+ } & Omit<React__default.HTMLAttributes<HTMLDivElement>, "children"> & React__default.RefAttributes<HTMLDivElement>>;
238
+
239
+ declare const fieldVariants$3: (props?: ({
240
+ variant?: "solid" | "default" | null | undefined;
241
+ state?: "disabled" | "default" | "filled" | "readonly" | null | undefined;
242
+ multiline?: boolean | null | undefined;
243
+ size?: "sm" | "md" | null | undefined;
244
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
245
+ type SearchInputVariant = NonNullable<VariantProps<typeof fieldVariants$3>['variant']>;
246
+ type SearchInputSize = NonNullable<VariantProps<typeof fieldVariants$3>['size']>;
247
+ type SearchInputElement = HTMLInputElement | HTMLTextAreaElement;
248
+ type SearchInputProps = Omit<React__default.InputHTMLAttributes<HTMLInputElement>, 'size' | 'prefix' | 'type' | 'onChange' | 'onKeyDown' | 'onFocus' | 'onBlur'> & {
249
+ /** Show the clear (×) icon button when a value is present. Default: true. */
250
+ clearable?: boolean;
251
+ /** Called when the user clicks the clear icon. Receives a synthetic change with empty value. */
252
+ onClear?: () => void;
253
+ /** Render the field as read-only (Figma `State=Read-Only`). Hides the clear icon. */
254
+ readOnly?: boolean;
255
+ variant?: SearchInputVariant;
256
+ /** Field height. `md` (48px, default) or `sm` (32px, matches IconButton sm). */
257
+ size?: SearchInputSize;
1125
258
  fullWidth?: boolean;
259
+ /**
260
+ * Collapse the field to a search-icon-only width and expand it on focus.
261
+ * The field stays expanded while it holds a value, so blurring a non-empty
262
+ * field does not collapse it. Single-line only — not combinable with
263
+ * `multiline`/`autoResize`. Forces `fullWidth=false`.
264
+ */
265
+ expandable?: boolean;
266
+ /** Width when collapsed (expandable mode). Number → px. Default 48 (icon box). */
267
+ collapsedWidth?: number | string;
268
+ /** Width when expanded (expandable mode). Number → px. Default 240. */
269
+ expandedWidth?: number | string;
270
+ /** Custom class for the field wrapper (overrides). */
1126
271
  className?: string;
1127
- children?: any;
1128
- anchor?: any;
1129
- positions?: PopoverPosition[] | PopoverPosition;
1130
- align?: PopoverAlign;
1131
- hasBorder?: boolean;
1132
- maxHeight?: number;
1133
- maxWidth?: number;
1134
- matchAnchorWidth?: boolean;
1135
- anchorIcon?: any;
1136
- hasShadow?: boolean;
1137
- }
1138
- declare const ContextMenu: ({ isOpen, onClickOutside, onClick, anchor, size, disabled, fullWidth, className, positions, align, children, hasBorder, maxHeight, maxWidth, matchAnchorWidth, anchorIcon, hasShadow, }: ContextMenuProps) => react_jsx_runtime.JSX.Element;
1139
-
1140
- interface StyledProps$1 {
1141
- }
1142
- declare const ContextMenuDelimiter: styled_components_dist_types.IStyledComponentBase<"web", styled_components_dist_types.Substitute<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, StyledProps$1>> & string;
1143
-
1144
- declare const useContextMenuControl: () => {
1145
- isOpen: boolean;
1146
- toggleMenu: () => void;
1147
- closeMenu: () => void;
1148
- openMenu: () => void;
1149
- };
1150
-
1151
- type SelectBaseProps<T extends string | number> = {
1152
- selected?: T;
1153
- options: {
1154
- value: T;
1155
- inputDisplay?: string;
1156
- }[];
1157
- onSelect: (id: T) => void;
1158
- placeholder: string;
1159
- disabled?: boolean;
1160
- positions?: PopoverPosition[] | PopoverPosition;
1161
- align?: PopoverAlign;
1162
- size?: ButtonSize;
1163
- hasBorder?: boolean;
1164
- maxHeight?: number;
1165
- maxWidth?: number;
1166
- matchAnchorWidth?: boolean;
1167
- };
1168
- type SelectDefaultProps = {
1169
- isSearchable?: false;
1170
- };
1171
- type SelectSearchableProps = {
1172
- isSearchable: true;
1173
- noOptionsMessage: string;
1174
- inputPlaceholder: string;
272
+ /**
273
+ * Slot rendered between the search icon and the input. Use for chips, tokens, or
274
+ * other content that should appear inline with the input. Wrapped in a flex
275
+ * container; switches to flex-wrap when `multiline` is true.
276
+ */
277
+ prepend?: React__default.ReactNode;
278
+ /**
279
+ * Allow content (prepend chips + input) to wrap onto multiple lines. Field grows
280
+ * vertically (min-h-12, h-auto) instead of staying single-line.
281
+ */
282
+ multiline?: boolean;
283
+ /**
284
+ * Render a textarea that grows vertically with content (Carbon-style auto-resize).
285
+ * When true, the input becomes a wrapping textarea; line breaks via Enter are
286
+ * still suppressed by `onSubmit`. Implies `multiline=true` for layout.
287
+ */
288
+ autoResize?: boolean;
289
+ /**
290
+ * Custom node rendered as a placeholder when the input is empty. Replaces the
291
+ * native placeholder. Useful for clickable links or composed placeholders.
292
+ */
293
+ placeholderSlot?: React__default.ReactNode;
294
+ /** Called when the user presses Enter (without Shift). */
295
+ onSubmit?: () => void;
296
+ /** Ref to the underlying <input>/<textarea> element (in addition to the forwarded ref). */
297
+ inputRef?: Ref<SearchInputElement>;
298
+ /** Ref to the field wrapper (used to align popovers/dropdowns). */
299
+ containerRef?: Ref<HTMLDivElement>;
300
+ /** Tailwind override applied directly to the <input>/<textarea>. */
301
+ inputClassName?: string;
302
+ /** Standard event handlers retyped for the union element. */
303
+ onChange?: React__default.ChangeEventHandler<SearchInputElement>;
304
+ onKeyDown?: React__default.KeyboardEventHandler<SearchInputElement>;
305
+ onFocus?: React__default.FocusEventHandler<SearchInputElement>;
306
+ onBlur?: React__default.FocusEventHandler<SearchInputElement>;
307
+ /**
308
+ * Neutral helper text rendered below the field. Suppressed when an
309
+ * `errorText` or `warningText` is present.
310
+ */
311
+ helperText?: React__default.ReactNode;
312
+ /**
313
+ * Warning helper text rendered below the field with a warning icon. Pass
314
+ * non-empty value to flag the field state as `warning` (yellow palette).
315
+ */
316
+ warningText?: React__default.ReactNode;
317
+ /**
318
+ * Error helper text rendered below the field with an error icon. Takes
319
+ * precedence over `warningText` and `helperText`.
320
+ */
321
+ errorText?: React__default.ReactNode;
322
+ /** Wrapper class around the field + helper message column. */
323
+ rootClassName?: string;
1175
324
  };
1176
- type SelectProps<T extends string | number> = SelectBaseProps<T> & (SelectSearchableProps | SelectDefaultProps);
1177
- declare const Select: <T extends string | number>({ options, selected, onSelect, placeholder, disabled, positions, align, size, hasBorder, maxHeight, maxWidth, matchAnchorWidth, isSearchable, ...props }: SelectProps<T>) => react_jsx_runtime.JSX.Element;
1178
-
1179
- type Action = {
1180
- label: string;
1181
- onClick: () => void;
1182
- color: ButtonColor;
325
+ declare const SearchInput: React__default.ForwardRefExoticComponent<Omit<React__default.InputHTMLAttributes<HTMLInputElement>, "type" | "size" | "onChange" | "prefix" | "onFocus" | "onBlur" | "onKeyDown"> & {
326
+ /** Show the clear (×) icon button when a value is present. Default: true. */
327
+ clearable?: boolean;
328
+ /** Called when the user clicks the clear icon. Receives a synthetic change with empty value. */
329
+ onClear?: () => void;
330
+ /** Render the field as read-only (Figma `State=Read-Only`). Hides the clear icon. */
331
+ readOnly?: boolean;
332
+ variant?: SearchInputVariant;
333
+ /** Field height. `md` (48px, default) or `sm` (32px, matches IconButton sm). */
334
+ size?: SearchInputSize;
335
+ fullWidth?: boolean;
336
+ /**
337
+ * Collapse the field to a search-icon-only width and expand it on focus.
338
+ * The field stays expanded while it holds a value, so blurring a non-empty
339
+ * field does not collapse it. Single-line only — not combinable with
340
+ * `multiline`/`autoResize`. Forces `fullWidth=false`.
341
+ */
342
+ expandable?: boolean;
343
+ /** Width when collapsed (expandable mode). Number → px. Default 48 (icon box). */
344
+ collapsedWidth?: number | string;
345
+ /** Width when expanded (expandable mode). Number → px. Default 240. */
346
+ expandedWidth?: number | string;
347
+ /** Custom class for the field wrapper (overrides). */
348
+ className?: string;
349
+ /**
350
+ * Slot rendered between the search icon and the input. Use for chips, tokens, or
351
+ * other content that should appear inline with the input. Wrapped in a flex
352
+ * container; switches to flex-wrap when `multiline` is true.
353
+ */
354
+ prepend?: React__default.ReactNode;
355
+ /**
356
+ * Allow content (prepend chips + input) to wrap onto multiple lines. Field grows
357
+ * vertically (min-h-12, h-auto) instead of staying single-line.
358
+ */
359
+ multiline?: boolean;
360
+ /**
361
+ * Render a textarea that grows vertically with content (Carbon-style auto-resize).
362
+ * When true, the input becomes a wrapping textarea; line breaks via Enter are
363
+ * still suppressed by `onSubmit`. Implies `multiline=true` for layout.
364
+ */
365
+ autoResize?: boolean;
366
+ /**
367
+ * Custom node rendered as a placeholder when the input is empty. Replaces the
368
+ * native placeholder. Useful for clickable links or composed placeholders.
369
+ */
370
+ placeholderSlot?: React__default.ReactNode;
371
+ /** Called when the user presses Enter (without Shift). */
372
+ onSubmit?: () => void;
373
+ /** Ref to the underlying <input>/<textarea> element (in addition to the forwarded ref). */
374
+ inputRef?: Ref<SearchInputElement>;
375
+ /** Ref to the field wrapper (used to align popovers/dropdowns). */
376
+ containerRef?: Ref<HTMLDivElement>;
377
+ /** Tailwind override applied directly to the <input>/<textarea>. */
378
+ inputClassName?: string;
379
+ /** Standard event handlers retyped for the union element. */
380
+ onChange?: React__default.ChangeEventHandler<SearchInputElement>;
381
+ onKeyDown?: React__default.KeyboardEventHandler<SearchInputElement>;
382
+ onFocus?: React__default.FocusEventHandler<SearchInputElement>;
383
+ onBlur?: React__default.FocusEventHandler<SearchInputElement>;
384
+ /**
385
+ * Neutral helper text rendered below the field. Suppressed when an
386
+ * `errorText` or `warningText` is present.
387
+ */
388
+ helperText?: React__default.ReactNode;
389
+ /**
390
+ * Warning helper text rendered below the field with a warning icon. Pass
391
+ * non-empty value to flag the field state as `warning` (yellow palette).
392
+ */
393
+ warningText?: React__default.ReactNode;
394
+ /**
395
+ * Error helper text rendered below the field with an error icon. Takes
396
+ * precedence over `warningText` and `helperText`.
397
+ */
398
+ errorText?: React__default.ReactNode;
399
+ /** Wrapper class around the field + helper message column. */
400
+ rootClassName?: string;
401
+ } & React__default.RefAttributes<SearchInputElement>>;
402
+
403
+ type VerticalNavigationButtonType = 'default' | 'treeview' | 'isLeaf';
404
+ type BaseVerticalNavigationButtonProps = {
405
+ type?: VerticalNavigationButtonType;
406
+ count?: number | string;
407
+ countLoading?: boolean;
408
+ /** Full-element skeleton — placeholder for both the label and the count. */
409
+ loading?: boolean;
410
+ /** Cap a numeric count at 99 → "99+". Defaults to true. */
411
+ capCount?: boolean;
412
+ selected?: boolean;
413
+ expanded?: boolean;
414
+ children?: React__default.ReactNode;
1183
415
  };
1184
- interface RowActionsMenuProps {
1185
- items: Action[];
1186
- size?: ButtonSize;
1187
- disabled?: boolean;
416
+ type VerticalNavigationButtonProps = Omit<React__default.ButtonHTMLAttributes<HTMLButtonElement>, keyof BaseVerticalNavigationButtonProps> & BaseVerticalNavigationButtonProps;
417
+ declare const VerticalNavigationButton: React__default.ForwardRefExoticComponent<Omit<React__default.ButtonHTMLAttributes<HTMLButtonElement>, keyof BaseVerticalNavigationButtonProps> & BaseVerticalNavigationButtonProps & React__default.RefAttributes<HTMLButtonElement>>;
418
+
419
+ interface BoneProps {
420
+ width?: number | string;
421
+ height?: number | string;
422
+ rounded?: 'sm' | 'md' | 'full' | 'none';
423
+ variant?: 'solid' | 'tile';
1188
424
  className?: string;
1189
- positions?: PopoverPosition[] | PopoverPosition;
1190
- align?: PopoverAlign;
425
+ style?: CSSProperties;
426
+ children?: ReactNode;
1191
427
  }
1192
- declare const RowActionsMenu: ({ size, disabled, className, positions, align, items, }: RowActionsMenuProps) => react_jsx_runtime.JSX.Element;
428
+ declare const Bone: React__default.FC<BoneProps>;
1193
429
 
1194
- interface TooltipProps {
430
+ interface SkeletonRowProps {
431
+ height?: number;
432
+ gap?: number;
433
+ labelMaxWidth?: number;
434
+ actionWidth?: number;
435
+ withAction?: boolean;
1195
436
  className?: string;
1196
- children?: any;
1197
- content?: any;
1198
- positions?: PopoverPosition[] | PopoverPosition;
1199
- align?: PopoverAlign;
1200
- anchorClassName?: string;
1201
- offset?: number;
1202
- onMouseLeave?: MouseEventHandler<HTMLDivElement>;
1203
- hideOnClick?: boolean;
1204
437
  }
1205
- declare const Tooltip: react.ForwardRefExoticComponent<TooltipProps & {
1206
- m?: string | number;
1207
- mt?: string | number;
1208
- mr?: string | number;
1209
- mb?: string | number;
1210
- ml?: string | number;
1211
- mx?: string | number;
1212
- my?: string | number;
1213
- p?: string | number;
1214
- pt?: string | number;
1215
- pr?: string | number;
1216
- pb?: string | number;
1217
- pl?: string | number;
1218
- px?: string | number;
1219
- py?: string | number;
1220
- } & {
1221
- media?: {
1222
- xs?: Partial<TooltipProps> | undefined;
1223
- s?: Partial<TooltipProps> | undefined;
1224
- m?: Partial<TooltipProps> | undefined;
1225
- l?: Partial<TooltipProps> | undefined;
1226
- xl?: Partial<TooltipProps> | undefined;
1227
- } | undefined;
1228
- } & react.RefAttributes<unknown>>;
1229
- declare const StyledTooltipContent: styled_components_dist_types.IStyledComponentBase<"web", styled_components_dist_types.Substitute<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
1230
- $position: PopoverPosition;
1231
- $offset: number;
1232
- }>> & string;
1233
-
1234
- type BaseInputProps = {
1235
- error?: boolean;
1236
- errorText?: string;
1237
- errorIconPosition?: 'before-append' | 'after-append';
1238
- errorTooltipProps?: Omit<TooltipProps, 'content'>;
1239
- append?: any;
1240
- prepend?: any;
1241
- size?: InputSize;
1242
- variant?: InputVariant;
1243
- };
1244
- type InputElementProps = BaseInputProps & InputHTMLAttributes<HTMLInputElement> & {
1245
- multiline?: false;
1246
- };
1247
- type TextAreaElementProps = BaseInputProps & TextareaHTMLAttributes<HTMLTextAreaElement> & {
1248
- multiline: true;
1249
- autoResize?: boolean;
1250
- };
1251
- type InputProps = InputElementProps | TextAreaElementProps;
1252
- declare const Input: any;
438
+ declare const SkeletonRow: React__default.FC<SkeletonRowProps>;
1253
439
 
1254
- /**
1255
- * Функція витягує файли зі списку DataTransferItemList, рекурсивно зчитуючи вміст каталогу.
1256
- * Повертає плоский масив усіх файлів, включаючи ті, що вкладені в підкаталоги.
1257
- */
1258
- type FileWithFolderPath = File & {
1259
- folder_path?: string;
1260
- };
1261
-
1262
- type FileFieldProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'value' | 'onChange' | 'size'> & {
1263
- error?: string;
1264
- variant?: InputVariant;
1265
- multiple?: boolean;
1266
- accept?: string;
1267
- uploadButtonText?: string;
1268
- uploadFolderButtonText?: string;
1269
- dragDropPlaceholder?: string;
1270
- infoPlaceholder?: string;
1271
- dragDropText?: string;
1272
- enableFilePreview?: boolean;
1273
- value?: FileWithFolderPath[];
1274
- onChange?: (files: FileWithFolderPath[]) => void;
1275
- onError?: (error: string) => void;
1276
- dragDropClassName?: string;
1277
- hasIcon?: boolean;
1278
- hasButton?: boolean;
1279
- };
1280
- declare const FileField: react.ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "value" | "size" | "type" | "onChange"> & {
1281
- error?: string;
1282
- variant?: InputVariant;
1283
- multiple?: boolean;
1284
- accept?: string;
1285
- uploadButtonText?: string;
1286
- uploadFolderButtonText?: string;
1287
- dragDropPlaceholder?: string;
1288
- infoPlaceholder?: string;
1289
- dragDropText?: string;
1290
- enableFilePreview?: boolean;
1291
- value?: FileWithFolderPath[];
1292
- onChange?: (files: FileWithFolderPath[]) => void;
1293
- onError?: (error: string) => void;
1294
- dragDropClassName?: string;
1295
- hasIcon?: boolean;
1296
- hasButton?: boolean;
1297
- } & react.RefAttributes<HTMLInputElement>>;
1298
-
1299
- type FlexDirection = 'row' | 'column' | 'row-reverse' | 'column-reverse';
1300
- type FlexWrap = 'nowrap' | 'wrap' | 'wrap-reverse';
1301
- type FlexJustify = 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly';
1302
- type FlexAlign = 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'baseline';
1303
- type FlexGap = string | number;
1304
- interface FlexContainerProps extends FabricComponent<Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>> {
1305
- children: any;
1306
- direction?: FlexDirection;
1307
- wrap?: FlexWrap;
1308
- justify?: FlexJustify;
1309
- align?: FlexAlign;
1310
- alignContent?: FlexAlign;
1311
- gap?: FlexGap;
1312
- rowGap?: FlexGap;
1313
- columnGap?: FlexGap;
440
+ interface SkeletonTextBlockProps {
441
+ lines?: number;
442
+ primaryHeight?: number;
443
+ secondaryHeight?: number;
444
+ gap?: number;
445
+ /** Per-line widths in % of container (0–100). Defaults to a tapered pattern. */
446
+ widthPercents?: number[];
1314
447
  className?: string;
1315
- style?: CSSProperties$1;
1316
- as?: any;
1317
448
  }
1318
- declare const FlexContainer: react.ForwardRefExoticComponent<FlexContainerProps & {
1319
- m?: string | number;
1320
- mt?: string | number;
1321
- mr?: string | number;
1322
- mb?: string | number;
1323
- ml?: string | number;
1324
- mx?: string | number;
1325
- my?: string | number;
1326
- p?: string | number;
1327
- pt?: string | number;
1328
- pr?: string | number;
1329
- pb?: string | number;
1330
- pl?: string | number;
1331
- px?: string | number;
1332
- py?: string | number;
1333
- } & {
1334
- media?: {
1335
- xs?: Partial<FlexContainerProps> | undefined;
1336
- s?: Partial<FlexContainerProps> | undefined;
1337
- m?: Partial<FlexContainerProps> | undefined;
1338
- l?: Partial<FlexContainerProps> | undefined;
1339
- xl?: Partial<FlexContainerProps> | undefined;
1340
- } | undefined;
1341
- } & react.RefAttributes<HTMLDivElement>>;
1342
-
1343
- type FlexItemGrow = number;
1344
- type FlexItemShrink = number;
1345
- type FlexItemBasis = string | number;
1346
- type FlexItemAlign = 'auto' | 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch';
1347
- interface FlexItemProps {
1348
- children?: any;
1349
- grow?: FlexItemGrow;
1350
- shrink?: FlexItemShrink;
1351
- basis?: FlexItemBasis;
1352
- align?: FlexItemAlign;
1353
- order?: number;
449
+ declare const SkeletonTextBlock: React__default.FC<SkeletonTextBlockProps>;
450
+
451
+ interface SkeletonAvatarProps {
452
+ size?: number;
453
+ textLines?: number;
454
+ primaryWidthPercent?: number;
455
+ secondaryWidthPercent?: number;
456
+ gap?: number;
1354
457
  className?: string;
1355
- style?: CSSProperties$1;
1356
- as?: any;
1357
458
  }
1358
- declare const FlexItem: react.ForwardRefExoticComponent<FlexItemProps & {
1359
- m?: string | number;
1360
- mt?: string | number;
1361
- mr?: string | number;
1362
- mb?: string | number;
1363
- ml?: string | number;
1364
- mx?: string | number;
1365
- my?: string | number;
1366
- p?: string | number;
1367
- pt?: string | number;
1368
- pr?: string | number;
1369
- pb?: string | number;
1370
- pl?: string | number;
1371
- px?: string | number;
1372
- py?: string | number;
1373
- } & {
1374
- media?: {
1375
- xs?: Partial<FlexItemProps> | undefined;
1376
- s?: Partial<FlexItemProps> | undefined;
1377
- m?: Partial<FlexItemProps> | undefined;
1378
- l?: Partial<FlexItemProps> | undefined;
1379
- xl?: Partial<FlexItemProps> | undefined;
1380
- } | undefined;
1381
- } & react.RefAttributes<unknown>>;
1382
-
1383
- type BoxProps = {
1384
- children?: any;
1385
- element?: 'div' | 'section';
1386
- hasBorder?: boolean;
1387
- color?: ColorVariant | string;
1388
- } & React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>;
1389
- declare const Box: react.ForwardRefExoticComponent<Omit<FabricComponent<BoxProps>, "ref"> & react.RefAttributes<unknown>>;
459
+ declare const SkeletonAvatar: React__default.FC<SkeletonAvatarProps>;
1390
460
 
1391
- type LineProps = FabricComponent<{
1392
- direction?: 'horizontal' | 'vertical';
1393
- } & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, 'children'>>;
1394
- declare const Line: react.ForwardRefExoticComponent<Omit<FabricComponent<LineProps>, "ref"> & react.RefAttributes<unknown>>;
1395
-
1396
- interface EmptyDataProps {
1397
- children?: any;
1398
- title?: string;
1399
- note?: string;
461
+ type BaseSourcesButtonProps = {
462
+ count?: number | string;
463
+ icon?: React__default.ReactNode;
464
+ };
465
+ type PolymorphicRef$2<C extends React__default.ElementType> = React__default.ComponentPropsWithRef<C>['ref'];
466
+ type SourcesButtonProps<C extends React__default.ElementType = 'button'> = BaseSourcesButtonProps & {
467
+ /** Render as a different element/component (e.g. react-router `Link`). Defaults to `<button>`. */
468
+ as?: C;
469
+ ref?: PolymorphicRef$2<C>;
470
+ } & Omit<React__default.ComponentPropsWithoutRef<C>, keyof BaseSourcesButtonProps | 'as' | 'ref'>;
471
+ declare function SourcesButton<C extends React__default.ElementType = 'button'>({ as, count, icon, className, ref, ...rest }: SourcesButtonProps<C>): react_jsx_runtime.JSX.Element;
472
+ declare namespace SourcesButton {
473
+ var displayName: string;
474
+ }
475
+
476
+ interface SpinnerLoaderProps {
477
+ icon?: React__default.ComponentType<{
478
+ className?: string;
479
+ width?: string;
480
+ height?: string;
481
+ }>;
482
+ size?: string;
1400
483
  className?: string;
1401
484
  }
1402
- declare const EmptyData: ({ children, title, note, className }: EmptyDataProps) => react_jsx_runtime.JSX.Element;
485
+ declare const SpinnerLoader: React__default.FC<SpinnerLoaderProps>;
1403
486
 
1404
- type TagProps = FabricComponent<{
1405
- children?: any;
1406
- variant?: TagVariant;
1407
- color?: TagColor;
1408
- className?: string;
1409
- radius?: number;
1410
- icon?: any;
487
+ type TagColor = 'green' | 'blue' | 'purple' | 'magenta' | 'red' | 'cyan' | 'amber' | 'orange' | 'teal' | 'gray' | 'warmGray';
488
+ type TagShape = 'square' | 'pill';
489
+ type TagWrap = 'nowrap' | 'multiline' | 'truncate';
490
+ type BaseTag2Props = {
491
+ children?: React__default.ReactNode;
492
+ icon?: React__default.ReactNode | false;
493
+ onClose?: () => void;
1411
494
  disabled?: boolean;
1412
- onClick?: () => void;
1413
- onDelete?: () => void;
1414
- }> & Omit<react__default.HTMLAttributes<HTMLDivElement>, 'children'>;
1415
- declare const Tag: react__default.ForwardRefExoticComponent<{
1416
- children?: any;
1417
- variant?: TagVariant;
1418
495
  color?: TagColor;
496
+ shape?: TagShape;
497
+ wrap?: TagWrap;
498
+ };
499
+ type TagProps = Omit<React__default.HTMLAttributes<HTMLDivElement>, keyof BaseTag2Props> & BaseTag2Props;
500
+ declare const Tag: React__default.ForwardRefExoticComponent<Omit<React__default.HTMLAttributes<HTMLDivElement>, keyof BaseTag2Props> & BaseTag2Props & React__default.RefAttributes<HTMLDivElement>>;
501
+
502
+ declare const fieldVariants$2: (props?: ({
503
+ size?: "sm" | "md" | "lg" | null | undefined;
504
+ variant?: "solid" | "default" | null | undefined;
505
+ state?: "disabled" | "default" | "error" | "warning" | "readonly" | "skeleton" | null | undefined;
506
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
507
+ type TextInputSize = NonNullable<VariantProps<typeof fieldVariants$2>['size']>;
508
+ type TextInputVariant = NonNullable<VariantProps<typeof fieldVariants$2>['variant']>;
509
+ type TextInputStyle = 'default' | 'inline';
510
+ type TextInputProps = Omit<React__default.InputHTMLAttributes<HTMLInputElement>, 'size' | 'prefix' | 'readOnly'> & {
511
+ label?: string;
512
+ helperText?: string;
513
+ warningText?: string;
514
+ error?: string | boolean;
515
+ required?: boolean;
516
+ size?: TextInputSize;
517
+ variant?: TextInputVariant;
518
+ style?: TextInputStyle;
519
+ fullWidth?: boolean;
520
+ readOnly?: boolean;
521
+ loading?: boolean;
522
+ prepend?: React__default.ReactNode;
523
+ append?: React__default.ReactNode;
524
+ toggletip?: React__default.ReactNode;
525
+ showCount?: boolean;
526
+ hideStatusIcon?: boolean;
1419
527
  className?: string;
1420
- radius?: number;
1421
- icon?: any;
1422
- disabled?: boolean;
1423
- onClick?: () => void;
1424
- onDelete?: () => void;
1425
- } & {
1426
- m?: string | number;
1427
- mt?: string | number;
1428
- mr?: string | number;
1429
- mb?: string | number;
1430
- ml?: string | number;
1431
- mx?: string | number;
1432
- my?: string | number;
1433
- p?: string | number;
1434
- pt?: string | number;
1435
- pr?: string | number;
1436
- pb?: string | number;
1437
- pl?: string | number;
1438
- px?: string | number;
1439
- py?: string | number;
1440
- } & {
1441
- media?: {
1442
- xs?: Partial<{
1443
- children?: any;
1444
- variant?: TagVariant;
1445
- color?: TagColor;
1446
- className?: string;
1447
- radius?: number;
1448
- icon?: any;
1449
- disabled?: boolean;
1450
- onClick?: () => void;
1451
- onDelete?: () => void;
1452
- }> | undefined;
1453
- s?: Partial<{
1454
- children?: any;
1455
- variant?: TagVariant;
1456
- color?: TagColor;
1457
- className?: string;
1458
- radius?: number;
1459
- icon?: any;
1460
- disabled?: boolean;
1461
- onClick?: () => void;
1462
- onDelete?: () => void;
1463
- }> | undefined;
1464
- m?: Partial<{
1465
- children?: any;
1466
- variant?: TagVariant;
1467
- color?: TagColor;
1468
- className?: string;
1469
- radius?: number;
1470
- icon?: any;
1471
- disabled?: boolean;
1472
- onClick?: () => void;
1473
- onDelete?: () => void;
1474
- }> | undefined;
1475
- l?: Partial<{
1476
- children?: any;
1477
- variant?: TagVariant;
1478
- color?: TagColor;
1479
- className?: string;
1480
- radius?: number;
1481
- icon?: any;
1482
- disabled?: boolean;
1483
- onClick?: () => void;
1484
- onDelete?: () => void;
1485
- }> | undefined;
1486
- xl?: Partial<{
1487
- children?: any;
1488
- variant?: TagVariant;
1489
- color?: TagColor;
1490
- className?: string;
1491
- radius?: number;
1492
- icon?: any;
1493
- disabled?: boolean;
1494
- onClick?: () => void;
1495
- onDelete?: () => void;
1496
- }> | undefined;
1497
- } | undefined;
1498
- } & Omit<react__default.HTMLAttributes<HTMLDivElement>, "children"> & {
1499
- media?: {
1500
- xs?: Partial<TagProps> | undefined;
1501
- s?: Partial<TagProps> | undefined;
1502
- m?: Partial<TagProps> | undefined;
1503
- l?: Partial<TagProps> | undefined;
1504
- xl?: Partial<TagProps> | undefined;
1505
- } | undefined;
1506
- } & react__default.RefAttributes<unknown>>;
1507
-
1508
- type AlertProps = FabricComponent<{
1509
- title?: any;
1510
- note?: any;
1511
- }> & Omit<react__default.HTMLAttributes<HTMLDivElement>, 'children'>;
1512
- declare const Alert: react__default.ForwardRefExoticComponent<{
1513
- title?: any;
1514
- note?: any;
1515
- } & {
1516
- m?: string | number;
1517
- mt?: string | number;
1518
- mr?: string | number;
1519
- mb?: string | number;
1520
- ml?: string | number;
1521
- mx?: string | number;
1522
- my?: string | number;
1523
- p?: string | number;
1524
- pt?: string | number;
1525
- pr?: string | number;
1526
- pb?: string | number;
1527
- pl?: string | number;
1528
- px?: string | number;
1529
- py?: string | number;
1530
- } & {
1531
- media?: {
1532
- xs?: Partial<{
1533
- title?: any;
1534
- note?: any;
1535
- }> | undefined;
1536
- s?: Partial<{
1537
- title?: any;
1538
- note?: any;
1539
- }> | undefined;
1540
- m?: Partial<{
1541
- title?: any;
1542
- note?: any;
1543
- }> | undefined;
1544
- l?: Partial<{
1545
- title?: any;
1546
- note?: any;
1547
- }> | undefined;
1548
- xl?: Partial<{
1549
- title?: any;
1550
- note?: any;
1551
- }> | undefined;
1552
- } | undefined;
1553
- } & Omit<react__default.HTMLAttributes<HTMLDivElement>, "children"> & {
1554
- media?: {
1555
- xs?: Partial<AlertProps> | undefined;
1556
- s?: Partial<AlertProps> | undefined;
1557
- m?: Partial<AlertProps> | undefined;
1558
- l?: Partial<AlertProps> | undefined;
1559
- xl?: Partial<AlertProps> | undefined;
1560
- } | undefined;
1561
- } & react__default.RefAttributes<unknown>>;
1562
-
1563
- type LabelProps = FabricComponent<{
1564
- label?: any;
1565
- helpText?: any;
1566
- errorText?: string;
1567
- size?: LabelSize;
1568
- children: any;
528
+ rootClassName?: string;
529
+ };
530
+ declare const TextInput: React__default.ForwardRefExoticComponent<Omit<React__default.InputHTMLAttributes<HTMLInputElement>, "size" | "readOnly" | "prefix"> & {
531
+ label?: string;
532
+ helperText?: string;
533
+ warningText?: string;
534
+ error?: string | boolean;
535
+ required?: boolean;
536
+ size?: TextInputSize;
537
+ variant?: TextInputVariant;
538
+ style?: TextInputStyle;
1569
539
  fullWidth?: boolean;
1570
- }> & Omit<react__default.LabelHTMLAttributes<HTMLLabelElement>, 'children'> & (LabelDirection | LabelDirectionRaw);
1571
- type LabelDirectionRaw = {
1572
- direction?: 'row' | 'row-reverse';
1573
- childrenWidth?: number | string;
1574
- };
1575
- type LabelDirection = {
1576
- direction?: Omit<react__default.CSSProperties['flexDirection'], 'row' | 'row-reverse'>;
1577
- };
1578
- declare const Label: react__default.ForwardRefExoticComponent<FabricComponent<LabelProps> & react__default.RefAttributes<unknown>>;
1579
-
1580
- type CheckboxProps = {
1581
- label?: any;
1582
- } & Omit<react__default.InputHTMLAttributes<HTMLInputElement>, 'type'>;
1583
- declare const Checkbox: react__default.ForwardRefExoticComponent<{
1584
- label?: any;
1585
- } & Omit<react__default.InputHTMLAttributes<HTMLInputElement>, "type"> & {
1586
- m?: string | number;
1587
- mt?: string | number;
1588
- mr?: string | number;
1589
- mb?: string | number;
1590
- ml?: string | number;
1591
- mx?: string | number;
1592
- my?: string | number;
1593
- p?: string | number;
1594
- pt?: string | number;
1595
- pr?: string | number;
1596
- pb?: string | number;
1597
- pl?: string | number;
1598
- px?: string | number;
1599
- py?: string | number;
1600
- } & {
1601
- media?: {
1602
- xs?: Partial<CheckboxProps> | undefined;
1603
- s?: Partial<CheckboxProps> | undefined;
1604
- m?: Partial<CheckboxProps> | undefined;
1605
- l?: Partial<CheckboxProps> | undefined;
1606
- xl?: Partial<CheckboxProps> | undefined;
1607
- } | undefined;
1608
- } & react__default.RefAttributes<unknown>>;
1609
-
1610
- type Direction = 'horizontal' | 'vertical';
1611
- type LinerProgressProps = {
1612
- height?: number;
1613
- width?: string | number;
1614
- direction?: Direction;
1615
- value: number;
1616
- } & Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, 'children'>;
1617
- declare const LinerProgress: react.ForwardRefExoticComponent<Omit<FabricComponent<LinerProgressProps>, "ref"> & react.RefAttributes<unknown>>;
1618
-
1619
- type SwitchVariant = 'default' | 'modern';
1620
- type SwitchProps = FabricComponent<Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'>> & {
1621
- children?: React.ReactNode;
1622
- variant?: SwitchVariant;
1623
- size?: SwitchSize;
1624
- };
1625
- declare const Switch: react.ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type"> & {
1626
- m?: string | number;
1627
- mt?: string | number;
1628
- mr?: string | number;
1629
- mb?: string | number;
1630
- ml?: string | number;
1631
- mx?: string | number;
1632
- my?: string | number;
1633
- p?: string | number;
1634
- pt?: string | number;
1635
- pr?: string | number;
1636
- pb?: string | number;
1637
- pl?: string | number;
1638
- px?: string | number;
1639
- py?: string | number;
1640
- } & {
1641
- media?: {
1642
- xs?: Partial<Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type">> | undefined;
1643
- s?: Partial<Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type">> | undefined;
1644
- m?: Partial<Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type">> | undefined;
1645
- l?: Partial<Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type">> | undefined;
1646
- xl?: Partial<Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "type">> | undefined;
1647
- } | undefined;
1648
- } & {
1649
- children?: React.ReactNode;
1650
- variant?: SwitchVariant;
1651
- size?: SwitchSize;
1652
- } & {
1653
- media?: {
1654
- xs?: Partial<SwitchProps> | undefined;
1655
- s?: Partial<SwitchProps> | undefined;
1656
- m?: Partial<SwitchProps> | undefined;
1657
- l?: Partial<SwitchProps> | undefined;
1658
- xl?: Partial<SwitchProps> | undefined;
1659
- } | undefined;
1660
- } & react.RefAttributes<unknown>>;
1661
-
1662
- type DrawerProps = {
1663
- isOpen: boolean;
1664
- onClose: () => void;
1665
- children?: any;
1666
- header?: number;
1667
- width?: string | number;
1668
- };
1669
- declare const Drawer: react.ForwardRefExoticComponent<DrawerProps & {
1670
- m?: string | number;
1671
- mt?: string | number;
1672
- mr?: string | number;
1673
- mb?: string | number;
1674
- ml?: string | number;
1675
- mx?: string | number;
1676
- my?: string | number;
1677
- p?: string | number;
1678
- pt?: string | number;
1679
- pr?: string | number;
1680
- pb?: string | number;
1681
- pl?: string | number;
1682
- px?: string | number;
1683
- py?: string | number;
1684
- } & {
1685
- media?: {
1686
- xs?: Partial<DrawerProps> | undefined;
1687
- s?: Partial<DrawerProps> | undefined;
1688
- m?: Partial<DrawerProps> | undefined;
1689
- l?: Partial<DrawerProps> | undefined;
1690
- xl?: Partial<DrawerProps> | undefined;
1691
- } | undefined;
1692
- } & react.RefAttributes<unknown>>;
1693
- declare const DrawerHeader: any;
1694
- declare const DrawerBody: any;
1695
-
1696
- interface ContentLoaderProps extends Omit<IContentLoaderProps, 'backgroundColor' | 'foregroundColor'> {
1697
- children?: any;
1698
- }
1699
- declare const ContentLoader: (props: ContentLoaderProps) => react_jsx_runtime.JSX.Element;
1700
-
1701
- type Position$1 = 'start' | 'center' | 'end';
1702
- type OverlayProps = {
1703
- children: any;
1704
- onOutsideClick?: () => void;
1705
- append?: any;
1706
- appendPosition?: Position$1;
1707
- prepend?: any;
1708
- prependPosition?: Position$1;
1709
- isLocked?: boolean;
540
+ readOnly?: boolean;
541
+ loading?: boolean;
542
+ prepend?: React__default.ReactNode;
543
+ append?: React__default.ReactNode;
544
+ toggletip?: React__default.ReactNode;
545
+ showCount?: boolean;
546
+ hideStatusIcon?: boolean;
547
+ className?: string;
548
+ rootClassName?: string;
549
+ } & React__default.RefAttributes<HTMLInputElement>>;
550
+
551
+ declare const fieldVariants$1: (props?: ({
552
+ variant?: "solid" | "default" | null | undefined;
553
+ state?: "disabled" | "default" | "error" | "warning" | "readonly" | "skeleton" | null | undefined;
554
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
555
+ type TextAreaVariant = NonNullable<VariantProps<typeof fieldVariants$1>['variant']>;
556
+ type TextAreaStyle = 'default' | 'inline';
557
+ type TextAreaResize = 'vertical' | 'none';
558
+ type TextAreaProps = Omit<React__default.TextareaHTMLAttributes<HTMLTextAreaElement>, 'readOnly'> & {
559
+ label?: string;
560
+ helperText?: string;
561
+ warningText?: string;
562
+ error?: string | boolean;
563
+ required?: boolean;
564
+ variant?: TextAreaVariant;
565
+ style?: TextAreaStyle;
566
+ fullWidth?: boolean;
567
+ /** Default visible rows when no value is set. Ignored when `autoResize`. */
568
+ rows?: number;
569
+ /** Auto-grow to fit content (Carbon pattern). Disables manual resize. */
570
+ autoResize?: boolean;
571
+ /** User resize affordance. Default `vertical`. Forced `none` when `autoResize`. */
572
+ resize?: TextAreaResize;
573
+ readOnly?: boolean;
574
+ loading?: boolean;
575
+ toggletip?: React__default.ReactNode;
576
+ showCount?: boolean;
577
+ className?: string;
578
+ rootClassName?: string;
1710
579
  };
1711
- declare const Overlay: react.ForwardRefExoticComponent<OverlayProps & {
1712
- m?: string | number;
1713
- mt?: string | number;
1714
- mr?: string | number;
1715
- mb?: string | number;
1716
- ml?: string | number;
1717
- mx?: string | number;
1718
- my?: string | number;
1719
- p?: string | number;
1720
- pt?: string | number;
1721
- pr?: string | number;
1722
- pb?: string | number;
1723
- pl?: string | number;
1724
- px?: string | number;
1725
- py?: string | number;
1726
- } & {
1727
- media?: {
1728
- xs?: Partial<OverlayProps> | undefined;
1729
- s?: Partial<OverlayProps> | undefined;
1730
- m?: Partial<OverlayProps> | undefined;
1731
- l?: Partial<OverlayProps> | undefined;
1732
- xl?: Partial<OverlayProps> | undefined;
1733
- } | undefined;
1734
- } & react.RefAttributes<unknown>>;
1735
-
1736
- type ModalProps = {
1737
- onClose: () => void;
1738
- width?: number;
1739
- children: any;
1740
- isNested?: boolean;
580
+ declare const TextArea: React__default.ForwardRefExoticComponent<Omit<React__default.TextareaHTMLAttributes<HTMLTextAreaElement>, "readOnly"> & {
581
+ label?: string;
582
+ helperText?: string;
583
+ warningText?: string;
584
+ error?: string | boolean;
585
+ required?: boolean;
586
+ variant?: TextAreaVariant;
587
+ style?: TextAreaStyle;
588
+ fullWidth?: boolean;
589
+ /** Default visible rows when no value is set. Ignored when `autoResize`. */
590
+ rows?: number;
591
+ /** Auto-grow to fit content (Carbon pattern). Disables manual resize. */
592
+ autoResize?: boolean;
593
+ /** User resize affordance. Default `vertical`. Forced `none` when `autoResize`. */
594
+ resize?: TextAreaResize;
595
+ readOnly?: boolean;
596
+ loading?: boolean;
597
+ toggletip?: React__default.ReactNode;
598
+ showCount?: boolean;
599
+ className?: string;
600
+ rootClassName?: string;
601
+ } & React__default.RefAttributes<HTMLTextAreaElement>>;
602
+
603
+ type NumberInputProps = Omit<TextInputProps, 'type' | 'append' | 'prepend' | 'showCount' | 'maxLength' | 'min' | 'max' | 'step'> & {
604
+ min?: number;
605
+ max?: number;
606
+ step?: number;
607
+ hideStepper?: boolean;
608
+ incrementLabel?: string;
609
+ decrementLabel?: string;
610
+ value?: number | string;
611
+ defaultValue?: number | string;
1741
612
  };
1742
- interface ModalChildrenProps extends FabricComponent<Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>> {
1743
- children: any;
1744
- }
1745
- declare const Modal: ({ children, onClose, isNested, width }: ModalProps) => react_jsx_runtime.JSX.Element;
1746
- declare const ModalHeader: styled_components_dist_types.IStyledComponentBase<"web", styled_components_dist_types.Substitute<ModalChildrenProps | (ModalChildrenProps & react.RefAttributes<react.Component<ModalChildrenProps, any, any>>), StyledFabricComponent<ModalChildrenProps>>> & (string & (Omit<react.ComponentClass<ModalChildrenProps, any>, keyof react.Component<any, {}, any>> | Omit<react.FunctionComponent<ModalChildrenProps>, keyof react.Component<any, {}, any>>));
1747
- declare const ModalBody: styled_components_dist_types.IStyledComponentBase<"web", styled_components_dist_types.Substitute<ModalChildrenProps | (ModalChildrenProps & react.RefAttributes<react.Component<ModalChildrenProps, any, any>>), StyledFabricComponent<ModalChildrenProps>>> & (string & (Omit<react.ComponentClass<ModalChildrenProps, any>, keyof react.Component<any, {}, any>> | Omit<react.FunctionComponent<ModalChildrenProps>, keyof react.Component<any, {}, any>>));
1748
- declare const ModalFooter: styled_components_dist_types.IStyledComponentBase<"web", styled_components_dist_types.Substitute<ModalChildrenProps | (ModalChildrenProps & react.RefAttributes<react.Component<ModalChildrenProps, any, any>>), StyledFabricComponent<ModalChildrenProps>>> & (string & (Omit<react.ComponentClass<ModalChildrenProps, any>, keyof react.Component<any, {}, any>> | Omit<react.FunctionComponent<ModalChildrenProps>, keyof react.Component<any, {}, any>>));
1749
-
1750
- interface TailwindExampleProps {
1751
- variant?: 'primary' | 'secondary' | 'success' | 'danger';
1752
- children: react__default.ReactNode;
1753
- }
1754
- declare const TailwindExample: react__default.FC<TailwindExampleProps>;
1755
-
1756
- type ChatFieldProps = Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'type'> & {
1757
- error?: boolean;
1758
- errorText?: string;
1759
- button?: ReactNode;
1760
- images?: File[];
1761
- disableImages?: boolean;
1762
- onChangeImages?: (files: File[]) => void;
1763
- onError?: (error: string) => void;
1764
- multiple?: boolean;
1765
- fieldClassName?: string;
1766
- prepend?: ReactNode;
1767
- append?: ReactNode;
1768
- header?: ReactNode;
1769
- onUploadClick?: () => void;
1770
- uploadButtonTooltip?: string;
1771
- shouldOpenUpload?: boolean;
1772
- onDropImages?: (files: File[]) => void;
613
+ declare const NumberInput: React__default.ForwardRefExoticComponent<Omit<TextInputProps, "type" | "maxLength" | "max" | "min" | "step" | "prepend" | "showCount" | "append"> & {
614
+ min?: number;
615
+ max?: number;
616
+ step?: number;
617
+ hideStepper?: boolean;
618
+ incrementLabel?: string;
619
+ decrementLabel?: string;
620
+ value?: number | string;
621
+ defaultValue?: number | string;
622
+ } & React__default.RefAttributes<HTMLInputElement>>;
623
+
624
+ type ToggleSize = 'sm' | 'md';
625
+ type ToggleProps = Omit<React__default.InputHTMLAttributes<HTMLInputElement>, 'type' | 'size'> & {
626
+ /** Top label (small, above the toggle row). */
627
+ label?: React__default.ReactNode;
628
+ /** Optional info icon next to the label. Pass `true` for default <i> icon. */
629
+ info?: React__default.ReactNode | boolean;
630
+ /** Inline state label shown when toggle is OFF. */
631
+ offLabel?: React__default.ReactNode;
632
+ /** Inline state label shown when toggle is ON. */
633
+ onLabel?: React__default.ReactNode;
634
+ /** Visually hide the top label while keeping it in the DOM for accessibility. */
635
+ hideLabel?: boolean;
636
+ helperText?: React__default.ReactNode;
637
+ size?: ToggleSize;
638
+ /** Read-only state — visible but not interactive. Different from disabled. */
639
+ readOnly?: boolean;
640
+ /** Outer wrapper class (label + toggle row + helper). */
641
+ rootClassName?: string;
642
+ /** Class for the visual track element. */
643
+ className?: string;
1773
644
  };
1774
- declare const ChatField: ({ multiple, value, disableImages, onChangeImages, images, errorText, error, onError, button, prepend, fieldClassName, onUploadClick, shouldOpenUpload, append, className, onDropImages, header, uploadButtonTooltip, ...props }: ChatFieldProps) => react_jsx_runtime.JSX.Element;
1775
-
1776
- declare const ProgressLoader: () => react_jsx_runtime.JSX.Element;
645
+ declare const Toggle: React__default.ForwardRefExoticComponent<Omit<React__default.InputHTMLAttributes<HTMLInputElement>, "type" | "size"> & {
646
+ /** Top label (small, above the toggle row). */
647
+ label?: React__default.ReactNode;
648
+ /** Optional info icon next to the label. Pass `true` for default <i> icon. */
649
+ info?: React__default.ReactNode | boolean;
650
+ /** Inline state label shown when toggle is OFF. */
651
+ offLabel?: React__default.ReactNode;
652
+ /** Inline state label shown when toggle is ON. */
653
+ onLabel?: React__default.ReactNode;
654
+ /** Visually hide the top label while keeping it in the DOM for accessibility. */
655
+ hideLabel?: boolean;
656
+ helperText?: React__default.ReactNode;
657
+ size?: ToggleSize;
658
+ /** Read-only state — visible but not interactive. Different from disabled. */
659
+ readOnly?: boolean;
660
+ /** Outer wrapper class (label + toggle row + helper). */
661
+ rootClassName?: string;
662
+ /** Class for the visual track element. */
663
+ className?: string;
664
+ } & React__default.RefAttributes<HTMLInputElement>>;
1777
665
 
1778
666
  interface PageLayoutProps {
1779
667
  children?: any;
1780
668
  className?: string;
1781
669
  }
1782
- declare const PageLayout: ({ children, className }: PageLayoutProps) => react_jsx_runtime.JSX.Element;
1783
- declare const StyledContainer: styled_components_dist_types.IStyledComponentBase<"web", styled_components.FastOmit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
670
+ declare const PageLayout: React__default.ForwardRefExoticComponent<PageLayoutProps & React__default.RefAttributes<HTMLDivElement>>;
1784
671
 
1785
672
  interface ContentProps {
1786
673
  children: any;
1787
674
  className?: string;
1788
675
  }
1789
- declare const PageContent: ({ children, className }: ContentProps) => react_jsx_runtime.JSX.Element;
1790
- declare const StyledMain: styled_components_dist_types.IStyledComponentBase<"web", styled_components.FastOmit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLElement>, HTMLElement>, never>> & string;
676
+ declare const PageContent: React__default.ForwardRefExoticComponent<ContentProps & React__default.RefAttributes<HTMLElement>>;
1791
677
 
1792
678
  interface SubNavProps {
1793
- children?: any;
679
+ children?: ReactNode;
1794
680
  className?: string;
1795
681
  top?: number;
1796
682
  }
1797
- declare const SubNav: ({ children, className, top }: SubNavProps) => react_jsx_runtime.JSX.Element;
1798
- type StyledProps = {
1799
- $top: number;
1800
- };
1801
- declare const Styled: styled_components_dist_types.IStyledComponentBase<"web", styled_components_dist_types.Substitute<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, StyledProps>> & string;
683
+ declare const SubNav: React$1.ForwardRefExoticComponent<SubNavProps & React$1.RefAttributes<HTMLDivElement>>;
1802
684
 
1803
685
  type ContainerProps = {
1804
- children: any;
1805
- maxWidth?: string | number;
1806
- };
1807
- declare const Container: react.ForwardRefExoticComponent<ContainerProps & {
1808
- m?: string | number;
1809
- mt?: string | number;
1810
- mr?: string | number;
1811
- mb?: string | number;
1812
- ml?: string | number;
1813
- mx?: string | number;
1814
- my?: string | number;
1815
- p?: string | number;
1816
- pt?: string | number;
1817
- pr?: string | number;
1818
- pb?: string | number;
1819
- pl?: string | number;
1820
- px?: string | number;
1821
- py?: string | number;
1822
- } & {
1823
- media?: {
1824
- xs?: Partial<ContainerProps> | undefined;
1825
- s?: Partial<ContainerProps> | undefined;
1826
- m?: Partial<ContainerProps> | undefined;
1827
- l?: Partial<ContainerProps> | undefined;
1828
- xl?: Partial<ContainerProps> | undefined;
1829
- } | undefined;
1830
- } & react.RefAttributes<unknown>>;
686
+ children: ReactNode;
687
+ className?: string;
688
+ style?: React.CSSProperties;
689
+ };
690
+ declare const Container: React$1.ForwardRefExoticComponent<ContainerProps & React$1.RefAttributes<HTMLDivElement>>;
1831
691
 
1832
692
  type SplitterLayoutProps = {
1833
693
  columns: {
@@ -1851,6 +711,19 @@ interface Graph2DRef {
1851
711
  * @param padding Отступ от краев в пикселях
1852
712
  */
1853
713
  zoomToFit: (duration?: number, padding?: number) => void;
714
+ /**
715
+ * Масштабує граф так, щоб виділені вузли були видимі
716
+ * @param duration Тривалість анімації масштабування в мілісекундах
717
+ * @param padding Відступ від країв в пікселях
718
+ */
719
+ zoomToSelected: (duration?: number, padding?: number) => void;
720
+ /**
721
+ * Масштабує граф так, щоб певні вузли були видимі
722
+ * @param nodeIds Масив ID вузлів для відображення
723
+ * @param duration Тривалість анімації масштабування в мілісекундах
724
+ * @param padding Відступ від країв в пікселях
725
+ */
726
+ zoomToNodes: (nodeIds: (string | number)[], duration?: number, padding?: number) => void;
1854
727
  /**
1855
728
  * Добавляет новые узлы и связи на график
1856
729
  * @param newNodes Массив новых узлов для добавления
@@ -1859,16 +732,85 @@ interface Graph2DRef {
1859
732
  * - smoothAppearance: если true, существующие узлы не будут двигаться,
1860
733
  * а новые появятся плавно рядом со связанными узлами
1861
734
  * - transitionDuration: длительность анимации появления новых узлов в миллисекундах
735
+ * - sourceNodeId: узел-источник раскрытия (expand). На время появления
736
+ * закрепляется как якорь и не смещается, а новые узлы раскладываются
737
+ * радиально вокруг него; после анимации якорь снимается
738
+ * - pinSource: закреплять ли узел-источник на время раскрытия (по умолчанию true)
1862
739
  */
1863
740
  addNodes: (newNodes: NodeObject[], newLinks?: LinkObject[], options?: {
1864
741
  smoothAppearance?: boolean;
1865
742
  transitionDuration?: number;
1866
- }) => void;
743
+ sourceNodeId?: string | number;
744
+ pinSource?: boolean;
745
+ }, callback?: () => void) => void;
1867
746
  /**
1868
747
  * Удаляет узлы и связанные с ними связи из графа
1869
748
  * @param nodeIds Массив идентификаторов узлов для удаления
1870
749
  */
1871
750
  removeNodes: (nodeIds: (string | number)[]) => void;
751
+ /**
752
+ * Выбирает узлы на графе по их идентификаторам
753
+ * @param nodeIds Массив идентификаторов узлов для выбора
754
+ * @returns
755
+ */
756
+ setSelectedNodes: (nodeIds: (string | number)[]) => void;
757
+ /**
758
+ * Встановлює розмір для вузлів за їх ідентифікаторами
759
+ * @param nodeIds Масив ідентифікаторів вузлів
760
+ * @param size Розмір, який потрібно встановити для вузлів
761
+ */
762
+ setNodeSizes: (nodeIds: (string | number)[], size: number) => void;
763
+ /**
764
+ * Встановлює колір для вузлів за їх ідентифікаторами
765
+ * @param nodeIds Масив ідентифікаторів вузлів
766
+ * @param color Колір, який потрібно встановити для вузлів
767
+ */
768
+ setNodeColors: (nodeIds: (string | number)[], color: string) => void;
769
+ /**
770
+ * Встановлює ширину для зв'язків за їх ідентифікаторами
771
+ * @param linkIds Масив ідентифікаторів зв'язків
772
+ * @param width Ширина лінії, яку потрібно встановити для зв'язків
773
+ */
774
+ setLinkWidths: (linkIds: (string | number)[], width: number) => void;
775
+ /**
776
+ * Встановлює колір для зв'язків за їх ідентифікаторами
777
+ * @param linkIds Масив ідентифікаторів зв'язків
778
+ * @param color Колір лінії, який потрібно встановити для зв'язків
779
+ */
780
+ setLinkColors: (linkIds: (string | number)[], color: string) => void;
781
+ /**
782
+ * Знаходить і підсвічує найкоротший шлях між двома нодами
783
+ * @param sourceId ID початкової ноди
784
+ * @param targetId ID кінцевої ноди
785
+ * @returns Кількість нод в знайденому шляху, або 0 якщо шлях не існує
786
+ */
787
+ findShortestPath: (sourceId: string | number, targetId: string | number) => number;
788
+ /**
789
+ * Впорядковує вибрані вузли в сітці
790
+ * @param nodeIds Набір ідентифікаторів вузлів для впорядкування
791
+ * @param options Опції для налаштування розміщення в сітці
792
+ * - spacing: відстань між вузлами (за замовчуванням 100)
793
+ * - columns: кількість колонок (автоматично розраховується, якщо не вказано)
794
+ */
795
+ arrangeSelectedInGrid: (nodeIds: Set<string | number>, options?: {
796
+ spacing?: number;
797
+ columns?: number;
798
+ }) => void;
799
+ /**
800
+ * Впорядковує всі вузли в окремі сітки згруповані за значенням ключа
801
+ * Якщо значення ключа - масив, бере перший елемент
802
+ * Кожна група вузлів розміщується в окремій сітці, а самі групи теж розташовані у вигляді сітки
803
+ * @param typeKey Назва ключа для групування (наприклад, 'labels', 'type')
804
+ * @param options Опції для налаштування розміщення в сітці
805
+ * - spacing: відстань між вузлами всередині групи (за замовчуванням 100)
806
+ * - columns: кількість колонок всередині кожної групи (автоматично розраховується, якщо не вказано)
807
+ * - groupSpacing: відстань між групами (за замовчуванням 200)
808
+ */
809
+ arrangeNodesByTypeInGrid: (typeKey: string, options?: {
810
+ spacing?: number;
811
+ columns?: number;
812
+ groupSpacing?: number;
813
+ }) => void;
1872
814
  }
1873
815
  /**
1874
816
  * Интерфейс для внутреннего состояния компонента Graph2D
@@ -1889,7 +831,7 @@ interface GraphState {
1889
831
  /** Узел, который в данный момент перетаскивается */
1890
832
  draggedNode: NodeObject | null;
1891
833
  /** Выбранный узел */
1892
- selectedNode: NodeObject | null;
834
+ selectedNodeIds: Set<string | number>;
1893
835
  /** Индекс кнопки, над которой находится курсор */
1894
836
  hoveredButtonIndex: number | null;
1895
837
  /** Набор узлов, которые должны быть подсвечены */
@@ -1926,18 +868,21 @@ interface Graph2DProps {
1926
868
  width: number;
1927
869
  height: number;
1928
870
  buttons?: NodeButton[];
871
+ enableGrid?: boolean;
1929
872
  onNodeClick?: (node: NodeObject) => void;
1930
873
  onBackgroundClick?: () => void;
1931
874
  onNodeHover?: (node: NodeObject | null) => void;
1932
- onLinkHover?: (link: LinkObject | null) => void;
875
+ onLinkHover?: (link: LinkObject | null, event: React.MouseEvent<HTMLCanvasElement>) => void;
1933
876
  onLinkClick?: (link: LinkObject) => void;
877
+ onChangeSelectedNodeIds?: (nodeIds: Set<string | number>) => void;
1934
878
  }
1935
879
  interface NodeButton {
1936
- img: string;
1937
- hoverImg: string;
1938
- loading?: boolean;
880
+ img: string | ((node: NodeObject) => string);
881
+ hoverImg: string | ((node: NodeObject) => string);
882
+ loading?: boolean | ((node: NodeObject) => boolean);
1939
883
  getCount?: (node: NodeObject) => number;
1940
884
  onClick: (node: NodeObject) => void;
885
+ tooltip?: string | ((node: NodeObject) => string);
1941
886
  }
1942
887
  type GraphData<NodeType = {}, LinkType = {}> = {
1943
888
  nodes: NodeObject<NodeType>[];
@@ -1951,11 +896,13 @@ type NodeObject<NodeType = {}> = NodeType & {
1951
896
  vy?: number;
1952
897
  fx?: number;
1953
898
  fy?: number;
899
+ size?: number;
1954
900
  [others: string]: any;
1955
901
  };
1956
902
  type LinkObject<NodeType = {}, LinkType = {}> = LinkType & {
1957
903
  source: string | number | NodeObject<NodeType>;
1958
904
  target: string | number | NodeObject<NodeType>;
905
+ width?: number;
1959
906
  [others: string]: any;
1960
907
  };
1961
908
 
@@ -1969,70 +916,74 @@ interface FullscreenCardProps {
1969
916
  right?: number;
1970
917
  bottom?: number;
1971
918
  }
1972
- declare const FullscreenCard: react.ForwardRefExoticComponent<FullscreenCardProps & {
1973
- m?: string | number;
1974
- mt?: string | number;
1975
- mr?: string | number;
1976
- mb?: string | number;
1977
- ml?: string | number;
1978
- mx?: string | number;
1979
- my?: string | number;
1980
- p?: string | number;
1981
- pt?: string | number;
1982
- pr?: string | number;
1983
- pb?: string | number;
1984
- pl?: string | number;
1985
- px?: string | number;
1986
- py?: string | number;
1987
- } & {
1988
- media?: {
1989
- xs?: Partial<FullscreenCardProps> | undefined;
1990
- s?: Partial<FullscreenCardProps> | undefined;
1991
- m?: Partial<FullscreenCardProps> | undefined;
1992
- l?: Partial<FullscreenCardProps> | undefined;
1993
- xl?: Partial<FullscreenCardProps> | undefined;
1994
- } | undefined;
1995
- } & react.RefAttributes<unknown>>;
1996
-
1997
- type ImageExtension = 'jpeg' | 'jpg' | 'png' | 'gif' | 'bmp' | 'ico' | 'svg' | 'tiff' | 'webp';
1998
- type AudioExtension = 'aac' | 'ac3' | 'aiff' | 'amr' | 'dts' | 'flac' | 'm4a' | 'mp3' | 'ogg' | 'opus' | 'wav' | 'wma';
1999
- type DocumentExtension = 'pdf' | 'docx' | 'txt' | 'xlsx' | 'pptx';
2000
- type VideoExtension = '3gp' | 'avi' | 'dv' | 'flv' | 'm2ts' | 'm4v' | 'mkv' | 'mov' | 'mp4' | 'mpeg' | 'mpg' | 'mts' | 'ogv' | 'vob' | 'webm';
2001
- type SpreadsheetExtension = 'csv' | 'tsv' | 'psv' | 'dsv';
2002
- type CodeExtension = 'js' | 'jsx' | 'ts' | 'tsx' | 'json' | 'html' | 'css' | 'scss' | 'py' | 'java' | 'cpp' | 'c' | 'cs' | 'php' | 'rb' | 'go' | 'rs' | 'swift' | 'kt' | 'xml' | 'yaml' | 'yml' | 'md' | 'sql' | 'sh' | 'bash' | 'cfg' | 'conf' | 'env' | 'htm' | 'ini' | 'log' | 'markdown' | 'ndjson' | 'jsonl' | 'properties' | 'rst' | 'toml';
2003
- type SupportedFileExtension = ImageExtension | AudioExtension | DocumentExtension | CodeExtension | VideoExtension | SpreadsheetExtension;
2004
-
2005
- type CsvDriverLabels = {
2006
- loading?: string;
2007
- rows?: string;
2008
- rowsIncomplete?: string;
2009
- retry?: string;
2010
- searchPlaceholder?: string;
2011
- searchFound?: string;
2012
- searching?: string;
2013
- };
919
+ declare const FullscreenCard: React__default.ForwardRefExoticComponent<FullscreenCardProps & React__default.RefAttributes<HTMLDivElement>>;
2014
920
 
2015
- type DocxDriverLabels = {
2016
- loading?: string;
2017
- errorFileTooLarge?: string;
2018
- errorTimeout?: string;
2019
- errorRender?: string;
2020
- scale?: string;
921
+ /**
922
+ * Single source of truth for the file types the FileViewer can render.
923
+ *
924
+ * `FILE_VIEWER_DRIVER_GROUPS` is consumed directly by `Driver.tsx` for routing,
925
+ * so the registry can never drift from the actual driver selection. The
926
+ * `SupportedFileExtension` type is *derived* from `SUPPORTED_FILE_EXTENSIONS`
927
+ * (not the other way round) — the runtime list and the compile-time union are
928
+ * therefore provably in sync.
929
+ */
930
+ /** Extension → driver mapping. Driver selection in `Driver.tsx` reads this. */
931
+ declare const FILE_VIEWER_DRIVER_GROUPS: {
932
+ readonly image: readonly ["jpeg", "jpg", "png", "gif", "bmp", "webp", "svg"];
933
+ readonly audio: readonly ["mp3", "wav", "ogg", "flac"];
934
+ readonly video: readonly ["mp4", "webm"];
935
+ readonly pdf: readonly ["pdf"];
936
+ readonly docx: readonly ["docx"];
937
+ readonly text: readonly ["txt", "js", "jsx", "ts", "tsx", "json", "html", "css", "scss", "py", "java", "cpp", "c", "cs", "php", "rb", "go", "rs", "swift", "kt", "xml", "yaml", "yml", "md", "sql", "sh", "bash"];
938
+ };
939
+ /**
940
+ * Extensions accepted by the FileViewer but rendered through the
941
+ * `DownloadDriver` fallback (no inline preview).
942
+ */
943
+ declare const DOWNLOAD_ONLY_EXTENSIONS: readonly ["xlsx", "pptx"];
944
+ /** Flat list of every extension the FileViewer accepts. */
945
+ declare const SUPPORTED_FILE_EXTENSIONS: readonly ["jpeg", "jpg", "png", "gif", "bmp", "webp", "svg", "mp3", "wav", "ogg", "flac", "mp4", "webm", "pdf", "docx", "txt", "js", "jsx", "ts", "tsx", "json", "html", "css", "scss", "py", "java", "cpp", "c", "cs", "php", "rb", "go", "rs", "swift", "kt", "xml", "yaml", "yml", "md", "sql", "sh", "bash", "xlsx", "pptx"];
946
+ type SupportedFileExtension = (typeof SUPPORTED_FILE_EXTENSIONS)[number];
947
+ /**
948
+ * The type of the FileViewer `extension` prop. Any string is accepted at
949
+ * runtime — an unknown type routes to the `DownloadDriver` — while the literal
950
+ * union still drives editor autocomplete for the known extensions.
951
+ */
952
+ type FileViewerExtension = SupportedFileExtension | (string & {});
953
+ /** Which driver a given extension resolves to. */
954
+ type FileViewerDriverKind = keyof typeof FILE_VIEWER_DRIVER_GROUPS | 'download';
955
+ /**
956
+ * Resolves an extension to its driver. Anything not in a driver group — including
957
+ * `DOWNLOAD_ONLY_EXTENSIONS` and unknown types — resolves to `'download'`.
958
+ */
959
+ declare const resolveDriverKind: (extension: string) => FileViewerDriverKind;
960
+ /**
961
+ * Optional prev/next navigation for the FileViewer. When provided, the image and
962
+ * video drivers render prev/next buttons inside their control panels so a caller
963
+ * can page through a sequence of files. All fields are optional — when none are
964
+ * passed the drivers render no navigation and behave as a single-file viewer.
965
+ */
966
+ type FileViewerNavProps = {
967
+ onPrev?: () => void;
968
+ onNext?: () => void;
969
+ hasPrev?: boolean;
970
+ hasNext?: boolean;
971
+ /** Optional position label rendered between the prev/next buttons, e.g. "2 / 7". */
972
+ positionLabel?: string;
2021
973
  };
2022
974
 
2023
- type FileViewerProps = {
975
+ type FileViewerProps = FileViewerNavProps & {
2024
976
  path?: string;
2025
977
  blob?: Blob;
2026
978
  buffer?: ArrayBuffer;
2027
- stream?: ReadableStream<Uint8Array>;
2028
- extension: SupportedFileExtension;
979
+ extension: FileViewerExtension;
2029
980
  not_supported_message?: string;
2030
- csvLabels?: CsvDriverLabels;
2031
- onCsvRetry?: (error: string) => void;
2032
- docxLabels?: DocxDriverLabels;
2033
- initialPage?: number;
2034
- /** PDF only: render pages flush without gap/border (e.g. website-to-PDF). */
2035
- seamless?: boolean;
981
+ /** Filename used for the download attribute and aria labels. */
982
+ filename?: string;
983
+ /** Custom download handler. If omitted, the FileViewer triggers a default <a download> using path/blob URL. */
984
+ onDownload?: () => void;
985
+ /** Image-only: bbox [x1, y1, x2, y2] in natural pixels to zoom into on initial load. */
986
+ initialBbox?: number[];
2036
987
  };
2037
988
  declare const FileViewer: (props: FileViewerProps) => react_jsx_runtime.JSX.Element;
2038
989
 
@@ -2043,46 +994,97 @@ type TypewriterProps = {
2043
994
  className?: string;
2044
995
  markdown?: boolean;
2045
996
  markdownComponents?: Record<string, React.ComponentType<any>>;
2046
- } & Omit<TypographyProps, 'children'>;
997
+ };
2047
998
  declare const Typewriter: ({ text, speed, onDone, markdown, markdownComponents, className, ...props }: TypewriterProps) => react_jsx_runtime.JSX.Element;
2048
999
 
2049
- type CopyToClipboardProps = {
1000
+ interface UseCopyToClipboardOptions {
1001
+ onSuccess?: () => void;
1002
+ format?: 'text/html' | 'text/plain';
1003
+ }
1004
+ declare const useCopyToClipboard: ({ onSuccess, format }?: UseCopyToClipboardOptions) => (text: string) => Promise<void>;
1005
+
1006
+ type CopyButtonProps = React__default.ButtonHTMLAttributes<HTMLButtonElement> & {
1007
+ /** Text rendered inside the button when `children` is not provided; also default for `value`. */
2050
1008
  text: string;
2051
- children: (params: CopyToClipboardParams) => ReactNode;
1009
+ /** Optional override for what gets copied to clipboard. Defaults to `text`. */
1010
+ value?: string;
1011
+ /** Hide the trailing copy icon. */
1012
+ hideIcon?: boolean;
1013
+ /** Clipboard format. */
2052
1014
  format?: 'text/html' | 'text/plain';
2053
- positions?: PopoverPosition[] | PopoverPosition;
2054
- tooltip?: {
2055
- timeout?: number;
2056
- message?: ReactNode;
2057
- };
2058
- className?: string;
1015
+ /** Called after a successful copy. */
1016
+ onCopy?: () => void;
2059
1017
  };
2060
- type CopyToClipboardParams = {
2061
- copy: () => Promise<void>;
2062
- };
2063
- declare const CopyToClipboard: ({ text, children, format, tooltip, positions, className, }: CopyToClipboardProps) => react_jsx_runtime.JSX.Element;
2064
-
1018
+ declare const CopyButton: React__default.ForwardRefExoticComponent<React__default.ButtonHTMLAttributes<HTMLButtonElement> & {
1019
+ /** Text rendered inside the button when `children` is not provided; also default for `value`. */
1020
+ text: string;
1021
+ /** Optional override for what gets copied to clipboard. Defaults to `text`. */
1022
+ value?: string;
1023
+ /** Hide the trailing copy icon. */
1024
+ hideIcon?: boolean;
1025
+ /** Clipboard format. */
1026
+ format?: "text/html" | "text/plain";
1027
+ /** Called after a successful copy. */
1028
+ onCopy?: () => void;
1029
+ } & React__default.RefAttributes<HTMLButtonElement>>;
1030
+
1031
+ type WeekStartsOn = 0 | 1 | 2 | 3 | 4 | 5 | 6;
2065
1032
  interface DatePickerBaseProps {
2066
1033
  minDate?: Date;
2067
1034
  maxDate?: Date;
2068
1035
  format?: string;
2069
1036
  inline?: boolean;
2070
1037
  disabled?: boolean;
1038
+ readOnly?: boolean;
1039
+ showTimeSelect?: boolean;
1040
+ timeIntervals?: number;
1041
+ weekStartsOn?: WeekStartsOn;
1042
+ /**
1043
+ * Close the calendar once a selection is complete — single: on pick; range:
1044
+ * once both ends are set. Ignored while `showTimeSelect`. Default false.
1045
+ */
1046
+ closeOnSelect?: boolean;
1047
+ /** Calendar popover placement. Default 'bottom-start'. */
1048
+ placement?: Placement;
1049
+ size?: DatePickerSize;
1050
+ variant?: DatePickerVariant;
1051
+ fullWidth?: boolean;
1052
+ label?: string;
1053
+ helperText?: string;
1054
+ warningText?: string;
1055
+ error?: string | boolean;
1056
+ required?: boolean;
1057
+ toggletip?: ReactNode;
1058
+ hideStatusIcon?: boolean;
1059
+ loading?: boolean;
2071
1060
  placeholder?: string;
2072
- inputProps?: BaseInputProps;
1061
+ id?: string;
1062
+ name?: string;
1063
+ className?: string;
1064
+ rootClassName?: string;
1065
+ /** Defaults to <CalendarIcon />. Pass `null` to omit. */
1066
+ prepend?: ReactNode;
1067
+ append?: ReactNode;
2073
1068
  }
2074
1069
  interface DatePickerRangeProps {
2075
1070
  range: true;
2076
- value?: [string, string];
2077
- onChange?: (date: [string, string]) => void;
1071
+ value?: [Date | undefined, Date | undefined];
1072
+ onChange?: (date: [Date | undefined, Date | undefined]) => void;
2078
1073
  }
2079
1074
  interface DatePickerSingleProps {
2080
1075
  range?: false;
2081
- value?: string;
2082
- onChange?: (date: string) => void;
1076
+ value?: Date;
1077
+ onChange?: (date: Date | undefined) => void;
2083
1078
  }
2084
1079
  type DatePickerProps = DatePickerBaseProps & (DatePickerRangeProps | DatePickerSingleProps);
2085
- declare const DatePicker: ({ value, range, inline, minDate, maxDate, format: formatStr, onChange, ...props }: DatePickerProps) => react_jsx_runtime.JSX.Element;
1080
+ declare const fieldVariants: (props?: ({
1081
+ size?: "sm" | "md" | "lg" | null | undefined;
1082
+ variant?: "solid" | "default" | null | undefined;
1083
+ state?: "disabled" | "default" | "error" | "warning" | "readonly" | "skeleton" | null | undefined;
1084
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1085
+ type DatePickerSize = NonNullable<VariantProps<typeof fieldVariants>['size']>;
1086
+ type DatePickerVariant = NonNullable<VariantProps<typeof fieldVariants>['variant']>;
1087
+ declare const DatePicker: ({ value, range, inline, minDate, maxDate, format: formatStr, showTimeSelect, timeIntervals, weekStartsOn, onChange, ...props }: DatePickerProps) => react_jsx_runtime.JSX.Element;
2086
1088
  interface DatePickerCalendarProps {
2087
1089
  month: number;
2088
1090
  year: number;
@@ -2092,35 +1094,808 @@ interface DatePickerCalendarProps {
2092
1094
  onSelectDate: (date: Date) => void;
2093
1095
  onChangeMonth: (month: number) => void;
2094
1096
  onChangeYear: (year: number) => void;
2095
- onClose?: () => void;
1097
+ showTimeSelect?: boolean;
1098
+ timeIntervals?: number;
1099
+ weekStartsOn?: WeekStartsOn;
1100
+ }
1101
+ declare const DatePickerCalendar: ({ month, year, selectedDate, minDate, maxDate, onSelectDate, onChangeMonth, onChangeYear, showTimeSelect, timeIntervals, weekStartsOn, }: DatePickerCalendarProps) => react_jsx_runtime.JSX.Element;
1102
+
1103
+ type GlobalDropZoneProps = {
1104
+ onChange: (files: File[]) => void;
1105
+ disabled?: boolean;
1106
+ multiple?: boolean;
1107
+ dragText?: string;
1108
+ className?: string;
1109
+ };
1110
+ declare const GlobalDropZone: ({ onChange, disabled, multiple, dragText, className, }: GlobalDropZoneProps) => React$1.ReactPortal | null;
1111
+
1112
+ type SidebarSectionProps = {
1113
+ /** Flex grow factor inside the Sidebar column. Defaults to 0. */
1114
+ grow?: 0 | 1;
1115
+ className?: string;
1116
+ children?: React__default.ReactNode;
1117
+ };
1118
+ declare const SidebarSection: ({ grow, className, children }: SidebarSectionProps) => react_jsx_runtime.JSX.Element;
1119
+
1120
+ declare const sidebar2ItemVariants: (props?: ({
1121
+ collapsed?: boolean | null | undefined;
1122
+ selected?: boolean | null | undefined;
1123
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1124
+ type SidebarItemVariantProps = VariantProps<typeof sidebar2ItemVariants>;
1125
+ type PolymorphicRef$1<C extends React__default.ElementType> = React__default.ComponentPropsWithRef<C>['ref'];
1126
+ type SidebarItemOwnProps = {
1127
+ /** Sticky selected state (typically tied to active route). */
1128
+ active?: boolean;
1129
+ disabled?: boolean;
1130
+ icon?: React__default.ReactNode;
1131
+ label?: string;
1132
+ className?: string;
1133
+ };
1134
+ type SidebarItemProps<C extends React__default.ElementType = 'button'> = SidebarItemOwnProps & {
1135
+ /** Render as a different element/component (e.g. react-router `Link` or `<a>`). Defaults to `<button>`. */
1136
+ as?: C;
1137
+ ref?: PolymorphicRef$1<C>;
1138
+ } & Omit<React__default.ComponentPropsWithoutRef<C>, keyof SidebarItemOwnProps | keyof SidebarItemVariantProps | 'as' | 'ref'>;
1139
+ declare function SidebarItem<C extends React__default.ElementType = 'button'>({ as, active, disabled, icon, label, className, onClick, ref, ...rest }: SidebarItemProps<C>): react_jsx_runtime.JSX.Element;
1140
+
1141
+ type SidebarDividerProps = {
1142
+ className?: string;
1143
+ };
1144
+ declare const SidebarDivider: ({ className }: SidebarDividerProps) => react_jsx_runtime.JSX.Element;
1145
+
1146
+ type SidebarProps = {
1147
+ /** Collapsed rail (icons-only, 56px) vs expanded (labels visible, 248px). */
1148
+ collapsed?: boolean;
1149
+ className?: string;
1150
+ children?: React__default.ReactNode;
1151
+ } & Omit<React__default.HTMLAttributes<HTMLElement>, 'children'>;
1152
+ declare const SidebarRoot: React__default.ForwardRefExoticComponent<{
1153
+ /** Collapsed rail (icons-only, 56px) vs expanded (labels visible, 248px). */
1154
+ collapsed?: boolean;
1155
+ className?: string;
1156
+ children?: React__default.ReactNode;
1157
+ } & Omit<React__default.HTMLAttributes<HTMLElement>, "children"> & React__default.RefAttributes<HTMLElement>>;
1158
+ type SidebarCompound = typeof SidebarRoot & {
1159
+ Section: typeof SidebarSection;
1160
+ Item: typeof SidebarItem;
1161
+ Divider: typeof SidebarDivider;
1162
+ };
1163
+ declare const Sidebar: SidebarCompound;
1164
+
1165
+ type SidebarContextValue = {
1166
+ collapsed: boolean;
1167
+ };
1168
+ declare const SidebarContext: React$1.Context<SidebarContextValue>;
1169
+
1170
+ type VerticalNavigationItem = {
1171
+ id: string;
1172
+ label: React__default.ReactNode;
1173
+ count?: number | string;
1174
+ countLoading?: boolean;
1175
+ /** Full-element skeleton — placeholder for both the label and the count. */
1176
+ loading?: boolean;
1177
+ disabled?: boolean;
1178
+ children?: VerticalNavigationItem[];
1179
+ };
1180
+ type BaseVerticalNavigationProps = {
1181
+ title?: React__default.ReactNode;
1182
+ subtitle?: React__default.ReactNode;
1183
+ items: VerticalNavigationItem[];
1184
+ selectedId?: string;
1185
+ onSelect?: (id: string) => void;
1186
+ expandedIds?: string[];
1187
+ defaultExpandedIds?: string[];
1188
+ onExpandedChange?: (ids: string[]) => void;
1189
+ collapsible?: boolean;
1190
+ /** Cap numeric item counts at 99 → "99+". Defaults to true. */
1191
+ capCount?: boolean;
1192
+ /**
1193
+ * Whether the whole panel is collapsed to a thin rail with a single expand
1194
+ * button. Controlled when provided; pair with `onCollapsedChange`. The collapse
1195
+ * affordance (header collapse button + rail) only appears when the panel is
1196
+ * collapsible — i.e. when `onCollapsedChange`, `collapsed` or `defaultCollapsed`
1197
+ * is set. Untouched consumers render exactly as before.
1198
+ */
1199
+ collapsed?: boolean;
1200
+ /** Uncontrolled initial collapsed state. Ignored when `collapsed` is provided. */
1201
+ defaultCollapsed?: boolean;
1202
+ onCollapsedChange?: (collapsed: boolean) => void;
1203
+ };
1204
+ type VerticalNavigationProps = Omit<React__default.HTMLAttributes<HTMLDivElement>, keyof BaseVerticalNavigationProps> & BaseVerticalNavigationProps;
1205
+ declare const VerticalNavigation: React__default.ForwardRefExoticComponent<Omit<React__default.HTMLAttributes<HTMLDivElement>, keyof BaseVerticalNavigationProps> & BaseVerticalNavigationProps & React__default.RefAttributes<HTMLDivElement>>;
1206
+
1207
+ interface HeaderProps {
1208
+ children?: any;
1209
+ className?: string;
1210
+ }
1211
+ declare const Header: React$1.ForwardRefExoticComponent<HeaderProps & React$1.RefAttributes<HTMLHeadElement>>;
1212
+
1213
+ declare const HeaderDelimeter: ({ className }: {
1214
+ className?: string;
1215
+ }) => react_jsx_runtime.JSX.Element;
1216
+
1217
+ interface HeaderSectionProps {
1218
+ grow?: CSSProperties['flexGrow'];
1219
+ shrink?: CSSProperties['flexShrink'];
1220
+ basis?: CSSProperties['flexBasis'];
1221
+ justify?: CSSProperties['justifyContent'];
1222
+ children?: React.ReactNode;
1223
+ className?: string;
1224
+ }
1225
+ declare const HeaderSection: ({ grow, shrink, basis, justify, children, className, }: HeaderSectionProps) => react_jsx_runtime.JSX.Element;
1226
+
1227
+ type DataGridSortDirection = 'asc' | 'desc';
1228
+ type DataGridSortState = {
1229
+ key: string;
1230
+ direction: DataGridSortDirection;
1231
+ } | null;
1232
+ type PinSide = 'left' | 'right';
1233
+ type DataGridColumn<T> = {
1234
+ key: string;
1235
+ header: React__default.ReactNode;
1236
+ accessor?: keyof T | ((row: T) => React__default.ReactNode);
1237
+ sortable?: boolean;
1238
+ /** Initial width in px. Default 160. */
1239
+ width?: number;
1240
+ /**
1241
+ * Optional base width applied when the grid is in fullscreen mode (see
1242
+ * `DataGridProps.isFullscreen`). Overrides `width` for layout while leaving
1243
+ * user-resize and `grow` logic intact. Useful when a design spec bumps a
1244
+ * column's baseline at larger viewports.
1245
+ */
1246
+ fullscreenWidth?: number;
1247
+ /** Min width during resize drag. Default 40. */
1248
+ minWidth?: number;
1249
+ /**
1250
+ * Cap for auto-grow only. When a grow column reaches `maxWidth`, the
1251
+ * remaining extra space is redistributed across the other grow columns.
1252
+ * Does NOT cap user drag-resize — users can manually drag past `maxWidth`.
1253
+ */
1254
+ maxWidth?: number;
1255
+ /** Whether column can be resized. Default true. */
1256
+ resizable?: boolean;
1257
+ /**
1258
+ * Allow the column to absorb free horizontal space on top of its base width.
1259
+ * `true` == weight 1. Multiple grow columns share `extra = containerWidth -
1260
+ * totalBase` proportionally by weight, capped per column by `maxWidth`.
1261
+ */
1262
+ grow?: boolean | number;
1263
+ /** Pin column to left or right edge. */
1264
+ pinned?: PinSide;
1265
+ /** Hide column from main row when container width <= threshold. Ignored on pinned columns. */
1266
+ hideBelow?: number;
1267
+ align?: 'left' | 'center' | 'right';
1268
+ className?: string;
1269
+ headerClassName?: string;
1270
+ /**
1271
+ * Force single-line ellipsis on the cell-content wrapper. Defaults to `false`
1272
+ * (cell wraps). Useful when the accessor returns plain text and there is no
1273
+ * inner wrapper to apply `truncate` itself.
1274
+ */
1275
+ truncate?: boolean;
1276
+ /** Label used in extended row fallback renderer. Defaults to `header`. */
1277
+ extendedLabel?: React__default.ReactNode;
1278
+ /**
1279
+ * When all hidden columns return `true` for a given row, the extended row
1280
+ * for that row is skipped entirely. Columns without `isEmpty` are treated
1281
+ * as "unknown" (= not empty), so absence of a predicate keeps current behaviour.
1282
+ */
1283
+ isEmpty?: (row: T) => boolean;
1284
+ };
1285
+ type DataGridProps<T> = {
1286
+ columns: DataGridColumn<T>[];
1287
+ data: T[];
1288
+ rowKey: (row: T, index: number) => React__default.Key;
1289
+ zebra?: boolean;
1290
+ /**
1291
+ * Draw vertical borders between columns (in addition to the always-on
1292
+ * horizontal row borders). Produces a fully gridded look. Default `false`.
1293
+ */
1294
+ bordered?: boolean;
1295
+ sort?: DataGridSortState;
1296
+ onSortChange?: (sort: DataGridSortState) => void;
1297
+ onColumnResizeEnd?: (columnKey: string, width: number) => void;
1298
+ /** Activate extended row when container width <= threshold. */
1299
+ extendedRowBelow?: number;
1300
+ renderExtendedRow?: (row: T, hidden: DataGridColumn<T>[]) => React__default.ReactNode;
1301
+ /**
1302
+ * Always-on detail strip rendered below a row, independent of the width-based
1303
+ * extended-row / `hideBelow` mechanism. When it returns a non-null node for a
1304
+ * row, that row gets a detail sub-row spanning the non-pinned columns (pinned
1305
+ * cells span both rows, same as the extended row). Composes with
1306
+ * `renderExtendedRow`: when columns are also hidden at narrow widths, the
1307
+ * hidden-column content renders ABOVE the detail in the same sub-row cell.
1308
+ */
1309
+ renderRowDetail?: (row: T) => React__default.ReactNode;
1310
+ /**
1311
+ * Optional inter-row slot. Called for every adjacent pair `(rowAbove, rowBelow)`.
1312
+ * Returning a non-null `ReactNode` injects a full-width row spanning all
1313
+ * columns between the two rows. Use sparingly — separators participate in
1314
+ * scroll, not in sticky headers, and break zebra striping continuity.
1315
+ */
1316
+ renderRowSeparator?: (rowAbove: T, rowBelow: T) => React__default.ReactNode;
1317
+ onRowClick?: (row: T, index: number) => void;
1318
+ emptyMessage?: React__default.ReactNode;
1319
+ /** When true, the body area stretches to fill parent height and empty rows (zebra pattern) fill remaining space. */
1320
+ fillRows?: boolean;
1321
+ /** Enables `fullscreenWidth` overrides on columns. Layout-only; no visual behavior of its own. */
1322
+ isFullscreen?: boolean;
1323
+ /** Row height in px used to paint empty filler rows when `fillRows` is true. Default 40. */
1324
+ fillRowHeight?: number;
1325
+ /**
1326
+ * Optional per-row class hook. Returns a className applied to every cell of the
1327
+ * row (main + extended) on top of the zebra background. When a non-empty class
1328
+ * is returned, the row's pinned-cell inline background is suppressed so the
1329
+ * className paints uniformly across pinned and non-pinned cells.
1330
+ */
1331
+ getRowClassName?: (row: T, rowIndex: number) => string | undefined;
1332
+ className?: string;
1333
+ style?: React__default.CSSProperties;
1334
+ };
1335
+
1336
+ declare function DataGrid<T>({ columns, data, rowKey, zebra, bordered, sort, onSortChange, onColumnResizeEnd, extendedRowBelow, renderExtendedRow, renderRowDetail, renderRowSeparator, onRowClick, emptyMessage, fillRows, fillRowHeight, isFullscreen, getRowClassName, className, style, }: DataGridProps<T>): react_jsx_runtime.JSX.Element;
1337
+
1338
+ interface PaginationPerPage {
1339
+ /** Options for the per-page selector (e.g. `[10, 25, 50]`). */
1340
+ options: number[];
1341
+ /** Called when the per-page selector value changes. Note: parent is responsible for resetting the page if it becomes out of range. */
1342
+ onChange: (limit: number) => void;
1343
+ /** Visible label rendered before the selector. Defaults to `"Per page:"`. */
1344
+ label?: string;
1345
+ }
1346
+ interface PaginationLabels {
1347
+ /** `aria-label` for the wrapping `<nav>`. Defaults to `"Pagination"`. */
1348
+ root?: string;
1349
+ /** `aria-label` for the prev-page button. Defaults to `"Previous page"`. */
1350
+ prev?: string;
1351
+ /** `aria-label` for the next-page button. Defaults to `"Next page"`. */
1352
+ next?: string;
1353
+ /** Builder for the page-button `aria-label`. Defaults to `` `Page ${n}` ``. */
1354
+ page?: (page: number) => string;
1355
+ /** `aria-label` for the overflow trigger. Defaults to `"More pages"`. */
1356
+ overflow?: string;
1357
+ }
1358
+ interface PaginationProps {
1359
+ /** Total number of items across all pages. */
1360
+ totalItems: number;
1361
+ /** Items per page. */
1362
+ limit: number;
1363
+ /** Currently selected page, 0-based. */
1364
+ activePage: number;
1365
+ /** Called with the next 0-based page index. */
1366
+ onChangePage: (pageIndex: number) => void;
1367
+ /** Per-page selector. Pass `undefined` to hide it. */
1368
+ perPage?: PaginationPerPage;
1369
+ /**
1370
+ * Max pages rendered on each side of the current page on a wide container.
1371
+ * On narrower containers, far siblings are progressively hidden via CSS
1372
+ * container queries (SSR-safe — no JS measurement, no layout shift).
1373
+ * Default `3`.
1374
+ */
1375
+ maxSiblingsCount?: number;
1376
+ /** @deprecated alias for `maxSiblingsCount`. */
1377
+ siblingsCount?: number;
1378
+ /** Disable all interaction (e.g. while loading data). */
1379
+ disabled?: boolean;
1380
+ /** ARIA labels for screen readers. */
1381
+ labels?: PaginationLabels;
1382
+ className?: string;
2096
1383
  }
2097
- declare const DatePickerCalendar: ({ month, year, selectedDate, minDate, maxDate, onSelectDate, onChangeMonth, onChangeYear, onClose, }: DatePickerCalendarProps) => react_jsx_runtime.JSX.Element;
1384
+ declare const Pagination: ({ totalItems, limit, activePage, onChangePage, perPage, maxSiblingsCount, siblingsCount, disabled, labels, className, }: PaginationProps) => react_jsx_runtime.JSX.Element;
1385
+
1386
+ type SelectValue = string | number;
1387
+ type SelectOption<T extends SelectValue = SelectValue> = {
1388
+ value: T;
1389
+ label: string;
1390
+ description?: string;
1391
+ icon?: React__default.ReactNode;
1392
+ disabled?: boolean;
1393
+ disabledReason?: string;
1394
+ group?: string;
1395
+ };
1396
+ type SelectGroup = {
1397
+ key: string;
1398
+ label: string;
1399
+ };
1400
+ type SelectRenderOptionContext<T extends SelectValue = SelectValue> = {
1401
+ option: SelectOption<T>;
1402
+ isSelected: boolean;
1403
+ isFocused: boolean;
1404
+ isDisabled: boolean;
1405
+ };
1406
+ type SelectRenderOption<T extends SelectValue = SelectValue> = (ctx: SelectRenderOptionContext<T>) => React__default.ReactNode;
1407
+
1408
+ type SelectProps<T extends SelectValue = SelectValue> = {
1409
+ value?: T;
1410
+ onChange: (value: T) => void;
1411
+ options: SelectOption<T>[];
1412
+ groups?: SelectGroup[];
1413
+ size?: 'sm' | 'md' | 'lg';
1414
+ variant?: 'default' | 'solid' | 'ghost';
1415
+ fullWidth?: boolean;
1416
+ label?: string;
1417
+ helperText?: string;
1418
+ error?: string | boolean;
1419
+ required?: boolean;
1420
+ id?: string;
1421
+ name?: string;
1422
+ placeholder?: string;
1423
+ emptyMessage?: string;
1424
+ loadingMessage?: string;
1425
+ searchable?: boolean;
1426
+ searchPlaceholder?: string;
1427
+ onSearch?: (query: string) => void;
1428
+ isLoading?: boolean;
1429
+ renderOption?: SelectRenderOption<T>;
1430
+ renderValue?: (option: SelectOption<T> | undefined) => React__default.ReactNode;
1431
+ placement?: Placement;
1432
+ /**
1433
+ * Class applied to the floating popup. Default matches popup width to trigger
1434
+ * anchor. Pass `''` for content-sized popup, or `'min-w-[var(--dm-anchor-w)]'`
1435
+ * to use anchor width as minimum.
1436
+ */
1437
+ popupClassName?: string;
1438
+ disabled?: boolean;
1439
+ className?: string;
1440
+ triggerRef?: React__default.Ref<HTMLButtonElement>;
1441
+ 'aria-label'?: string;
1442
+ 'aria-describedby'?: string;
1443
+ };
1444
+ declare const Select: <T extends SelectValue = SelectValue>({ value, onChange, options, renderValue, ...rest }: SelectProps<T>) => react_jsx_runtime.JSX.Element;
2098
1445
 
2099
- type ColorToastVariant = 'primary' | 'error' | 'warning' | 'success' | 'default';
2100
- type Toast = {
1446
+ type MultiSelectAllOption = {
1447
+ label: string;
1448
+ };
1449
+ type MultiSelectProps<T extends SelectValue = SelectValue> = {
1450
+ value: T[];
1451
+ onChange: (values: T[]) => void;
1452
+ options: SelectOption<T>[];
1453
+ groups?: SelectGroup[];
1454
+ size?: 'sm' | 'md' | 'lg';
1455
+ variant?: 'default' | 'solid' | 'ghost';
1456
+ fullWidth?: boolean;
1457
+ label?: string;
1458
+ helperText?: string;
1459
+ error?: string | boolean;
1460
+ required?: boolean;
1461
+ id?: string;
1462
+ name?: string;
1463
+ placeholder?: string;
1464
+ emptyMessage?: string;
1465
+ loadingMessage?: string;
1466
+ searchable?: boolean;
1467
+ searchPlaceholder?: string;
1468
+ onSearch?: (query: string) => void;
1469
+ isLoading?: boolean;
1470
+ renderOption?: SelectRenderOption<T>;
1471
+ renderValue?: (selected: SelectOption<T>[]) => React__default.ReactNode;
1472
+ allOption?: MultiSelectAllOption;
1473
+ showSelectedAsTags?: boolean;
1474
+ selectedLabel?: (count: number, total: number) => string;
1475
+ maxTagsVisible?: number;
1476
+ closeOnSelect?: boolean;
1477
+ placement?: Placement;
1478
+ disabled?: boolean;
1479
+ className?: string;
1480
+ triggerRef?: React__default.Ref<HTMLButtonElement>;
1481
+ 'aria-label'?: string;
1482
+ 'aria-describedby'?: string;
1483
+ };
1484
+ declare const MultiSelect: <T extends SelectValue = SelectValue>({ value, onChange, options, renderValue, allOption, showSelectedAsTags, selectedLabel, maxTagsVisible, closeOnSelect, ...rest }: MultiSelectProps<T>) => react_jsx_runtime.JSX.Element;
1485
+
1486
+ type PhoneNumberMeta = {
1487
+ country: ParsedCountry;
1488
+ inputValue: string;
1489
+ };
1490
+ type PhoneNumberProps = {
1491
+ /** Phone in E.164 format, e.g. "+380991234567". */
1492
+ value: string;
1493
+ /**
1494
+ * Fired on every keystroke. `phone` is E.164; `meta` exposes formatted display string and country.
1495
+ */
1496
+ onChange: (phone: string, meta: PhoneNumberMeta) => void;
1497
+ /** ISO2 country code used as initial selection when value is empty. */
1498
+ defaultCountry?: CountryIso2;
1499
+ /** Override the country list. Defaults to `defaultCountries` from react-international-phone (218 countries). */
1500
+ countries?: CountryData[];
1501
+ /** Countries pinned at the top of the dropdown. */
1502
+ preferredCountries?: CountryIso2[];
1503
+ /** Always show the dial code prefix (`+380`) and prevent its removal. */
1504
+ forceDialCode?: boolean;
1505
+ /** Hide formatting characters (spaces / dashes) but keep mask length. */
1506
+ disableFormatting?: boolean;
1507
+ /** Skip auto-prefilling the dial code on mount when value is empty. */
1508
+ disableDialCodePrefill?: boolean;
1509
+ label?: string;
1510
+ helperText?: string;
1511
+ error?: string | boolean;
1512
+ required?: boolean;
1513
+ disabled?: boolean;
1514
+ placeholder?: string;
1515
+ searchPlaceholder?: string;
1516
+ emptyMessage?: string;
1517
+ /** Show a search input above the country list. Default true. */
1518
+ searchable?: boolean;
1519
+ size?: 'sm' | 'md';
1520
+ variant?: 'default' | 'solid';
1521
+ fullWidth?: boolean;
1522
+ id?: string;
1523
+ name?: string;
1524
+ className?: string;
1525
+ rootClassName?: string;
1526
+ };
1527
+ declare const PhoneNumber: React__default.ForwardRefExoticComponent<PhoneNumberProps & React__default.RefAttributes<HTMLInputElement>>;
1528
+
1529
+ type DrawerCloseProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick' | 'type'> & {
1530
+ onClose: () => void;
1531
+ };
1532
+ declare const DrawerClose: React__default.ForwardRefExoticComponent<Omit<React__default.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "onClick"> & {
1533
+ onClose: () => void;
1534
+ } & React__default.RefAttributes<HTMLButtonElement>>;
1535
+ type DrawerHeaderProps = HTMLAttributes<HTMLDivElement> & {
1536
+ /** When provided, auto-renders <Drawer.Close> at top-right. */
1537
+ onClose?: () => void;
1538
+ };
1539
+ declare const DrawerHeader: React__default.ForwardRefExoticComponent<React__default.HTMLAttributes<HTMLDivElement> & {
1540
+ /** When provided, auto-renders <Drawer.Close> at top-right. */
1541
+ onClose?: () => void;
1542
+ } & React__default.RefAttributes<HTMLDivElement>>;
1543
+ type DrawerBodyProps = HTMLAttributes<HTMLDivElement>;
1544
+ declare const DrawerBody: React__default.ForwardRefExoticComponent<DrawerBodyProps & React__default.RefAttributes<HTMLDivElement>>;
1545
+ type DrawerFooterProps = HTMLAttributes<HTMLDivElement>;
1546
+ declare const DrawerFooter: React__default.ForwardRefExoticComponent<DrawerFooterProps & React__default.RefAttributes<HTMLDivElement>>;
1547
+ type DrawerProps = Omit<HTMLAttributes<HTMLDivElement>, 'role'> & {
1548
+ onClose: () => void;
1549
+ /** Drawer width (px or any CSS length). Default 573. */
1550
+ width?: number | string;
1551
+ /** Top offset, e.g. for app header height. Default 0. */
1552
+ top?: number;
1553
+ /** Slide-in side. Default 'right'. */
1554
+ position?: 'right' | 'left';
1555
+ };
1556
+ declare const Drawer: React__default.ForwardRefExoticComponent<Omit<React__default.HTMLAttributes<HTMLDivElement>, "role"> & {
1557
+ onClose: () => void;
1558
+ /** Drawer width (px or any CSS length). Default 573. */
1559
+ width?: number | string;
1560
+ /** Top offset, e.g. for app header height. Default 0. */
1561
+ top?: number;
1562
+ /** Slide-in side. Default 'right'. */
1563
+ position?: "right" | "left";
1564
+ } & React__default.RefAttributes<HTMLDivElement>> & {
1565
+ Header: React__default.ForwardRefExoticComponent<React__default.HTMLAttributes<HTMLDivElement> & {
1566
+ /** When provided, auto-renders <Drawer.Close> at top-right. */
1567
+ onClose?: () => void;
1568
+ } & React__default.RefAttributes<HTMLDivElement>>;
1569
+ Body: React__default.ForwardRefExoticComponent<DrawerBodyProps & React__default.RefAttributes<HTMLDivElement>>;
1570
+ Footer: React__default.ForwardRefExoticComponent<DrawerFooterProps & React__default.RefAttributes<HTMLDivElement>>;
1571
+ Close: React__default.ForwardRefExoticComponent<Omit<React__default.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "onClick"> & {
1572
+ onClose: () => void;
1573
+ } & React__default.RefAttributes<HTMLButtonElement>>;
1574
+ };
1575
+
1576
+ type TabsProps = Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> & {
1577
+ value?: string;
1578
+ defaultValue?: string;
1579
+ onChange?: (value: string) => void;
1580
+ children?: ReactNode;
1581
+ };
1582
+ type TabsListProps = HTMLAttributes<HTMLDivElement> & {
1583
+ 'aria-label'?: string;
1584
+ };
1585
+ declare const TabsList: React$1.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
1586
+ 'aria-label'?: string;
1587
+ } & React$1.RefAttributes<HTMLDivElement>>;
1588
+ type TabsTabProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'value' | 'type'> & {
1589
+ value: string;
1590
+ disabled?: boolean;
1591
+ };
1592
+ declare const TabsTab: React$1.ForwardRefExoticComponent<Omit<ButtonHTMLAttributes<HTMLButtonElement>, "type" | "value"> & {
1593
+ value: string;
1594
+ disabled?: boolean;
1595
+ } & React$1.RefAttributes<HTMLButtonElement>>;
1596
+ type TabsPanelProps = HTMLAttributes<HTMLDivElement> & {
1597
+ value: string;
1598
+ /** Keep panel mounted when inactive (display:none). Defaults to false (unmount). */
1599
+ keepMounted?: boolean;
1600
+ };
1601
+ declare const TabsPanel: React$1.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
1602
+ value: string;
1603
+ /** Keep panel mounted when inactive (display:none). Defaults to false (unmount). */
1604
+ keepMounted?: boolean;
1605
+ } & React$1.RefAttributes<HTMLDivElement>>;
1606
+ type TabsPanelsProps = HTMLAttributes<HTMLDivElement>;
1607
+ declare const TabsPanels: React$1.ForwardRefExoticComponent<TabsPanelsProps & React$1.RefAttributes<HTMLDivElement>>;
1608
+ declare const Tabs: React$1.ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLDivElement>, "onChange"> & {
1609
+ value?: string;
1610
+ defaultValue?: string;
1611
+ onChange?: (value: string) => void;
1612
+ children?: ReactNode;
1613
+ } & React$1.RefAttributes<HTMLDivElement>> & {
1614
+ List: React$1.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
1615
+ 'aria-label'?: string;
1616
+ } & React$1.RefAttributes<HTMLDivElement>>;
1617
+ Tab: React$1.ForwardRefExoticComponent<Omit<ButtonHTMLAttributes<HTMLButtonElement>, "type" | "value"> & {
1618
+ value: string;
1619
+ disabled?: boolean;
1620
+ } & React$1.RefAttributes<HTMLButtonElement>>;
1621
+ Panel: React$1.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
1622
+ value: string;
1623
+ /** Keep panel mounted when inactive (display:none). Defaults to false (unmount). */
1624
+ keepMounted?: boolean;
1625
+ } & React$1.RefAttributes<HTMLDivElement>>;
1626
+ Panels: React$1.ForwardRefExoticComponent<TabsPanelsProps & React$1.RefAttributes<HTMLDivElement>>;
1627
+ };
1628
+
1629
+ type Delay = number | {
1630
+ open?: number;
1631
+ close?: number;
1632
+ };
1633
+ type TooltipProps = {
1634
+ /** Content shown inside the tooltip. Falsy → no tooltip rendered. */
1635
+ content: React__default.ReactNode;
1636
+ /** Single child must forward ref. Cloned with merged ref + handlers (no wrapper). */
1637
+ children: React__default.ReactElement;
1638
+ /** Floating UI placement. Default 'top'. */
1639
+ placement?: Placement;
1640
+ /** Visual size — controls padding & max-width. Default 'small'. */
1641
+ size?: 'small' | 'medium' | 'large';
1642
+ /** Hover open/close delay. Default { open: 700, close: 0 }. */
1643
+ delay?: Delay;
1644
+ /** Px offset between trigger and tooltip. Default 8. */
1645
+ offset?: number;
1646
+ /** Render caret arrow. Default true. */
1647
+ arrow?: boolean;
1648
+ /** Disable fade-in animation. Default false. */
1649
+ animation?: boolean;
1650
+ /** Controlled open state. */
1651
+ open?: boolean;
1652
+ onOpenChange?: (open: boolean) => void;
1653
+ /** When true, do not attach handlers and never show tooltip. */
1654
+ disabled?: boolean;
1655
+ /** Class for tooltip body (override). */
1656
+ className?: string;
1657
+ };
1658
+ declare function Tooltip({ content, children, placement, size, delay, offset, arrow, animation, open: controlledOpen, onOpenChange, disabled, className, }: TooltipProps): react_jsx_runtime.JSX.Element;
1659
+
1660
+ type DropdownMenuProps = {
1661
+ open: boolean;
1662
+ onOpenChange: (open: boolean) => void;
1663
+ /** Single anchor child (must forward ref). */
1664
+ children: React__default.ReactElement;
1665
+ /** Floating content (typically list of <DropdownMenuItem />). */
1666
+ content: React__default.ReactNode;
1667
+ /** @floating-ui placement. Default 'bottom-start'. */
1668
+ placement?: Placement;
1669
+ /** Class for floating container. Use w-[var(--dm-anchor-w)] for anchor-match. */
1670
+ className?: string;
1671
+ /**
1672
+ * Toggle open on click of the reference. Default true.
1673
+ * Set to false for value-driven menus (autocomplete suggestions, command palettes)
1674
+ * where the consumer controls `open` externally.
1675
+ */
1676
+ triggerOnClick?: boolean;
1677
+ /**
1678
+ * Override the reference element. When provided, `children` is rendered as-is
1679
+ * (no cloneElement / no ref injection / no reference props). Useful when the
1680
+ * anchor is not the same element you want to wrap (e.g. a wrapper div with
1681
+ * input, chips, and clear button — anchor on the wrapper, not the input).
1682
+ */
1683
+ referenceElement?: HTMLElement | null;
1684
+ /**
1685
+ * Whether the floating popover scrolls internally when content exceeds max-height.
1686
+ * Default true. Set to false when the content manages its own scroll (e.g. SelectMenu
1687
+ * with sticky search + scrollable list) to avoid nested scrollbars.
1688
+ */
1689
+ scrollable?: boolean;
1690
+ };
1691
+ declare function DropdownMenu({ open, onOpenChange, children, content, placement, className, triggerOnClick, referenceElement, scrollable, }: DropdownMenuProps): react_jsx_runtime.JSX.Element;
1692
+
1693
+ declare const labelVariants: (props?: ({
1694
+ size?: "sm" | "md" | "lg" | null | undefined;
1695
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
1696
+ type DropdownMenuItemSize = NonNullable<VariantProps<typeof labelVariants>['size']>;
1697
+
1698
+ type DropdownMenuItemOwnProps = {
1699
+ /** Optional leading icon (inline, inherits hover state). */
1700
+ icon?: React__default.ReactNode;
1701
+ /** Optional trailing icon (e.g. chevron for submenus). */
1702
+ rightIcon?: React__default.ReactNode;
1703
+ children: React__default.ReactNode;
1704
+ /** Render 1px top divider. Default true. Set false for the first item. */
1705
+ divider?: boolean;
1706
+ selected?: boolean;
1707
+ /** Visual size. Default 'lg'. */
1708
+ size?: DropdownMenuItemSize;
1709
+ className?: string;
1710
+ };
1711
+ type PolymorphicRef<C extends React__default.ElementType> = React__default.ComponentPropsWithRef<C>['ref'];
1712
+ type DropdownMenuItemProps<C extends React__default.ElementType = 'button'> = DropdownMenuItemOwnProps & {
1713
+ /** Render as a different element/component (e.g. `'a'` for real links, or react-router `Link`). Defaults to `<button>`. */
1714
+ as?: C;
1715
+ ref?: PolymorphicRef<C>;
1716
+ } & Omit<React__default.ComponentPropsWithoutRef<C>, keyof DropdownMenuItemOwnProps | 'as' | 'ref'>;
1717
+ declare function DropdownMenuItem<C extends React__default.ElementType = 'button'>({ as, icon, rightIcon, children, divider, selected, size, disabled, className, type, ref, ...rest }: DropdownMenuItemProps<C>): react_jsx_runtime.JSX.Element;
1718
+
1719
+ type DropdownMenuListProps = {
1720
+ /** Cascades to child <DropdownMenuItem /> entries that don't set their own size. */
1721
+ size?: DropdownMenuItemSize;
1722
+ className?: string;
1723
+ children: React__default.ReactNode;
1724
+ };
1725
+ declare function DropdownMenuList({ size, className, children, }: DropdownMenuListProps): react_jsx_runtime.JSX.Element;
1726
+
1727
+ type ModalCloseProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick' | 'type'> & {
1728
+ onClose: () => void;
1729
+ };
1730
+ declare const ModalClose: React__default.ForwardRefExoticComponent<Omit<React__default.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "onClick"> & {
1731
+ onClose: () => void;
1732
+ } & React__default.RefAttributes<HTMLButtonElement>>;
1733
+ type ModalHeaderProps = HTMLAttributes<HTMLDivElement> & {
1734
+ /** When provided, auto-renders <Modal.Close> at top-right. */
1735
+ onClose?: () => void;
1736
+ };
1737
+ declare const ModalHeader: React__default.ForwardRefExoticComponent<React__default.HTMLAttributes<HTMLDivElement> & {
1738
+ /** When provided, auto-renders <Modal.Close> at top-right. */
1739
+ onClose?: () => void;
1740
+ } & React__default.RefAttributes<HTMLDivElement>>;
1741
+ type ModalBodyProps = HTMLAttributes<HTMLDivElement>;
1742
+ declare const ModalBody: React__default.ForwardRefExoticComponent<ModalBodyProps & React__default.RefAttributes<HTMLDivElement>>;
1743
+ type ModalFooterProps = HTMLAttributes<HTMLDivElement>;
1744
+ declare const ModalFooter: React__default.ForwardRefExoticComponent<ModalFooterProps & React__default.RefAttributes<HTMLDivElement>>;
1745
+ type ModalProps = Omit<HTMLAttributes<HTMLDivElement>, 'role'> & {
1746
+ onClose: () => void;
1747
+ /** Modal width (px or any CSS length). Default 671. Override via className for responsive. */
1748
+ width?: number | string;
1749
+ /** Disable body scroll-lock (for nested modals). */
1750
+ isNested?: boolean;
1751
+ };
1752
+ declare const Modal: React__default.ForwardRefExoticComponent<Omit<React__default.HTMLAttributes<HTMLDivElement>, "role"> & {
1753
+ onClose: () => void;
1754
+ /** Modal width (px or any CSS length). Default 671. Override via className for responsive. */
1755
+ width?: number | string;
1756
+ /** Disable body scroll-lock (for nested modals). */
1757
+ isNested?: boolean;
1758
+ } & React__default.RefAttributes<HTMLDivElement>> & {
1759
+ Header: React__default.ForwardRefExoticComponent<React__default.HTMLAttributes<HTMLDivElement> & {
1760
+ /** When provided, auto-renders <Modal.Close> at top-right. */
1761
+ onClose?: () => void;
1762
+ } & React__default.RefAttributes<HTMLDivElement>>;
1763
+ Body: React__default.ForwardRefExoticComponent<ModalBodyProps & React__default.RefAttributes<HTMLDivElement>>;
1764
+ Footer: React__default.ForwardRefExoticComponent<ModalFooterProps & React__default.RefAttributes<HTMLDivElement>>;
1765
+ Close: React__default.ForwardRefExoticComponent<Omit<React__default.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "onClick"> & {
1766
+ onClose: () => void;
1767
+ } & React__default.RefAttributes<HTMLButtonElement>>;
1768
+ };
1769
+
1770
+ type NotificationType = 'info' | 'success' | 'warning' | 'error';
1771
+ type NotificationProps = {
1772
+ type?: NotificationType;
1773
+ } & HTMLAttributes<HTMLDivElement>;
1774
+ declare const Notification: React__default.ForwardRefExoticComponent<{
1775
+ type?: NotificationType;
1776
+ } & React__default.HTMLAttributes<HTMLDivElement> & React__default.RefAttributes<HTMLDivElement>>;
1777
+
1778
+ type ToastPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
1779
+ type ToastData = {
2101
1780
  id: string;
2102
- duration: number;
1781
+ /** Visual variant, mapped to Notification. Default 'info'. */
1782
+ type?: NotificationType;
2103
1783
  message: ReactNode;
1784
+ /** Milliseconds before auto-dismiss. `Infinity` keeps the toast sticky. */
1785
+ duration?: number;
1786
+ /** Whether the close button is shown. Default true. */
2104
1787
  cancelable?: boolean;
2105
- color?: ColorToastVariant;
2106
1788
  };
2107
1789
 
2108
- type Position = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
2109
- interface ToastsListProps {
2110
- position?: Position;
2111
- offset?: number;
2112
- items: Toast[];
1790
+ interface ToastItemProps extends ToastData {
1791
+ transitionDirection: 'top' | 'bottom';
2113
1792
  onClose: (id: string) => void;
2114
1793
  }
2115
- declare const ToastsList: ({ items, onClose, position, offset }: ToastsListProps) => react_jsx_runtime.JSX.Element;
2116
1794
 
2117
- type GlobalDropZoneProps = {
2118
- onChange: (files: File[]) => void;
2119
- disabled?: boolean;
2120
- multiple?: boolean;
2121
- dragText?: string;
1795
+ interface ToastListProps {
1796
+ items: ToastData[];
1797
+ onClose: (id: string) => void;
1798
+ position?: ToastPosition;
2122
1799
  className?: string;
1800
+ }
1801
+
1802
+ /**
1803
+ * Compound toast component built on top of `Notification`.
1804
+ *
1805
+ * - `Toast.List` — positioned, stacking container with auto-dismiss + transitions.
1806
+ * - `Toast.Item` — a single toast (usually rendered by `Toast.List`).
1807
+ */
1808
+ declare const Toast: {
1809
+ List: {
1810
+ ({ items, onClose, position, className }: ToastListProps): react_jsx_runtime.JSX.Element;
1811
+ displayName: string;
1812
+ };
1813
+ Item: {
1814
+ ({ id, type, message, duration, cancelable, transitionDirection, onClose, }: ToastItemProps): react_jsx_runtime.JSX.Element;
1815
+ displayName: string;
1816
+ };
1817
+ };
1818
+
1819
+ type FileInputProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'value' | 'onChange' | 'size'> & {
1820
+ label?: string;
1821
+ helperText?: string;
1822
+ error?: string | boolean;
1823
+ required?: boolean;
1824
+ fullWidth?: boolean;
1825
+ rootClassName?: string;
1826
+ multiple?: boolean;
1827
+ accept?: string;
1828
+ value?: FileWithFolderPath[];
1829
+ onChange?: (files: FileWithFolderPath[]) => void;
1830
+ onError?: (error: string) => void;
1831
+ dragDropPlaceholder?: string;
1832
+ dragDropText?: string;
1833
+ uploadButtonText?: string;
1834
+ infoText?: string;
1835
+ icon?: ReactNode;
1836
+ hasIcon?: boolean;
1837
+ hasButton?: boolean;
1838
+ enableFilePreview?: boolean;
1839
+ minHeight?: number | string;
1840
+ dropZoneClassName?: string;
2123
1841
  };
2124
- declare const GlobalDropZone: ({ onChange, disabled, multiple, dragText, className, }: GlobalDropZoneProps) => react.ReactPortal | null;
1842
+ declare const FileInput: React$1.ForwardRefExoticComponent<Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "size" | "value" | "onChange"> & {
1843
+ label?: string;
1844
+ helperText?: string;
1845
+ error?: string | boolean;
1846
+ required?: boolean;
1847
+ fullWidth?: boolean;
1848
+ rootClassName?: string;
1849
+ multiple?: boolean;
1850
+ accept?: string;
1851
+ value?: FileWithFolderPath[];
1852
+ onChange?: (files: FileWithFolderPath[]) => void;
1853
+ onError?: (error: string) => void;
1854
+ dragDropPlaceholder?: string;
1855
+ dragDropText?: string;
1856
+ uploadButtonText?: string;
1857
+ infoText?: string;
1858
+ icon?: ReactNode;
1859
+ hasIcon?: boolean;
1860
+ hasButton?: boolean;
1861
+ enableFilePreview?: boolean;
1862
+ minHeight?: number | string;
1863
+ dropZoneClassName?: string;
1864
+ } & React$1.RefAttributes<HTMLInputElement>>;
1865
+
1866
+ interface MasonryProps {
1867
+ /** Explicit column count. Takes precedence over `columnsCountBreakpoints`. */
1868
+ columnsCount?: number;
1869
+ /** Container-aware breakpoints: `{ minContainerWidth: columnsCount }`. */
1870
+ columnsCountBreakpoints?: Record<number, number>;
1871
+ /** Gap between columns and between cards within a column. Any CSS length. */
1872
+ gutter?: string;
1873
+ /**
1874
+ * `true` — distribute children greedily by height (column heights stay close,
1875
+ * but children may render out of source order).
1876
+ * `false` — round-robin: child[i] lands in column[i % N], so left-to-right
1877
+ * row-by-row reading order is preserved (default).
1878
+ */
1879
+ balanced?: boolean;
1880
+ className?: string;
1881
+ style?: CSSProperties;
1882
+ children: ReactNode;
1883
+ }
1884
+ declare const Masonry: React$1.ForwardRefExoticComponent<MasonryProps & React$1.RefAttributes<HTMLDivElement>>;
1885
+
1886
+ type Theme = 'light' | 'dark';
1887
+ interface ThemeContextValue {
1888
+ theme: Theme;
1889
+ setTheme: (theme: Theme) => void;
1890
+ toggleTheme: () => void;
1891
+ }
1892
+ interface ThemeProviderProps {
1893
+ children: React.ReactNode;
1894
+ defaultTheme?: Theme;
1895
+ storageKey?: string;
1896
+ root?: HTMLElement;
1897
+ }
1898
+ declare function ThemeProvider({ children, defaultTheme, storageKey, root, }: ThemeProviderProps): react_jsx_runtime.JSX.Element;
1899
+ declare function useTheme(): ThemeContextValue;
2125
1900
 
2126
- export { type Action, Alert, AlertIcon, AndroidIcon, ApiIcon, ArrowCircleTopRightIcon, ArrowRightIcon, BallsMenu, type BaseInputProps, Box, type Breakpoint, BreakpointProvider, BugReportIcon, BurgerMenuIcon, BusIcon, Button, type ButtonColor, type ButtonElementStyle, type ButtonProps, type ButtonSize, type ButtonSizeStyle, type ButtonState, type ButtonVariant, CalendarIcon, CarIcon, ChatField, type ChatFieldProps, CheckIcon, Checkbox, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ClockIcon, CloseCircleIcon, ClosedLockIcon, type ColorToastVariant, type ColorVariant, type ColumnTable, Container, ContentLoader, type ContentLoaderProps, ContextMenu, ContextMenuDelimiter, CopyToClipboard, CrossIcon, DataSetsIcon, DatePicker, DatePickerCalendar, DeepSearchIcon, DisabledVisibleIcon, DocsIcon, type DocxDriverLabels, DownloadIcon, Drawer, DrawerBody, DrawerHeader, EditUserIcon, EmptyData, type EmptyDataProps, EnableVisibleIcon, EnterArrowLeftIcon, type FabricComponent, FaceSearchIcon, File2Icon, FileField, type FileFieldProps, FileIcon, FileViewer, FiltersIcon, FlashIcon, FlexContainer, FlexItem, FolderAlertIcon, FolderIcon, FolderInfoIcon, FullscreenCard, GlobalDropZone, Graph2D, type Graph2DProps, type Graph2DRef, type GraphData, type GraphState, Header, HeaderDelimeter, HeaderSection, HomepageIcon, ImageIcon, InfoCircleFilledIcon, InfoCircleIcon, Input, type InputElementProps, type InputElementStyle, type InputProps, type InputSize, type InputSizeStyle, type InputState, type InputVariant, IosIcon, Label, type LabelSize, type LabelSizeStyle, Line, LinerProgress, type LinkObject, ListMenu, ListMenuItem, type ListMenuItemAnchorProps, type ListMenuItemBase, type ListMenuItemButtonProps, type ListMenuItemProps, type ListMenuProps, ListMenuSection, type ListMenuSectionProps, MapRadarIcon, MaximizeIcon, MessageAsteriskIcon, MicrosoftIcon, MinusIcon, Modal, ModalBody, ModalFooter, ModalHeader, MoonIcon, type NestedColorPaths, type NodeButton, type NodeObject, OpenLockIcon, OrganizationIcon, Overlay, type OverlayProps, PageContent, PageLayout, Pagination, type PaginationProps, PassportIcon, PasswordFinderIcon, PencilIcon, PhonebookIcon, PlaneIcon, PlusIcon, PointIcon, PrintIcon, Profiler2Icon, ProfilerIcon, ProgressLoader, RelationIcon, RelationPointsIcon, type RenderCellProps, type RenderHeaderCellProps, RotateLeftIcon, RotateRightIcon, RowActionsMenu, SandBoxIcon, SearchIcon, Select, ShipIcon, Sidebar, SidebarContext, SidebarDelimeter, SidebarItem, type SidebarItemProps, type SidebarProps, SidebarSection, type SidebarSectionProps, SplitterLayout, StatisticIcon, Styled, StyledContainer, type StyledFabricComponent, StyledMain, StyledTooltipContent, SubNav, SunIcon, type SupportedFileExtension, Switch, type SwitchSize, type SwitchState, Table, Tag, type TagColor, type TagElementStyle, type TagVariant, TailwindExample, type TailwindExampleProps, type TextAreaElementProps, type Theme, type ThemeMode, ThemeProvider, type Toast, ToastsList, Tooltip, type TooltipProps, Typewriter, Typography, type TypographyProps, type TypographyVariant, UnfoldIcon, UpRightArrowCircleIcon, UploadImageIcon, UserInCircleIcon, UsersIcon, VectorIcon, WayIcon, convertPaletteToRem, createComponent, createStyledComponent, darkTheme, darkThemePx, destructSpaceProps, generatePropertySpaceStyle, getBreakpoint, getButtonSizeStyles, getButtonStyles, getInputStyles, getResponsiveProps, getTypographyStyles, hexToRgba, lightTheme, lightThemePx, propToRem, pxToRem, remToPx, resolveThemeColor, useBreakpoint, useContextMenuControl, useTheme };
1901
+ export { Bone, type BoneProps, Button, type ButtonProps, type ButtonSize, type ButtonType, Checkbox, type CheckboxProps, Container, CopyButton, type CopyButtonProps, Counter, type CounterProps, CounterTag, type CounterTagLevel, type CounterTagProps, DOWNLOAD_ONLY_EXTENSIONS, DataGrid, type DataGridColumn, type DataGridProps, type DataGridSortDirection, type DataGridSortState, DatePicker, DatePickerCalendar, type DatePickerProps, Drawer, DrawerBody, type DrawerBodyProps, DrawerClose, type DrawerCloseProps, DrawerFooter, type DrawerFooterProps, DrawerHeader, type DrawerHeaderProps, type DrawerProps, DropdownMenu, DropdownMenuItem, type DropdownMenuItemProps, type DropdownMenuItemSize, DropdownMenuList, type DropdownMenuListProps, type DropdownMenuProps, FILE_VIEWER_DRIVER_GROUPS, FileInput, type FileInputProps, FileViewer, type FileViewerDriverKind, type FileViewerExtension, type FileViewerNavProps, FullscreenCard, GlobalDropZone, Graph2D, type Graph2DProps, type Graph2DRef, type GraphData, type GraphState, Header, HeaderDelimeter, HeaderSection, IconButton, type IconButtonProps, type IconButtonSize, type IconButtonType, Line, Link, type LinkObject, type LinkProps, Masonry, type MasonryProps, Modal, ModalBody, type ModalBodyProps, ModalClose, type ModalCloseProps, ModalFooter, type ModalFooterProps, ModalHeader, type ModalHeaderProps, type ModalProps, MultiSelect, type MultiSelectAllOption, type MultiSelectProps, type NodeButton, type NodeObject, Notification, type NotificationProps, type NotificationType, NumberInput, type NumberInputProps, Overlay, type OverlayProps, PageContent, PageLayout, Pagination, type PaginationLabels, type PaginationPerPage, type PaginationProps, Panel, PhoneNumber, type PhoneNumberMeta, type PhoneNumberProps, type PinSide, ProgressBar, type ProgressBarProps, type ProgressBarSize, type ProgressBarStatus, type ProgressBarType, SUPPORTED_FILE_EXTENSIONS, SearchInput, type SearchInputProps, Select, type SelectGroup, type SelectOption, type SelectProps, type SelectRenderOption, type SelectRenderOptionContext, type SelectValue, Sidebar, SidebarContext, type SidebarContextValue, SidebarDivider, type SidebarDividerProps, SidebarItem, type SidebarItemProps, type SidebarProps, SidebarSection, type SidebarSectionProps, SkeletonAvatar, type SkeletonAvatarProps, SkeletonRow, type SkeletonRowProps, SkeletonTextBlock, type SkeletonTextBlockProps, SourcesButton, type SourcesButtonProps, SpinnerLoader, type SpinnerLoaderProps, SplitterLayout, SubNav, type SupportedFileExtension, Tabs, TabsList, type TabsListProps, TabsPanel, type TabsPanelProps, TabsPanels, type TabsPanelsProps, type TabsProps, TabsTab, type TabsTabProps, Tag, type TagColor, type TagProps, type TagShape, type TagWrap, TextArea, type TextAreaProps, TextInput, type TextInputProps, type Theme, ThemeProvider, Toast, type ToastData, type ToastItemProps, type ToastListProps, type ToastPosition, Toggle, type ToggleProps, Tooltip, type TooltipProps, Typewriter, VerticalNavigation, VerticalNavigationButton, type VerticalNavigationButtonProps, type VerticalNavigationItem, type VerticalNavigationProps, resolveDriverKind, useCopyToClipboard, useTheme };