@smworks-cz/ui-kit 1.5.1 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +66 -6
- package/dist/index.d.mts +1711 -414
- package/dist/index.d.ts +1711 -414
- package/dist/index.js +7 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +7 -7
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -5
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import React__default from 'react';
|
|
2
3
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
4
|
|
|
4
|
-
type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'danger';
|
|
5
|
+
type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'danger' | 'danger-outline';
|
|
5
6
|
type ButtonSize = 'sm' | 'md' | 'lg';
|
|
6
7
|
type ButtonIconPosition = 'left' | 'right';
|
|
7
8
|
/** Sdílené props pro režim `<button>` i `<a>`. */
|
|
@@ -9,9 +10,10 @@ interface ButtonBaseProps {
|
|
|
9
10
|
/**
|
|
10
11
|
* Vizuální varianta tlačítka.
|
|
11
12
|
* - `primary` — oranžové vyplnění (#FC4F00)
|
|
12
|
-
* - `secondary` —
|
|
13
|
-
* - `outline` — průhledné s
|
|
13
|
+
* - `secondary` — jemné tónované pozadí bez okraje (viditelné i na kartě)
|
|
14
|
+
* - `outline` — průhledné s okrajem
|
|
14
15
|
* - `danger` — červené vyplnění (#EF3838)
|
|
16
|
+
* - `danger-outline` — průhledné s červeným okrajem a červeným textem
|
|
15
17
|
* @default 'primary'
|
|
16
18
|
*/
|
|
17
19
|
variant?: ButtonVariant;
|
|
@@ -24,7 +26,7 @@ interface ButtonBaseProps {
|
|
|
24
26
|
* Volitelná ikona — libovolný React uzel (SVG, komponenta…).
|
|
25
27
|
* Při použití bez `children` se tlačítko vykreslí jako čtverec.
|
|
26
28
|
*/
|
|
27
|
-
icon?:
|
|
29
|
+
icon?: React__default.ReactNode;
|
|
28
30
|
/**
|
|
29
31
|
* Na které straně se ikona zobrazí vzhledem k textu.
|
|
30
32
|
* @default 'left'
|
|
@@ -44,14 +46,15 @@ interface ButtonBaseProps {
|
|
|
44
46
|
*/
|
|
45
47
|
loadingPosition?: 'replace' | 'after-text';
|
|
46
48
|
/**
|
|
47
|
-
* Roztáhne tlačítko na
|
|
49
|
+
* Roztáhne tlačítko na dostupnou šířku. Ve flex řádku vedle jiných prvků
|
|
50
|
+
* vyplní zbytek (`flex: 1 1 auto`, `min-width: 0`), nepřeteče rodiče.
|
|
48
51
|
*/
|
|
49
52
|
fullWidth?: boolean;
|
|
50
53
|
/**
|
|
51
54
|
* Další inline styly aplikované na kořenový element (`<button>` nebo `<a>`).
|
|
52
55
|
* Sloučeny za všechny variantní / velikostní styly — pro jednorázové přepsání.
|
|
53
56
|
*/
|
|
54
|
-
style?:
|
|
57
|
+
style?: React__default.CSSProperties;
|
|
55
58
|
/**
|
|
56
59
|
* Dodatečná CSS třída pro kořenový element.
|
|
57
60
|
*/
|
|
@@ -60,25 +63,25 @@ interface ButtonBaseProps {
|
|
|
60
63
|
* Textový obsah tlačítka.
|
|
61
64
|
* Při vynechání (pokud je zadána `icon`) se tlačítko vykreslí jako čtverec.
|
|
62
65
|
*/
|
|
63
|
-
children?:
|
|
66
|
+
children?: React__default.ReactNode;
|
|
64
67
|
}
|
|
65
68
|
/** Vykreslení jako nativní `<button>` (výchozí). Dědí všechny standardní atributy — včetně `onClick`, `type`, `form`, `name`, `value`, `aria-*` apod. */
|
|
66
|
-
interface ButtonAsButtonProps extends ButtonBaseProps, Omit<
|
|
69
|
+
interface ButtonAsButtonProps extends ButtonBaseProps, Omit<React__default.ButtonHTMLAttributes<HTMLButtonElement>, keyof ButtonBaseProps> {
|
|
67
70
|
/** Při vynechání se komponenta vykreslí jako `<button>`. */
|
|
68
71
|
href?: undefined;
|
|
69
72
|
}
|
|
70
73
|
/** Vykreslení jako `<a>` odkaz, pokud je zadáno `href`. Vhodné pro navigační tlačítka. */
|
|
71
|
-
interface ButtonAsAnchorProps extends ButtonBaseProps, Omit<
|
|
74
|
+
interface ButtonAsAnchorProps extends ButtonBaseProps, Omit<React__default.AnchorHTMLAttributes<HTMLAnchorElement>, keyof ButtonBaseProps> {
|
|
72
75
|
href: string;
|
|
73
76
|
}
|
|
74
77
|
type ButtonProps = ButtonAsButtonProps | ButtonAsAnchorProps;
|
|
75
|
-
declare const Button:
|
|
78
|
+
declare const Button: React__default.ForwardRefExoticComponent<ButtonProps & React__default.RefAttributes<HTMLButtonElement | HTMLAnchorElement>>;
|
|
76
79
|
|
|
77
|
-
interface IconButtonProps {
|
|
80
|
+
interface IconButtonProps extends Omit<React__default.ButtonHTMLAttributes<HTMLButtonElement>, 'onClick' | 'style' | 'className'> {
|
|
78
81
|
/** Ikona. */
|
|
79
|
-
icon:
|
|
82
|
+
icon: React__default.ReactNode;
|
|
80
83
|
/** Callback při kliknutí. */
|
|
81
|
-
onClick?: (e:
|
|
84
|
+
onClick?: (e: React__default.MouseEvent<HTMLButtonElement>) => void;
|
|
82
85
|
/** Povinný aria-label pro přístupnost. */
|
|
83
86
|
label: string;
|
|
84
87
|
/** Varianta. @default 'default' */
|
|
@@ -89,10 +92,18 @@ interface IconButtonProps {
|
|
|
89
92
|
disabled?: boolean;
|
|
90
93
|
/** Zobrazí spinner. @default false */
|
|
91
94
|
loading?: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Sepnutý stav (toggle v toolbaru — tučné písmo, filtr…). Zvýrazní pozadí
|
|
97
|
+
* a nastaví `aria-pressed`.
|
|
98
|
+
* @default false
|
|
99
|
+
*/
|
|
100
|
+
active?: boolean;
|
|
92
101
|
/** Automaticky obalí tooltipem. */
|
|
93
102
|
tooltip?: string;
|
|
103
|
+
/** Typ nativního tlačítka. @default 'button' */
|
|
104
|
+
type?: 'button' | 'submit' | 'reset';
|
|
94
105
|
/** Další inline styly. */
|
|
95
|
-
style?:
|
|
106
|
+
style?: React__default.CSSProperties;
|
|
96
107
|
/** Dodatečná CSS třída. */
|
|
97
108
|
className?: string;
|
|
98
109
|
}
|
|
@@ -100,33 +111,35 @@ interface IconButtonProps {
|
|
|
100
111
|
* Čtvercové tlačítko pro ikonu.
|
|
101
112
|
*
|
|
102
113
|
* Optimalizované pro akce bez textu — klikací plocha je čtvercová,
|
|
103
|
-
* varianta a velikost se řídí samostatně.
|
|
114
|
+
* varianta a velikost se řídí samostatně. Forwarduje `ref` a propouští
|
|
115
|
+
* nativní atributy (`type`, `title`, `aria-*`, `data-*`, `form`…).
|
|
104
116
|
*
|
|
105
117
|
* @example
|
|
106
118
|
* ```tsx
|
|
107
119
|
* <IconButton icon={<TrashIcon />} label="Smazat" variant="danger" onClick={handleDelete} />
|
|
108
120
|
* <IconButton icon={<PencilIcon />} label="Upravit" tooltip="Upravit záznam" />
|
|
121
|
+
* <IconButton icon={<TextBIcon />} label="Tučně" active={isBold} onClick={toggleBold} />
|
|
109
122
|
* ```
|
|
110
123
|
*/
|
|
111
|
-
declare const IconButton:
|
|
124
|
+
declare const IconButton: React__default.ForwardRefExoticComponent<IconButtonProps & React__default.RefAttributes<HTMLButtonElement>>;
|
|
112
125
|
|
|
113
126
|
interface FormFieldProps {
|
|
114
127
|
/** Popisek pole. */
|
|
115
|
-
label?: string |
|
|
128
|
+
label?: string | React__default.ReactNode;
|
|
116
129
|
/** Povinné pole — zobrazí hvězdičku. @default false */
|
|
117
130
|
required?: boolean;
|
|
118
131
|
/** Nápovědný text pod polem. */
|
|
119
|
-
helperText?: string |
|
|
132
|
+
helperText?: string | React__default.ReactNode;
|
|
120
133
|
/** Chybová zpráva — zobrazí se červeně pod polem. */
|
|
121
|
-
error?: string |
|
|
134
|
+
error?: string | React__default.ReactNode;
|
|
122
135
|
/** Formulářový prvek (input, select, atd.). */
|
|
123
|
-
children:
|
|
136
|
+
children: React__default.ReactNode;
|
|
124
137
|
/** Vodorovný layout (label vlevo, field vpravo). @default false */
|
|
125
138
|
inline?: boolean;
|
|
126
139
|
/** Šířka labelu v inline režimu. @default '120px' */
|
|
127
140
|
labelWidth?: number | string;
|
|
128
141
|
/** Další inline styly. */
|
|
129
|
-
style?:
|
|
142
|
+
style?: React__default.CSSProperties;
|
|
130
143
|
/** Dodatečná CSS třída. */
|
|
131
144
|
className?: string;
|
|
132
145
|
}
|
|
@@ -147,10 +160,45 @@ interface FormFieldProps {
|
|
|
147
160
|
* </FormField>
|
|
148
161
|
* ```
|
|
149
162
|
*/
|
|
150
|
-
declare const FormField:
|
|
163
|
+
declare const FormField: React__default.FC<FormFieldProps>;
|
|
164
|
+
|
|
165
|
+
interface FieldLabelProps extends Omit<React__default.LabelHTMLAttributes<HTMLLabelElement>, 'children'> {
|
|
166
|
+
/** Text popisku. */
|
|
167
|
+
children: React__default.ReactNode;
|
|
168
|
+
/** Zobrazí hvězdičku povinného pole. @default false */
|
|
169
|
+
required?: boolean;
|
|
170
|
+
/** Vykreslit jako `<span>` místo `<label>` (pro prvky, které nejsou formulářové). @default 'label' */
|
|
171
|
+
as?: 'label' | 'span';
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Samostatný popisek pole ve stylu SM-UI (Zalando Sans Expanded, 10px, verzálky).
|
|
175
|
+
* Stejná typografie, jakou používá `label` prop u Input / Select / Textarea,
|
|
176
|
+
* pro vlastní prvky konzumenta.
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```tsx
|
|
180
|
+
* <FieldLabel htmlFor="color" required>Barva</FieldLabel>
|
|
181
|
+
* <FieldLabel as="span">Nastavení</FieldLabel>
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
declare const FieldLabel: React__default.FC<FieldLabelProps>;
|
|
151
185
|
|
|
152
186
|
type InputSize = 'sm' | 'md' | 'lg';
|
|
153
|
-
|
|
187
|
+
type InputVariant = 'default' | 'inline';
|
|
188
|
+
interface InputProps extends Omit<React__default.InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
189
|
+
/**
|
|
190
|
+
* Vizuální varianta.
|
|
191
|
+
* - `'default'` — pole s pozadím a rámečkem
|
|
192
|
+
* - `'inline'` — bez pozadí a rámečku v klidu (vypadá jako text), rámeček až na hover / focus.
|
|
193
|
+
* Pro editaci přímo v buňce tabulky nebo kartě (click-to-edit).
|
|
194
|
+
* @default 'default'
|
|
195
|
+
*/
|
|
196
|
+
variant?: InputVariant;
|
|
197
|
+
/**
|
|
198
|
+
* Voláno při potvrzení hodnoty — na blur a na Enter — jen pokud se hodnota
|
|
199
|
+
* od získání fokusu změnila. Vzor click-to-edit: uložení až po dopsání, ne na každý stisk.
|
|
200
|
+
*/
|
|
201
|
+
onCommit?: (value: string) => void;
|
|
154
202
|
/**
|
|
155
203
|
* Popisek zobrazený nad vstupním polem.
|
|
156
204
|
* Stylizován velkými písmeny dle SM-UI design systému.
|
|
@@ -161,7 +209,7 @@ interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, '
|
|
|
161
209
|
* Ikona vykreslená uvnitř vstupního pole.
|
|
162
210
|
* Typicky SVG nebo komponenta ikony.
|
|
163
211
|
*/
|
|
164
|
-
icon?:
|
|
212
|
+
icon?: React__default.ReactNode;
|
|
165
213
|
/**
|
|
166
214
|
* Na které straně se ikona zobrazí.
|
|
167
215
|
* @default 'left'
|
|
@@ -211,7 +259,7 @@ interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, '
|
|
|
211
259
|
* Další inline styly pro **obalový** `<div>` (ne pro nativní input).
|
|
212
260
|
* Pro stylování nativního `<input>` použijte `inputStyle`.
|
|
213
261
|
*/
|
|
214
|
-
style?:
|
|
262
|
+
style?: React__default.CSSProperties;
|
|
215
263
|
/**
|
|
216
264
|
* Dodatečná CSS třída pro **obalový** `<div>`.
|
|
217
265
|
*/
|
|
@@ -219,7 +267,7 @@ interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, '
|
|
|
219
267
|
/**
|
|
220
268
|
* Další inline styly aplikované přímo na nativní `<input>` element.
|
|
221
269
|
*/
|
|
222
|
-
inputStyle?:
|
|
270
|
+
inputStyle?: React__default.CSSProperties;
|
|
223
271
|
}
|
|
224
272
|
interface InputGroupProps {
|
|
225
273
|
/**
|
|
@@ -236,9 +284,9 @@ interface InputGroupProps {
|
|
|
236
284
|
* Vstupní element(y) vykreslené uvnitř skupiny.
|
|
237
285
|
* Při vynechání se vykreslí výchozí `<Input />`.
|
|
238
286
|
*/
|
|
239
|
-
children?:
|
|
287
|
+
children?: React__default.ReactNode;
|
|
240
288
|
/** Další inline styly pro obalový `<div>`. */
|
|
241
|
-
style?:
|
|
289
|
+
style?: React__default.CSSProperties;
|
|
242
290
|
/** Dodatečná CSS třída pro obalový `<div>`. */
|
|
243
291
|
className?: string;
|
|
244
292
|
}
|
|
@@ -257,9 +305,10 @@ interface InputGroupProps {
|
|
|
257
305
|
* <Input icon={<SearchIcon />} placeholder="Hledat…" clearable />
|
|
258
306
|
* <Input error="Toto pole je povinné" value="" />
|
|
259
307
|
* <Input label="Heslo" type="password" helperText="Min. 8 znaků" />
|
|
308
|
+
* <Input variant="inline" value={name} onChange={...} onCommit={save} />
|
|
260
309
|
* ```
|
|
261
310
|
*/
|
|
262
|
-
declare const Input:
|
|
311
|
+
declare const Input: React__default.ForwardRefExoticComponent<InputProps & React__default.RefAttributes<HTMLInputElement>>;
|
|
263
312
|
/**
|
|
264
313
|
* Obalí `<Input>` (nebo jiný formulářový prvek) skupinou s popiskem.
|
|
265
314
|
* Popisek je stylizován velkými písmeny dle SM-UI design systému.
|
|
@@ -275,15 +324,11 @@ declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttri
|
|
|
275
324
|
* </InputGroup>
|
|
276
325
|
* ```
|
|
277
326
|
*/
|
|
278
|
-
declare const InputGroup:
|
|
327
|
+
declare const InputGroup: React__default.FC<InputGroupProps>;
|
|
279
328
|
|
|
280
329
|
type NumberInputSize = 'sm' | 'md' | 'lg';
|
|
281
|
-
type NumberInputVariant = 'default' | 'compact';
|
|
282
|
-
interface
|
|
283
|
-
/** Aktuální numerická hodnota. */
|
|
284
|
-
value: number;
|
|
285
|
-
/** Callback volaný při změně hodnoty. */
|
|
286
|
-
onChange: (value: number) => void;
|
|
330
|
+
type NumberInputVariant = 'default' | 'compact' | 'inline';
|
|
331
|
+
interface NumberInputBaseProps {
|
|
287
332
|
/** Minimální povolená hodnota. */
|
|
288
333
|
min?: number;
|
|
289
334
|
/** Maximální povolená hodnota. */
|
|
@@ -292,8 +337,14 @@ interface NumberInputProps {
|
|
|
292
337
|
step?: number;
|
|
293
338
|
/** Popisek zobrazený nad polem. Stylizován velkými písmeny dle SM-UI design systému. */
|
|
294
339
|
label?: string;
|
|
340
|
+
/** Označí pole jako povinné (hvězdička u popisku). */
|
|
341
|
+
required?: boolean;
|
|
342
|
+
/** Zástupný text zobrazený při prázdném poli. */
|
|
343
|
+
placeholder?: string;
|
|
295
344
|
/** Při `true` se pole zobrazí jako nevalidní. Při zadání řetězce se zobrazí chybová zpráva. */
|
|
296
345
|
error?: boolean | string;
|
|
346
|
+
/** Nápovědný text zobrazený pod polem. Nezobrazí se pokud je aktivní chybová zpráva. */
|
|
347
|
+
helperText?: string;
|
|
297
348
|
/** Zakáže celé pole včetně tlačítek. */
|
|
298
349
|
disabled?: boolean;
|
|
299
350
|
/**
|
|
@@ -308,61 +359,80 @@ interface NumberInputProps {
|
|
|
308
359
|
* Varianta rozložení.
|
|
309
360
|
* - `'default'` -- tlačítka −/+ po stranách
|
|
310
361
|
* - `'compact'` -- šipky nahoru/dolů vpravo uvnitř pole
|
|
362
|
+
* - `'inline'` -- bez tlačítek, bez rámečku v klidu (editace v buňce); šipky na klávesnici fungují
|
|
311
363
|
* @default 'default'
|
|
312
364
|
*/
|
|
313
365
|
variant?: NumberInputVariant;
|
|
366
|
+
/**
|
|
367
|
+
* Roztáhne pole na celou šířku kontejneru.
|
|
368
|
+
* @default false
|
|
369
|
+
*/
|
|
370
|
+
fullWidth?: boolean;
|
|
314
371
|
/** Text zobrazený před hodnotou (např. měna). */
|
|
315
372
|
prefix?: string;
|
|
316
373
|
/** Text zobrazený za hodnotou (např. jednotka). */
|
|
317
374
|
suffix?: string;
|
|
375
|
+
/**
|
|
376
|
+
* Voláno při potvrzení hodnoty — na blur a na Enter — jen pokud se hodnota
|
|
377
|
+
* od získání fokusu změnila.
|
|
378
|
+
*/
|
|
379
|
+
onCommit?: (value: number | null) => void;
|
|
380
|
+
/** `id` nativního inputu. Automaticky generováno, pokud chybí. */
|
|
381
|
+
id?: string;
|
|
382
|
+
/** Atribut `name` nativního inputu. */
|
|
383
|
+
name?: string;
|
|
318
384
|
/** Další inline styly pro obalový `<div>`. */
|
|
319
|
-
style?:
|
|
385
|
+
style?: React__default.CSSProperties;
|
|
320
386
|
/** Dodatečná CSS třída pro obalový `<div>`. */
|
|
321
387
|
className?: string;
|
|
322
388
|
}
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
389
|
+
interface NumberInputStrictProps extends NumberInputBaseProps {
|
|
390
|
+
/** Pole nemůže být prázdné (výchozí) — blur doplní poslední platnou hodnotu. */
|
|
391
|
+
allowEmpty?: false;
|
|
392
|
+
/** Aktuální numerická hodnota. */
|
|
393
|
+
value: number;
|
|
394
|
+
/** Callback volaný při změně hodnoty. */
|
|
395
|
+
onChange(value: number): void;
|
|
396
|
+
}
|
|
397
|
+
interface NumberInputEmptyProps extends NumberInputBaseProps {
|
|
398
|
+
/**
|
|
399
|
+
* Povolí prázdné pole ("není nastaveno"). Vymazání pole zavolá `onChange(null)`
|
|
400
|
+
* a blur prázdné pole nenahradí hodnotou `min`.
|
|
401
|
+
*/
|
|
402
|
+
allowEmpty: true;
|
|
403
|
+
/** Aktuální numerická hodnota; `null` = prázdné pole. */
|
|
404
|
+
value: number | null;
|
|
405
|
+
/** Callback volaný při změně hodnoty; `null`, když uživatel pole vymaže. */
|
|
406
|
+
onChange(value: number | null): void;
|
|
407
|
+
}
|
|
408
|
+
type NumberInputProps = NumberInputStrictProps | NumberInputEmptyProps;
|
|
409
|
+
declare const NumberInput: ((props: NumberInputProps & React__default.RefAttributes<HTMLInputElement>) => React__default.ReactElement | null) & {
|
|
410
|
+
displayName?: string;
|
|
411
|
+
};
|
|
336
412
|
|
|
337
|
-
|
|
413
|
+
type SelectSize = 'sm' | 'md' | 'lg';
|
|
414
|
+
type SelectValue = string | number;
|
|
415
|
+
interface SelectOption<V = string> {
|
|
338
416
|
/** Unikátní hodnota položky. */
|
|
339
|
-
value:
|
|
417
|
+
value: V;
|
|
340
418
|
/** Zobrazovaný popisek. Pokud chybí, použije se `value`. */
|
|
341
419
|
label?: string;
|
|
342
420
|
/** Při `true` nelze položku vybrat. */
|
|
343
421
|
disabled?: boolean;
|
|
344
422
|
}
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
/**
|
|
355
|
-
|
|
356
|
-
* - Jednoduchý výběr: `(value: string | null) => void`
|
|
357
|
-
* - Vícenásobný výběr: `(value: string[]) => void`
|
|
358
|
-
*/
|
|
359
|
-
onChange?: (value: any) => void;
|
|
360
|
-
/** Umožní vybrat více položek najednou. @default false */
|
|
361
|
-
multiple?: boolean;
|
|
423
|
+
/** Skupina položek (optgroup) — nadpis + vlastní položky. */
|
|
424
|
+
interface SelectOptionGroup<V = string> {
|
|
425
|
+
/** Nadpis skupiny. */
|
|
426
|
+
label: string;
|
|
427
|
+
/** Položky skupiny. */
|
|
428
|
+
options: SelectOption<V>[];
|
|
429
|
+
}
|
|
430
|
+
type SelectOptions<V = string> = (SelectOption<V> | SelectOptionGroup<V>)[];
|
|
431
|
+
interface SelectBaseProps<V> {
|
|
432
|
+
/** Dostupné položky k výběru. Položky lze seskupit: `{ label: 'Skupina', options: [...] }`. */
|
|
433
|
+
options: SelectOptions<V>;
|
|
362
434
|
/** Zobrazí textové pole pro filtrování položek. @default false */
|
|
363
435
|
searchable?: boolean;
|
|
364
|
-
/** Zobrazí tlačítko pro vymazání výběru. @default false */
|
|
365
|
-
clearable?: boolean;
|
|
366
436
|
/** Zakáže celý select. @default false */
|
|
367
437
|
disabled?: boolean;
|
|
368
438
|
/**
|
|
@@ -377,7 +447,7 @@ interface SelectProps {
|
|
|
377
447
|
* Async vyhledávání — když zadáno, filtrace nejede client-side.
|
|
378
448
|
* Voláno s textem hledání, vrací Promise s novými options.
|
|
379
449
|
*/
|
|
380
|
-
onSearch?: (query: string) => Promise<SelectOption[]>;
|
|
450
|
+
onSearch?: (query: string) => Promise<SelectOption<V>[]>;
|
|
381
451
|
/** Povolí uživateli vytvořit novou hodnotu. @default false */
|
|
382
452
|
creatable?: boolean;
|
|
383
453
|
/** Callback při vytvoření nové hodnoty. */
|
|
@@ -389,33 +459,77 @@ interface SelectProps {
|
|
|
389
459
|
* @default 'inline'
|
|
390
460
|
*/
|
|
391
461
|
chipDisplay?: 'inline' | 'count';
|
|
392
|
-
/** Vlastní renderování položky v seznamu. */
|
|
393
|
-
renderOption?: (option: SelectOption
|
|
462
|
+
/** Vlastní renderování položky v seznamu (nahrazuje celý obsah řádku včetně fajfky). */
|
|
463
|
+
renderOption?: (option: SelectOption<V>, selected: boolean) => React__default.ReactNode;
|
|
394
464
|
/** Vlastní renderování vybrané hodnoty v triggeru. */
|
|
395
|
-
renderValue?: (option: SelectOption) =>
|
|
465
|
+
renderValue?: (option: SelectOption<V>) => React__default.ReactNode;
|
|
466
|
+
/** Voláno při otevření / zavření dropdownu. */
|
|
467
|
+
onOpenChange?: (open: boolean) => void;
|
|
396
468
|
/**
|
|
397
469
|
* Popisek zobrazený nad selectem.
|
|
398
470
|
* Stylizován velkými písmeny dle SM-UI design systému.
|
|
399
471
|
*/
|
|
400
472
|
label?: string;
|
|
473
|
+
/** Označí select jako povinný (hvězdička u popisku, stejně jako `Input`). */
|
|
474
|
+
required?: boolean;
|
|
401
475
|
/** Zástupný text zobrazený při prázdném výběru. */
|
|
402
476
|
placeholder?: string;
|
|
477
|
+
/**
|
|
478
|
+
* Velikostní preset (shodný s Input / DatePicker / Combobox).
|
|
479
|
+
* @default 'md'
|
|
480
|
+
*/
|
|
481
|
+
size?: SelectSize;
|
|
403
482
|
/** Maximální výška (px) rozbalovacího seznamu před scrollováním. @default 240 */
|
|
404
483
|
maxDropdownHeight?: number;
|
|
484
|
+
/** `id` triggeru (pro `<label htmlFor>`). Automaticky generováno, pokud chybí. */
|
|
485
|
+
id?: string;
|
|
405
486
|
/** Další inline styly pro kořenový obal. */
|
|
406
|
-
style?:
|
|
487
|
+
style?: React__default.CSSProperties;
|
|
407
488
|
/** Dodatečná CSS třída pro kořenový obal. */
|
|
408
489
|
className?: string;
|
|
409
490
|
}
|
|
491
|
+
interface SelectSingleProps<V = string> extends SelectBaseProps<V> {
|
|
492
|
+
/** Jednoduchý výběr (výchozí). */
|
|
493
|
+
multiple?: false;
|
|
494
|
+
/** Bez tlačítka pro vymazání (výchozí). */
|
|
495
|
+
clearable?: false;
|
|
496
|
+
/** Aktuální hodnota. */
|
|
497
|
+
value?: NoInfer<V> | null;
|
|
498
|
+
/** Voláno při změně výběru. */
|
|
499
|
+
onChange?(value: NoInfer<V>): void;
|
|
500
|
+
}
|
|
501
|
+
interface SelectSingleClearableProps<V = string> extends SelectBaseProps<V> {
|
|
502
|
+
/** Jednoduchý výběr (výchozí). */
|
|
503
|
+
multiple?: false;
|
|
504
|
+
/** Zobrazí tlačítko pro vymazání výběru — `onChange` pak může dostat `null`. */
|
|
505
|
+
clearable: true;
|
|
506
|
+
/** Aktuální hodnota. */
|
|
507
|
+
value?: NoInfer<V> | null;
|
|
508
|
+
/** Voláno při změně výběru (`null` po vymazání). */
|
|
509
|
+
onChange?(value: NoInfer<V> | null): void;
|
|
510
|
+
}
|
|
511
|
+
interface SelectMultipleProps<V = string> extends SelectBaseProps<V> {
|
|
512
|
+
/** Umožní vybrat více položek najednou. */
|
|
513
|
+
multiple: true;
|
|
514
|
+
/** Zobrazí tlačítko pro vymazání výběru. @default false */
|
|
515
|
+
clearable?: boolean;
|
|
516
|
+
/** Aktuální hodnoty. */
|
|
517
|
+
value?: NoInfer<V>[] | null;
|
|
518
|
+
/** Voláno při změně výběru. */
|
|
519
|
+
onChange?(value: NoInfer<V>[]): void;
|
|
520
|
+
}
|
|
521
|
+
type SelectProps<V = string> = SelectSingleProps<V> | SelectSingleClearableProps<V> | SelectMultipleProps<V>;
|
|
410
522
|
interface SelectGroupProps {
|
|
411
523
|
/** Text popisku nad selectem, velkými písmeny dle SM-UI design systému. */
|
|
412
524
|
label: string;
|
|
525
|
+
/** Označí skupinu jako povinnou (hvězdička u popisku). */
|
|
526
|
+
required?: boolean;
|
|
413
527
|
/** `htmlFor` propojující `<label>` se selectem. Automaticky generováno, pokud chybí. */
|
|
414
528
|
htmlFor?: string;
|
|
415
529
|
/** Select element(y) vykreslené uvnitř skupiny. */
|
|
416
|
-
children?:
|
|
530
|
+
children?: React__default.ReactNode;
|
|
417
531
|
/** Další inline styly pro obal. */
|
|
418
|
-
style?:
|
|
532
|
+
style?: React__default.CSSProperties;
|
|
419
533
|
/** Dodatečná CSS třída pro obal. */
|
|
420
534
|
className?: string;
|
|
421
535
|
}
|
|
@@ -423,10 +537,13 @@ interface SelectGroupProps {
|
|
|
423
537
|
* Vlastní rozbalovací výběr dle SM-UI design systému.
|
|
424
538
|
*
|
|
425
539
|
* Podporuje jednoduchý / vícenásobný výběr, fulltextové vyhledávání,
|
|
426
|
-
* vymazání hodnoty, chybový stav a tmavý / světlý
|
|
540
|
+
* skupiny položek (optgroup), vymazání hodnoty, chybový stav a tmavý / světlý
|
|
541
|
+
* režim přes `useTheme`. Hodnoty mohou být `string` i `number`; typ `onChange`
|
|
542
|
+
* je odvozený z `multiple`.
|
|
427
543
|
*
|
|
428
544
|
* Dropdown se vykresluje přes React portál, takže ho neořízne
|
|
429
|
-
* rodičovský kontejner s `overflow: hidden`.
|
|
545
|
+
* rodičovský kontejner s `overflow: hidden`. Funguje i uvnitř Popoveru / Sheetu.
|
|
546
|
+
* Forwarduje `ref` na trigger (`ref.current.focus()`).
|
|
430
547
|
*
|
|
431
548
|
* @example
|
|
432
549
|
* ```tsx
|
|
@@ -439,18 +556,23 @@ interface SelectGroupProps {
|
|
|
439
556
|
* clearable
|
|
440
557
|
* />
|
|
441
558
|
*
|
|
442
|
-
* //
|
|
559
|
+
* // Skupiny + číselné hodnoty
|
|
443
560
|
* <Select
|
|
444
|
-
* options={
|
|
445
|
-
*
|
|
446
|
-
*
|
|
447
|
-
*
|
|
448
|
-
*
|
|
449
|
-
*
|
|
561
|
+
* options={[
|
|
562
|
+
* { label: 'Jaro', options: [{ value: 3, label: 'Březen' }, { value: 4, label: 'Duben' }] },
|
|
563
|
+
* { label: 'Léto', options: [{ value: 6, label: 'Červen' }] },
|
|
564
|
+
* ]}
|
|
565
|
+
* value={mesic}
|
|
566
|
+
* onChange={(v) => setMesic(v)}
|
|
450
567
|
* />
|
|
568
|
+
*
|
|
569
|
+
* // Vícenásobný výběr s vyhledáváním
|
|
570
|
+
* <Select options={tagy} value={vybrane} onChange={setVybrane} multiple searchable />
|
|
451
571
|
* ```
|
|
452
572
|
*/
|
|
453
|
-
declare const Select:
|
|
573
|
+
declare const Select: (<V = string>(props: SelectProps<V> & React__default.RefAttributes<HTMLDivElement>) => React__default.ReactElement | null) & {
|
|
574
|
+
displayName?: string;
|
|
575
|
+
};
|
|
454
576
|
/**
|
|
455
577
|
* Obalí `<Select>` skupinou s popiskem, vizuálně odpovídá `InputGroup`.
|
|
456
578
|
*
|
|
@@ -461,32 +583,37 @@ declare const Select: React.FC<SelectProps>;
|
|
|
461
583
|
* </SelectGroup>
|
|
462
584
|
* ```
|
|
463
585
|
*/
|
|
464
|
-
declare const SelectGroup:
|
|
586
|
+
declare const SelectGroup: React__default.FC<SelectGroupProps>;
|
|
465
587
|
|
|
466
588
|
type ComboboxSize = 'sm' | 'md' | 'lg';
|
|
467
|
-
|
|
589
|
+
type ComboboxValue = string | number;
|
|
590
|
+
interface ComboboxOption<V = string> {
|
|
468
591
|
/** Unikátní hodnota položky. */
|
|
469
|
-
value:
|
|
592
|
+
value: V;
|
|
470
593
|
/** Zobrazovaný popisek. Pokud chybí, použije se `value`. */
|
|
471
594
|
label?: string;
|
|
595
|
+
/** Libovolná další pole pro `renderOption` / `filterOption`. */
|
|
596
|
+
[key: string]: unknown;
|
|
472
597
|
}
|
|
473
|
-
|
|
598
|
+
type ComboboxFilter<V = string> = (input: string, option: ComboboxOption<V>) => boolean;
|
|
599
|
+
interface ComboboxBaseProps<V> {
|
|
474
600
|
/** Dostupné položky k výběru. */
|
|
475
|
-
options: ComboboxOption[];
|
|
601
|
+
options: ComboboxOption<V>[];
|
|
476
602
|
/**
|
|
477
|
-
*
|
|
478
|
-
* -
|
|
479
|
-
* - Vícenásobný výběr: `string[]`
|
|
603
|
+
* Callback volaný při každé změně textu v poli — jak od uživatele, tak když
|
|
604
|
+
* kit text sám resetuje (blur, outside-click, výběr). Vhodné pro asynchronní filtrování.
|
|
480
605
|
*/
|
|
481
|
-
|
|
606
|
+
onInputChange?: (input: string) => void;
|
|
482
607
|
/**
|
|
483
|
-
*
|
|
484
|
-
* -
|
|
485
|
-
* -
|
|
608
|
+
* Klientský filtr položek podle napsaného textu.
|
|
609
|
+
* - `true` — filtruje podle `label` (case-insensitive `includes`), výchozí
|
|
610
|
+
* - `false` — žádný klientský filtr (server-side search přes `onInputChange`)
|
|
611
|
+
* - funkce `(input, option) => boolean` — vlastní filtr
|
|
612
|
+
* Filtr se uplatní až po prvním reálném stisku klávesy od otevření;
|
|
613
|
+
* text vybrané položky předvyplněný v poli se za filtr nepovažuje.
|
|
614
|
+
* @default true
|
|
486
615
|
*/
|
|
487
|
-
|
|
488
|
-
/** Callback volaný při změně textu ve vyhledávacím poli. Vhodné pro asynchronní filtrování. */
|
|
489
|
-
onInputChange?: (input: string) => void;
|
|
616
|
+
filterOption?: boolean | ComboboxFilter<V>;
|
|
490
617
|
/** Zástupný text zobrazený při prázdném poli. */
|
|
491
618
|
placeholder?: string;
|
|
492
619
|
/** Popisek zobrazený nad polem. Stylizován velkými písmeny dle SM-UI design systému. */
|
|
@@ -495,62 +622,96 @@ interface ComboboxProps {
|
|
|
495
622
|
error?: boolean | string;
|
|
496
623
|
/** Zakáže celou komponentu. */
|
|
497
624
|
disabled?: boolean;
|
|
498
|
-
/** Zobrazí spinner místo ikony vyhledávání.
|
|
625
|
+
/** Zobrazí spinner místo ikony vyhledávání. Pole zůstává editovatelné. */
|
|
499
626
|
loading?: boolean;
|
|
500
|
-
/** Umožní vybrat více položek najednou. @default false */
|
|
501
|
-
multiple?: boolean;
|
|
502
|
-
/** Zobrazí tlačítko pro vymazání výběru. @default false */
|
|
503
|
-
clearable?: boolean;
|
|
504
627
|
/** Voláno při otevření/zavření dropdownu. */
|
|
505
628
|
onOpenChange?: (open: boolean) => void;
|
|
506
629
|
/** Voláno při výběru položky. */
|
|
507
|
-
onSelect?: (value:
|
|
630
|
+
onSelect?: (value: V, option: ComboboxOption<V>) => void;
|
|
508
631
|
/** Voláno při odebrání položky (multiple). */
|
|
509
|
-
onDeselect?: (value:
|
|
632
|
+
onDeselect?: (value: V, option: ComboboxOption<V>) => void;
|
|
510
633
|
/** Voláno při vymazání výběru (clearable). */
|
|
511
634
|
onClear?: () => void;
|
|
512
635
|
/** Voláno při focus. */
|
|
513
|
-
onFocus?: (event:
|
|
636
|
+
onFocus?: (event: React__default.FocusEvent) => void;
|
|
514
637
|
/** Voláno při blur. */
|
|
515
|
-
onBlur?: (event:
|
|
638
|
+
onBlur?: (event: React__default.FocusEvent) => void;
|
|
516
639
|
/** Povolí uživateli zadat vlastní hodnotu, která není v seznamu. @default false */
|
|
517
640
|
allowCustom?: boolean;
|
|
518
641
|
/** Callback volaný při vytvoření vlastní hodnoty (Enter při `allowCustom`). */
|
|
519
642
|
onCreate?: (value: string) => void;
|
|
520
643
|
/** Vlastní renderování položky v seznamu. */
|
|
521
|
-
renderOption?: (option:
|
|
522
|
-
value: string;
|
|
523
|
-
label?: string;
|
|
524
|
-
}, highlighted: boolean) => React.ReactNode;
|
|
644
|
+
renderOption?: (option: ComboboxOption<V>, highlighted: boolean) => React__default.ReactNode;
|
|
525
645
|
/**
|
|
526
646
|
* Obsah zobrazený když žádné výsledky neodpovídají.
|
|
527
647
|
* Může být ReactNode nebo funkce `(close: () => void) => ReactNode`
|
|
528
648
|
* pro přístup k zavření dropdownu.
|
|
529
649
|
* @default "Žádné výsledky"
|
|
530
650
|
*/
|
|
531
|
-
notFoundContent?:
|
|
651
|
+
notFoundContent?: React__default.ReactNode | ((close: () => void) => React__default.ReactNode);
|
|
532
652
|
/**
|
|
533
653
|
* Obsah zobrazený pod seznamem položek uvnitř dropdownu.
|
|
534
654
|
* Může být ReactNode nebo funkce `(close: () => void) => ReactNode`
|
|
535
655
|
* pro přístup k zavření dropdownu.
|
|
536
656
|
*/
|
|
537
|
-
footer?:
|
|
657
|
+
footer?: React__default.ReactNode | ((close: () => void) => React__default.ReactNode);
|
|
538
658
|
/**
|
|
539
659
|
* Velikostní preset.
|
|
540
660
|
* @default 'md'
|
|
541
661
|
*/
|
|
542
662
|
size?: ComboboxSize;
|
|
663
|
+
/**
|
|
664
|
+
* Roztáhne pole na celou šířku rodiče (kořen `display: flex; width: 100%`),
|
|
665
|
+
* stejně jako u `Input`. Rozbalený seznam má šířku pole.
|
|
666
|
+
* @default false
|
|
667
|
+
*/
|
|
668
|
+
fullWidth?: boolean;
|
|
669
|
+
/** `id` nativního inputu. Automaticky generováno, pokud chybí. */
|
|
670
|
+
id?: string;
|
|
543
671
|
/** Další inline styly pro obalový `<div>`. */
|
|
544
|
-
style?:
|
|
672
|
+
style?: React__default.CSSProperties;
|
|
545
673
|
/** Dodatečná CSS třída pro obalový `<div>`. */
|
|
546
674
|
className?: string;
|
|
547
675
|
}
|
|
676
|
+
interface ComboboxSingleProps<V = string> extends ComboboxBaseProps<V> {
|
|
677
|
+
/** Jednoduchý výběr (výchozí). */
|
|
678
|
+
multiple?: false;
|
|
679
|
+
/** Bez tlačítka pro vymazání (výchozí). */
|
|
680
|
+
clearable?: false;
|
|
681
|
+
/** Aktuální vybraná hodnota. */
|
|
682
|
+
value: NoInfer<V> | null;
|
|
683
|
+
/** Callback volaný při výběru položky. */
|
|
684
|
+
onChange(value: NoInfer<V>): void;
|
|
685
|
+
}
|
|
686
|
+
interface ComboboxSingleClearableProps<V = string> extends ComboboxBaseProps<V> {
|
|
687
|
+
/** Jednoduchý výběr (výchozí). */
|
|
688
|
+
multiple?: false;
|
|
689
|
+
/** Zobrazí tlačítko pro vymazání výběru — `onChange` pak může dostat `null`. */
|
|
690
|
+
clearable: true;
|
|
691
|
+
/** Aktuální vybraná hodnota. */
|
|
692
|
+
value: NoInfer<V> | null;
|
|
693
|
+
/** Callback volaný při výběru položky (`null` po vymazání). */
|
|
694
|
+
onChange(value: NoInfer<V> | null): void;
|
|
695
|
+
}
|
|
696
|
+
interface ComboboxMultipleProps<V = string> extends ComboboxBaseProps<V> {
|
|
697
|
+
/** Umožní vybrat více položek najednou. */
|
|
698
|
+
multiple: true;
|
|
699
|
+
/** Zobrazí tlačítko pro vymazání výběru. @default false */
|
|
700
|
+
clearable?: boolean;
|
|
701
|
+
/** Aktuální vybrané hodnoty. */
|
|
702
|
+
value: NoInfer<V>[];
|
|
703
|
+
/** Callback volaný při změně výběru. */
|
|
704
|
+
onChange(value: NoInfer<V>[]): void;
|
|
705
|
+
}
|
|
706
|
+
type ComboboxProps<V = string> = ComboboxSingleProps<V> | ComboboxSingleClearableProps<V> | ComboboxMultipleProps<V>;
|
|
548
707
|
/**
|
|
549
708
|
* Kombinované vyhledávací pole se seznamem dle SM-UI design systému.
|
|
550
709
|
*
|
|
551
710
|
* Uživatel zadává text pro filtrování položek. Dropdown se vykresluje
|
|
552
711
|
* přes React portál. Podporuje navigaci klávesami, vlastní hodnoty,
|
|
553
|
-
* vícenásobný výběr a asynchronní filtrování přes `onInputChange
|
|
712
|
+
* vícenásobný výběr a asynchronní filtrování přes `onInputChange`
|
|
713
|
+
* (s `filterOption={false}` kit klientský filtr vypne). Hodnoty mohou být
|
|
714
|
+
* `string` i `number`; typ `onChange` je odvozený z `multiple`.
|
|
554
715
|
*
|
|
555
716
|
* @example
|
|
556
717
|
* ```tsx
|
|
@@ -562,17 +723,16 @@ interface ComboboxProps {
|
|
|
562
723
|
* placeholder="Hledat zemi…"
|
|
563
724
|
* />
|
|
564
725
|
*
|
|
726
|
+
* // Server-side search bez klientského filtru
|
|
727
|
+
* <Combobox options={results} value={op} onChange={setOp} onInputChange={search} filterOption={false} loading={loading} />
|
|
728
|
+
*
|
|
565
729
|
* // Vícenásobný výběr
|
|
566
|
-
* <Combobox
|
|
567
|
-
* multiple
|
|
568
|
-
* options={options}
|
|
569
|
-
* value={selectedCountries}
|
|
570
|
-
* onChange={setSelectedCountries}
|
|
571
|
-
* placeholder="Vyberte země…"
|
|
572
|
-
* />
|
|
730
|
+
* <Combobox multiple options={options} value={selected} onChange={setSelected} />
|
|
573
731
|
* ```
|
|
574
732
|
*/
|
|
575
|
-
declare const Combobox:
|
|
733
|
+
declare const Combobox: (<V = string>(props: ComboboxProps<V> & React__default.RefAttributes<HTMLInputElement>) => React__default.ReactElement | null) & {
|
|
734
|
+
displayName?: string;
|
|
735
|
+
};
|
|
576
736
|
|
|
577
737
|
type DatePickerSize = 'sm' | 'md' | 'lg';
|
|
578
738
|
interface DatePickerProps {
|
|
@@ -588,6 +748,18 @@ interface DatePickerProps {
|
|
|
588
748
|
* @default false
|
|
589
749
|
*/
|
|
590
750
|
showTime?: boolean;
|
|
751
|
+
/**
|
|
752
|
+
* Řízené otevření kalendářového popoveru. Pokud je zadáno, komponenta je
|
|
753
|
+
* "controlled" — stav otevření řídí rodič a reaguje na `onOpenChange`.
|
|
754
|
+
*/
|
|
755
|
+
open?: boolean;
|
|
756
|
+
/**
|
|
757
|
+
* Výchozí stav otevření pro neřízené (uncontrolled) použití.
|
|
758
|
+
* @default false
|
|
759
|
+
*/
|
|
760
|
+
defaultOpen?: boolean;
|
|
761
|
+
/** Voláno při požadavku na otevření / zavření popoveru (`true` = otevřít). */
|
|
762
|
+
onOpenChange?: (open: boolean) => void;
|
|
591
763
|
/**
|
|
592
764
|
* Aktuální hodnota.
|
|
593
765
|
* - `single` režim: `Date | null`
|
|
@@ -651,7 +823,7 @@ interface DatePickerProps {
|
|
|
651
823
|
*/
|
|
652
824
|
firstDayOfWeek?: number;
|
|
653
825
|
/** Další inline styly pro kořenový obal. */
|
|
654
|
-
style?:
|
|
826
|
+
style?: React__default.CSSProperties;
|
|
655
827
|
/** Dodatečná CSS třída pro kořenový obal. */
|
|
656
828
|
className?: string;
|
|
657
829
|
}
|
|
@@ -661,9 +833,9 @@ interface DatePickerGroupProps {
|
|
|
661
833
|
/** `htmlFor` propojující `<label>` s DatePickerem. Automaticky generováno, pokud chybí. */
|
|
662
834
|
htmlFor?: string;
|
|
663
835
|
/** DatePicker element(y) vykreslené uvnitř skupiny. */
|
|
664
|
-
children?:
|
|
836
|
+
children?: React__default.ReactNode;
|
|
665
837
|
/** Další inline styly pro obal. */
|
|
666
|
-
style?:
|
|
838
|
+
style?: React__default.CSSProperties;
|
|
667
839
|
/** Dodatečná CSS třída pro obal. */
|
|
668
840
|
className?: string;
|
|
669
841
|
}
|
|
@@ -696,7 +868,7 @@ interface DatePickerGroupProps {
|
|
|
696
868
|
* />
|
|
697
869
|
* ```
|
|
698
870
|
*/
|
|
699
|
-
declare const DatePicker:
|
|
871
|
+
declare const DatePicker: React__default.FC<DatePickerProps>;
|
|
700
872
|
/**
|
|
701
873
|
* Obalí `<DatePicker>` skupinou s popiskem, vizuálně odpovídá `InputGroup`.
|
|
702
874
|
*
|
|
@@ -707,10 +879,10 @@ declare const DatePicker: React.FC<DatePickerProps>;
|
|
|
707
879
|
* </DatePickerGroup>
|
|
708
880
|
* ```
|
|
709
881
|
*/
|
|
710
|
-
declare const DatePickerGroup:
|
|
882
|
+
declare const DatePickerGroup: React__default.FC<DatePickerGroupProps>;
|
|
711
883
|
|
|
712
884
|
type CheckboxSize = 'sm' | 'md' | 'lg';
|
|
713
|
-
interface CheckboxProps {
|
|
885
|
+
interface CheckboxProps extends Omit<React__default.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'size' | 'checked' | 'type' | 'style' | 'className'> {
|
|
714
886
|
/** Stav zaškrtnutí. */
|
|
715
887
|
checked?: boolean;
|
|
716
888
|
/** Callback volaný při změně stavu. */
|
|
@@ -731,22 +903,32 @@ interface CheckboxProps {
|
|
|
731
903
|
size?: CheckboxSize;
|
|
732
904
|
/** Neurčitý stav — zobrazí pomlčku místo zaškrtnutí. */
|
|
733
905
|
indeterminate?: boolean;
|
|
906
|
+
/**
|
|
907
|
+
* Blokové vykreslení (`display: flex; width: fit-content`): checkboxy pod sebou
|
|
908
|
+
* se neslévají do řádku ani bez obalu (`space-y-*`). Výchozí je inline.
|
|
909
|
+
* @default false
|
|
910
|
+
*/
|
|
911
|
+
block?: boolean;
|
|
912
|
+
/** Přístupný název bez viditelného popisku. */
|
|
913
|
+
'aria-label'?: string;
|
|
914
|
+
/** ID prvku s přístupným názvem. */
|
|
915
|
+
'aria-labelledby'?: string;
|
|
734
916
|
/** Dodatečná CSS třída pro obalový element. */
|
|
735
917
|
className?: string;
|
|
736
918
|
/** Další inline styly pro obalový element. */
|
|
737
|
-
style?:
|
|
919
|
+
style?: React__default.CSSProperties;
|
|
738
920
|
}
|
|
739
921
|
interface CheckboxGroupProps {
|
|
740
922
|
/** Popisek skupiny. */
|
|
741
923
|
label?: string;
|
|
742
924
|
/** Potomci — typicky komponenty `<Checkbox>`. */
|
|
743
|
-
children:
|
|
925
|
+
children: React__default.ReactNode;
|
|
744
926
|
/** Chybový stav skupiny. Při řetězci se zobrazí chybová zpráva. */
|
|
745
927
|
error?: boolean | string;
|
|
746
928
|
/** Dodatečná CSS třída. */
|
|
747
929
|
className?: string;
|
|
748
930
|
/** Další inline styly. */
|
|
749
|
-
style?:
|
|
931
|
+
style?: React__default.CSSProperties;
|
|
750
932
|
}
|
|
751
933
|
/**
|
|
752
934
|
* Zaškrtávací pole dle SM-UI design systému.
|
|
@@ -754,13 +936,16 @@ interface CheckboxGroupProps {
|
|
|
754
936
|
* Podporuje vlastní SVG zaškrtnutí, neurčitý stav,
|
|
755
937
|
* chybový stav, velikostní presety a tmavý / světlý režim.
|
|
756
938
|
*
|
|
939
|
+
* Nativní atributy (`name`, `value`, `aria-label`, `data-*`…) se předávají na `<input>`.
|
|
940
|
+
*
|
|
757
941
|
* @example
|
|
758
942
|
* ```tsx
|
|
759
|
-
* <Checkbox label="Souhlasím s podmínkami" checked={agreed} onChange={setAgreed} />
|
|
943
|
+
* <Checkbox label="Souhlasím s podmínkami" checked={agreed} onChange={setAgreed} name="agree" />
|
|
760
944
|
* <Checkbox indeterminate label="Vybrat vše" />
|
|
945
|
+
* <Checkbox block label="Pod sebou bez obalu" />
|
|
761
946
|
* ```
|
|
762
947
|
*/
|
|
763
|
-
declare const Checkbox:
|
|
948
|
+
declare const Checkbox: React__default.FC<CheckboxProps>;
|
|
764
949
|
/**
|
|
765
950
|
* Skupina zaškrtávacích polí s volitelným popiskem.
|
|
766
951
|
*
|
|
@@ -772,10 +957,10 @@ declare const Checkbox: React.FC<CheckboxProps>;
|
|
|
772
957
|
* </CheckboxGroup>
|
|
773
958
|
* ```
|
|
774
959
|
*/
|
|
775
|
-
declare const CheckboxGroup:
|
|
960
|
+
declare const CheckboxGroup: React__default.FC<CheckboxGroupProps>;
|
|
776
961
|
|
|
777
962
|
type RadioSize = 'sm' | 'md' | 'lg';
|
|
778
|
-
interface RadioProps {
|
|
963
|
+
interface RadioProps extends Omit<React__default.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'size' | 'checked' | 'type' | 'value' | 'style' | 'className'> {
|
|
779
964
|
/** Hodnota tohoto přepínače. */
|
|
780
965
|
value: string;
|
|
781
966
|
/** Zda je tento přepínač vybrán. */
|
|
@@ -784,8 +969,12 @@ interface RadioProps {
|
|
|
784
969
|
onChange?: (value: string) => void;
|
|
785
970
|
/** Textový popisek. */
|
|
786
971
|
label?: string;
|
|
972
|
+
/** Vysvětlivka zobrazená tlumeně pod popiskem. */
|
|
973
|
+
helperText?: string;
|
|
787
974
|
/** Deaktivuje přepínač. */
|
|
788
975
|
disabled?: boolean;
|
|
976
|
+
/** Atribut `name` — spojuje přepínače do skupiny (šipky, `FormData`). `RadioGroup` ho doplní sám. */
|
|
977
|
+
name?: string;
|
|
789
978
|
/**
|
|
790
979
|
* Velikostní preset.
|
|
791
980
|
* @default 'md'
|
|
@@ -794,13 +983,15 @@ interface RadioProps {
|
|
|
794
983
|
/** Dodatečná CSS třída. */
|
|
795
984
|
className?: string;
|
|
796
985
|
/** Další inline styly. */
|
|
797
|
-
style?:
|
|
986
|
+
style?: React__default.CSSProperties;
|
|
798
987
|
}
|
|
799
988
|
interface RadioGroupOption {
|
|
800
989
|
/** Hodnota volby. */
|
|
801
990
|
value: string;
|
|
802
991
|
/** Zobrazený popisek. */
|
|
803
992
|
label: string;
|
|
993
|
+
/** Vysvětlivka zobrazená tlumeně pod popiskem volby. */
|
|
994
|
+
helperText?: string;
|
|
804
995
|
/** Deaktivuje tuto volbu. */
|
|
805
996
|
disabled?: boolean;
|
|
806
997
|
}
|
|
@@ -809,6 +1000,8 @@ interface RadioGroupProps {
|
|
|
809
1000
|
value?: string;
|
|
810
1001
|
/** Callback volaný při změně výběru. */
|
|
811
1002
|
onChange?: (value: string) => void;
|
|
1003
|
+
/** Atribut `name` pro všechny přepínače ve skupině. Automaticky generováno, pokud chybí. */
|
|
1004
|
+
name?: string;
|
|
812
1005
|
/** Popisek skupiny. */
|
|
813
1006
|
label?: string;
|
|
814
1007
|
/** Seznam voleb. */
|
|
@@ -832,7 +1025,7 @@ interface RadioGroupProps {
|
|
|
832
1025
|
/** Dodatečná CSS třída. */
|
|
833
1026
|
className?: string;
|
|
834
1027
|
/** Další inline styly. */
|
|
835
|
-
style?:
|
|
1028
|
+
style?: React__default.CSSProperties;
|
|
836
1029
|
}
|
|
837
1030
|
/**
|
|
838
1031
|
* Přepínací tlačítko (radio) dle SM-UI design systému.
|
|
@@ -845,7 +1038,7 @@ interface RadioGroupProps {
|
|
|
845
1038
|
* <Radio value="a" label="Volba A" checked={selected === 'a'} onChange={setSelected} />
|
|
846
1039
|
* ```
|
|
847
1040
|
*/
|
|
848
|
-
declare const Radio:
|
|
1041
|
+
declare const Radio: React__default.FC<RadioProps>;
|
|
849
1042
|
/**
|
|
850
1043
|
* Skupina přepínačů s popiskem, chybovým stavem a nápovědným textem.
|
|
851
1044
|
*
|
|
@@ -857,15 +1050,15 @@ declare const Radio: React.FC<RadioProps>;
|
|
|
857
1050
|
* onChange={setGender}
|
|
858
1051
|
* options={[
|
|
859
1052
|
* { value: 'male', label: 'Muž' },
|
|
860
|
-
* { value: 'female', label: 'Žena' },
|
|
1053
|
+
* { value: 'female', label: 'Žena', helperText: 'Vysvětlivka pod volbou' },
|
|
861
1054
|
* ]}
|
|
862
1055
|
* />
|
|
863
1056
|
* ```
|
|
864
1057
|
*/
|
|
865
|
-
declare const RadioGroup:
|
|
1058
|
+
declare const RadioGroup: React__default.FC<RadioGroupProps>;
|
|
866
1059
|
|
|
867
1060
|
type SwitchSize = 'sm' | 'md' | 'lg';
|
|
868
|
-
interface SwitchProps {
|
|
1061
|
+
interface SwitchProps extends Omit<React__default.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'size' | 'checked' | 'type' | 'style' | 'className'> {
|
|
869
1062
|
/** Stav přepínače. */
|
|
870
1063
|
checked?: boolean;
|
|
871
1064
|
/** Callback volaný při změně stavu. */
|
|
@@ -879,10 +1072,14 @@ interface SwitchProps {
|
|
|
879
1072
|
* @default 'md'
|
|
880
1073
|
*/
|
|
881
1074
|
size?: SwitchSize;
|
|
882
|
-
/**
|
|
1075
|
+
/** Přístupný název bez viditelného popisku (matice přepínačů apod.). */
|
|
1076
|
+
'aria-label'?: string;
|
|
1077
|
+
/** ID prvku s přístupným názvem. */
|
|
1078
|
+
'aria-labelledby'?: string;
|
|
1079
|
+
/** Dodatečná CSS třída pro obalový element. */
|
|
883
1080
|
className?: string;
|
|
884
|
-
/** Další inline styly. */
|
|
885
|
-
style?:
|
|
1081
|
+
/** Další inline styly pro obalový element. */
|
|
1082
|
+
style?: React__default.CSSProperties;
|
|
886
1083
|
}
|
|
887
1084
|
/**
|
|
888
1085
|
* Přepínač (switch/toggle) dle SM-UI design systému.
|
|
@@ -890,16 +1087,33 @@ interface SwitchProps {
|
|
|
890
1087
|
* Pilulkový tvar s plynulou animací posunu.
|
|
891
1088
|
* Oranžový ve stavu zapnuto, jemný okraj ve stavu vypnuto.
|
|
892
1089
|
*
|
|
1090
|
+
* Nativní atributy (`name`, `value`, `aria-label`, `data-*`…) se předávají na `<input>`.
|
|
1091
|
+
*
|
|
893
1092
|
* @example
|
|
894
1093
|
* ```tsx
|
|
895
1094
|
* <Switch label="Noční režim" checked={dark} onChange={setDark} />
|
|
1095
|
+
* <Switch aria-label="E-mail: nové úkoly" checked={on} onChange={setOn} name="email_tasks" />
|
|
896
1096
|
* ```
|
|
897
1097
|
*/
|
|
898
|
-
declare const Switch:
|
|
1098
|
+
declare const Switch: React__default.FC<SwitchProps>;
|
|
899
1099
|
|
|
900
1100
|
type TextareaSize = 'sm' | 'md' | 'lg';
|
|
901
1101
|
type TextareaResize = 'none' | 'vertical' | 'both';
|
|
902
|
-
|
|
1102
|
+
type TextareaVariant = 'default' | 'inline';
|
|
1103
|
+
interface TextareaProps extends Omit<React__default.TextareaHTMLAttributes<HTMLTextAreaElement>, 'size'> {
|
|
1104
|
+
/**
|
|
1105
|
+
* Vizuální varianta.
|
|
1106
|
+
* - `'default'` — pole s pozadím a rámečkem
|
|
1107
|
+
* - `'inline'` — bez pozadí a rámečku v klidu (vypadá jako text), rámeček až na hover / focus.
|
|
1108
|
+
* Pro editaci přímo v buňce tabulky nebo kartě. Doporučeno s `autoHeight`.
|
|
1109
|
+
* @default 'default'
|
|
1110
|
+
*/
|
|
1111
|
+
variant?: TextareaVariant;
|
|
1112
|
+
/**
|
|
1113
|
+
* Voláno při potvrzení hodnoty — na blur a na Ctrl/Cmd+Enter — jen pokud se hodnota
|
|
1114
|
+
* od získání fokusu změnila.
|
|
1115
|
+
*/
|
|
1116
|
+
onCommit?: (value: string) => void;
|
|
903
1117
|
/**
|
|
904
1118
|
* Popisek zobrazený nad textovým polem.
|
|
905
1119
|
* Stylizován velkými písmeny dle SM-UI design systému.
|
|
@@ -967,7 +1181,7 @@ interface TextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaEl
|
|
|
967
1181
|
/**
|
|
968
1182
|
* Další inline styly pro **obalový** element.
|
|
969
1183
|
*/
|
|
970
|
-
style?:
|
|
1184
|
+
style?: React__default.CSSProperties;
|
|
971
1185
|
}
|
|
972
1186
|
/**
|
|
973
1187
|
* Víceřádkové textové pole dle SM-UI design systému.
|
|
@@ -979,16 +1193,22 @@ interface TextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaEl
|
|
|
979
1193
|
* ```tsx
|
|
980
1194
|
* <Textarea label="Poznámka" placeholder="Napište poznámku…" rows={5} />
|
|
981
1195
|
* <Textarea label="Bio" maxLength={200} helperText="Krátký popis" />
|
|
1196
|
+
* <Textarea variant="inline" autoHeight value={note} onChange={...} onCommit={save} />
|
|
982
1197
|
* ```
|
|
983
1198
|
*/
|
|
984
|
-
declare const Textarea:
|
|
1199
|
+
declare const Textarea: React__default.ForwardRefExoticComponent<TextareaProps & React__default.RefAttributes<HTMLTextAreaElement>>;
|
|
985
1200
|
|
|
986
1201
|
type SliderSize = 'sm' | 'md' | 'lg';
|
|
987
1202
|
interface SliderProps {
|
|
988
1203
|
/** Aktuální hodnota. Při `range` je to `[number, number]`. */
|
|
989
1204
|
value: number | [number, number];
|
|
990
|
-
/** Callback volaný při změně hodnoty. */
|
|
1205
|
+
/** Callback volaný při změně hodnoty (během tažení na každý krok). */
|
|
991
1206
|
onChange?: (value: number | [number, number]) => void;
|
|
1207
|
+
/**
|
|
1208
|
+
* Voláno jednou po dokončení tažení (uvolnění myši) s finální hodnotou.
|
|
1209
|
+
* Vhodné pro uložení / request bez debounce.
|
|
1210
|
+
*/
|
|
1211
|
+
onChangeEnd?: (value: number | [number, number]) => void;
|
|
992
1212
|
/**
|
|
993
1213
|
* Minimální hodnota.
|
|
994
1214
|
* @default 0
|
|
@@ -1026,7 +1246,7 @@ interface SliderProps {
|
|
|
1026
1246
|
/** Dodatečná CSS třída. */
|
|
1027
1247
|
className?: string;
|
|
1028
1248
|
/** Další inline styly. */
|
|
1029
|
-
style?:
|
|
1249
|
+
style?: React__default.CSSProperties;
|
|
1030
1250
|
}
|
|
1031
1251
|
/**
|
|
1032
1252
|
* Posuvník dle SM-UI design systému.
|
|
@@ -1038,9 +1258,10 @@ interface SliderProps {
|
|
|
1038
1258
|
* ```tsx
|
|
1039
1259
|
* <Slider label="Hlasitost" value={volume} onChange={setVolume} showValue />
|
|
1040
1260
|
* <Slider range value={[20, 80]} onChange={setRange} label="Cenový rozsah" />
|
|
1261
|
+
* <Slider value={density} onChange={setDensity} onChangeEnd={savePreference} />
|
|
1041
1262
|
* ```
|
|
1042
1263
|
*/
|
|
1043
|
-
declare const Slider:
|
|
1264
|
+
declare const Slider: React__default.FC<SliderProps>;
|
|
1044
1265
|
|
|
1045
1266
|
interface UploadedFile {
|
|
1046
1267
|
/** Objekt nativního souboru. */
|
|
@@ -1049,6 +1270,7 @@ interface UploadedFile {
|
|
|
1049
1270
|
id: string;
|
|
1050
1271
|
}
|
|
1051
1272
|
type FileUploadVariant = 'dropzone' | 'button';
|
|
1273
|
+
type FileRejectReason = 'size' | 'duplicate';
|
|
1052
1274
|
interface FileUploadProps {
|
|
1053
1275
|
/**
|
|
1054
1276
|
* Vizuální varianta.
|
|
@@ -1059,6 +1281,14 @@ interface FileUploadProps {
|
|
|
1059
1281
|
variant?: FileUploadVariant;
|
|
1060
1282
|
/** Callback volaný při přidání souborů. Vrací pole nativních `File` objektů. */
|
|
1061
1283
|
onFiles?: (files: File[]) => void;
|
|
1284
|
+
/**
|
|
1285
|
+
* Voláno pro soubory, které kit odmítl (nad `maxSize`, duplicita v `multiple`).
|
|
1286
|
+
* Ostatní soubory z dávky se přijmou normálně.
|
|
1287
|
+
*/
|
|
1288
|
+
onReject?: (rejected: {
|
|
1289
|
+
file: File;
|
|
1290
|
+
reason: FileRejectReason;
|
|
1291
|
+
}[]) => void;
|
|
1062
1292
|
/**
|
|
1063
1293
|
* Povolené typy souborů (atribut `accept`).
|
|
1064
1294
|
* @example 'image/*,.pdf'
|
|
@@ -1066,8 +1296,14 @@ interface FileUploadProps {
|
|
|
1066
1296
|
accept?: string;
|
|
1067
1297
|
/** Povolit výběr více souborů najednou. */
|
|
1068
1298
|
multiple?: boolean;
|
|
1069
|
-
/** Maximální velikost souboru v bajtech. */
|
|
1299
|
+
/** Maximální velikost souboru v bajtech. Odmítne jen soubory nad limit, zbytek dávky projde. */
|
|
1070
1300
|
maxSize?: number;
|
|
1301
|
+
/**
|
|
1302
|
+
* V režimu `multiple` přeskočit soubory, které už v seznamu jsou
|
|
1303
|
+
* (shoda `name` + `size` + `lastModified`).
|
|
1304
|
+
* @default true
|
|
1305
|
+
*/
|
|
1306
|
+
dedupe?: boolean;
|
|
1071
1307
|
/** Deaktivuje zónu pro nahrávání. */
|
|
1072
1308
|
disabled?: boolean;
|
|
1073
1309
|
/** Popisek nad zónou. */
|
|
@@ -1104,7 +1340,7 @@ interface FileUploadProps {
|
|
|
1104
1340
|
/** Dodatečná CSS třída. */
|
|
1105
1341
|
className?: string;
|
|
1106
1342
|
/** Další inline styly. */
|
|
1107
|
-
style?:
|
|
1343
|
+
style?: React__default.CSSProperties;
|
|
1108
1344
|
}
|
|
1109
1345
|
/**
|
|
1110
1346
|
* Zóna pro nahrávání souborů dle SM-UI design systému.
|
|
@@ -1123,7 +1359,7 @@ interface FileUploadProps {
|
|
|
1123
1359
|
* />
|
|
1124
1360
|
* ```
|
|
1125
1361
|
*/
|
|
1126
|
-
declare const FileUpload:
|
|
1362
|
+
declare const FileUpload: React__default.FC<FileUploadProps>;
|
|
1127
1363
|
|
|
1128
1364
|
type SegmentedControlSize = 'sm' | 'md' | 'lg';
|
|
1129
1365
|
interface SegmentedControlItem {
|
|
@@ -1132,7 +1368,7 @@ interface SegmentedControlItem {
|
|
|
1132
1368
|
/** Zobrazovaný text. Výchozí: `value`. */
|
|
1133
1369
|
label?: string;
|
|
1134
1370
|
/** Ikona zobrazená v segmentu. Může být samostatně nebo s label. */
|
|
1135
|
-
icon?:
|
|
1371
|
+
icon?: React__default.ReactNode;
|
|
1136
1372
|
/** Zakáže tento segment. */
|
|
1137
1373
|
disabled?: boolean;
|
|
1138
1374
|
}
|
|
@@ -1169,7 +1405,7 @@ interface SegmentedControlProps {
|
|
|
1169
1405
|
/** Dodatečná CSS třída. */
|
|
1170
1406
|
className?: string;
|
|
1171
1407
|
/** Další inline styly. */
|
|
1172
|
-
style?:
|
|
1408
|
+
style?: React__default.CSSProperties;
|
|
1173
1409
|
}
|
|
1174
1410
|
/**
|
|
1175
1411
|
* Segmentovaný přepínač dle SM-UI design systému.
|
|
@@ -1188,7 +1424,7 @@ interface SegmentedControlProps {
|
|
|
1188
1424
|
* />
|
|
1189
1425
|
* ```
|
|
1190
1426
|
*/
|
|
1191
|
-
declare const SegmentedControl:
|
|
1427
|
+
declare const SegmentedControl: React__default.FC<SegmentedControlProps>;
|
|
1192
1428
|
|
|
1193
1429
|
interface ColorPickerProps {
|
|
1194
1430
|
/** Aktuální barva v hexadecimálním formátu (např. `#FC4F00`). */
|
|
@@ -1202,7 +1438,7 @@ interface ColorPickerProps {
|
|
|
1202
1438
|
/** Zakáže celou komponentu. */
|
|
1203
1439
|
disabled?: boolean;
|
|
1204
1440
|
/** Další inline styly pro obalový `<div>`. */
|
|
1205
|
-
style?:
|
|
1441
|
+
style?: React__default.CSSProperties;
|
|
1206
1442
|
/** Dodatečná CSS třída pro obalový `<div>`. */
|
|
1207
1443
|
className?: string;
|
|
1208
1444
|
}
|
|
@@ -1218,7 +1454,7 @@ interface ColorPickerProps {
|
|
|
1218
1454
|
* <ColorPicker value={color} onChange={setColor} presets={['#FF0000', '#00FF00', '#0000FF']} />
|
|
1219
1455
|
* ```
|
|
1220
1456
|
*/
|
|
1221
|
-
declare const ColorPicker:
|
|
1457
|
+
declare const ColorPicker: React__default.FC<ColorPickerProps>;
|
|
1222
1458
|
|
|
1223
1459
|
type RatingSize = 'sm' | 'md' | 'lg';
|
|
1224
1460
|
interface RatingProps {
|
|
@@ -1238,7 +1474,7 @@ interface RatingProps {
|
|
|
1238
1474
|
/** Popisek zobrazený nad komponentou. Stylizován velkými písmeny dle SM-UI design systému. */
|
|
1239
1475
|
label?: string;
|
|
1240
1476
|
/** Další inline styly pro obalový `<div>`. */
|
|
1241
|
-
style?:
|
|
1477
|
+
style?: React__default.CSSProperties;
|
|
1242
1478
|
/** Dodatečná CSS třída pro obalový `<div>`. */
|
|
1243
1479
|
className?: string;
|
|
1244
1480
|
}
|
|
@@ -1255,7 +1491,7 @@ interface RatingProps {
|
|
|
1255
1491
|
* <Rating value={4} size="lg" label="Hodnocení" />
|
|
1256
1492
|
* ```
|
|
1257
1493
|
*/
|
|
1258
|
-
declare const Rating:
|
|
1494
|
+
declare const Rating: React__default.FC<RatingProps>;
|
|
1259
1495
|
|
|
1260
1496
|
interface OTPInputProps {
|
|
1261
1497
|
/** Počet polí (číslic). @default 6 */
|
|
@@ -1275,9 +1511,9 @@ interface OTPInputProps {
|
|
|
1275
1511
|
/** Vloží oddělovač po každých N polích. Např. `separatorAfter={3}` u 6místného kódu vytvoří skupiny 3-3. */
|
|
1276
1512
|
separatorAfter?: number;
|
|
1277
1513
|
/** Obsah oddělovače. @default '-' */
|
|
1278
|
-
separator?:
|
|
1514
|
+
separator?: React__default.ReactNode;
|
|
1279
1515
|
/** Další inline styly pro obalový `<div>`. */
|
|
1280
|
-
style?:
|
|
1516
|
+
style?: React__default.CSSProperties;
|
|
1281
1517
|
/** Dodatečná CSS třída pro obalový `<div>`. */
|
|
1282
1518
|
className?: string;
|
|
1283
1519
|
}
|
|
@@ -1294,7 +1530,7 @@ interface OTPInputProps {
|
|
|
1294
1530
|
* <OTPInput value={otp} onChange={setOtp} length={4} error="Neplatný kód" />
|
|
1295
1531
|
* ```
|
|
1296
1532
|
*/
|
|
1297
|
-
declare const OTPInput:
|
|
1533
|
+
declare const OTPInput: React__default.FC<OTPInputProps>;
|
|
1298
1534
|
|
|
1299
1535
|
interface Country {
|
|
1300
1536
|
/** ISO 3166-1 alpha-2 kód. */
|
|
@@ -1329,7 +1565,7 @@ interface PhoneInputProps {
|
|
|
1329
1565
|
/** Placeholder pro číslo. */
|
|
1330
1566
|
placeholder?: string;
|
|
1331
1567
|
/** Další inline styly. */
|
|
1332
|
-
style?:
|
|
1568
|
+
style?: React__default.CSSProperties;
|
|
1333
1569
|
/** Dodatečná CSS třída. */
|
|
1334
1570
|
className?: string;
|
|
1335
1571
|
}
|
|
@@ -1349,7 +1585,7 @@ interface PhoneInputProps {
|
|
|
1349
1585
|
* />
|
|
1350
1586
|
* ```
|
|
1351
1587
|
*/
|
|
1352
|
-
declare const PhoneInput:
|
|
1588
|
+
declare const PhoneInput: React__default.FC<PhoneInputProps>;
|
|
1353
1589
|
|
|
1354
1590
|
type CropShape = 'rect' | 'circle';
|
|
1355
1591
|
interface CropArea {
|
|
@@ -1374,7 +1610,7 @@ interface ImageCropperProps {
|
|
|
1374
1610
|
/** Tvar ořezu. @default 'rect' */
|
|
1375
1611
|
shape?: CropShape;
|
|
1376
1612
|
/** Další inline styly. */
|
|
1377
|
-
style?:
|
|
1613
|
+
style?: React__default.CSSProperties;
|
|
1378
1614
|
/** Dodatečná CSS třída. */
|
|
1379
1615
|
className?: string;
|
|
1380
1616
|
}
|
|
@@ -1395,7 +1631,7 @@ interface ImageCropperProps {
|
|
|
1395
1631
|
* />
|
|
1396
1632
|
* ```
|
|
1397
1633
|
*/
|
|
1398
|
-
declare const ImageCropper:
|
|
1634
|
+
declare const ImageCropper: React__default.FC<ImageCropperProps>;
|
|
1399
1635
|
|
|
1400
1636
|
interface TableColumn {
|
|
1401
1637
|
/** Klíč odpovídající hodnotě v datovém objektu. */
|
|
@@ -1407,7 +1643,7 @@ interface TableColumn {
|
|
|
1407
1643
|
/** Šířka sloupce (CSS hodnota). */
|
|
1408
1644
|
width?: string | number;
|
|
1409
1645
|
/** Vlastní vykreslovací funkce pro buňku. */
|
|
1410
|
-
render?: (value: any, row: any, index: number) =>
|
|
1646
|
+
render?: (value: any, row: any, index: number) => React__default.ReactNode;
|
|
1411
1647
|
}
|
|
1412
1648
|
interface TableProps {
|
|
1413
1649
|
/** Definice sloupců tabulky. */
|
|
@@ -1431,11 +1667,17 @@ interface TableProps {
|
|
|
1431
1667
|
/** Callback při kliknutí na řádek. */
|
|
1432
1668
|
onRowClick?: (row: any, index: number) => void;
|
|
1433
1669
|
/** Render akčních tlačítek v posledním sloupci. */
|
|
1434
|
-
rowActions?: (row: any) =>
|
|
1670
|
+
rowActions?: (row: any) => React__default.ReactNode;
|
|
1671
|
+
/**
|
|
1672
|
+
* Rámeček, zaoblení a pozadí tabulky. `false` = bez rámu a s průhledným
|
|
1673
|
+
* pozadím, vhodné do `Card` (jinak se rám i pozadí zdvojí).
|
|
1674
|
+
* @default true
|
|
1675
|
+
*/
|
|
1676
|
+
bordered?: boolean;
|
|
1435
1677
|
/** Dodatečná CSS třída. */
|
|
1436
1678
|
className?: string;
|
|
1437
1679
|
/** Další inline styly. */
|
|
1438
|
-
style?:
|
|
1680
|
+
style?: React__default.CSSProperties;
|
|
1439
1681
|
}
|
|
1440
1682
|
/**
|
|
1441
1683
|
* Datová tabulka dle SM-UI design systému.
|
|
@@ -1458,7 +1700,7 @@ interface TableProps {
|
|
|
1458
1700
|
* />
|
|
1459
1701
|
* ```
|
|
1460
1702
|
*/
|
|
1461
|
-
declare const Table:
|
|
1703
|
+
declare const Table: React__default.FC<TableProps>;
|
|
1462
1704
|
|
|
1463
1705
|
/** Definice sloupce pro DataGrid. */
|
|
1464
1706
|
interface DataGridColumn {
|
|
@@ -1477,7 +1719,7 @@ interface DataGridColumn {
|
|
|
1477
1719
|
/** Povolí editaci buňky (placeholder pro budoucí implementaci). @default false */
|
|
1478
1720
|
editable?: boolean;
|
|
1479
1721
|
/** Vlastní vykreslovací funkce pro buňku. */
|
|
1480
|
-
render?: (value: any, row: any, index: number) =>
|
|
1722
|
+
render?: (value: any, row: any, index: number) => React__default.ReactNode;
|
|
1481
1723
|
}
|
|
1482
1724
|
interface DataGridProps {
|
|
1483
1725
|
/** Definice sloupců. */
|
|
@@ -1498,8 +1740,14 @@ interface DataGridProps {
|
|
|
1498
1740
|
stickyHeader?: boolean;
|
|
1499
1741
|
/** Text zobrazený při prázdných datech. @default 'Žádná data' */
|
|
1500
1742
|
emptyText?: string;
|
|
1743
|
+
/**
|
|
1744
|
+
* Rámeček, zaoblení a pozadí mřížky. `false` = bez rámu a s průhledným
|
|
1745
|
+
* pozadím, vhodné do `Card`.
|
|
1746
|
+
* @default true
|
|
1747
|
+
*/
|
|
1748
|
+
bordered?: boolean;
|
|
1501
1749
|
/** Další inline styly. */
|
|
1502
|
-
style?:
|
|
1750
|
+
style?: React__default.CSSProperties;
|
|
1503
1751
|
/** Dodatečná CSS třída. */
|
|
1504
1752
|
className?: string;
|
|
1505
1753
|
}
|
|
@@ -1525,7 +1773,7 @@ interface DataGridProps {
|
|
|
1525
1773
|
* />
|
|
1526
1774
|
* ```
|
|
1527
1775
|
*/
|
|
1528
|
-
declare const DataGrid:
|
|
1776
|
+
declare const DataGrid: React__default.FC<DataGridProps>;
|
|
1529
1777
|
|
|
1530
1778
|
interface MobileDataCardColumn {
|
|
1531
1779
|
/** Klíč dat v řádkovém objektu. */
|
|
@@ -1533,7 +1781,7 @@ interface MobileDataCardColumn {
|
|
|
1533
1781
|
/** Zobrazovaný popisek. */
|
|
1534
1782
|
header: string;
|
|
1535
1783
|
/** Vlastní renderování hodnoty — stejný podpis jako Table/DataGrid. */
|
|
1536
|
-
render?: (value: any, row: any, index: number) =>
|
|
1784
|
+
render?: (value: any, row: any, index: number) => React__default.ReactNode;
|
|
1537
1785
|
/** Skrýt tento sloupec z karty. */
|
|
1538
1786
|
hidden?: boolean;
|
|
1539
1787
|
/** Zobrazit toto pole jako titulek karty. */
|
|
@@ -1571,13 +1819,13 @@ interface MobileDataCardProps {
|
|
|
1571
1819
|
/** Text prázdného stavu. @default 'Žádná data' */
|
|
1572
1820
|
emptyText?: string;
|
|
1573
1821
|
/** Vlastní obsah prázdného stavu. */
|
|
1574
|
-
emptyContent?:
|
|
1822
|
+
emptyContent?: React__default.ReactNode;
|
|
1575
1823
|
/** Mezera mezi kartami v px. @default 12 */
|
|
1576
1824
|
gap?: number;
|
|
1577
1825
|
/** Vykreslení akčních tlačítek v patičce karty. */
|
|
1578
|
-
cardActions?: (row: any, index: number) =>
|
|
1826
|
+
cardActions?: (row: any, index: number) => React__default.ReactNode;
|
|
1579
1827
|
/** Další inline styly. */
|
|
1580
|
-
style?:
|
|
1828
|
+
style?: React__default.CSSProperties;
|
|
1581
1829
|
/** Dodatečná CSS třída. */
|
|
1582
1830
|
className?: string;
|
|
1583
1831
|
}
|
|
@@ -1608,32 +1856,42 @@ interface MobileDataCardProps {
|
|
|
1608
1856
|
* />
|
|
1609
1857
|
* ```
|
|
1610
1858
|
*/
|
|
1611
|
-
declare const MobileDataCard:
|
|
1859
|
+
declare const MobileDataCard: React__default.FC<MobileDataCardProps>;
|
|
1612
1860
|
|
|
1613
|
-
interface CardProps {
|
|
1861
|
+
interface CardProps extends Omit<React__default.HTMLAttributes<HTMLDivElement>, 'title' | 'style' | 'className'> {
|
|
1614
1862
|
/** Titulek karty. */
|
|
1615
|
-
title?:
|
|
1863
|
+
title?: React__default.ReactNode;
|
|
1616
1864
|
/** Podtitulek karty. */
|
|
1617
|
-
subtitle?:
|
|
1618
|
-
/**
|
|
1619
|
-
|
|
1865
|
+
subtitle?: React__default.ReactNode;
|
|
1866
|
+
/**
|
|
1867
|
+
* Akce vpravo v záhlaví vedle titulku (odkaz, tlačítko, badge).
|
|
1868
|
+
* Zachová typografii titulku a odsazení záhlaví.
|
|
1869
|
+
*/
|
|
1870
|
+
headerActions?: React__default.ReactNode;
|
|
1871
|
+
/**
|
|
1872
|
+
* Vlastní obsah celého záhlaví — nahrazuje `title`, `subtitle` i `headerActions`
|
|
1873
|
+
* a vykreslí se bez odsazení (odsazení dodává konzument).
|
|
1874
|
+
* Pro titulek + akci použijte raději `headerActions`.
|
|
1875
|
+
*/
|
|
1876
|
+
header?: React__default.ReactNode;
|
|
1620
1877
|
/** Obsah patičky karty. */
|
|
1621
|
-
footer?:
|
|
1878
|
+
footer?: React__default.ReactNode;
|
|
1622
1879
|
/** Obsah karty. */
|
|
1623
|
-
children?:
|
|
1880
|
+
children?: React__default.ReactNode;
|
|
1624
1881
|
/** Při `true` se karta jemně zvedne při najetí myší. @default false */
|
|
1625
1882
|
hoverable?: boolean;
|
|
1626
1883
|
/** Zobrazí rámeček kolem karty. @default true */
|
|
1627
1884
|
bordered?: boolean;
|
|
1628
1885
|
/**
|
|
1629
|
-
* Velikost vnitřního
|
|
1886
|
+
* Velikost vnitřního odsazení **těla a patičky**. Záhlaví (`title`) má vlastní
|
|
1887
|
+
* odsazení: při `'none'` zůstává `md` (20px), aby se titulek nepřilepil k okraji.
|
|
1630
1888
|
* @default 'md'
|
|
1631
1889
|
*/
|
|
1632
1890
|
padding?: 'none' | 'sm' | 'md' | 'lg';
|
|
1633
1891
|
/** Dodatečná CSS třída. */
|
|
1634
1892
|
className?: string;
|
|
1635
1893
|
/** Další inline styly. */
|
|
1636
|
-
style?:
|
|
1894
|
+
style?: React__default.CSSProperties;
|
|
1637
1895
|
}
|
|
1638
1896
|
/**
|
|
1639
1897
|
* Karta dle SM-UI design systému.
|
|
@@ -1646,15 +1904,29 @@ interface CardProps {
|
|
|
1646
1904
|
* <Card title="Statistiky" subtitle="Přehled za poslední měsíc">
|
|
1647
1905
|
* <p>Obsah karty…</p>
|
|
1648
1906
|
* </Card>
|
|
1907
|
+
*
|
|
1908
|
+
* // Titulek + akce vpravo, tabulka bez odsazení
|
|
1909
|
+
* <Card title="Poslední změny" headerActions={<Link href="/log">Vše</Link>} padding="none">
|
|
1910
|
+
* <Table bordered={false} … />
|
|
1911
|
+
* </Card>
|
|
1649
1912
|
* ```
|
|
1650
1913
|
*/
|
|
1651
|
-
declare const Card:
|
|
1914
|
+
declare const Card: React__default.FC<CardProps>;
|
|
1652
1915
|
|
|
1653
1916
|
interface AccordionItemProps {
|
|
1654
|
-
/** Titulek položky. */
|
|
1655
|
-
title:
|
|
1917
|
+
/** Titulek položky (text nebo ReactNode, např. s Badge). */
|
|
1918
|
+
title: React__default.ReactNode;
|
|
1656
1919
|
/** Obsah zobrazený po rozbalení. */
|
|
1657
|
-
children:
|
|
1920
|
+
children: React__default.ReactNode;
|
|
1921
|
+
/**
|
|
1922
|
+
* Identifikátor položky pro řízený `Accordion` (`value` / `onChange`).
|
|
1923
|
+
* Bez `id` se použije index položky jako string.
|
|
1924
|
+
*/
|
|
1925
|
+
id?: string;
|
|
1926
|
+
/** Ikona vlevo před titulkem. */
|
|
1927
|
+
icon?: React__default.ReactNode;
|
|
1928
|
+
/** Obsah vpravo v hlavičce (badge, počet, akce) — mimo klikací plochu chevronu. */
|
|
1929
|
+
extra?: React__default.ReactNode;
|
|
1658
1930
|
/** Při `true` bude položka výchozně rozbalena. @default false */
|
|
1659
1931
|
defaultOpen?: boolean;
|
|
1660
1932
|
/** Zakáže interakci s položkou. @default false */
|
|
@@ -1664,25 +1936,31 @@ interface AccordionProps {
|
|
|
1664
1936
|
/**
|
|
1665
1937
|
* Potomci — typicky komponenty `<AccordionItem>`.
|
|
1666
1938
|
*/
|
|
1667
|
-
children:
|
|
1939
|
+
children: React__default.ReactNode;
|
|
1668
1940
|
/** Povolí více současně otevřených položek. @default false */
|
|
1669
1941
|
multiple?: boolean;
|
|
1942
|
+
/** Řízený seznam otevřených položek (`id` položek). */
|
|
1943
|
+
value?: string[];
|
|
1944
|
+
/** Výchozí otevřené položky pro neřízený režim (doplňuje `defaultOpen` na položkách). */
|
|
1945
|
+
defaultValue?: string[];
|
|
1946
|
+
/** Voláno při změně otevřených položek. */
|
|
1947
|
+
onChange?: (open: string[]) => void;
|
|
1670
1948
|
/** Dodatečná CSS třída. */
|
|
1671
1949
|
className?: string;
|
|
1672
1950
|
/** Další inline styly. */
|
|
1673
|
-
style?:
|
|
1951
|
+
style?: React__default.CSSProperties;
|
|
1674
1952
|
}
|
|
1675
1953
|
/**
|
|
1676
1954
|
* Položka akordéonu. Používejte uvnitř `<Accordion>`.
|
|
1677
1955
|
*
|
|
1678
1956
|
* @example
|
|
1679
1957
|
* ```tsx
|
|
1680
|
-
* <AccordionItem title="Sekce 1">
|
|
1958
|
+
* <AccordionItem title="Sekce 1" extra={<Badge label="8 kroků" size="sm" variant="neutral" />}>
|
|
1681
1959
|
* Obsah první sekce.
|
|
1682
1960
|
* </AccordionItem>
|
|
1683
1961
|
* ```
|
|
1684
1962
|
*/
|
|
1685
|
-
declare const AccordionItem:
|
|
1963
|
+
declare const AccordionItem: React__default.FC<AccordionItemProps & {
|
|
1686
1964
|
/** @internal Řízeno rodičem Accordion. */
|
|
1687
1965
|
_controlled?: boolean;
|
|
1688
1966
|
/** @internal */
|
|
@@ -1696,16 +1974,23 @@ declare const AccordionItem: React.FC<AccordionItemProps & {
|
|
|
1696
1974
|
* Obalí skupinu `<AccordionItem>` a řídí jejich otevírání.
|
|
1697
1975
|
* Ve výchozím stavu se otevře vždy pouze jedna položka najednou.
|
|
1698
1976
|
* Pro více současně otevřených položek nastavte `multiple`.
|
|
1977
|
+
* Otevřené položky lze řídit přes `value` / `onChange` (podle `id` položek).
|
|
1699
1978
|
*
|
|
1700
1979
|
* @example
|
|
1701
1980
|
* ```tsx
|
|
1702
1981
|
* <Accordion>
|
|
1703
1982
|
* <AccordionItem title="Sekce 1">Obsah 1</AccordionItem>
|
|
1704
|
-
* <AccordionItem title="Sekce 2">Obsah 2</AccordionItem>
|
|
1983
|
+
* <AccordionItem title="Sekce 2" defaultOpen>Obsah 2</AccordionItem>
|
|
1984
|
+
* </Accordion>
|
|
1985
|
+
*
|
|
1986
|
+
* // Řízený
|
|
1987
|
+
* <Accordion multiple value={open} onChange={setOpen}>
|
|
1988
|
+
* <AccordionItem id="a" title="A">…</AccordionItem>
|
|
1989
|
+
* <AccordionItem id="b" title="B">…</AccordionItem>
|
|
1705
1990
|
* </Accordion>
|
|
1706
1991
|
* ```
|
|
1707
1992
|
*/
|
|
1708
|
-
declare const Accordion:
|
|
1993
|
+
declare const Accordion: React__default.FC<AccordionProps>;
|
|
1709
1994
|
|
|
1710
1995
|
interface TabsProps {
|
|
1711
1996
|
/** Aktuální aktivní hodnota. */
|
|
@@ -1713,7 +1998,7 @@ interface TabsProps {
|
|
|
1713
1998
|
/** Voláno při změně aktivní záložky. */
|
|
1714
1999
|
onChange: (value: string) => void;
|
|
1715
2000
|
/** Potomci — komponenty `<Tab>` a `<TabPanel>`. */
|
|
1716
|
-
children:
|
|
2001
|
+
children: React__default.ReactNode;
|
|
1717
2002
|
/**
|
|
1718
2003
|
* Vizuální varianta.
|
|
1719
2004
|
* - `'underline'` — spodní linka na aktivní záložce
|
|
@@ -1731,7 +2016,7 @@ interface TabsProps {
|
|
|
1731
2016
|
/** Dodatečná CSS třída. */
|
|
1732
2017
|
className?: string;
|
|
1733
2018
|
/** Další inline styly. */
|
|
1734
|
-
style?:
|
|
2019
|
+
style?: React__default.CSSProperties;
|
|
1735
2020
|
}
|
|
1736
2021
|
interface TabProps {
|
|
1737
2022
|
/** Unikátní hodnota záložky. */
|
|
@@ -1741,13 +2026,13 @@ interface TabProps {
|
|
|
1741
2026
|
/** Zakáže záložku. @default false */
|
|
1742
2027
|
disabled?: boolean;
|
|
1743
2028
|
/** Ikona zobrazená před textem. */
|
|
1744
|
-
icon?:
|
|
2029
|
+
icon?: React__default.ReactNode;
|
|
1745
2030
|
}
|
|
1746
2031
|
interface TabPanelProps {
|
|
1747
2032
|
/** Hodnota odpovídající záložce — panel se zobrazí, když je aktivní. */
|
|
1748
2033
|
value: string;
|
|
1749
2034
|
/** Obsah panelu. */
|
|
1750
|
-
children:
|
|
2035
|
+
children: React__default.ReactNode;
|
|
1751
2036
|
}
|
|
1752
2037
|
/**
|
|
1753
2038
|
* Záložka uvnitř `<Tabs>`. Definuje jednu záložku v navigaci.
|
|
@@ -1757,7 +2042,7 @@ interface TabPanelProps {
|
|
|
1757
2042
|
* <Tab value="general" label="Obecné" />
|
|
1758
2043
|
* ```
|
|
1759
2044
|
*/
|
|
1760
|
-
declare const Tab:
|
|
2045
|
+
declare const Tab: React__default.FC<TabProps>;
|
|
1761
2046
|
/**
|
|
1762
2047
|
* Panel obsahu spojený s konkrétní záložkou.
|
|
1763
2048
|
*
|
|
@@ -1768,7 +2053,7 @@ declare const Tab: React.FC<TabProps>;
|
|
|
1768
2053
|
* </TabPanel>
|
|
1769
2054
|
* ```
|
|
1770
2055
|
*/
|
|
1771
|
-
declare const TabPanel:
|
|
2056
|
+
declare const TabPanel: React__default.FC<TabPanelProps>;
|
|
1772
2057
|
/**
|
|
1773
2058
|
* Záložkový komponent dle SM-UI design systému.
|
|
1774
2059
|
*
|
|
@@ -1785,13 +2070,17 @@ declare const TabPanel: React.FC<TabPanelProps>;
|
|
|
1785
2070
|
* </Tabs>
|
|
1786
2071
|
* ```
|
|
1787
2072
|
*/
|
|
1788
|
-
declare const Tabs:
|
|
2073
|
+
declare const Tabs: React__default.FC<TabsProps>;
|
|
1789
2074
|
|
|
1790
2075
|
interface TooltipProps {
|
|
1791
|
-
/**
|
|
1792
|
-
|
|
2076
|
+
/**
|
|
2077
|
+
* Obsah tooltipu — text nebo ReactNode.
|
|
2078
|
+
* Při `undefined` / `null` / `''` / `false` se bublina nezobrazí vůbec
|
|
2079
|
+
* (podmíněná nápověda bez nutnosti podmíněně obalovat).
|
|
2080
|
+
*/
|
|
2081
|
+
content?: string | React__default.ReactNode;
|
|
1793
2082
|
/** Trigger element obalený tooltipem. */
|
|
1794
|
-
children:
|
|
2083
|
+
children: React__default.ReactElement;
|
|
1795
2084
|
/**
|
|
1796
2085
|
* Pozice tooltipu vůči triggeru.
|
|
1797
2086
|
* @default 'top'
|
|
@@ -1831,7 +2120,7 @@ interface TooltipProps {
|
|
|
1831
2120
|
/** Dodatečná CSS třída pro tooltip. */
|
|
1832
2121
|
className?: string;
|
|
1833
2122
|
/** Další inline styly pro tooltip. */
|
|
1834
|
-
style?:
|
|
2123
|
+
style?: React__default.CSSProperties;
|
|
1835
2124
|
}
|
|
1836
2125
|
/**
|
|
1837
2126
|
* Tooltip dle SM-UI design systému.
|
|
@@ -1852,43 +2141,89 @@ interface TooltipProps {
|
|
|
1852
2141
|
* </Tooltip>
|
|
1853
2142
|
* ```
|
|
1854
2143
|
*/
|
|
1855
|
-
declare const Tooltip:
|
|
2144
|
+
declare const Tooltip: React__default.FC<TooltipProps>;
|
|
1856
2145
|
|
|
2146
|
+
type PopoverPosition = 'top' | 'bottom' | 'left' | 'right';
|
|
2147
|
+
type PopoverAlign = 'start' | 'center' | 'end';
|
|
1857
2148
|
interface PopoverProps {
|
|
1858
|
-
/**
|
|
1859
|
-
|
|
2149
|
+
/**
|
|
2150
|
+
* Obsah popoveru. Může být ReactNode nebo funkce `(close) => ReactNode`
|
|
2151
|
+
* pro zavření z obsahu (např. po výběru položky).
|
|
2152
|
+
*/
|
|
2153
|
+
content: React__default.ReactNode | ((close: () => void) => React__default.ReactNode);
|
|
1860
2154
|
/** Trigger element. */
|
|
1861
|
-
children:
|
|
2155
|
+
children: React__default.ReactElement;
|
|
1862
2156
|
/**
|
|
1863
2157
|
* Pozice popoveru vůči triggeru.
|
|
1864
2158
|
* @default 'bottom'
|
|
1865
2159
|
*/
|
|
1866
|
-
position?:
|
|
2160
|
+
position?: PopoverPosition;
|
|
2161
|
+
/**
|
|
2162
|
+
* Zarovnání panelu podél osy triggeru (u `top` / `bottom` vodorovně,
|
|
2163
|
+
* u `left` / `right` svisle).
|
|
2164
|
+
* @default 'center'
|
|
2165
|
+
*/
|
|
2166
|
+
align?: PopoverAlign;
|
|
2167
|
+
/**
|
|
2168
|
+
* Mezera mezi triggerem a panelem v px.
|
|
2169
|
+
* @default 8
|
|
2170
|
+
*/
|
|
2171
|
+
offset?: number;
|
|
2172
|
+
/**
|
|
2173
|
+
* Když se panel na zvolené straně nevejde, otočí se na protilehlou.
|
|
2174
|
+
* Panel se navíc vždy posune tak, aby zůstal celý ve viewportu.
|
|
2175
|
+
* @default true
|
|
2176
|
+
*/
|
|
2177
|
+
autoFlip?: boolean;
|
|
1867
2178
|
/**
|
|
1868
2179
|
* Způsob otevření.
|
|
1869
2180
|
* @default 'click'
|
|
1870
2181
|
*/
|
|
1871
2182
|
trigger?: 'click' | 'hover';
|
|
2183
|
+
/** Řízený stav otevření. Když zadáno, kit stav sám nemění a volá jen `onOpenChange`. */
|
|
2184
|
+
open?: boolean;
|
|
2185
|
+
/** Výchozí stav pro neřízený režim. @default false */
|
|
2186
|
+
defaultOpen?: boolean;
|
|
2187
|
+
/** Voláno při požadavku na otevření / zavření (klik, outside-click, Escape, hover). */
|
|
2188
|
+
onOpenChange?: (open: boolean) => void;
|
|
2189
|
+
/**
|
|
2190
|
+
* Klik kamkoli do obsahu popover zavře. Pro menu-like obsah.
|
|
2191
|
+
* @default false
|
|
2192
|
+
*/
|
|
2193
|
+
closeOnClickInside?: boolean;
|
|
2194
|
+
/**
|
|
2195
|
+
* Vypne výchozí vnitřní padding panelu (16px). Pro obsah s vlastním layoutem.
|
|
2196
|
+
* @default false
|
|
2197
|
+
*/
|
|
2198
|
+
disablePadding?: boolean;
|
|
2199
|
+
/** Vlastní padding panelu (číslo = px). Přepíše výchozích 16px. */
|
|
2200
|
+
padding?: number | string;
|
|
1872
2201
|
/** Dodatečná CSS třída pro popover. */
|
|
1873
2202
|
className?: string;
|
|
1874
2203
|
/** Další inline styly pro popover. */
|
|
1875
|
-
style?:
|
|
2204
|
+
style?: React__default.CSSProperties;
|
|
1876
2205
|
}
|
|
1877
2206
|
/**
|
|
1878
2207
|
* Popover dle SM-UI design systému.
|
|
1879
2208
|
*
|
|
1880
2209
|
* Podobný Tooltipu, ale větší, s kartovým stylem.
|
|
1881
2210
|
* Otevírá se kliknutím nebo hoverem, zavírá kliknutím mimo nebo Escape.
|
|
1882
|
-
* Vykresluje se přes React portál.
|
|
2211
|
+
* Vykresluje se přes React portál. Panel nikdy neopustí viewport —
|
|
2212
|
+
* když se na zvolené straně nevejde, otočí se (`autoFlip`) a posune.
|
|
1883
2213
|
*
|
|
1884
2214
|
* @example
|
|
1885
2215
|
* ```tsx
|
|
1886
2216
|
* <Popover content={<div>Obsah popoveru</div>} trigger="click">
|
|
1887
2217
|
* <button>Klikni</button>
|
|
1888
2218
|
* </Popover>
|
|
2219
|
+
*
|
|
2220
|
+
* // Řízený + zavření z obsahu
|
|
2221
|
+
* <Popover open={open} onOpenChange={setOpen} content={(close) => <Menu onPick={close} />}>
|
|
2222
|
+
* <Button>Vybrat</Button>
|
|
2223
|
+
* </Popover>
|
|
1889
2224
|
* ```
|
|
1890
2225
|
*/
|
|
1891
|
-
declare const Popover:
|
|
2226
|
+
declare const Popover: React__default.FC<PopoverProps>;
|
|
1892
2227
|
|
|
1893
2228
|
interface SkeletonProps {
|
|
1894
2229
|
/**
|
|
@@ -1910,7 +2245,7 @@ interface SkeletonProps {
|
|
|
1910
2245
|
/** Dodatečná CSS třída. */
|
|
1911
2246
|
className?: string;
|
|
1912
2247
|
/** Další inline styly. */
|
|
1913
|
-
style?:
|
|
2248
|
+
style?: React__default.CSSProperties;
|
|
1914
2249
|
}
|
|
1915
2250
|
/**
|
|
1916
2251
|
* Zástupný prvek zobrazený při načítání obsahu.
|
|
@@ -1925,18 +2260,18 @@ interface SkeletonProps {
|
|
|
1925
2260
|
* <Skeleton variant="rect" width="100%" height={200} />
|
|
1926
2261
|
* ```
|
|
1927
2262
|
*/
|
|
1928
|
-
declare const Skeleton:
|
|
2263
|
+
declare const Skeleton: React__default.FC<SkeletonProps>;
|
|
1929
2264
|
|
|
1930
2265
|
type EmptyStatePreset = 'no-data' | 'no-results' | 'no-permission' | 'error' | 'coming-soon';
|
|
1931
2266
|
interface EmptyStateProps {
|
|
1932
|
-
/** Ikona zobrazená nad titulkem. */
|
|
1933
|
-
icon?:
|
|
2267
|
+
/** Ikona zobrazená nad titulkem. Phosphor ikona bez `size` se škáluje podle `size` komponenty. */
|
|
2268
|
+
icon?: React__default.ReactNode;
|
|
1934
2269
|
/** Hlavní titulek prázdného stavu. */
|
|
1935
2270
|
title?: string;
|
|
1936
2271
|
/** Doplňkový popis. */
|
|
1937
2272
|
description?: string;
|
|
1938
2273
|
/** Akční prvky — typicky tlačítka. */
|
|
1939
|
-
action?:
|
|
2274
|
+
action?: React__default.ReactNode;
|
|
1940
2275
|
/**
|
|
1941
2276
|
* Přednastavený prázdný stav s ikonou, titulkem a popisem.
|
|
1942
2277
|
* Vlastní `icon`, `title`, `description` přepíší preset hodnoty.
|
|
@@ -1947,7 +2282,7 @@ interface EmptyStateProps {
|
|
|
1947
2282
|
/** Dodatečná CSS třída. */
|
|
1948
2283
|
className?: string;
|
|
1949
2284
|
/** Další inline styly. */
|
|
1950
|
-
style?:
|
|
2285
|
+
style?: React__default.CSSProperties;
|
|
1951
2286
|
}
|
|
1952
2287
|
/**
|
|
1953
2288
|
* Prázdný stav dle SM-UI design systému.
|
|
@@ -1970,19 +2305,19 @@ interface EmptyStateProps {
|
|
|
1970
2305
|
* />
|
|
1971
2306
|
* ```
|
|
1972
2307
|
*/
|
|
1973
|
-
declare const EmptyState:
|
|
2308
|
+
declare const EmptyState: React__default.FC<EmptyStateProps>;
|
|
1974
2309
|
|
|
1975
2310
|
interface StatProps {
|
|
1976
2311
|
/** Popisek statistiky. */
|
|
1977
2312
|
label: string;
|
|
1978
2313
|
/** Hodnota statistiky. */
|
|
1979
|
-
value?: string | number |
|
|
2314
|
+
value?: string | number | React__default.ReactNode;
|
|
1980
2315
|
/** Procentuální změna (zobrazí se se znaménkem). */
|
|
1981
2316
|
change?: number;
|
|
1982
2317
|
/** Doplňkový text k procentuální změně. */
|
|
1983
2318
|
changeLabel?: string;
|
|
1984
2319
|
/** Ikona zobrazená vedle hodnoty. */
|
|
1985
|
-
icon?:
|
|
2320
|
+
icon?: React__default.ReactNode;
|
|
1986
2321
|
/** Směr trendu. @default 'neutral' */
|
|
1987
2322
|
trend?: 'up' | 'down' | 'neutral';
|
|
1988
2323
|
/** Skeleton stav. @default false */
|
|
@@ -1990,11 +2325,11 @@ interface StatProps {
|
|
|
1990
2325
|
/** Klikatelná karta s hover efektem. */
|
|
1991
2326
|
onClick?: () => void;
|
|
1992
2327
|
/** Sekundární text pod hodnotou. */
|
|
1993
|
-
helper?: string |
|
|
2328
|
+
helper?: string | React__default.ReactNode;
|
|
1994
2329
|
/** Dodatečná CSS třída. */
|
|
1995
2330
|
className?: string;
|
|
1996
2331
|
/** Další inline styly. */
|
|
1997
|
-
style?:
|
|
2332
|
+
style?: React__default.CSSProperties;
|
|
1998
2333
|
}
|
|
1999
2334
|
/**
|
|
2000
2335
|
* Statistický ukazatel dle SM-UI design systému.
|
|
@@ -2008,15 +2343,21 @@ interface StatProps {
|
|
|
2008
2343
|
* <Stat label="Aktivní" value={loading ? undefined : 127} loading={loading} onClick={() => navigate('/tasks')} helper="z toho 12 po termínu" />
|
|
2009
2344
|
* ```
|
|
2010
2345
|
*/
|
|
2011
|
-
declare const Stat:
|
|
2346
|
+
declare const Stat: React__default.FC<StatProps>;
|
|
2012
2347
|
|
|
2013
2348
|
type AvatarSize = '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | number;
|
|
2014
2349
|
interface AvatarProps {
|
|
2015
2350
|
/**
|
|
2016
2351
|
* Iniciály zobrazené uvnitř avataru (např. `"DC"`, `"JN"`).
|
|
2017
2352
|
* Automaticky převedeny na velká písmena.
|
|
2353
|
+
* Použijí se i jako fallback, když `src` chybí nebo se obrázek nenačte.
|
|
2018
2354
|
*/
|
|
2019
2355
|
initials: string;
|
|
2356
|
+
/**
|
|
2357
|
+
* URL obrázku. Pokud je zadán a načte se, vykreslí se místo iniciál.
|
|
2358
|
+
* Při chybě načtení (`onError`) avatar automaticky spadne zpět na iniciály.
|
|
2359
|
+
*/
|
|
2360
|
+
src?: string;
|
|
2020
2361
|
/**
|
|
2021
2362
|
* Velikost avataru.
|
|
2022
2363
|
* - `'2xs'` — 16 px
|
|
@@ -2033,33 +2374,37 @@ interface AvatarProps {
|
|
|
2033
2374
|
* Zaoblení rohů kontejneru avataru.
|
|
2034
2375
|
* @default '8px'
|
|
2035
2376
|
*/
|
|
2036
|
-
borderRadius?:
|
|
2377
|
+
borderRadius?: React__default.CSSProperties['borderRadius'];
|
|
2037
2378
|
/**
|
|
2038
2379
|
* Přístupný popisek čtený čtečkami obrazovky.
|
|
2039
2380
|
* Pokud není zadán, použije se `"Avatar {initials}"`.
|
|
2040
2381
|
*/
|
|
2041
2382
|
'aria-label'?: string;
|
|
2042
2383
|
/** Další inline styly pro kořenový element. */
|
|
2043
|
-
style?:
|
|
2384
|
+
style?: React__default.CSSProperties;
|
|
2044
2385
|
/** Dodatečná CSS třída pro kořenový element. */
|
|
2045
2386
|
className?: string;
|
|
2046
2387
|
}
|
|
2047
2388
|
/**
|
|
2048
|
-
* Kruhový / čtvercový avatar
|
|
2049
|
-
* na oranžovém gradientním pozadí.
|
|
2389
|
+
* Kruhový / čtvercový avatar. Zobrazuje obrázek (`src`), nebo iniciály uživatele
|
|
2390
|
+
* na oranžovém gradientním pozadí. Při selhání načtení obrázku automaticky
|
|
2391
|
+
* spadne zpět na iniciály.
|
|
2392
|
+
*
|
|
2393
|
+
* Předává `ref` na kořenový element, takže ho lze přímo použít jako trigger
|
|
2394
|
+
* pro `Tooltip` / `Popover` bez obalování do `<span>`.
|
|
2050
2395
|
*
|
|
2051
2396
|
* @example
|
|
2052
2397
|
* ```tsx
|
|
2053
2398
|
* <Avatar initials="DC" />
|
|
2054
|
-
* <Avatar initials="JN" size="lg" />
|
|
2399
|
+
* <Avatar initials="JN" size="lg" src="/uploads/jana.jpg" />
|
|
2055
2400
|
* <Avatar initials="AB" size={56} borderRadius="50%" />
|
|
2056
2401
|
* ```
|
|
2057
2402
|
*/
|
|
2058
|
-
declare const Avatar:
|
|
2403
|
+
declare const Avatar: React__default.ForwardRefExoticComponent<AvatarProps & React__default.RefAttributes<HTMLDivElement>>;
|
|
2059
2404
|
|
|
2060
2405
|
interface AvatarStackProps {
|
|
2061
2406
|
/** Avatar elementy. Každý dostane forced consistent size a circular shape. */
|
|
2062
|
-
children:
|
|
2407
|
+
children: React__default.ReactNode;
|
|
2063
2408
|
/** Max viditelných avatarů. Ostatní se sbalí do „+N" badge. @default 3 */
|
|
2064
2409
|
max?: number;
|
|
2065
2410
|
/** Forced size pro všechny avatary uvnitř. @default 'sm' */
|
|
@@ -2071,7 +2416,7 @@ interface AvatarStackProps {
|
|
|
2071
2416
|
/** Tooltip nad „+N" badge. String nebo funkce (hiddenCount) => string. */
|
|
2072
2417
|
overflowTooltip?: string | ((hiddenCount: number) => string);
|
|
2073
2418
|
/** Další inline styly. */
|
|
2074
|
-
style?:
|
|
2419
|
+
style?: React__default.CSSProperties;
|
|
2075
2420
|
/** Dodatečná CSS třída. */
|
|
2076
2421
|
className?: string;
|
|
2077
2422
|
}
|
|
@@ -2091,7 +2436,7 @@ interface AvatarStackProps {
|
|
|
2091
2436
|
* </AvatarStack>
|
|
2092
2437
|
* ```
|
|
2093
2438
|
*/
|
|
2094
|
-
declare const AvatarStack:
|
|
2439
|
+
declare const AvatarStack: React__default.FC<AvatarStackProps>;
|
|
2095
2440
|
|
|
2096
2441
|
interface TagProps {
|
|
2097
2442
|
/**
|
|
@@ -2104,18 +2449,57 @@ interface TagProps {
|
|
|
2104
2449
|
*/
|
|
2105
2450
|
onRemove?: () => void;
|
|
2106
2451
|
/** Další inline styly pro kořenový element. */
|
|
2107
|
-
style?:
|
|
2452
|
+
style?: React__default.CSSProperties;
|
|
2108
2453
|
/** Dodatečná CSS třída pro kořenový element. */
|
|
2109
2454
|
className?: string;
|
|
2110
2455
|
}
|
|
2111
|
-
|
|
2456
|
+
type BadgeVariant = 'default' | 'brand' | 'neutral' | 'success' | 'info' | 'warning' | 'danger';
|
|
2457
|
+
type BadgeSize = 'sm' | 'md';
|
|
2458
|
+
/** Barva s protějškem pro tmavý režim. */
|
|
2459
|
+
interface ThemedColor {
|
|
2460
|
+
light: string;
|
|
2461
|
+
dark: string;
|
|
2462
|
+
}
|
|
2463
|
+
interface BadgeProps extends Omit<React__default.HTMLAttributes<HTMLDivElement>, 'color' | 'style' | 'className'> {
|
|
2112
2464
|
/**
|
|
2113
2465
|
* Text zobrazený uvnitř badge.
|
|
2114
|
-
*
|
|
2466
|
+
* Ve výchozím stavu převeden na velká písmena dle SM-UI design systému (viz `uppercase`).
|
|
2115
2467
|
*/
|
|
2116
2468
|
label: string;
|
|
2469
|
+
/**
|
|
2470
|
+
* Sémantická barevná varianta.
|
|
2471
|
+
* - `'brand'` — oranžová (brand); pro zvýraznění, ne pro stav
|
|
2472
|
+
* - `'default'` — alias pro `'brand'` (zachováno kvůli kompatibilitě), výchozí
|
|
2473
|
+
* - `'neutral'` — tlumená šedá pro tiché stavy („interní", „archiv", „brzy")
|
|
2474
|
+
* - `'success'` — zelená (#00A205)
|
|
2475
|
+
* - `'info'` — modrá
|
|
2476
|
+
* - `'warning'` — žlutá / amber
|
|
2477
|
+
* - `'danger'` — červená (#EF3838)
|
|
2478
|
+
* @default 'default'
|
|
2479
|
+
*/
|
|
2480
|
+
variant?: BadgeVariant;
|
|
2481
|
+
/**
|
|
2482
|
+
* Vlastní barva pozadí — přepíše `variant`. Řetězec (i CSS proměnná)
|
|
2483
|
+
* nebo dvojice `{ light, dark }` pro oba motivy.
|
|
2484
|
+
*/
|
|
2485
|
+
color?: string | ThemedColor;
|
|
2486
|
+
/** Vlastní barva textu (řetězec nebo `{ light, dark }`). Výchozí podle varianty. */
|
|
2487
|
+
textColor?: string | ThemedColor;
|
|
2488
|
+
/** Ikona vlevo před textem (Phosphor, 10–12px). */
|
|
2489
|
+
icon?: React__default.ReactNode;
|
|
2490
|
+
/** Barevná tečka před textem (barva textu badge). @default false */
|
|
2491
|
+
dot?: boolean;
|
|
2492
|
+
/**
|
|
2493
|
+
* Velikost.
|
|
2494
|
+
* - `'md'` — výchozí (10px písmo, padding 2px 16px)
|
|
2495
|
+
* - `'sm'` — kompaktní do hustých tabulek (9px písmo, padding 1px 8px)
|
|
2496
|
+
* @default 'md'
|
|
2497
|
+
*/
|
|
2498
|
+
size?: BadgeSize;
|
|
2499
|
+
/** Převádět text na verzálky. @default true */
|
|
2500
|
+
uppercase?: boolean;
|
|
2117
2501
|
/** Další inline styly pro kořenový element. */
|
|
2118
|
-
style?:
|
|
2502
|
+
style?: React__default.CSSProperties;
|
|
2119
2503
|
/** Dodatečná CSS třída pro kořenový element. */
|
|
2120
2504
|
className?: string;
|
|
2121
2505
|
}
|
|
@@ -2146,7 +2530,7 @@ interface TagItemProps {
|
|
|
2146
2530
|
*/
|
|
2147
2531
|
showActions?: boolean;
|
|
2148
2532
|
/** Další inline styly pro kořenový element. */
|
|
2149
|
-
style?:
|
|
2533
|
+
style?: React__default.CSSProperties;
|
|
2150
2534
|
/** Dodatečná CSS třída pro kořenový element. */
|
|
2151
2535
|
className?: string;
|
|
2152
2536
|
}
|
|
@@ -2160,18 +2544,25 @@ interface TagItemProps {
|
|
|
2160
2544
|
* <Tag label="TypeScript" onRemove={() => removeTag('ts')} />
|
|
2161
2545
|
* ```
|
|
2162
2546
|
*/
|
|
2163
|
-
declare const Tag:
|
|
2547
|
+
declare const Tag: React__default.FC<TagProps>;
|
|
2164
2548
|
/**
|
|
2165
|
-
* Malý stavový badge vykreslený jako
|
|
2166
|
-
* Text je
|
|
2549
|
+
* Malý stavový badge vykreslený jako barevná pilulka.
|
|
2550
|
+
* Text je ve výchozím stavu převeden na velká písmena.
|
|
2551
|
+
*
|
|
2552
|
+
* Bez `variant` je oranžový (brand, alias `default`). Pro tiché stavy použijte
|
|
2553
|
+
* `variant="neutral"`; sémantické varianty nesou stavovou barvu. Stav nikdy
|
|
2554
|
+
* nekódujte jen barvou — přidejte `icon` nebo `dot`.
|
|
2167
2555
|
*
|
|
2168
2556
|
* @example
|
|
2169
2557
|
* ```tsx
|
|
2170
2558
|
* <Badge label="Novinka" />
|
|
2171
|
-
* <Badge label="
|
|
2559
|
+
* <Badge label="Interní" variant="neutral" />
|
|
2560
|
+
* <Badge label="Schváleno" variant="success" icon={<CheckIcon size={10} />} />
|
|
2561
|
+
* <Badge label="Zamítnuto" variant="danger" size="sm" />
|
|
2562
|
+
* <Badge label="Vlastní" color={{ light: '#DDF3E1', dark: '#1E7A2A66' }} textColor={{ light: '#1a1a1a', dark: '#ffffff' }} uppercase={false} />
|
|
2172
2563
|
* ```
|
|
2173
2564
|
*/
|
|
2174
|
-
declare const Badge:
|
|
2565
|
+
declare const Badge: React__default.FC<BadgeProps>;
|
|
2175
2566
|
/**
|
|
2176
2567
|
* Řádek seznamu zobrazující pojmenovaný tag s volitelnými akčními tlačítky
|
|
2177
2568
|
* (filtrování, úprava, smazání).
|
|
@@ -2185,7 +2576,7 @@ declare const Badge: React.FC<BadgeProps>;
|
|
|
2185
2576
|
* <TagItem label="Blog" showActions={false} />
|
|
2186
2577
|
* ```
|
|
2187
2578
|
*/
|
|
2188
|
-
declare const TagItem:
|
|
2579
|
+
declare const TagItem: React__default.FC<TagItemProps>;
|
|
2189
2580
|
|
|
2190
2581
|
/** Událost zobrazená v kalendáři. */
|
|
2191
2582
|
interface CalendarEvent {
|
|
@@ -2204,7 +2595,7 @@ interface CalendarEvent {
|
|
|
2204
2595
|
/** Emoji zobrazené před názvem. */
|
|
2205
2596
|
emoji?: string;
|
|
2206
2597
|
/** Obsah tooltipu. Pokud je nastaveno, event bar se obalí tooltipem. */
|
|
2207
|
-
tooltip?: string |
|
|
2598
|
+
tooltip?: string | React__default.ReactNode;
|
|
2208
2599
|
}
|
|
2209
2600
|
interface CalendarProps {
|
|
2210
2601
|
/** Aktuálně vybraný datum. */
|
|
@@ -2235,8 +2626,15 @@ interface CalendarProps {
|
|
|
2235
2626
|
minDate?: Date;
|
|
2236
2627
|
/** Maximální povolený datum. */
|
|
2237
2628
|
maxDate?: Date;
|
|
2629
|
+
/**
|
|
2630
|
+
* Velikost kompaktního kalendáře (buňky, písmo, odsazení).
|
|
2631
|
+
* - `'md'` — výchozí (buňka 36px)
|
|
2632
|
+
* - `'sm'` — do popoverů a úzkých sloupců (buňka 28px)
|
|
2633
|
+
* @default 'md'
|
|
2634
|
+
*/
|
|
2635
|
+
size?: 'sm' | 'md';
|
|
2238
2636
|
/** Další inline styly. */
|
|
2239
|
-
style?:
|
|
2637
|
+
style?: React__default.CSSProperties;
|
|
2240
2638
|
/** Dodatečná CSS třída. */
|
|
2241
2639
|
className?: string;
|
|
2242
2640
|
}
|
|
@@ -2253,6 +2651,7 @@ interface CalendarProps {
|
|
|
2253
2651
|
* ```tsx
|
|
2254
2652
|
* // Kompaktní
|
|
2255
2653
|
* <Calendar value={date} onChange={setDate} events={events} />
|
|
2654
|
+
* <Calendar size="sm" value={date} onChange={setDate} />
|
|
2256
2655
|
*
|
|
2257
2656
|
* // Plnohodnotný
|
|
2258
2657
|
* <Calendar
|
|
@@ -2262,20 +2661,29 @@ interface CalendarProps {
|
|
|
2262
2661
|
* />
|
|
2263
2662
|
* ```
|
|
2264
2663
|
*/
|
|
2265
|
-
declare const Calendar:
|
|
2664
|
+
declare const Calendar: React__default.FC<CalendarProps>;
|
|
2266
2665
|
|
|
2267
2666
|
/** Položka časové osy. */
|
|
2268
2667
|
interface TimelineItem {
|
|
2269
|
-
/** Nadpis události. */
|
|
2270
|
-
title:
|
|
2271
|
-
/** Volitelný popis události. */
|
|
2272
|
-
description?:
|
|
2668
|
+
/** Nadpis události (text nebo ReactNode, např. s Badge). */
|
|
2669
|
+
title: React__default.ReactNode;
|
|
2670
|
+
/** Volitelný popis události (text nebo ReactNode). */
|
|
2671
|
+
description?: React__default.ReactNode;
|
|
2273
2672
|
/** Volitelný datum / časový údaj. */
|
|
2274
2673
|
date?: string;
|
|
2275
2674
|
/** Vlastní ikona místo výchozí tečky. */
|
|
2276
|
-
icon?:
|
|
2675
|
+
icon?: React__default.ReactNode;
|
|
2277
2676
|
/** Barva tečky nebo pozadí ikony. @default '#FC4F00' */
|
|
2278
2677
|
color?: string;
|
|
2678
|
+
/** Obsah vpravo od nadpisu (štítek, badge, počet). Vertikální osa. */
|
|
2679
|
+
meta?: React__default.ReactNode;
|
|
2680
|
+
/** Libovolný obsah pod popisem (tlačítka, seznam, vnořený blok). Vertikální osa. */
|
|
2681
|
+
content?: React__default.ReactNode;
|
|
2682
|
+
/**
|
|
2683
|
+
* `'section'` = nadpis skupiny bez tečky (uvozuje blok položek).
|
|
2684
|
+
* @default 'dot'
|
|
2685
|
+
*/
|
|
2686
|
+
variant?: 'dot' | 'section';
|
|
2279
2687
|
}
|
|
2280
2688
|
interface TimelineProps {
|
|
2281
2689
|
/** Položky časové osy. */
|
|
@@ -2283,7 +2691,7 @@ interface TimelineProps {
|
|
|
2283
2691
|
/** Orientace časové osy. @default 'vertical' */
|
|
2284
2692
|
orientation?: 'vertical' | 'horizontal';
|
|
2285
2693
|
/** Další inline styly. */
|
|
2286
|
-
style?:
|
|
2694
|
+
style?: React__default.CSSProperties;
|
|
2287
2695
|
/** Dodatečná CSS třída. */
|
|
2288
2696
|
className?: string;
|
|
2289
2697
|
}
|
|
@@ -2302,16 +2710,22 @@ interface TimelineProps {
|
|
|
2302
2710
|
* { title: 'Doručeno', date: '14:30', color: '#00A205' },
|
|
2303
2711
|
* ]}
|
|
2304
2712
|
* />
|
|
2713
|
+
*
|
|
2714
|
+
* // Sekce, štítky a vlastní obsah
|
|
2715
|
+
* <Timeline items={[
|
|
2716
|
+
* { variant: 'section', title: 'Fáze 1', meta: <Badge label="8 kroků" size="sm" variant="neutral" /> },
|
|
2717
|
+
* { title: <>Analýza <Badge label="Vždy" variant="success" size="sm" /></>, content: <Button size="sm">Otevřít</Button> },
|
|
2718
|
+
* ]} />
|
|
2305
2719
|
* ```
|
|
2306
2720
|
*/
|
|
2307
|
-
declare const Timeline:
|
|
2721
|
+
declare const Timeline: React__default.FC<TimelineProps>;
|
|
2308
2722
|
|
|
2309
2723
|
/** Položka klíč-hodnota v seznamu. */
|
|
2310
2724
|
interface DataListItem {
|
|
2311
2725
|
/** Popisek (klíč). */
|
|
2312
2726
|
label: string;
|
|
2313
2727
|
/** Hodnota — řetězec nebo libovolný React uzel. */
|
|
2314
|
-
value:
|
|
2728
|
+
value: React__default.ReactNode;
|
|
2315
2729
|
}
|
|
2316
2730
|
interface DataListProps {
|
|
2317
2731
|
/** Položky k zobrazení. */
|
|
@@ -2321,7 +2735,7 @@ interface DataListProps {
|
|
|
2321
2735
|
/** Střídání barvy řádků. @default false */
|
|
2322
2736
|
striped?: boolean;
|
|
2323
2737
|
/** Další inline styly. */
|
|
2324
|
-
style?:
|
|
2738
|
+
style?: React__default.CSSProperties;
|
|
2325
2739
|
/** Dodatečná CSS třída. */
|
|
2326
2740
|
className?: string;
|
|
2327
2741
|
}
|
|
@@ -2344,7 +2758,7 @@ interface DataListProps {
|
|
|
2344
2758
|
* />
|
|
2345
2759
|
* ```
|
|
2346
2760
|
*/
|
|
2347
|
-
declare const DataList:
|
|
2761
|
+
declare const DataList: React__default.FC<DataListProps>;
|
|
2348
2762
|
|
|
2349
2763
|
/** Uzel stromové struktury. */
|
|
2350
2764
|
interface TreeNode {
|
|
@@ -2353,7 +2767,7 @@ interface TreeNode {
|
|
|
2353
2767
|
/** Zobrazený text uzlu. */
|
|
2354
2768
|
label: string;
|
|
2355
2769
|
/** Volitelná ikona vedle popisku. */
|
|
2356
|
-
icon?:
|
|
2770
|
+
icon?: React__default.ReactNode;
|
|
2357
2771
|
/** Podřízené uzly. */
|
|
2358
2772
|
children?: TreeNode[];
|
|
2359
2773
|
}
|
|
@@ -2367,7 +2781,7 @@ interface TreeProps {
|
|
|
2367
2781
|
/** ID uzlů, které jsou ve výchozím stavu rozbalené. */
|
|
2368
2782
|
defaultExpanded?: string[];
|
|
2369
2783
|
/** Další inline styly. */
|
|
2370
|
-
style?:
|
|
2784
|
+
style?: React__default.CSSProperties;
|
|
2371
2785
|
/** Dodatečná CSS třída. */
|
|
2372
2786
|
className?: string;
|
|
2373
2787
|
}
|
|
@@ -2391,7 +2805,7 @@ interface TreeProps {
|
|
|
2391
2805
|
* />
|
|
2392
2806
|
* ```
|
|
2393
2807
|
*/
|
|
2394
|
-
declare const Tree:
|
|
2808
|
+
declare const Tree: React__default.FC<TreeProps>;
|
|
2395
2809
|
|
|
2396
2810
|
type StatusBadgeStatus = 'online' | 'offline' | 'away' | 'busy' | (string & {});
|
|
2397
2811
|
interface StatusBadgeProps {
|
|
@@ -2406,7 +2820,7 @@ interface StatusBadgeProps {
|
|
|
2406
2820
|
/** Vlastní barva indikátoru — přepíše výchozí barvu stavu. */
|
|
2407
2821
|
color?: string;
|
|
2408
2822
|
/** Další inline styly. */
|
|
2409
|
-
style?:
|
|
2823
|
+
style?: React__default.CSSProperties;
|
|
2410
2824
|
/** Dodatečná CSS třída. */
|
|
2411
2825
|
className?: string;
|
|
2412
2826
|
}
|
|
@@ -2424,28 +2838,363 @@ interface StatusBadgeProps {
|
|
|
2424
2838
|
* <StatusBadge status="streaming" color="#9C27B0" label="Živě" pulse />
|
|
2425
2839
|
* ```
|
|
2426
2840
|
*/
|
|
2427
|
-
declare const StatusBadge:
|
|
2841
|
+
declare const StatusBadge: React__default.FC<StatusBadgeProps>;
|
|
2842
|
+
|
|
2843
|
+
/** Default series palette — brand orange first, then a distinct categorical set. */
|
|
2844
|
+
declare const CHART_PALETTE: readonly ["#FC4F00", "#2D7FF9", "#00A205", "#F5A623", "#9C27B0", "#00B8D9", "#EF3838", "#7C4DFF"];
|
|
2845
|
+
interface ChartSeries {
|
|
2846
|
+
/** Series name shown in legend / tooltip. */
|
|
2847
|
+
name: string;
|
|
2848
|
+
/** Values aligned 1:1 with `categories`. */
|
|
2849
|
+
data: number[];
|
|
2850
|
+
/** Series color. Defaults to the palette by position. */
|
|
2851
|
+
color?: string;
|
|
2852
|
+
}
|
|
2853
|
+
interface PieDatum {
|
|
2854
|
+
/** Slice label. */
|
|
2855
|
+
label: string;
|
|
2856
|
+
/** Slice value (must be >= 0). */
|
|
2857
|
+
value: number;
|
|
2858
|
+
/** Slice color. Defaults to the palette by position. */
|
|
2859
|
+
color?: string;
|
|
2860
|
+
}
|
|
2861
|
+
type LegendPosition = 'top' | 'bottom' | 'none';
|
|
2862
|
+
|
|
2863
|
+
interface LineChartProps {
|
|
2864
|
+
/** One or more data series, each aligned to `categories`. */
|
|
2865
|
+
series: ChartSeries[];
|
|
2866
|
+
/** X-axis category labels. */
|
|
2867
|
+
categories: string[];
|
|
2868
|
+
/** Chart height in px. @default 260 */
|
|
2869
|
+
height?: number;
|
|
2870
|
+
/** Explicit width in px. When omitted the chart fills its container (responsive). */
|
|
2871
|
+
width?: number;
|
|
2872
|
+
/** Fill the area under each line. @default false (AreaChart sets true) */
|
|
2873
|
+
area?: boolean;
|
|
2874
|
+
/** Line interpolation. @default 'smooth' */
|
|
2875
|
+
curve?: 'smooth' | 'linear';
|
|
2876
|
+
/** Show horizontal grid lines. @default true */
|
|
2877
|
+
showGrid?: boolean;
|
|
2878
|
+
/** Show the x-axis labels. @default true */
|
|
2879
|
+
showXAxis?: boolean;
|
|
2880
|
+
/** Show the y-axis labels. @default true */
|
|
2881
|
+
showYAxis?: boolean;
|
|
2882
|
+
/** Show point markers. @default true */
|
|
2883
|
+
showDots?: boolean;
|
|
2884
|
+
/** Show hover tooltip. @default true */
|
|
2885
|
+
showTooltip?: boolean;
|
|
2886
|
+
/** Legend position. @default 'top' for >1 series, jinak 'none' */
|
|
2887
|
+
legend?: LegendPosition;
|
|
2888
|
+
/** Fixed y domain `[min, max]`. Defaults to a "nice" auto range including 0. */
|
|
2889
|
+
yDomain?: [number, number];
|
|
2890
|
+
/** Approximate number of y-axis ticks. @default 5 */
|
|
2891
|
+
yTickCount?: number;
|
|
2892
|
+
/** Line thickness in px. @default 2 */
|
|
2893
|
+
strokeWidth?: number;
|
|
2894
|
+
/** Area fill opacity. @default 0.15 */
|
|
2895
|
+
fillOpacity?: number;
|
|
2896
|
+
/** Animate the draw-in on mount. @default true */
|
|
2897
|
+
animate?: boolean;
|
|
2898
|
+
/** Format y values / tooltip numbers. @default toLocaleString */
|
|
2899
|
+
valueFormat?: (value: number) => string;
|
|
2900
|
+
/** Plot margins (px). */
|
|
2901
|
+
margin?: {
|
|
2902
|
+
top?: number;
|
|
2903
|
+
right?: number;
|
|
2904
|
+
bottom?: number;
|
|
2905
|
+
left?: number;
|
|
2906
|
+
};
|
|
2907
|
+
/** Called when a point is clicked. */
|
|
2908
|
+
onPointClick?: (info: {
|
|
2909
|
+
category: string;
|
|
2910
|
+
categoryIndex: number;
|
|
2911
|
+
series: string;
|
|
2912
|
+
value: number;
|
|
2913
|
+
}) => void;
|
|
2914
|
+
/** Accessible label for the chart. */
|
|
2915
|
+
ariaLabel?: string;
|
|
2916
|
+
/** Další inline styly pro obal. */
|
|
2917
|
+
style?: React__default.CSSProperties;
|
|
2918
|
+
/** Dodatečná CSS třída pro obal. */
|
|
2919
|
+
className?: string;
|
|
2920
|
+
}
|
|
2921
|
+
/**
|
|
2922
|
+
* Čárový graf (SVG, bez závislostí) dle SM-UI design systému.
|
|
2923
|
+
*
|
|
2924
|
+
* Více sérií, hladká / linear křivka, mřížka, osy, hover tooltip s crosshairem,
|
|
2925
|
+
* legenda, draw-in animace a tmavý / světlý režim.
|
|
2926
|
+
*
|
|
2927
|
+
* @example
|
|
2928
|
+
* ```tsx
|
|
2929
|
+
* <LineChart
|
|
2930
|
+
* categories={['Po', 'Út', 'St', 'Čt', 'Pá']}
|
|
2931
|
+
* series={[{ name: 'Návštěvy', data: [120, 200, 150, 80, 170] }]}
|
|
2932
|
+
* />
|
|
2933
|
+
* ```
|
|
2934
|
+
*/
|
|
2935
|
+
declare const LineChart: React__default.FC<LineChartProps>;
|
|
2936
|
+
/**
|
|
2937
|
+
* Plošný graf — `LineChart` s výplní pod čarou.
|
|
2938
|
+
*
|
|
2939
|
+
* @example
|
|
2940
|
+
* ```tsx
|
|
2941
|
+
* <AreaChart categories={mesice} series={[{ name: 'Tržby', data: trzby }]} />
|
|
2942
|
+
* ```
|
|
2943
|
+
*/
|
|
2944
|
+
declare const AreaChart: React__default.FC<LineChartProps>;
|
|
2428
2945
|
|
|
2946
|
+
interface BarChartProps {
|
|
2947
|
+
/** One or more data series, each aligned to `categories`. */
|
|
2948
|
+
series: ChartSeries[];
|
|
2949
|
+
/** Category labels. */
|
|
2950
|
+
categories: string[];
|
|
2951
|
+
/** Chart height in px. @default 260 */
|
|
2952
|
+
height?: number;
|
|
2953
|
+
/** Explicit width in px. When omitted the chart fills its container (responsive). */
|
|
2954
|
+
width?: number;
|
|
2955
|
+
/** Bar direction. @default 'vertical' */
|
|
2956
|
+
orientation?: 'vertical' | 'horizontal';
|
|
2957
|
+
/** Stack series instead of grouping them side by side. @default false */
|
|
2958
|
+
stacked?: boolean;
|
|
2959
|
+
/** Show grid lines on the value axis. @default true */
|
|
2960
|
+
showGrid?: boolean;
|
|
2961
|
+
/** Show category-axis labels. @default true */
|
|
2962
|
+
showCategoryAxis?: boolean;
|
|
2963
|
+
/** Show value-axis labels. @default true */
|
|
2964
|
+
showValueAxis?: boolean;
|
|
2965
|
+
/** Show hover tooltip. @default true */
|
|
2966
|
+
showTooltip?: boolean;
|
|
2967
|
+
/** Print the value on top of each bar. @default false */
|
|
2968
|
+
showValues?: boolean;
|
|
2969
|
+
/** Legend position. @default 'top' for >1 series, jinak 'none' */
|
|
2970
|
+
legend?: LegendPosition;
|
|
2971
|
+
/** Fixed value domain `[min, max]`. Defaults to a "nice" auto range including 0. */
|
|
2972
|
+
valueDomain?: [number, number];
|
|
2973
|
+
/** Approximate number of value-axis ticks. @default 5 */
|
|
2974
|
+
valueTickCount?: number;
|
|
2975
|
+
/** Corner radius of bars. @default 4 */
|
|
2976
|
+
barRadius?: number;
|
|
2977
|
+
/** Max thickness of a single bar (group) in px. */
|
|
2978
|
+
maxBarSize?: number;
|
|
2979
|
+
/** Animate the grow-in on mount. @default true */
|
|
2980
|
+
animate?: boolean;
|
|
2981
|
+
/** Format value-axis / tooltip numbers. @default toLocaleString */
|
|
2982
|
+
valueFormat?: (value: number) => string;
|
|
2983
|
+
/** Plot margins (px). */
|
|
2984
|
+
margin?: {
|
|
2985
|
+
top?: number;
|
|
2986
|
+
right?: number;
|
|
2987
|
+
bottom?: number;
|
|
2988
|
+
left?: number;
|
|
2989
|
+
};
|
|
2990
|
+
/** Called when a bar is clicked. */
|
|
2991
|
+
onBarClick?: (info: {
|
|
2992
|
+
category: string;
|
|
2993
|
+
categoryIndex: number;
|
|
2994
|
+
series: string;
|
|
2995
|
+
value: number;
|
|
2996
|
+
}) => void;
|
|
2997
|
+
/** Accessible label for the chart. */
|
|
2998
|
+
ariaLabel?: string;
|
|
2999
|
+
/** Další inline styly pro obal. */
|
|
3000
|
+
style?: React__default.CSSProperties;
|
|
3001
|
+
/** Dodatečná CSS třída pro obal. */
|
|
3002
|
+
className?: string;
|
|
3003
|
+
}
|
|
3004
|
+
/**
|
|
3005
|
+
* Sloupcový graf (SVG, bez závislostí) dle SM-UI design systému.
|
|
3006
|
+
*
|
|
3007
|
+
* Vertikální i horizontální orientace, seskupené (grouped) i skládané (stacked)
|
|
3008
|
+
* série, mřížka, osy, hover tooltip, legenda, grow-in animace a tmavý / světlý režim.
|
|
3009
|
+
*
|
|
3010
|
+
* @example
|
|
3011
|
+
* ```tsx
|
|
3012
|
+
* <BarChart
|
|
3013
|
+
* categories={['Q1', 'Q2', 'Q3', 'Q4']}
|
|
3014
|
+
* series={[{ name: 'Tržby', data: [120, 200, 150, 280] }]}
|
|
3015
|
+
* />
|
|
3016
|
+
*
|
|
3017
|
+
* <BarChart
|
|
3018
|
+
* stacked
|
|
3019
|
+
* categories={['Po', 'Út', 'St']}
|
|
3020
|
+
* series={[{ name: 'Web', data: [10, 20, 15] }, { name: 'App', data: [5, 8, 12] }]}
|
|
3021
|
+
* />
|
|
3022
|
+
* ```
|
|
3023
|
+
*/
|
|
3024
|
+
declare const BarChart: React__default.FC<BarChartProps>;
|
|
3025
|
+
|
|
3026
|
+
interface PieChartProps {
|
|
3027
|
+
/** Slices to render (values must be >= 0). */
|
|
3028
|
+
data: PieDatum[];
|
|
3029
|
+
/** Diameter of the pie in px. @default 220 */
|
|
3030
|
+
size?: number;
|
|
3031
|
+
/** Inner radius as a fraction of the outer radius (0 = pie, >0 = donut). @default 0 */
|
|
3032
|
+
innerRatio?: number;
|
|
3033
|
+
/** Legend position. @default 'right' */
|
|
3034
|
+
legend?: 'right' | 'bottom' | 'none';
|
|
3035
|
+
/** Render the percentage on each slice. @default false */
|
|
3036
|
+
showLabels?: boolean;
|
|
3037
|
+
/** Show hover tooltip. @default true */
|
|
3038
|
+
showTooltip?: boolean;
|
|
3039
|
+
/** Gap between slices in degrees. @default 0 */
|
|
3040
|
+
padAngle?: number;
|
|
3041
|
+
/** Custom content rendered in the donut center (only meaningful when innerRatio > 0). */
|
|
3042
|
+
centerLabel?: React__default.ReactNode;
|
|
3043
|
+
/** Animate the draw-in on mount. @default true */
|
|
3044
|
+
animate?: boolean;
|
|
3045
|
+
/** Format tooltip / label numbers. @default toLocaleString */
|
|
3046
|
+
valueFormat?: (value: number) => string;
|
|
3047
|
+
/** Called when a slice is clicked. */
|
|
3048
|
+
onSliceClick?: (info: {
|
|
3049
|
+
label: string;
|
|
3050
|
+
value: number;
|
|
3051
|
+
index: number;
|
|
3052
|
+
percent: number;
|
|
3053
|
+
}) => void;
|
|
3054
|
+
/** Accessible label for the chart. */
|
|
3055
|
+
ariaLabel?: string;
|
|
3056
|
+
/** Další inline styly pro obal. */
|
|
3057
|
+
style?: React__default.CSSProperties;
|
|
3058
|
+
/** Dodatečná CSS třída pro obal. */
|
|
3059
|
+
className?: string;
|
|
3060
|
+
}
|
|
3061
|
+
/**
|
|
3062
|
+
* Koláčový graf (SVG, bez závislostí) dle SM-UI design systému.
|
|
3063
|
+
*
|
|
3064
|
+
* Hover zvýraznění s vysunutím výseče, volitelné popisky s procenty, legenda,
|
|
3065
|
+
* draw-in animace a tmavý / světlý režim.
|
|
3066
|
+
*
|
|
3067
|
+
* @example
|
|
3068
|
+
* ```tsx
|
|
3069
|
+
* <PieChart data={[
|
|
3070
|
+
* { label: 'Chrome', value: 64 },
|
|
3071
|
+
* { label: 'Safari', value: 19 },
|
|
3072
|
+
* { label: 'Firefox', value: 9 },
|
|
3073
|
+
* ]} />
|
|
3074
|
+
* ```
|
|
3075
|
+
*/
|
|
3076
|
+
declare const PieChart: React__default.FC<PieChartProps>;
|
|
3077
|
+
/**
|
|
3078
|
+
* Prstencový graf — `PieChart` s dírou uprostřed (a volitelným `centerLabel`).
|
|
3079
|
+
*
|
|
3080
|
+
* @example
|
|
3081
|
+
* ```tsx
|
|
3082
|
+
* <DonutChart
|
|
3083
|
+
* data={browsers}
|
|
3084
|
+
* centerLabel={<strong style={{ fontSize: 22 }}>92%</strong>}
|
|
3085
|
+
* />
|
|
3086
|
+
* ```
|
|
3087
|
+
*/
|
|
3088
|
+
declare const DonutChart: React__default.FC<PieChartProps>;
|
|
3089
|
+
|
|
3090
|
+
interface SparklineProps {
|
|
3091
|
+
/** Data points. */
|
|
3092
|
+
data: number[];
|
|
3093
|
+
/** Width in px. @default 100 */
|
|
3094
|
+
width?: number;
|
|
3095
|
+
/** Height in px. @default 32 */
|
|
3096
|
+
height?: number;
|
|
3097
|
+
/** Visual type. @default 'line' */
|
|
3098
|
+
type?: 'line' | 'area' | 'bar';
|
|
3099
|
+
/** Line / bar / fill color. @default brand orange */
|
|
3100
|
+
color?: string;
|
|
3101
|
+
/** Line interpolation (line/area). @default 'smooth' */
|
|
3102
|
+
curve?: 'smooth' | 'linear';
|
|
3103
|
+
/** Line thickness. @default 1.5 */
|
|
3104
|
+
strokeWidth?: number;
|
|
3105
|
+
/** Area fill opacity. @default 0.18 */
|
|
3106
|
+
fillOpacity?: number;
|
|
3107
|
+
/** Highlight the last point with a dot. @default false */
|
|
3108
|
+
showLastDot?: boolean;
|
|
3109
|
+
/** Animate the draw-in on mount. @default true */
|
|
3110
|
+
animate?: boolean;
|
|
3111
|
+
/** Accessible label. */
|
|
3112
|
+
ariaLabel?: string;
|
|
3113
|
+
/** Další inline styly. */
|
|
3114
|
+
style?: React__default.CSSProperties;
|
|
3115
|
+
/** Dodatečná CSS třída. */
|
|
3116
|
+
className?: string;
|
|
3117
|
+
}
|
|
3118
|
+
/**
|
|
3119
|
+
* Mini graf bez os a popisků — pro vložení do `Stat` karet, tabulek a řádků.
|
|
3120
|
+
*
|
|
3121
|
+
* Měřítko se přizpůsobuje datům (ne nutně od nuly).
|
|
3122
|
+
*
|
|
3123
|
+
* @example
|
|
3124
|
+
* ```tsx
|
|
3125
|
+
* <Sparkline data={[3, 7, 4, 9, 6, 11, 8]} />
|
|
3126
|
+
* <Sparkline type="area" color="#00A205" data={trend} showLastDot />
|
|
3127
|
+
* <Sparkline type="bar" data={[4, 8, 6, 10, 7]} />
|
|
3128
|
+
* ```
|
|
3129
|
+
*/
|
|
3130
|
+
declare const Sparkline: React__default.FC<SparklineProps>;
|
|
3131
|
+
|
|
3132
|
+
type FocusTrapInitialFocus = 'container' | 'first' | React__default.RefObject<HTMLElement | null>;
|
|
3133
|
+
interface UseFocusTrapOptions {
|
|
3134
|
+
/** Zda je past aktivní. */
|
|
3135
|
+
active: boolean;
|
|
3136
|
+
/**
|
|
3137
|
+
* Kam přesunout fokus po aktivaci.
|
|
3138
|
+
* - `'container'` — na kontejner (musí mít `tabIndex={-1}`)
|
|
3139
|
+
* - `'first'` — na první viditelný fokusovatelný prvek
|
|
3140
|
+
* - ref — na konkrétní prvek
|
|
3141
|
+
* @default 'container'
|
|
3142
|
+
*/
|
|
3143
|
+
initialFocus?: FocusTrapInitialFocus;
|
|
3144
|
+
/** Po deaktivaci vrátit fokus na prvek, který byl aktivní před otevřením. @default true */
|
|
3145
|
+
returnFocus?: boolean;
|
|
3146
|
+
}
|
|
3147
|
+
/**
|
|
3148
|
+
* Uzavře Tab / Shift+Tab do kontejneru. Skryté prvky (`display: none`)
|
|
3149
|
+
* se přeskakují, takže wrap funguje i s responzivně schovanými taby.
|
|
3150
|
+
* Reaguje jen pokud je fokus uvnitř kontejneru — vnořené portály
|
|
3151
|
+
* (dropdown Selectu) tak nejsou násilně vraceny zpět.
|
|
3152
|
+
*/
|
|
3153
|
+
declare function useFocusTrap(containerRef: React__default.RefObject<HTMLElement | null>, { active, initialFocus, returnFocus }: UseFocusTrapOptions): void;
|
|
3154
|
+
|
|
3155
|
+
/** Breakpointy pro `fullscreenBelow` (max-width v px). */
|
|
3156
|
+
declare const BREAKPOINTS: {
|
|
3157
|
+
readonly sm: 640;
|
|
3158
|
+
readonly md: 768;
|
|
3159
|
+
readonly lg: 1024;
|
|
3160
|
+
};
|
|
3161
|
+
type ModalBreakpoint = keyof typeof BREAKPOINTS;
|
|
2429
3162
|
interface ModalProps {
|
|
2430
3163
|
/** Řídí zobrazení modálního okna. */
|
|
2431
3164
|
open: boolean;
|
|
2432
3165
|
/** Voláno při zavření modálu. */
|
|
2433
3166
|
onClose: () => void;
|
|
2434
3167
|
/** Titulek zobrazený v záhlaví modálu. String nebo ReactNode pro vlastní hlavičku. */
|
|
2435
|
-
title?: string |
|
|
3168
|
+
title?: string | React__default.ReactNode;
|
|
2436
3169
|
/** Alternativní slot pro celou hlavičku (nahrazuje title + close button). */
|
|
2437
|
-
titleSlot?:
|
|
3170
|
+
titleSlot?: React__default.ReactNode;
|
|
2438
3171
|
/** Obsah těla modálu. */
|
|
2439
|
-
children:
|
|
3172
|
+
children: React__default.ReactNode;
|
|
2440
3173
|
/** Obsah patičky modálu (tlačítka apod.). */
|
|
2441
|
-
footer?:
|
|
2442
|
-
/** Velikostní preset modálu. @default 'md' */
|
|
2443
|
-
size?: 'sm' | 'md' | 'lg' | 'fullscreen';
|
|
3174
|
+
footer?: React__default.ReactNode;
|
|
3175
|
+
/** Velikostní preset modálu. `xl` je velký, ale ne fullscreen (1080px / 90vh). @default 'md' */
|
|
3176
|
+
size?: 'sm' | 'md' | 'lg' | 'xl' | 'fullscreen';
|
|
3177
|
+
/**
|
|
3178
|
+
* Pod tímto breakpointem (šířka viewportu) se modál vykreslí jako fullscreen,
|
|
3179
|
+
* nad ním jako karta dle `size`. Breakpointy: sm 640px, md 768px, lg 1024px.
|
|
3180
|
+
*/
|
|
3181
|
+
fullscreenBelow?: ModalBreakpoint;
|
|
2444
3182
|
/**
|
|
2445
3183
|
* Explicitní šířka modálu. Přepíše `size`.
|
|
2446
3184
|
* Přijímá číslo (px) nebo CSS string (např. '90vw').
|
|
2447
3185
|
*/
|
|
2448
3186
|
width?: number | string;
|
|
3187
|
+
/**
|
|
3188
|
+
* Maximální výška karty. Přepíše výšku danou `size`.
|
|
3189
|
+
* Obsah nad tuto výšku scrolluje v těle modálu. Číslo = px, nebo CSS string ('90vh').
|
|
3190
|
+
*/
|
|
3191
|
+
maxHeight?: number | string;
|
|
3192
|
+
/**
|
|
3193
|
+
* z-index kořenového overlay kontejneru.
|
|
3194
|
+
* Výchozí hodnota čerpá z CSS proměnné `--sm-ui-z-overlay` (fallback 99998)
|
|
3195
|
+
* a u vnořených overlayů se automaticky zvedá nad rodiče. Tento prop ji přepíše pro jednu instanci.
|
|
3196
|
+
*/
|
|
3197
|
+
zIndex?: number;
|
|
2449
3198
|
/** Zavře modál kliknutím na překryvnou vrstvu. @default true */
|
|
2450
3199
|
closeOnOverlay?: boolean;
|
|
2451
3200
|
/** Zavře modál stisknutím klávesy Escape. @default true */
|
|
@@ -2460,17 +3209,33 @@ interface ModalProps {
|
|
|
2460
3209
|
showClose?: boolean;
|
|
2461
3210
|
/** Zobrazí oddělovací čáru pod hlavičkou. @default true */
|
|
2462
3211
|
showHeaderDivider?: boolean;
|
|
3212
|
+
/**
|
|
3213
|
+
* Kam přesunout fokus po otevření: na kartu (`'container'`), první
|
|
3214
|
+
* fokusovatelný prvek (`'first'`) nebo konkrétní ref.
|
|
3215
|
+
* @default 'container'
|
|
3216
|
+
*/
|
|
3217
|
+
initialFocus?: FocusTrapInitialFocus;
|
|
2463
3218
|
/** Dodatečná CSS třída pro kartu modálu. */
|
|
2464
3219
|
className?: string;
|
|
2465
3220
|
/** Další inline styly pro kartu modálu. */
|
|
2466
|
-
style?:
|
|
3221
|
+
style?: React__default.CSSProperties;
|
|
3222
|
+
/**
|
|
3223
|
+
* Vypne výchozí vnitřní padding těla (`20px 24px`).
|
|
3224
|
+
* Vhodné pro full-bleed obsah (tabulky, taby edge-to-edge).
|
|
3225
|
+
* @default false
|
|
3226
|
+
*/
|
|
3227
|
+
disableBodyPadding?: boolean;
|
|
3228
|
+
/** Dodatečná CSS třída pro tělo (scrollovací oblast). */
|
|
3229
|
+
bodyClassName?: string;
|
|
3230
|
+
/** Vlastní inline styly pro tělo (scrollovací oblast). */
|
|
3231
|
+
bodyStyle?: React__default.CSSProperties;
|
|
2467
3232
|
}
|
|
2468
3233
|
/**
|
|
2469
3234
|
* Modální dialog dle SM-UI design systému.
|
|
2470
3235
|
*
|
|
2471
3236
|
* Vykresluje se přes React portál s překryvnou vrstvou,
|
|
2472
3237
|
* podporuje animace otevření / zavření, focus trap
|
|
2473
|
-
* a zamezení scrollu pozadí.
|
|
3238
|
+
* a zamezení scrollu pozadí. Escape zavře jen nejvyšší otevřený overlay.
|
|
2474
3239
|
*
|
|
2475
3240
|
* @example
|
|
2476
3241
|
* ```tsx
|
|
@@ -2479,7 +3244,7 @@ interface ModalProps {
|
|
|
2479
3244
|
* </Modal>
|
|
2480
3245
|
* ```
|
|
2481
3246
|
*/
|
|
2482
|
-
declare const Modal:
|
|
3247
|
+
declare const Modal: React__default.FC<ModalProps>;
|
|
2483
3248
|
|
|
2484
3249
|
interface DrawerProps {
|
|
2485
3250
|
/** Řídí zobrazení šuplíku. */
|
|
@@ -2488,12 +3253,29 @@ interface DrawerProps {
|
|
|
2488
3253
|
onClose: () => void;
|
|
2489
3254
|
/** Strana, ze které se šuplík vysune. @default 'right' */
|
|
2490
3255
|
position?: 'left' | 'right';
|
|
3256
|
+
/**
|
|
3257
|
+
* Vzhled panelu.
|
|
3258
|
+
* - `'edge'` — přilepený k okraji viewportu (výchozí)
|
|
3259
|
+
* - `'floating'` — plovoucí karta s odsazením od okrajů a zaoblením
|
|
3260
|
+
* @default 'edge'
|
|
3261
|
+
*/
|
|
3262
|
+
variant?: 'edge' | 'floating';
|
|
3263
|
+
/** Odsazení plovoucího panelu od okrajů viewportu v px (`variant="floating"`). @default 16 */
|
|
3264
|
+
floatingOffset?: number;
|
|
3265
|
+
/** Zavře šuplík stisknutím klávesy Escape. @default true */
|
|
3266
|
+
closeOnEscape?: boolean;
|
|
3267
|
+
/**
|
|
3268
|
+
* Kam přesunout fokus po otevření: na panel (`'container'`), první
|
|
3269
|
+
* fokusovatelný prvek (`'first'`) nebo konkrétní ref.
|
|
3270
|
+
* @default 'container'
|
|
3271
|
+
*/
|
|
3272
|
+
initialFocus?: FocusTrapInitialFocus;
|
|
2491
3273
|
/** Titulek zobrazený v záhlaví šuplíku. */
|
|
2492
3274
|
title?: string;
|
|
2493
3275
|
/** Obsah těla šuplíku. */
|
|
2494
|
-
children:
|
|
3276
|
+
children: React__default.ReactNode;
|
|
2495
3277
|
/** Obsah patičky šuplíku. */
|
|
2496
|
-
footer?:
|
|
3278
|
+
footer?: React__default.ReactNode;
|
|
2497
3279
|
/** Šířka panelu (px nebo CSS řetězec). @default 400 */
|
|
2498
3280
|
width?: string | number;
|
|
2499
3281
|
/** Zobrazí zavírací tlačítko (×). @default true */
|
|
@@ -2503,13 +3285,30 @@ interface DrawerProps {
|
|
|
2503
3285
|
/** Dodatečná CSS třída pro panel šuplíku. */
|
|
2504
3286
|
className?: string;
|
|
2505
3287
|
/** Další inline styly pro panel šuplíku. */
|
|
2506
|
-
style?:
|
|
3288
|
+
style?: React__default.CSSProperties;
|
|
3289
|
+
/** Vlastní inline styly pro tělo (scrollovací oblast). */
|
|
3290
|
+
bodyStyle?: React__default.CSSProperties;
|
|
3291
|
+
/** Dodatečná CSS třída pro tělo (scrollovací oblast). */
|
|
3292
|
+
bodyClassName?: string;
|
|
3293
|
+
/**
|
|
3294
|
+
* Vypne výchozí vnitřní padding těla (`20px 24px`).
|
|
3295
|
+
* Vhodné pro panely s vlastním layoutem (např. navigace edge-to-edge).
|
|
3296
|
+
* @default false
|
|
3297
|
+
*/
|
|
3298
|
+
disableBodyPadding?: boolean;
|
|
3299
|
+
/**
|
|
3300
|
+
* z-index kořenového overlay kontejneru.
|
|
3301
|
+
* Výchozí hodnota čerpá z CSS proměnné `--sm-ui-z-overlay` (fallback 99998)
|
|
3302
|
+
* a u vnořených overlayů se automaticky zvedá nad rodiče. Tento prop ji přepíše pro jednu instanci.
|
|
3303
|
+
*/
|
|
3304
|
+
zIndex?: number;
|
|
2507
3305
|
}
|
|
2508
3306
|
/**
|
|
2509
3307
|
* Vysuvný panel (Drawer) dle SM-UI design systému.
|
|
2510
3308
|
*
|
|
2511
3309
|
* Vykresluje se přes React portál, vysune se z levé nebo pravé strany
|
|
2512
|
-
* s překryvnou vrstvou a plynulou animací.
|
|
3310
|
+
* s překryvnou vrstvou a plynulou animací. Focus trap, Escape zavírá jen
|
|
3311
|
+
* nejvyšší overlay, `variant="floating"` vykreslí plovoucí kartu.
|
|
2513
3312
|
*
|
|
2514
3313
|
* @example
|
|
2515
3314
|
* ```tsx
|
|
@@ -2518,7 +3317,7 @@ interface DrawerProps {
|
|
|
2518
3317
|
* </Drawer>
|
|
2519
3318
|
* ```
|
|
2520
3319
|
*/
|
|
2521
|
-
declare const Drawer:
|
|
3320
|
+
declare const Drawer: React__default.FC<DrawerProps>;
|
|
2522
3321
|
|
|
2523
3322
|
interface SheetProps {
|
|
2524
3323
|
/** Řídí zobrazení sheetu. */
|
|
@@ -2526,15 +3325,37 @@ interface SheetProps {
|
|
|
2526
3325
|
/** Voláno při zavření sheetu. */
|
|
2527
3326
|
onClose: () => void;
|
|
2528
3327
|
/** Obsah sheetu. */
|
|
2529
|
-
children:
|
|
3328
|
+
children: React__default.ReactNode;
|
|
2530
3329
|
/** Strana, ze které se sheet vysune. @default 'bottom' */
|
|
2531
3330
|
side?: 'bottom' | 'right' | 'left' | 'top';
|
|
2532
3331
|
/** Titulek zobrazený v záhlaví. */
|
|
2533
3332
|
title?: string;
|
|
2534
3333
|
/** Zobrazí zavírací tlačítko. @default true */
|
|
2535
3334
|
showClose?: boolean;
|
|
3335
|
+
/** Zavře sheet kliknutím na překryvnou vrstvu. @default true */
|
|
3336
|
+
closeOnOverlay?: boolean;
|
|
3337
|
+
/** Zavře sheet stisknutím klávesy Escape. @default true */
|
|
3338
|
+
closeOnEscape?: boolean;
|
|
3339
|
+
/**
|
|
3340
|
+
* Kam přesunout fokus po otevření: na panel (`'container'`), první
|
|
3341
|
+
* fokusovatelný prvek (`'first'`) nebo konkrétní ref.
|
|
3342
|
+
* @default 'container'
|
|
3343
|
+
*/
|
|
3344
|
+
initialFocus?: FocusTrapInitialFocus;
|
|
3345
|
+
/** Vypne výchozí vnitřní padding těla (`20px 24px`). @default false */
|
|
3346
|
+
disableBodyPadding?: boolean;
|
|
3347
|
+
/** Vlastní inline styly pro tělo (scrollovací oblast). */
|
|
3348
|
+
bodyStyle?: React__default.CSSProperties;
|
|
3349
|
+
/** Dodatečná CSS třída pro tělo (scrollovací oblast). */
|
|
3350
|
+
bodyClassName?: string;
|
|
3351
|
+
/**
|
|
3352
|
+
* z-index kořenového overlay kontejneru.
|
|
3353
|
+
* Výchozí hodnota čerpá z CSS proměnné `--sm-ui-z-overlay` (fallback 99998)
|
|
3354
|
+
* a u vnořených overlayů se automaticky zvedá nad rodiče.
|
|
3355
|
+
*/
|
|
3356
|
+
zIndex?: number;
|
|
2536
3357
|
/** Další inline styly. */
|
|
2537
|
-
style?:
|
|
3358
|
+
style?: React__default.CSSProperties;
|
|
2538
3359
|
/** Dodatečná CSS třída. */
|
|
2539
3360
|
className?: string;
|
|
2540
3361
|
}
|
|
@@ -2551,7 +3372,7 @@ interface SheetProps {
|
|
|
2551
3372
|
* </Sheet>
|
|
2552
3373
|
* ```
|
|
2553
3374
|
*/
|
|
2554
|
-
declare const Sheet:
|
|
3375
|
+
declare const Sheet: React__default.FC<SheetProps>;
|
|
2555
3376
|
|
|
2556
3377
|
interface BreadcrumbItem {
|
|
2557
3378
|
/** Zobrazovaný text položky. */
|
|
@@ -2559,19 +3380,25 @@ interface BreadcrumbItem {
|
|
|
2559
3380
|
/** URL odkazu. Pokud chybí, položka se vykreslí jako prostý text. */
|
|
2560
3381
|
href?: string;
|
|
2561
3382
|
/** Voláno při kliknutí na položku. */
|
|
2562
|
-
onClick?: (e:
|
|
3383
|
+
onClick?: (e: React__default.MouseEvent) => void;
|
|
2563
3384
|
/** Volitelná ikona vykreslená před textem. */
|
|
2564
|
-
icon?:
|
|
3385
|
+
icon?: React__default.ReactNode;
|
|
2565
3386
|
}
|
|
2566
3387
|
interface BreadcrumbProps {
|
|
2567
3388
|
/** Seznam položek drobečkové navigace. */
|
|
2568
3389
|
items: BreadcrumbItem[];
|
|
2569
3390
|
/** Oddělovací znak mezi položkami. @default '/' */
|
|
2570
|
-
separator?:
|
|
3391
|
+
separator?: React__default.ReactNode;
|
|
3392
|
+
/**
|
|
3393
|
+
* Komponenta pro vykreslení odkazu (položky s `href`), např. `Link` z Inertie
|
|
3394
|
+
* nebo react-routeru. Dostane `href`, `onClick`, `style`, `children`.
|
|
3395
|
+
* @default 'a'
|
|
3396
|
+
*/
|
|
3397
|
+
linkComponent?: React__default.ElementType;
|
|
2571
3398
|
/** Dodatečná CSS třída pro obalový element. */
|
|
2572
3399
|
className?: string;
|
|
2573
3400
|
/** Další inline styly pro obalový element. */
|
|
2574
|
-
style?:
|
|
3401
|
+
style?: React__default.CSSProperties;
|
|
2575
3402
|
}
|
|
2576
3403
|
/**
|
|
2577
3404
|
* Drobečková navigace dle SM-UI design systému.
|
|
@@ -2588,9 +3415,12 @@ interface BreadcrumbProps {
|
|
|
2588
3415
|
* { label: 'Detail' },
|
|
2589
3416
|
* ]}
|
|
2590
3417
|
* />
|
|
3418
|
+
*
|
|
3419
|
+
* // Klientský router (Inertia / react-router)
|
|
3420
|
+
* <Breadcrumb linkComponent={InertiaLink} items={items} />
|
|
2591
3421
|
* ```
|
|
2592
3422
|
*/
|
|
2593
|
-
declare const Breadcrumb:
|
|
3423
|
+
declare const Breadcrumb: React__default.FC<BreadcrumbProps>;
|
|
2594
3424
|
|
|
2595
3425
|
interface PaginationProps {
|
|
2596
3426
|
/** Aktuální číslo stránky (1-indexed). */
|
|
@@ -2610,7 +3440,7 @@ interface PaginationProps {
|
|
|
2610
3440
|
/** Dodatečná CSS třída pro obalový element. */
|
|
2611
3441
|
className?: string;
|
|
2612
3442
|
/** Další inline styly pro obalový element. */
|
|
2613
|
-
style?:
|
|
3443
|
+
style?: React__default.CSSProperties;
|
|
2614
3444
|
}
|
|
2615
3445
|
/**
|
|
2616
3446
|
* Stránkovací komponenta dle SM-UI design systému.
|
|
@@ -2623,7 +3453,7 @@ interface PaginationProps {
|
|
|
2623
3453
|
* <Pagination page={3} totalPages={20} onChange={setPage} />
|
|
2624
3454
|
* ```
|
|
2625
3455
|
*/
|
|
2626
|
-
declare const Pagination:
|
|
3456
|
+
declare const Pagination: React__default.FC<PaginationProps>;
|
|
2627
3457
|
|
|
2628
3458
|
interface StepItem {
|
|
2629
3459
|
/** Popisek kroku. */
|
|
@@ -2651,7 +3481,7 @@ interface StepperProps {
|
|
|
2651
3481
|
/** Dodatečná CSS třída pro obalový element. */
|
|
2652
3482
|
className?: string;
|
|
2653
3483
|
/** Další inline styly pro obalový element. */
|
|
2654
|
-
style?:
|
|
3484
|
+
style?: React__default.CSSProperties;
|
|
2655
3485
|
}
|
|
2656
3486
|
/**
|
|
2657
3487
|
* Kroková komponenta (Stepper) dle SM-UI design systému.
|
|
@@ -2678,7 +3508,7 @@ interface StepperProps {
|
|
|
2678
3508
|
* />
|
|
2679
3509
|
* ```
|
|
2680
3510
|
*/
|
|
2681
|
-
declare const Stepper:
|
|
3511
|
+
declare const Stepper: React__default.FC<StepperProps>;
|
|
2682
3512
|
|
|
2683
3513
|
interface FormWizardStep {
|
|
2684
3514
|
/** Popisek kroku zobrazený ve Stepperu. */
|
|
@@ -2686,7 +3516,7 @@ interface FormWizardStep {
|
|
|
2686
3516
|
/** Volitelný popis kroku. */
|
|
2687
3517
|
description?: string;
|
|
2688
3518
|
/** Obsah kroku (formulář, komponenta). */
|
|
2689
|
-
content:
|
|
3519
|
+
content: React__default.ReactNode;
|
|
2690
3520
|
/** Validace před pokračováním. Vrací boolean nebo Promise<boolean>. */
|
|
2691
3521
|
validate?: () => boolean | Promise<boolean>;
|
|
2692
3522
|
}
|
|
@@ -2708,7 +3538,7 @@ interface FormWizardProps {
|
|
|
2708
3538
|
/** Text tlačítka Předchozí. @default 'Předchozí' */
|
|
2709
3539
|
prevLabel?: string;
|
|
2710
3540
|
/** Další inline styly. */
|
|
2711
|
-
style?:
|
|
3541
|
+
style?: React__default.CSSProperties;
|
|
2712
3542
|
/** Dodatečná CSS třída. */
|
|
2713
3543
|
className?: string;
|
|
2714
3544
|
}
|
|
@@ -2731,13 +3561,14 @@ interface FormWizardProps {
|
|
|
2731
3561
|
* />
|
|
2732
3562
|
* ```
|
|
2733
3563
|
*/
|
|
2734
|
-
declare const FormWizard:
|
|
3564
|
+
declare const FormWizard: React__default.FC<FormWizardProps>;
|
|
2735
3565
|
|
|
3566
|
+
type DropdownMenuPosition = 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right';
|
|
2736
3567
|
interface DropdownMenuItem {
|
|
2737
3568
|
/** Zobrazovaný popisek položky. Může být text nebo ReactNode pro vlastní obsah. */
|
|
2738
|
-
label:
|
|
3569
|
+
label: React__default.ReactNode;
|
|
2739
3570
|
/** Volitelná ikona vykreslená před textem. */
|
|
2740
|
-
icon?:
|
|
3571
|
+
icon?: React__default.ReactNode;
|
|
2741
3572
|
/** Voláno při kliknutí na položku. */
|
|
2742
3573
|
onClick?: () => void;
|
|
2743
3574
|
/** Při `true` nelze položku vybrat. @default false */
|
|
@@ -2748,33 +3579,56 @@ interface DropdownMenuItem {
|
|
|
2748
3579
|
divider?: boolean;
|
|
2749
3580
|
/** Text kategorie — zobrazí se jako malý nadpis sekce (uppercase label). */
|
|
2750
3581
|
category?: string;
|
|
2751
|
-
/** Klávesová zkratka
|
|
2752
|
-
shortcut?:
|
|
3582
|
+
/** Klávesová zkratka nebo jiný obsah zobrazený vpravo (např. '⌘S', badge). */
|
|
3583
|
+
shortcut?: React__default.ReactNode;
|
|
3584
|
+
/** Obsah vpravo za popiskem (badge, tečka, počet). Zobrazí se i u položek se `subItems`. */
|
|
3585
|
+
suffix?: React__default.ReactNode;
|
|
2753
3586
|
/** Při `true` se dropdown po kliknutí nezavře. Pro toggle položky. @default false */
|
|
2754
3587
|
keepOpenOnClick?: boolean;
|
|
2755
3588
|
/** Kaskádové submenu. Když nastaveno, klik/hover otevře submenu místo zavření. */
|
|
2756
3589
|
subItems?: DropdownMenuItem[];
|
|
3590
|
+
/**
|
|
3591
|
+
* Vykreslí `label` bez paddingu a hoveru položky (plně vlastní řádek).
|
|
3592
|
+
* Výchozí je ReactNode label vykreslen se stejným paddingem jako text.
|
|
3593
|
+
* @default false
|
|
3594
|
+
*/
|
|
3595
|
+
unstyled?: boolean;
|
|
2757
3596
|
}
|
|
2758
3597
|
interface DropdownMenuProps {
|
|
2759
3598
|
/** Spouštěcí element (tlačítko apod.). */
|
|
2760
|
-
trigger:
|
|
3599
|
+
trigger: React__default.ReactNode;
|
|
2761
3600
|
/** Seznam položek nabídky. */
|
|
2762
3601
|
items: DropdownMenuItem[];
|
|
2763
|
-
/**
|
|
2764
|
-
|
|
3602
|
+
/**
|
|
3603
|
+
* Pozice rozbalovací nabídky vůči triggeru.
|
|
3604
|
+
* `bottom-*` otevírá pod trigger, `top-*` nad něj; `-left` / `-right` = zarovnání okraje.
|
|
3605
|
+
* @default 'bottom-left'
|
|
3606
|
+
*/
|
|
3607
|
+
position?: DropdownMenuPosition;
|
|
3608
|
+
/**
|
|
3609
|
+
* Když se nabídka na zvolené straně nevejde, otočí se na protilehlou.
|
|
3610
|
+
* @default true
|
|
3611
|
+
*/
|
|
3612
|
+
autoFlip?: boolean;
|
|
2765
3613
|
/** Otevřít nabídku pravým kliknutím místo levým. @default false */
|
|
2766
3614
|
triggerOnRightClick?: boolean;
|
|
3615
|
+
/** Řízený stav otevření. Když zadáno, kit stav sám nemění a volá jen `onOpenChange`. */
|
|
3616
|
+
open?: boolean;
|
|
3617
|
+
/** Výchozí stav pro neřízený režim. @default false */
|
|
3618
|
+
defaultOpen?: boolean;
|
|
3619
|
+
/** Voláno při požadavku na otevření / zavření. */
|
|
3620
|
+
onOpenChange?: (open: boolean) => void;
|
|
2767
3621
|
/** Dodatečná CSS třída pro obalový element. */
|
|
2768
3622
|
className?: string;
|
|
2769
3623
|
/** Další inline styly pro obalový element. */
|
|
2770
|
-
style?:
|
|
3624
|
+
style?: React__default.CSSProperties;
|
|
2771
3625
|
}
|
|
2772
3626
|
/**
|
|
2773
3627
|
* Rozbalovací nabídka dle SM-UI design systému.
|
|
2774
3628
|
*
|
|
2775
3629
|
* Otevírá se kliknutím na trigger element, zavírá se kliknutím
|
|
2776
3630
|
* mimo nebo klávesou Escape. Používá React portál
|
|
2777
|
-
* s chytrým pozicováním (
|
|
3631
|
+
* s chytrým pozicováním (otočí se na druhou stranu, pokud není místo).
|
|
2778
3632
|
*
|
|
2779
3633
|
* @example
|
|
2780
3634
|
* ```tsx
|
|
@@ -2789,14 +3643,16 @@ interface DropdownMenuProps {
|
|
|
2789
3643
|
* />
|
|
2790
3644
|
* ```
|
|
2791
3645
|
*/
|
|
2792
|
-
declare const DropdownMenu:
|
|
3646
|
+
declare const DropdownMenu: React__default.FC<DropdownMenuProps>;
|
|
2793
3647
|
|
|
2794
|
-
type LinkVariant = 'default' | 'danger';
|
|
2795
|
-
interface LinkProps extends Omit<
|
|
3648
|
+
type LinkVariant = 'default' | 'danger' | 'primary' | 'muted';
|
|
3649
|
+
interface LinkProps extends Omit<React__default.AnchorHTMLAttributes<HTMLAnchorElement>, 'color'> {
|
|
2796
3650
|
/**
|
|
2797
3651
|
* Barevná varianta.
|
|
2798
3652
|
* - `'default'` — bílá (tmavý režim) / tmavá (světlý režim)
|
|
2799
3653
|
* - `'danger'` — červená `#EF3838` v obou režimech
|
|
3654
|
+
* - `'primary'` — brand oranžová (primární akce v textu)
|
|
3655
|
+
* - `'muted'` — tlumená šedá (sekundární odkazy)
|
|
2800
3656
|
* @default 'default'
|
|
2801
3657
|
*/
|
|
2802
3658
|
variant?: LinkVariant;
|
|
@@ -2804,7 +3660,7 @@ interface LinkProps extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>,
|
|
|
2804
3660
|
* Ikona vykreslená vedle textu odkazu.
|
|
2805
3661
|
* Typicky 14×14 SVG nebo komponenta ikony.
|
|
2806
3662
|
*/
|
|
2807
|
-
icon?:
|
|
3663
|
+
icon?: React__default.ReactNode;
|
|
2808
3664
|
/**
|
|
2809
3665
|
* Na které straně se ikona zobrazí vzhledem k textu.
|
|
2810
3666
|
* @default 'left'
|
|
@@ -2817,7 +3673,7 @@ interface LinkProps extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>,
|
|
|
2817
3673
|
*/
|
|
2818
3674
|
showIcon?: boolean;
|
|
2819
3675
|
/** Další inline styly pro `<a>` element. */
|
|
2820
|
-
style?:
|
|
3676
|
+
style?: React__default.CSSProperties;
|
|
2821
3677
|
/** Dodatečná CSS třída pro `<a>` element. */
|
|
2822
3678
|
className?: string;
|
|
2823
3679
|
}
|
|
@@ -2836,7 +3692,7 @@ interface LinkProps extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>,
|
|
|
2836
3692
|
* <Link icon={<ArrowIcon />} iconPosition="right" href="/dalsi">Další krok</Link>
|
|
2837
3693
|
* ```
|
|
2838
3694
|
*/
|
|
2839
|
-
declare const Link:
|
|
3695
|
+
declare const Link: React__default.FC<LinkProps>;
|
|
2840
3696
|
|
|
2841
3697
|
interface SpotlightItem {
|
|
2842
3698
|
/** Unikátní identifikátor položky. */
|
|
@@ -2848,7 +3704,7 @@ interface SpotlightItem {
|
|
|
2848
3704
|
/** Kategorie pro vizuální seskupení (např. "Komponenty", "Hooky"). */
|
|
2849
3705
|
category: string;
|
|
2850
3706
|
/** Volitelná ikona vedle textu. */
|
|
2851
|
-
icon?:
|
|
3707
|
+
icon?: React__default.ReactNode;
|
|
2852
3708
|
/** Voláno při výběru položky (klik nebo Enter). */
|
|
2853
3709
|
onSelect: () => void;
|
|
2854
3710
|
}
|
|
@@ -2870,7 +3726,7 @@ interface SpotlightProps {
|
|
|
2870
3726
|
/** Dodatečná CSS třída pro kartu spotlightu. */
|
|
2871
3727
|
className?: string;
|
|
2872
3728
|
/** Další inline styly pro kartu spotlightu. */
|
|
2873
|
-
style?:
|
|
3729
|
+
style?: React__default.CSSProperties;
|
|
2874
3730
|
}
|
|
2875
3731
|
/**
|
|
2876
3732
|
* Command-palette / spotlight overlay dle SM-UI design systému.
|
|
@@ -2893,7 +3749,7 @@ interface SpotlightProps {
|
|
|
2893
3749
|
* />
|
|
2894
3750
|
* ```
|
|
2895
3751
|
*/
|
|
2896
|
-
declare const Spotlight:
|
|
3752
|
+
declare const Spotlight: React__default.FC<SpotlightProps>;
|
|
2897
3753
|
|
|
2898
3754
|
interface CommandItem {
|
|
2899
3755
|
/** Unikátní identifikátor příkazu. */
|
|
@@ -2903,7 +3759,7 @@ interface CommandItem {
|
|
|
2903
3759
|
/** Volitelný popis příkazu. */
|
|
2904
3760
|
description?: string;
|
|
2905
3761
|
/** Volitelná ikona příkazu. */
|
|
2906
|
-
icon?:
|
|
3762
|
+
icon?: React__default.ReactNode;
|
|
2907
3763
|
/** Klávesová zkratka (zobrazena jako badge). */
|
|
2908
3764
|
shortcut?: string;
|
|
2909
3765
|
/** Voláno při výběru příkazu. */
|
|
@@ -2925,7 +3781,7 @@ interface CommandMenuProps {
|
|
|
2925
3781
|
/** Placeholder text vyhledávacího pole. @default 'Zadejte příkaz...' */
|
|
2926
3782
|
placeholder?: string;
|
|
2927
3783
|
/** Další inline styly pro kartu. */
|
|
2928
|
-
style?:
|
|
3784
|
+
style?: React__default.CSSProperties;
|
|
2929
3785
|
/** Dodatečná CSS třída. */
|
|
2930
3786
|
className?: string;
|
|
2931
3787
|
}
|
|
@@ -2946,11 +3802,11 @@ interface CommandMenuProps {
|
|
|
2946
3802
|
* />
|
|
2947
3803
|
* ```
|
|
2948
3804
|
*/
|
|
2949
|
-
declare const CommandMenu:
|
|
3805
|
+
declare const CommandMenu: React__default.FC<CommandMenuProps>;
|
|
2950
3806
|
|
|
2951
3807
|
interface AppSidebarProps {
|
|
2952
3808
|
/** Obsah postranního panelu (navigace, menu apod.). */
|
|
2953
|
-
children:
|
|
3809
|
+
children: React__default.ReactNode;
|
|
2954
3810
|
/** Zda je panel sbalený. @default false */
|
|
2955
3811
|
collapsed?: boolean;
|
|
2956
3812
|
/** Voláno při změně stavu sbalení. */
|
|
@@ -2959,33 +3815,56 @@ interface AppSidebarProps {
|
|
|
2959
3815
|
width?: number;
|
|
2960
3816
|
/** Šířka sbalené postranní lišty v px. @default 64 */
|
|
2961
3817
|
collapsedWidth?: number;
|
|
3818
|
+
/**
|
|
3819
|
+
* Vzhled panelu.
|
|
3820
|
+
* - `'edge'` — přilepený k okraji layoutu, jen pravý rámeček (výchozí)
|
|
3821
|
+
* - `'floating'` — plovoucí karta s odsazením, zaoblením a stínem
|
|
3822
|
+
* @default 'edge'
|
|
3823
|
+
*/
|
|
3824
|
+
variant?: 'edge' | 'floating';
|
|
3825
|
+
/** Odsazení plovoucího panelu od okrajů v px (`variant="floating"`). @default 16 */
|
|
3826
|
+
floatingOffset?: number;
|
|
3827
|
+
/**
|
|
3828
|
+
* Vykreslí vestavěné tlačítko pro sbalení / rozbalení v patičce panelu.
|
|
3829
|
+
* Volá `onCollapse(!collapsed)`.
|
|
3830
|
+
* @default false
|
|
3831
|
+
*/
|
|
3832
|
+
collapsible?: boolean;
|
|
3833
|
+
/** Přístupný popisek tlačítka sbalení. @default 'Sbalit panel' / 'Rozbalit panel' */
|
|
3834
|
+
collapseLabel?: {
|
|
3835
|
+
collapse: string;
|
|
3836
|
+
expand: string;
|
|
3837
|
+
};
|
|
3838
|
+
/** Obsah hlavičky nad navigací (logo). Nescrolluje. */
|
|
3839
|
+
header?: React__default.ReactNode;
|
|
3840
|
+
/** Obsah patičky pod navigací (profil). Nescrolluje. */
|
|
3841
|
+
footer?: React__default.ReactNode;
|
|
2962
3842
|
/** Další inline styly. */
|
|
2963
|
-
style?:
|
|
3843
|
+
style?: React__default.CSSProperties;
|
|
2964
3844
|
/** Dodatečná CSS třída. */
|
|
2965
3845
|
className?: string;
|
|
2966
3846
|
}
|
|
2967
3847
|
/**
|
|
2968
3848
|
* Sbaletelný postranní panel pro navigaci aplikace.
|
|
2969
3849
|
*
|
|
2970
|
-
* Používá glass efekt a plynulou animaci šířky.
|
|
2971
|
-
*
|
|
3850
|
+
* Používá glass efekt a plynulou animaci šířky. Komponenta je řízená přes
|
|
3851
|
+
* `collapsed` a `onCollapse`; s `collapsible` vykreslí vlastní tlačítko sbalení.
|
|
2972
3852
|
*
|
|
2973
3853
|
* @example
|
|
2974
3854
|
* ```tsx
|
|
2975
3855
|
* const [collapsed, setCollapsed] = useState(false);
|
|
2976
|
-
* <AppSidebar collapsed={collapsed} onCollapse={setCollapsed}>
|
|
2977
|
-
* <
|
|
2978
|
-
* <nav>...</nav>
|
|
3856
|
+
* <AppSidebar collapsed={collapsed} onCollapse={setCollapsed} collapsible variant="floating">
|
|
3857
|
+
* <SidebarItem label="Dashboard" icon={<HouseIcon />} collapsed={collapsed} />
|
|
2979
3858
|
* </AppSidebar>
|
|
2980
3859
|
* ```
|
|
2981
3860
|
*/
|
|
2982
|
-
declare const AppSidebar:
|
|
3861
|
+
declare const AppSidebar: React__default.FC<AppSidebarProps>;
|
|
2983
3862
|
|
|
2984
|
-
interface SidebarItemProps {
|
|
3863
|
+
interface SidebarItemProps extends Omit<React__default.HTMLAttributes<HTMLElement>, 'onClick' | 'style' | 'className' | 'children'> {
|
|
2985
3864
|
/** Textový popisek položky. */
|
|
2986
3865
|
label: string;
|
|
2987
3866
|
/** Volitelná ikona zobrazená před textem. */
|
|
2988
|
-
icon?:
|
|
3867
|
+
icon?: React__default.ReactNode;
|
|
2989
3868
|
/** Zda je položka aktivní (vybraná). @default false */
|
|
2990
3869
|
active?: boolean;
|
|
2991
3870
|
/** Zda je skupina výchozně rozbalená. @default false */
|
|
@@ -2995,15 +3874,34 @@ interface SidebarItemProps {
|
|
|
2995
3874
|
/** Callback při změně rozbalení. */
|
|
2996
3875
|
onExpandedChange?: (expanded: boolean) => void;
|
|
2997
3876
|
/** Callback při kliknutí na položku (ne na chevron). */
|
|
2998
|
-
onClick?: () => void;
|
|
3877
|
+
onClick?: (e: React__default.MouseEvent<HTMLElement>) => void;
|
|
3878
|
+
/**
|
|
3879
|
+
* URL — položka se vykreslí jako `<a href>` (middle-click, kopírování adresy).
|
|
3880
|
+
* S klientským routerem předejte i `as` (např. Inertia `Link`).
|
|
3881
|
+
*/
|
|
3882
|
+
href?: string;
|
|
3883
|
+
/** Komponenta pro vykreslení položky s `href` (Inertia / react-router `Link`). @default 'a' */
|
|
3884
|
+
as?: React__default.ElementType;
|
|
2999
3885
|
/** Potomci — vnořené SidebarItem komponenty. Přítomnost aktivuje rozbalovací režim. */
|
|
3000
|
-
children?:
|
|
3886
|
+
children?: React__default.ReactNode;
|
|
3001
3887
|
/** Zda je sidebar sbalený (jen ikona). @default false */
|
|
3002
3888
|
collapsed?: boolean;
|
|
3889
|
+
/**
|
|
3890
|
+
* Ve sbaleném režimu zobrazit tooltip s popiskem vpravo od ikony.
|
|
3891
|
+
* @default true
|
|
3892
|
+
*/
|
|
3893
|
+
collapsedTooltip?: boolean;
|
|
3003
3894
|
/** Zakáže interakci. @default false */
|
|
3004
3895
|
disabled?: boolean;
|
|
3896
|
+
/**
|
|
3897
|
+
* Velikost položky.
|
|
3898
|
+
* - `'sm'` — 13px písmo, výchozí
|
|
3899
|
+
* - `'md'` — 14px písmo, větší odsazení
|
|
3900
|
+
* @default 'sm'
|
|
3901
|
+
*/
|
|
3902
|
+
size?: 'sm' | 'md';
|
|
3005
3903
|
/** Další inline styly. */
|
|
3006
|
-
style?:
|
|
3904
|
+
style?: React__default.CSSProperties;
|
|
3007
3905
|
/** Dodatečná CSS třída. */
|
|
3008
3906
|
className?: string;
|
|
3009
3907
|
}
|
|
@@ -3011,11 +3909,13 @@ interface SidebarItemProps {
|
|
|
3011
3909
|
* Položka navigace pro AppSidebar.
|
|
3012
3910
|
*
|
|
3013
3911
|
* Podporuje ikonu, aktivní stav, hover efekt a vnořené položky
|
|
3014
|
-
* s animovaným rozbalováním/sbalováním.
|
|
3912
|
+
* s animovaným rozbalováním/sbalováním. Ve sbaleném sidebaru má položka
|
|
3913
|
+
* přístupný název, tooltip a skupina se otevírá jako flyout vpravo.
|
|
3015
3914
|
*
|
|
3016
3915
|
* @example
|
|
3017
3916
|
* ```tsx
|
|
3018
3917
|
* <SidebarItem label="Dashboard" icon={<HouseIcon size={18} />} active onClick={...} />
|
|
3918
|
+
* <SidebarItem label="Projekty" icon={<FolderIcon size={18} />} href="/projekty" as={Link} />
|
|
3019
3919
|
*
|
|
3020
3920
|
* <SidebarItem label="Settings" icon={<GearIcon size={18} />} defaultExpanded>
|
|
3021
3921
|
* <SidebarItem label="General" onClick={...} />
|
|
@@ -3024,21 +3924,21 @@ interface SidebarItemProps {
|
|
|
3024
3924
|
* </SidebarItem>
|
|
3025
3925
|
* ```
|
|
3026
3926
|
*/
|
|
3027
|
-
declare const SidebarItem:
|
|
3927
|
+
declare const SidebarItem: React__default.ForwardRefExoticComponent<SidebarItemProps & React__default.RefAttributes<HTMLElement>>;
|
|
3028
3928
|
|
|
3029
3929
|
interface NavbarProps {
|
|
3030
3930
|
/** Logo nebo název aplikace (vykresleno vlevo). */
|
|
3031
|
-
logo?:
|
|
3931
|
+
logo?: React__default.ReactNode;
|
|
3032
3932
|
/** Navigační obsah (vykresleno uprostřed). */
|
|
3033
|
-
children?:
|
|
3933
|
+
children?: React__default.ReactNode;
|
|
3034
3934
|
/** Akční prvky – tlačítka, avatar apod. (vykresleno vpravo). */
|
|
3035
|
-
actions?:
|
|
3935
|
+
actions?: React__default.ReactNode;
|
|
3036
3936
|
/** Zda je navbar přilepený k hornímu okraji. @default true */
|
|
3037
3937
|
sticky?: boolean;
|
|
3038
3938
|
/** Zda použít glass efekt (průhledné pozadí s rozmazáním). @default true */
|
|
3039
3939
|
glass?: boolean;
|
|
3040
3940
|
/** Další inline styly. */
|
|
3041
|
-
style?:
|
|
3941
|
+
style?: React__default.CSSProperties;
|
|
3042
3942
|
/** Dodatečná CSS třída. */
|
|
3043
3943
|
className?: string;
|
|
3044
3944
|
}
|
|
@@ -3058,15 +3958,16 @@ interface NavbarProps {
|
|
|
3058
3958
|
* </Navbar>
|
|
3059
3959
|
* ```
|
|
3060
3960
|
*/
|
|
3061
|
-
declare const Navbar:
|
|
3961
|
+
declare const Navbar: React__default.FC<NavbarProps>;
|
|
3062
3962
|
|
|
3063
|
-
type ToastVariant = 'info' | 'success' | 'error';
|
|
3963
|
+
type ToastVariant = 'info' | 'success' | 'warning' | 'error';
|
|
3064
3964
|
interface ToastProps {
|
|
3065
3965
|
/**
|
|
3066
|
-
* Vizuální varianta určující barvu
|
|
3067
|
-
* - `'info'` —
|
|
3068
|
-
* - `'success'` —
|
|
3069
|
-
* - `'
|
|
3966
|
+
* Vizuální varianta určující barvu rámečku a ikony.
|
|
3967
|
+
* - `'info'` — neutrální
|
|
3968
|
+
* - `'success'` — zelená (#00A205)
|
|
3969
|
+
* - `'warning'` — oranžovožlutá (#F5A623), stav „uloženo, ale…"
|
|
3970
|
+
* - `'error'` — červená (#EF3838)
|
|
3070
3971
|
* @default 'info'
|
|
3071
3972
|
*/
|
|
3072
3973
|
variant?: ToastVariant;
|
|
@@ -3075,14 +3976,14 @@ interface ToastProps {
|
|
|
3075
3976
|
*/
|
|
3076
3977
|
title: string;
|
|
3077
3978
|
/**
|
|
3078
|
-
* Volitelný
|
|
3979
|
+
* Volitelný popis vykreslený pod nadpisem menším písmem.
|
|
3079
3980
|
*/
|
|
3080
|
-
content?:
|
|
3981
|
+
content?: React__default.ReactNode;
|
|
3081
3982
|
/**
|
|
3082
3983
|
* Vlastní ikona vykreslená na levé straně.
|
|
3083
|
-
* Pokud chybí, použije se vestavěná
|
|
3984
|
+
* Pokud chybí, použije se vestavěná ikona odpovídající variantě.
|
|
3084
3985
|
*/
|
|
3085
|
-
icon?:
|
|
3986
|
+
icon?: React__default.ReactNode;
|
|
3086
3987
|
/**
|
|
3087
3988
|
* Callback volaný při kliknutí na tlačítko zavření (✕).
|
|
3088
3989
|
* Pokud není zadán, tlačítko zavření se nezobrazí.
|
|
@@ -3095,13 +3996,14 @@ interface ToastProps {
|
|
|
3095
3996
|
*/
|
|
3096
3997
|
role?: 'alert' | 'status' | 'log';
|
|
3097
3998
|
/** Další inline styly pro kořenový element. */
|
|
3098
|
-
style?:
|
|
3999
|
+
style?: React__default.CSSProperties;
|
|
3099
4000
|
/** Dodatečná CSS třída pro kořenový element. */
|
|
3100
4001
|
className?: string;
|
|
3101
4002
|
}
|
|
3102
4003
|
/**
|
|
3103
|
-
*
|
|
3104
|
-
*
|
|
4004
|
+
* Kompaktní notifikace se čtyřmi úrovněmi závažnosti.
|
|
4005
|
+
* Glass panel jako dropdowny kitu, varianta určuje barvu rámečku
|
|
4006
|
+
* a ikony v tónovaném boxu.
|
|
3105
4007
|
*
|
|
3106
4008
|
* Tlačítko zavření se zobrazí pouze pokud je zadáno `onClose`.
|
|
3107
4009
|
* Vlastní ikona může nahradit výchozí variantní ikonu přes prop `icon`.
|
|
@@ -3109,11 +4011,11 @@ interface ToastProps {
|
|
|
3109
4011
|
* @example
|
|
3110
4012
|
* ```tsx
|
|
3111
4013
|
* <Toast variant="success" title="Uloženo" content="Změny byly uloženy." onClose={dismiss} />
|
|
3112
|
-
* <Toast variant="
|
|
4014
|
+
* <Toast variant="warning" title="Uloženo, ale nenasazeno" content="Router je nedosažitelný." />
|
|
3113
4015
|
* <Toast variant="info" title="Upozornění" onClose={dismiss} />
|
|
3114
4016
|
* ```
|
|
3115
4017
|
*/
|
|
3116
|
-
declare const Toast:
|
|
4018
|
+
declare const Toast: React__default.FC<ToastProps>;
|
|
3117
4019
|
|
|
3118
4020
|
type ToastPosition = 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
|
|
3119
4021
|
/** Nastavení předávaná do `toast()` při vyvolání notifikace. */
|
|
@@ -3125,13 +4027,13 @@ interface ToastOptions {
|
|
|
3125
4027
|
variant?: ToastVariant;
|
|
3126
4028
|
/** Tučný nadpis notifikace. */
|
|
3127
4029
|
title: string;
|
|
3128
|
-
/** Volitelný popis vykreslený pod nadpisem. */
|
|
3129
|
-
content?:
|
|
4030
|
+
/** Volitelný popis vykreslený pod nadpisem (text nebo ReactNode, např. s odkazem). */
|
|
4031
|
+
content?: React__default.ReactNode;
|
|
3130
4032
|
/**
|
|
3131
4033
|
* Vlastní ikona nahrazující vestavěnou variantní ikonu.
|
|
3132
4034
|
* Libovolný React uzel — SVG, obrázek, komponenta…
|
|
3133
4035
|
*/
|
|
3134
|
-
icon?:
|
|
4036
|
+
icon?: React__default.ReactNode;
|
|
3135
4037
|
/**
|
|
3136
4038
|
* Časový limit automatického zavření v ms.
|
|
3137
4039
|
* Nastavte na `0` pro trvalou notifikaci, kterou je nutné zavřít ručně.
|
|
@@ -3167,7 +4069,7 @@ interface ToastContextValue {
|
|
|
3167
4069
|
}
|
|
3168
4070
|
/** Props pro `<ToasterProvider>`. */
|
|
3169
4071
|
interface ToasterProviderProps {
|
|
3170
|
-
children:
|
|
4072
|
+
children: React__default.ReactNode;
|
|
3171
4073
|
/**
|
|
3172
4074
|
* Pozice notifikací na obrazovce.
|
|
3173
4075
|
* @default 'bottom-right'
|
|
@@ -3175,7 +4077,7 @@ interface ToasterProviderProps {
|
|
|
3175
4077
|
position?: ToastPosition;
|
|
3176
4078
|
/**
|
|
3177
4079
|
* Šířka jednotlivé notifikace v px.
|
|
3178
|
-
* @default
|
|
4080
|
+
* @default 340
|
|
3179
4081
|
*/
|
|
3180
4082
|
toastWidth?: number;
|
|
3181
4083
|
/**
|
|
@@ -3214,7 +4116,7 @@ interface ToasterProviderProps {
|
|
|
3214
4116
|
* </ToasterProvider>
|
|
3215
4117
|
* ```
|
|
3216
4118
|
*/
|
|
3217
|
-
declare const ToasterProvider:
|
|
4119
|
+
declare const ToasterProvider: React__default.FC<ToasterProviderProps>;
|
|
3218
4120
|
/**
|
|
3219
4121
|
* Vrací `{ toast, dismiss }` pro vyvolání a zavření notifikací.
|
|
3220
4122
|
* Musí být volán uvnitř stromu `<ToasterProvider>`.
|
|
@@ -3253,12 +4155,12 @@ interface AlertProps {
|
|
|
3253
4155
|
/**
|
|
3254
4156
|
* Volitelný popis vykreslený pod nadpisem menším písmem.
|
|
3255
4157
|
*/
|
|
3256
|
-
children?:
|
|
4158
|
+
children?: React__default.ReactNode;
|
|
3257
4159
|
/**
|
|
3258
4160
|
* Vlastní ikona vykreslená na levé straně.
|
|
3259
4161
|
* Pokud chybí, použije se vestavěná SVG ikona odpovídající variantě.
|
|
3260
4162
|
*/
|
|
3261
|
-
icon?:
|
|
4163
|
+
icon?: React__default.ReactNode;
|
|
3262
4164
|
/**
|
|
3263
4165
|
* Zobrazí tlačítko zavření (✕).
|
|
3264
4166
|
* @default false
|
|
@@ -3271,7 +4173,7 @@ interface AlertProps {
|
|
|
3271
4173
|
/** Dodatečná CSS třída pro kořenový element. */
|
|
3272
4174
|
className?: string;
|
|
3273
4175
|
/** Další inline styly pro kořenový element. */
|
|
3274
|
-
style?:
|
|
4176
|
+
style?: React__default.CSSProperties;
|
|
3275
4177
|
}
|
|
3276
4178
|
/**
|
|
3277
4179
|
* Statický banner pro zobrazení důležitých informací, varování nebo chyb.
|
|
@@ -3288,7 +4190,7 @@ interface AlertProps {
|
|
|
3288
4190
|
* <Alert variant="warning" title="Pozor">Tato akce je nevratná.</Alert>
|
|
3289
4191
|
* ```
|
|
3290
4192
|
*/
|
|
3291
|
-
declare const Alert:
|
|
4193
|
+
declare const Alert: React__default.FC<AlertProps>;
|
|
3292
4194
|
|
|
3293
4195
|
type BannerVariant = 'info' | 'success' | 'warning' | 'error';
|
|
3294
4196
|
type BannerPosition = 'top' | 'bottom';
|
|
@@ -3298,15 +4200,15 @@ interface BannerProps {
|
|
|
3298
4200
|
/** Tučný titulek. */
|
|
3299
4201
|
title?: string;
|
|
3300
4202
|
/** Obsah banneru. */
|
|
3301
|
-
children?:
|
|
4203
|
+
children?: React__default.ReactNode;
|
|
3302
4204
|
/** Zobrazí zavírací tlačítko. @default false */
|
|
3303
4205
|
closable?: boolean;
|
|
3304
4206
|
/** Callback při zavření. */
|
|
3305
4207
|
onClose?: () => void;
|
|
3306
4208
|
/** Vlastní ikona. Pokud není zadána, použije se výchozí dle varianty. */
|
|
3307
|
-
icon?:
|
|
4209
|
+
icon?: React__default.ReactNode;
|
|
3308
4210
|
/** Akční tlačítka na pravé straně. */
|
|
3309
|
-
actions?:
|
|
4211
|
+
actions?: React__default.ReactNode;
|
|
3310
4212
|
/** Persistentní dismiss přes localStorage key. */
|
|
3311
4213
|
dismissKey?: string;
|
|
3312
4214
|
/** Pozice akcentního proužku. @default 'top' */
|
|
@@ -3314,7 +4216,7 @@ interface BannerProps {
|
|
|
3314
4216
|
/** Přilepí banner na pozici. @default false */
|
|
3315
4217
|
sticky?: boolean;
|
|
3316
4218
|
/** Další inline styly. */
|
|
3317
|
-
style?:
|
|
4219
|
+
style?: React__default.CSSProperties;
|
|
3318
4220
|
/** Dodatečná CSS třída. */
|
|
3319
4221
|
className?: string;
|
|
3320
4222
|
}
|
|
@@ -3331,7 +4233,7 @@ interface BannerProps {
|
|
|
3331
4233
|
* </Banner>
|
|
3332
4234
|
* ```
|
|
3333
4235
|
*/
|
|
3334
|
-
declare const Banner:
|
|
4236
|
+
declare const Banner: React__default.FC<BannerProps>;
|
|
3335
4237
|
|
|
3336
4238
|
type NotificationVariant = 'info' | 'success' | 'warning' | 'error';
|
|
3337
4239
|
interface NotificationProps {
|
|
@@ -3340,17 +4242,17 @@ interface NotificationProps {
|
|
|
3340
4242
|
/** Titulek notifikace. */
|
|
3341
4243
|
title: string;
|
|
3342
4244
|
/** Obsah / popis notifikace. */
|
|
3343
|
-
children?:
|
|
4245
|
+
children?: React__default.ReactNode;
|
|
3344
4246
|
/** Zobrazí tlačítko zavření. @default false */
|
|
3345
4247
|
closable?: boolean;
|
|
3346
4248
|
/** Voláno při zavření notifikace. */
|
|
3347
4249
|
onClose?: () => void;
|
|
3348
4250
|
/** Vlastní ikona (nahradí výchozí ikonu varianty). */
|
|
3349
|
-
icon?:
|
|
4251
|
+
icon?: React__default.ReactNode;
|
|
3350
4252
|
/** Akční prvek zobrazený na pravé straně (tlačítko apod.). */
|
|
3351
|
-
action?:
|
|
4253
|
+
action?: React__default.ReactNode;
|
|
3352
4254
|
/** Další inline styly. */
|
|
3353
|
-
style?:
|
|
4255
|
+
style?: React__default.CSSProperties;
|
|
3354
4256
|
/** Dodatečná CSS třída. */
|
|
3355
4257
|
className?: string;
|
|
3356
4258
|
}
|
|
@@ -3375,7 +4277,7 @@ interface NotificationProps {
|
|
|
3375
4277
|
* </Notification>
|
|
3376
4278
|
* ```
|
|
3377
4279
|
*/
|
|
3378
|
-
declare const Notification:
|
|
4280
|
+
declare const Notification: React__default.FC<NotificationProps>;
|
|
3379
4281
|
|
|
3380
4282
|
type ProgressBarSize = 'xs' | 'sm' | 'md';
|
|
3381
4283
|
type ProgressVariant = 'default' | 'success' | 'warning' | 'danger';
|
|
@@ -3407,7 +4309,7 @@ interface ProgressBarProps {
|
|
|
3407
4309
|
/** Dodatečná CSS třída. */
|
|
3408
4310
|
className?: string;
|
|
3409
4311
|
/** Další inline styly. */
|
|
3410
|
-
style?:
|
|
4312
|
+
style?: React__default.CSSProperties;
|
|
3411
4313
|
}
|
|
3412
4314
|
interface ProgressCircleProps {
|
|
3413
4315
|
/** Aktuální hodnota. */
|
|
@@ -3425,13 +4327,13 @@ interface ProgressCircleProps {
|
|
|
3425
4327
|
/** Zobrazí "X%" uprostřed. @default false */
|
|
3426
4328
|
showValue?: boolean;
|
|
3427
4329
|
/** Custom render obsahu uprostřed (override showValue). */
|
|
3428
|
-
valueLabel?: (value: number, max: number) =>
|
|
4330
|
+
valueLabel?: (value: number, max: number) => React__default.ReactNode;
|
|
3429
4331
|
/** Volitelný popisek pod kruhem. */
|
|
3430
4332
|
label?: string;
|
|
3431
4333
|
/** Dodatečná CSS třída. */
|
|
3432
4334
|
className?: string;
|
|
3433
4335
|
/** Další inline styly. */
|
|
3434
|
-
style?:
|
|
4336
|
+
style?: React__default.CSSProperties;
|
|
3435
4337
|
}
|
|
3436
4338
|
/**
|
|
3437
4339
|
* Horizontální progress indikátor.
|
|
@@ -3445,7 +4347,7 @@ interface ProgressCircleProps {
|
|
|
3445
4347
|
* <ProgressBar indeterminate />
|
|
3446
4348
|
* ```
|
|
3447
4349
|
*/
|
|
3448
|
-
declare const ProgressBar:
|
|
4350
|
+
declare const ProgressBar: React__default.FC<ProgressBarProps>;
|
|
3449
4351
|
/**
|
|
3450
4352
|
* Kruhový progress indikátor (SVG).
|
|
3451
4353
|
*
|
|
@@ -3457,7 +4359,7 @@ declare const ProgressBar: React.FC<ProgressBarProps>;
|
|
|
3457
4359
|
* <ProgressCircle value={45} max={60} variant="warning" valueLabel={(v, m) => `${v}/${m}`} />
|
|
3458
4360
|
* ```
|
|
3459
4361
|
*/
|
|
3460
|
-
declare const ProgressCircle:
|
|
4362
|
+
declare const ProgressCircle: React__default.FC<ProgressCircleProps>;
|
|
3461
4363
|
|
|
3462
4364
|
type SpinnerSize = 'sm' | 'md' | 'lg';
|
|
3463
4365
|
interface SpinnerProps {
|
|
@@ -3482,7 +4384,7 @@ interface SpinnerProps {
|
|
|
3482
4384
|
/** Dodatečná CSS třída pro kořenový element. */
|
|
3483
4385
|
className?: string;
|
|
3484
4386
|
/** Další inline styly pro kořenový element. */
|
|
3485
|
-
style?:
|
|
4387
|
+
style?: React__default.CSSProperties;
|
|
3486
4388
|
}
|
|
3487
4389
|
/**
|
|
3488
4390
|
* Animovaný spinner (indikátor načítání) využívající requestAnimationFrame.
|
|
@@ -3498,8 +4400,18 @@ interface SpinnerProps {
|
|
|
3498
4400
|
* <Spinner size={32} label="Ukládání dat" />
|
|
3499
4401
|
* ```
|
|
3500
4402
|
*/
|
|
3501
|
-
declare const Spinner:
|
|
4403
|
+
declare const Spinner: React__default.FC<SpinnerProps>;
|
|
3502
4404
|
|
|
4405
|
+
/** Kontext předaný funkci `content` — umožňuje řídit dialog z vlastního obsahu. */
|
|
4406
|
+
interface ConfirmContentContext {
|
|
4407
|
+
/** Potvrdí dialog (stejné jako klik na potvrzovací tlačítko). */
|
|
4408
|
+
confirm: () => void;
|
|
4409
|
+
/** Zruší dialog. */
|
|
4410
|
+
cancel: () => void;
|
|
4411
|
+
/** Zapne / vypne potvrzovací tlačítko (např. type-to-confirm). */
|
|
4412
|
+
setConfirmDisabled: (disabled: boolean) => void;
|
|
4413
|
+
}
|
|
4414
|
+
type ConfirmContent = React__default.ReactNode | ((ctx: ConfirmContentContext) => React__default.ReactNode);
|
|
3503
4415
|
interface ConfirmDialogProps {
|
|
3504
4416
|
/** Řídí zobrazení potvrzovacího dialogu. */
|
|
3505
4417
|
open: boolean;
|
|
@@ -3509,8 +4421,15 @@ interface ConfirmDialogProps {
|
|
|
3509
4421
|
onCancel: () => void;
|
|
3510
4422
|
/** Titulek dialogu. */
|
|
3511
4423
|
title: string;
|
|
3512
|
-
/** Volitelný popis akce. */
|
|
3513
|
-
description?:
|
|
4424
|
+
/** Volitelný popis akce. Text nebo ReactNode (seznam položek, zvýraznění…). */
|
|
4425
|
+
description?: React__default.ReactNode;
|
|
4426
|
+
/**
|
|
4427
|
+
* Vlastní obsah pod popisem (input pro type-to-confirm, checkbox…).
|
|
4428
|
+
* Funkce dostane `{ confirm, cancel, setConfirmDisabled }`.
|
|
4429
|
+
*/
|
|
4430
|
+
content?: ConfirmContent;
|
|
4431
|
+
/** Zakáže potvrzovací tlačítko (např. dokud uživatel nepotvrdí vstup). @default false */
|
|
4432
|
+
confirmDisabled?: boolean;
|
|
3514
4433
|
/** Text potvrzovacího tlačítka. @default 'Potvrdit' */
|
|
3515
4434
|
confirmLabel?: string;
|
|
3516
4435
|
/** Text zrušovacího tlačítka. @default 'Zrušit' */
|
|
@@ -3519,8 +4438,16 @@ interface ConfirmDialogProps {
|
|
|
3519
4438
|
variant?: 'default' | 'danger';
|
|
3520
4439
|
/** Stav načítání potvrzovacího tlačítka. @default false */
|
|
3521
4440
|
loading?: boolean;
|
|
4441
|
+
/** z-index overlaye. Výchozí se počítá automaticky nad nadřazený overlay (Drawer, Modal). */
|
|
4442
|
+
zIndex?: number;
|
|
4443
|
+
/** Zavře dialog kliknutím na překryvnou vrstvu. @default true */
|
|
4444
|
+
closeOnOverlay?: boolean;
|
|
4445
|
+
/** Zavře dialog stisknutím klávesy Escape. @default true */
|
|
4446
|
+
closeOnEscape?: boolean;
|
|
4447
|
+
/** Umožní zavření dialogu jinak než tlačítky. @default true */
|
|
4448
|
+
dismissable?: boolean;
|
|
3522
4449
|
/** Další inline styly. */
|
|
3523
|
-
style?:
|
|
4450
|
+
style?: React__default.CSSProperties;
|
|
3524
4451
|
/** Dodatečná CSS třída. */
|
|
3525
4452
|
className?: string;
|
|
3526
4453
|
}
|
|
@@ -3528,7 +4455,7 @@ interface ConfirmDialogProps {
|
|
|
3528
4455
|
* Předpřipravený modální dialog pro potvrzení akce.
|
|
3529
4456
|
*
|
|
3530
4457
|
* Interně používá komponentu `Modal`. Podporuje standardní a danger variantu
|
|
3531
|
-
* s volitelným stavem načítání.
|
|
4458
|
+
* s volitelným stavem načítání. Otevřený z Draweru / Modalu se vždy vykreslí nad ním.
|
|
3532
4459
|
*
|
|
3533
4460
|
* @example
|
|
3534
4461
|
* ```tsx
|
|
@@ -3540,15 +4467,77 @@ interface ConfirmDialogProps {
|
|
|
3540
4467
|
* description="Tato akce je nevratná."
|
|
3541
4468
|
* variant="danger"
|
|
3542
4469
|
* />
|
|
4470
|
+
*
|
|
4471
|
+
* // Type-to-confirm
|
|
4472
|
+
* <ConfirmDialog
|
|
4473
|
+
* open={open}
|
|
4474
|
+
* title="Smazat projekt?"
|
|
4475
|
+
* confirmDisabled
|
|
4476
|
+
* content={({ setConfirmDisabled }) => (
|
|
4477
|
+
* <Input placeholder={slug} onChange={(e) => setConfirmDisabled(e.target.value !== slug)} />
|
|
4478
|
+
* )}
|
|
4479
|
+
* …
|
|
4480
|
+
* />
|
|
4481
|
+
* ```
|
|
4482
|
+
*/
|
|
4483
|
+
declare const ConfirmDialog: React__default.FC<ConfirmDialogProps>;
|
|
4484
|
+
/** Nastavení předaná do imperativního `confirm()`. */
|
|
4485
|
+
interface ConfirmOptions {
|
|
4486
|
+
/** Titulek dialogu. */
|
|
4487
|
+
title: string;
|
|
4488
|
+
/** Volitelný popis akce. Text nebo ReactNode. */
|
|
4489
|
+
description?: React__default.ReactNode;
|
|
4490
|
+
/**
|
|
4491
|
+
* Vlastní obsah pod popisem. Funkce dostane `{ confirm, cancel, setConfirmDisabled }`,
|
|
4492
|
+
* takže lze potvrzení podmínit vstupem (type-to-confirm).
|
|
4493
|
+
*/
|
|
4494
|
+
content?: ConfirmContent;
|
|
4495
|
+
/** Počáteční stav potvrzovacího tlačítka. @default false */
|
|
4496
|
+
confirmDisabled?: boolean;
|
|
4497
|
+
/** Text potvrzovacího tlačítka. @default 'Potvrdit' */
|
|
4498
|
+
confirmLabel?: string;
|
|
4499
|
+
/** Text zrušovacího tlačítka. @default 'Zrušit' */
|
|
4500
|
+
cancelLabel?: string;
|
|
4501
|
+
/** Varianta dialogu – 'danger' zvýrazní potvrzovací tlačítko červeně. @default 'default' */
|
|
4502
|
+
variant?: 'default' | 'danger';
|
|
4503
|
+
/** Umožní zavření dialogu overlay klikem / Escape (= zrušení). @default true */
|
|
4504
|
+
dismissable?: boolean;
|
|
4505
|
+
}
|
|
4506
|
+
/**
|
|
4507
|
+
* Poskytuje imperativní `confirm()` přes hook `useConfirm()`.
|
|
4508
|
+
* Vykresluje jeden sdílený `ConfirmDialog`. Umístěte **jednou** blízko kořene
|
|
4509
|
+
* aplikace (typicky vedle `ToasterProvider`).
|
|
4510
|
+
*
|
|
4511
|
+
* @example
|
|
4512
|
+
* ```tsx
|
|
4513
|
+
* <ConfirmProvider>
|
|
4514
|
+
* <App />
|
|
4515
|
+
* </ConfirmProvider>
|
|
4516
|
+
* ```
|
|
4517
|
+
*/
|
|
4518
|
+
declare const ConfirmProvider: React__default.FC<{
|
|
4519
|
+
children: React__default.ReactNode;
|
|
4520
|
+
}>;
|
|
4521
|
+
/**
|
|
4522
|
+
* Vrací funkci `confirm(options): Promise<boolean>` pro imperativní potvrzení.
|
|
4523
|
+
* Musí být volán uvnitř stromu `<ConfirmProvider>`.
|
|
4524
|
+
*
|
|
4525
|
+
* @throws Při volání mimo `<ConfirmProvider>`.
|
|
4526
|
+
*
|
|
4527
|
+
* @example
|
|
4528
|
+
* ```tsx
|
|
4529
|
+
* const confirm = useConfirm();
|
|
4530
|
+
* const ok = await confirm({ title: 'Smazat položku?', variant: 'danger' });
|
|
4531
|
+
* if (ok) await deleteItem();
|
|
3543
4532
|
* ```
|
|
3544
4533
|
*/
|
|
3545
|
-
declare const
|
|
4534
|
+
declare const useConfirm: () => ((options: ConfirmOptions) => Promise<boolean>);
|
|
3546
4535
|
|
|
3547
4536
|
interface CopyButtonProps {
|
|
3548
4537
|
/** Text ke zkopírování do schránky. */
|
|
3549
4538
|
text: string;
|
|
3550
4539
|
/** Vlastní obsah tlačítka (nahrazuje výchozí ikonu/text). */
|
|
3551
|
-
children?:
|
|
4540
|
+
children?: React__default.ReactNode;
|
|
3552
4541
|
/** Velikost tlačítka. @default 'md' */
|
|
3553
4542
|
size?: 'sm' | 'md' | 'lg';
|
|
3554
4543
|
/** Varianta zobrazení. @default 'icon' */
|
|
@@ -3560,7 +4549,7 @@ interface CopyButtonProps {
|
|
|
3560
4549
|
/** Callback volaný po úspěšném zkopírování do schránky. */
|
|
3561
4550
|
onCopy?: () => void;
|
|
3562
4551
|
/** Další inline styly. */
|
|
3563
|
-
style?:
|
|
4552
|
+
style?: React__default.CSSProperties;
|
|
3564
4553
|
/** Dodatečná CSS třída. */
|
|
3565
4554
|
className?: string;
|
|
3566
4555
|
}
|
|
@@ -3577,7 +4566,7 @@ interface CopyButtonProps {
|
|
|
3577
4566
|
* <CopyButton text={code} />
|
|
3578
4567
|
* ```
|
|
3579
4568
|
*/
|
|
3580
|
-
declare const CopyButton:
|
|
4569
|
+
declare const CopyButton: React__default.FC<CopyButtonProps>;
|
|
3581
4570
|
|
|
3582
4571
|
type DividerOrientation = 'horizontal' | 'vertical';
|
|
3583
4572
|
interface DividerProps {
|
|
@@ -3596,7 +4585,7 @@ interface DividerProps {
|
|
|
3596
4585
|
/** Dodatečná CSS třída pro kořenový element. */
|
|
3597
4586
|
className?: string;
|
|
3598
4587
|
/** Další inline styly pro kořenový element. */
|
|
3599
|
-
style?:
|
|
4588
|
+
style?: React__default.CSSProperties;
|
|
3600
4589
|
}
|
|
3601
4590
|
/**
|
|
3602
4591
|
* Vizuální oddělovač obsahu — horizontální nebo vertikální čára.
|
|
@@ -3611,7 +4600,7 @@ interface DividerProps {
|
|
|
3611
4600
|
* <Divider orientation="vertical" />
|
|
3612
4601
|
* ```
|
|
3613
4602
|
*/
|
|
3614
|
-
declare const Divider:
|
|
4603
|
+
declare const Divider: React__default.FC<DividerProps>;
|
|
3615
4604
|
|
|
3616
4605
|
type StackDirection = 'row' | 'column';
|
|
3617
4606
|
type StackAlign = 'start' | 'center' | 'end' | 'stretch';
|
|
@@ -3650,11 +4639,11 @@ interface StackProps {
|
|
|
3650
4639
|
/**
|
|
3651
4640
|
* Potomci rozmístění uvnitř stacku.
|
|
3652
4641
|
*/
|
|
3653
|
-
children?:
|
|
4642
|
+
children?: React__default.ReactNode;
|
|
3654
4643
|
/** Dodatečná CSS třída pro kořenový element. */
|
|
3655
4644
|
className?: string;
|
|
3656
4645
|
/** Další inline styly pro kořenový element. */
|
|
3657
|
-
style?:
|
|
4646
|
+
style?: React__default.CSSProperties;
|
|
3658
4647
|
}
|
|
3659
4648
|
/**
|
|
3660
4649
|
* Jednoduchý layout helper využívající CSS flexbox.
|
|
@@ -3675,7 +4664,7 @@ interface StackProps {
|
|
|
3675
4664
|
* </Stack>
|
|
3676
4665
|
* ```
|
|
3677
4666
|
*/
|
|
3678
|
-
declare const Stack:
|
|
4667
|
+
declare const Stack: React__default.FC<StackProps>;
|
|
3679
4668
|
|
|
3680
4669
|
type ContainerMaxWidth = 'sm' | 'md' | 'lg' | 'xl';
|
|
3681
4670
|
interface ContainerProps {
|
|
@@ -3702,11 +4691,11 @@ interface ContainerProps {
|
|
|
3702
4691
|
/**
|
|
3703
4692
|
* Potomci vykreslení uvnitř kontejneru.
|
|
3704
4693
|
*/
|
|
3705
|
-
children?:
|
|
4694
|
+
children?: React__default.ReactNode;
|
|
3706
4695
|
/** Dodatečná CSS třída pro kořenový element. */
|
|
3707
4696
|
className?: string;
|
|
3708
4697
|
/** Další inline styly pro kořenový element. */
|
|
3709
|
-
style?:
|
|
4698
|
+
style?: React__default.CSSProperties;
|
|
3710
4699
|
}
|
|
3711
4700
|
/**
|
|
3712
4701
|
* Layout kontejner s maximální šířkou a volitelným centrováním.
|
|
@@ -3727,15 +4716,16 @@ interface ContainerProps {
|
|
|
3727
4716
|
* </Container>
|
|
3728
4717
|
* ```
|
|
3729
4718
|
*/
|
|
3730
|
-
declare const Container:
|
|
4719
|
+
declare const Container: React__default.FC<ContainerProps>;
|
|
3731
4720
|
|
|
4721
|
+
type DragListSize = 'sm' | 'md';
|
|
3732
4722
|
interface DragListItem {
|
|
3733
4723
|
/** Unikátní identifikátor položky. */
|
|
3734
4724
|
id: string;
|
|
3735
4725
|
/** Textový popisek položky. */
|
|
3736
4726
|
label: string;
|
|
3737
4727
|
/** Volitelná ikona zobrazená před popiskem. */
|
|
3738
|
-
icon?:
|
|
4728
|
+
icon?: React__default.ReactNode;
|
|
3739
4729
|
/** Potomci položky (pro stromový režim). */
|
|
3740
4730
|
children?: DragListItem[];
|
|
3741
4731
|
/** Zda je položka rozbalena (pro stromový režim). @default false */
|
|
@@ -3747,8 +4737,8 @@ interface DragListItem {
|
|
|
3747
4737
|
interface DragHandleProps {
|
|
3748
4738
|
/** Spread na element, který má sloužit jako drag handle. */
|
|
3749
4739
|
handleProps: {
|
|
3750
|
-
onMouseDown: (e:
|
|
3751
|
-
style:
|
|
4740
|
+
onMouseDown: (e: React__default.MouseEvent) => void;
|
|
4741
|
+
style: React__default.CSSProperties;
|
|
3752
4742
|
'aria-label': string;
|
|
3753
4743
|
};
|
|
3754
4744
|
/** Zda je položka právě přetahována. */
|
|
@@ -3767,6 +4757,12 @@ interface DragListProps {
|
|
|
3767
4757
|
items: DragListItem[];
|
|
3768
4758
|
/** Callback volaný při změně pořadí položek. */
|
|
3769
4759
|
onReorder: (items: DragListItem[]) => void;
|
|
4760
|
+
/**
|
|
4761
|
+
* Voláno při rozbalení / sbalení uzlu (chevron i auto-expand při přetahování)
|
|
4762
|
+
* s celým stromem s přepnutým `expanded`. Pokud je zadáno, `onReorder` se pro
|
|
4763
|
+
* rozbalení nevolá, takže konzument odliší změnu dat od změny zobrazení.
|
|
4764
|
+
*/
|
|
4765
|
+
onExpandedChange?: (id: string, expanded: boolean, items: DragListItem[]) => void;
|
|
3770
4766
|
/**
|
|
3771
4767
|
* Vlastní vykreslovací funkce pro položku.
|
|
3772
4768
|
* Přijímá `item`, `dragHandleProps` a další metadata.
|
|
@@ -3782,7 +4778,7 @@ interface DragListProps {
|
|
|
3782
4778
|
* )}
|
|
3783
4779
|
* ```
|
|
3784
4780
|
*/
|
|
3785
|
-
renderItem?: (item: DragListItem, props: DragHandleProps) =>
|
|
4781
|
+
renderItem?: (item: DragListItem, props: DragHandleProps) => React__default.ReactNode;
|
|
3786
4782
|
/** Povolí vnořování položek (stromový režim). @default false */
|
|
3787
4783
|
allowNesting?: boolean;
|
|
3788
4784
|
/** Maximální hloubka vnoření. @default 3 */
|
|
@@ -3793,10 +4789,16 @@ interface DragListProps {
|
|
|
3793
4789
|
* @default 'full'
|
|
3794
4790
|
*/
|
|
3795
4791
|
dragMode?: 'full' | 'handle';
|
|
4792
|
+
/**
|
|
4793
|
+
* Hustota řádků. `'sm'` = kompaktní řádky (36px, menší mezery a odsazení)
|
|
4794
|
+
* pro dlouhé osnovy, `'md'` = výchozí vzhled. Chování přetahování se nemění.
|
|
4795
|
+
* @default 'md'
|
|
4796
|
+
*/
|
|
4797
|
+
size?: DragListSize;
|
|
3796
4798
|
/** Dodatečná CSS třída. */
|
|
3797
4799
|
className?: string;
|
|
3798
4800
|
/** Další inline styly. */
|
|
3799
|
-
style?:
|
|
4801
|
+
style?: React__default.CSSProperties;
|
|
3800
4802
|
}
|
|
3801
4803
|
/**
|
|
3802
4804
|
* Přetahovací seznam dle SM-UI design systému.
|
|
@@ -3820,7 +4822,7 @@ interface DragListProps {
|
|
|
3820
4822
|
* />
|
|
3821
4823
|
* ```
|
|
3822
4824
|
*/
|
|
3823
|
-
declare const DragList:
|
|
4825
|
+
declare const DragList: React__default.FC<DragListProps>;
|
|
3824
4826
|
|
|
3825
4827
|
interface SortableListProps<T> {
|
|
3826
4828
|
/** Datové položky. */
|
|
@@ -3828,7 +4830,7 @@ interface SortableListProps<T> {
|
|
|
3828
4830
|
/** Stable key pro React reconciliation + drag tracking. */
|
|
3829
4831
|
keyExtractor: (item: T) => string | number;
|
|
3830
4832
|
/** Render každé položky. dragHandle je DOM node co lze umístit kdekoli. */
|
|
3831
|
-
renderItem: (item: T, dragHandle:
|
|
4833
|
+
renderItem: (item: T, dragHandle: React__default.ReactNode) => React__default.ReactNode;
|
|
3832
4834
|
/** Po dokončení dragu, nové pořadí celého arraye. */
|
|
3833
4835
|
onReorder: (newOrder: T[]) => void;
|
|
3834
4836
|
/** Osa řazení. @default 'vertical' */
|
|
@@ -3840,7 +4842,7 @@ interface SortableListProps<T> {
|
|
|
3840
4842
|
/** Mezera mezi položkami. */
|
|
3841
4843
|
gap?: number | string;
|
|
3842
4844
|
/** Další inline styly. */
|
|
3843
|
-
style?:
|
|
4845
|
+
style?: React__default.CSSProperties;
|
|
3844
4846
|
/** Dodatečná CSS třída. */
|
|
3845
4847
|
className?: string;
|
|
3846
4848
|
}
|
|
@@ -3872,7 +4874,7 @@ interface SplitterProps {
|
|
|
3872
4874
|
/** Směr rozdělení. horizontal = vertikální separátor. @default 'horizontal' */
|
|
3873
4875
|
orientation?: 'horizontal' | 'vertical';
|
|
3874
4876
|
/** Dva nebo více panelů. */
|
|
3875
|
-
children:
|
|
4877
|
+
children: React__default.ReactNode[];
|
|
3876
4878
|
/** Iniciální velikosti v procentech. @default rovnoměrně */
|
|
3877
4879
|
defaultSizes?: number[];
|
|
3878
4880
|
/** Min velikost per panel v px. */
|
|
@@ -3888,7 +4890,7 @@ interface SplitterProps {
|
|
|
3888
4890
|
/** Vypne resize. @default false */
|
|
3889
4891
|
disabled?: boolean;
|
|
3890
4892
|
/** Další inline styly. */
|
|
3891
|
-
style?:
|
|
4893
|
+
style?: React__default.CSSProperties;
|
|
3892
4894
|
/** Dodatečná CSS třída. */
|
|
3893
4895
|
className?: string;
|
|
3894
4896
|
}
|
|
@@ -3906,14 +4908,309 @@ interface SplitterProps {
|
|
|
3906
4908
|
* </Splitter>
|
|
3907
4909
|
* ```
|
|
3908
4910
|
*/
|
|
3909
|
-
declare const Splitter:
|
|
4911
|
+
declare const Splitter: React__default.FC<SplitterProps>;
|
|
3910
4912
|
|
|
3911
4913
|
type Theme = 'light' | 'dark';
|
|
3912
4914
|
/**
|
|
3913
4915
|
* Zjistí aktuální téma aplikace.
|
|
3914
4916
|
* Výchozí je 'light'. Pokud je na html/body nastaven `data-theme`, použije se.
|
|
3915
4917
|
* Jinak funguje fallback na systémové preference (prefers-color-scheme).
|
|
4918
|
+
*
|
|
4919
|
+
* Hodnota je správná už při prvním vykreslení (žádné bliknutí světlého motivu)
|
|
4920
|
+
* a hook funguje i bez `matchMedia` (jsdom, SSR).
|
|
3916
4921
|
*/
|
|
3917
4922
|
declare const useTheme: () => Theme;
|
|
3918
4923
|
|
|
3919
|
-
|
|
4924
|
+
type OverlayKind = 'modal' | 'popover';
|
|
4925
|
+
/**
|
|
4926
|
+
* Je `target` uvnitř overlaye `id` nebo uvnitř kteréhokoli overlaye,
|
|
4927
|
+
* který je jeho potomkem (portál Selectu v Popoveru apod.)?
|
|
4928
|
+
*/
|
|
4929
|
+
declare function isInsideOverlayTree(id: string, target: EventTarget | null): boolean;
|
|
4930
|
+
interface OverlayContextValue {
|
|
4931
|
+
id: string;
|
|
4932
|
+
zIndex: number;
|
|
4933
|
+
}
|
|
4934
|
+
declare const OverlayContext: React.Context<OverlayContextValue | null>;
|
|
4935
|
+
/** Nejbližší nadřazený kit overlay (nebo `null` mimo overlay). */
|
|
4936
|
+
declare const useOverlayContext: () => OverlayContextValue | null;
|
|
4937
|
+
interface UseOverlayOptions {
|
|
4938
|
+
/** Zda je overlay právě otevřený (registrovaný ve stacku). */
|
|
4939
|
+
open: boolean;
|
|
4940
|
+
/** `'modal'` = Modal / Drawer / Sheet / Spotlight, `'popover'` = plovoucí prvky. */
|
|
4941
|
+
kind: OverlayKind;
|
|
4942
|
+
/**
|
|
4943
|
+
* Voláno při Escape, když je tento overlay nejvyšší. Předejte prázdnou
|
|
4944
|
+
* funkci, pokud má overlay Escape pohltit bez zavření.
|
|
4945
|
+
*/
|
|
4946
|
+
onEscape?: () => void;
|
|
4947
|
+
/** DOM uzly, které se počítají jako "uvnitř" overlaye (trigger + panel). */
|
|
4948
|
+
getNodes?: () => (Element | null | undefined)[];
|
|
4949
|
+
/** Explicitní z-index; přepíše automatický výpočet. */
|
|
4950
|
+
zIndex?: number;
|
|
4951
|
+
/**
|
|
4952
|
+
* Pasivní vrstva (Tooltip): dostane z-index nad rodiče, ale nepočítá se do
|
|
4953
|
+
* `useOverlayState()` a nepohltí Escape.
|
|
4954
|
+
* @default false
|
|
4955
|
+
*/
|
|
4956
|
+
passive?: boolean;
|
|
4957
|
+
}
|
|
4958
|
+
interface UseOverlayResult {
|
|
4959
|
+
/** Identifikátor overlaye. */
|
|
4960
|
+
id: string;
|
|
4961
|
+
/** Vypočtený z-index (nad rodičem, nad vším otevřeným u modálních). */
|
|
4962
|
+
zIndex: number;
|
|
4963
|
+
/** Hodnota pro `<OverlayContext.Provider>` kolem obsahu overlaye. */
|
|
4964
|
+
contextValue: OverlayContextValue;
|
|
4965
|
+
/** Je `target` uvnitř tohoto overlaye nebo jeho potomků? */
|
|
4966
|
+
contains: (target: EventTarget | null) => boolean;
|
|
4967
|
+
}
|
|
4968
|
+
/**
|
|
4969
|
+
* Registruje overlay do sdíleného stacku. Použitelné i pro vlastní vrstvy
|
|
4970
|
+
* konzumenta (např. průvodce nad modalem), aby Escape nezavřel kit dialog pod ní.
|
|
4971
|
+
*
|
|
4972
|
+
* @example
|
|
4973
|
+
* ```tsx
|
|
4974
|
+
* const { zIndex, contextValue } = useOverlay({ open, kind: 'modal', onEscape: onClose });
|
|
4975
|
+
* return open ? createPortal(
|
|
4976
|
+
* <OverlayContext.Provider value={contextValue}>
|
|
4977
|
+
* <div style={{ position: 'fixed', inset: 0, zIndex }}>…</div>
|
|
4978
|
+
* </OverlayContext.Provider>, document.body) : null;
|
|
4979
|
+
* ```
|
|
4980
|
+
*/
|
|
4981
|
+
declare function useOverlay({ open, kind, onEscape, getNodes, zIndex: explicitZ, passive }: UseOverlayOptions): UseOverlayResult;
|
|
4982
|
+
interface OverlayState {
|
|
4983
|
+
/** Je otevřený alespoň jeden kit overlay? */
|
|
4984
|
+
open: boolean;
|
|
4985
|
+
/** Počet otevřených overlayů. */
|
|
4986
|
+
count: number;
|
|
4987
|
+
/** Druh nejvyššího overlaye. */
|
|
4988
|
+
topKind: OverlayKind | null;
|
|
4989
|
+
}
|
|
4990
|
+
/**
|
|
4991
|
+
* Stav sdíleného overlay stacku. Hodí se pro vypnutí globálních klávesových
|
|
4992
|
+
* zkratek, dokud je otevřený modal / dropdown.
|
|
4993
|
+
*
|
|
4994
|
+
* @example
|
|
4995
|
+
* ```tsx
|
|
4996
|
+
* const { open } = useOverlayState();
|
|
4997
|
+
* useHotkey('n', createTask, { enabled: !open });
|
|
4998
|
+
* ```
|
|
4999
|
+
*/
|
|
5000
|
+
declare function useOverlayState(): OverlayState;
|
|
5001
|
+
|
|
5002
|
+
/**
|
|
5003
|
+
* Vrací `true`, pokud má uživatel v systému zapnuté omezení animací
|
|
5004
|
+
* (`prefers-reduced-motion: reduce`). Kit pak animace overlayů vynechá.
|
|
5005
|
+
*/
|
|
5006
|
+
declare const useReducedMotion: () => boolean;
|
|
5007
|
+
|
|
5008
|
+
declare const colors: {
|
|
5009
|
+
readonly primary: "#FC4F00";
|
|
5010
|
+
readonly primaryHover: "#FF6D2A";
|
|
5011
|
+
readonly primaryAlpha: "rgba(246,84,14,0.8)";
|
|
5012
|
+
readonly error: "#EF3838";
|
|
5013
|
+
readonly success: "#00A205";
|
|
5014
|
+
readonly info: "#2D7FF9";
|
|
5015
|
+
readonly warning: "#F5A623";
|
|
5016
|
+
};
|
|
5017
|
+
declare const themeTokens: {
|
|
5018
|
+
readonly dark: {
|
|
5019
|
+
readonly background: "#1a1a1a";
|
|
5020
|
+
readonly surface: "rgba(24,24,24,0.95)";
|
|
5021
|
+
readonly surfaceGlass: "rgba(24,24,24,0.8)";
|
|
5022
|
+
readonly panelBg: "rgba(24,24,24,0.65)";
|
|
5023
|
+
readonly panelBorder: "rgba(255,255,255,0.1)";
|
|
5024
|
+
readonly inputBg: "rgba(3,3,3,0.75)";
|
|
5025
|
+
readonly inputBorder: "rgba(255,255,255,0.3)";
|
|
5026
|
+
readonly text: "#ffffff";
|
|
5027
|
+
readonly textSecondary: "#eaeaea";
|
|
5028
|
+
readonly textMuted: "#888888";
|
|
5029
|
+
readonly placeholder: "#ACACAC";
|
|
5030
|
+
readonly border: "rgba(255,255,255,0.1)";
|
|
5031
|
+
readonly divider: "rgba(255,255,255,0.08)";
|
|
5032
|
+
readonly hover: "rgba(255,255,255,0.06)";
|
|
5033
|
+
readonly overlay: "rgba(0,0,0,0.4)";
|
|
5034
|
+
};
|
|
5035
|
+
readonly light: {
|
|
5036
|
+
readonly background: "#ffffff";
|
|
5037
|
+
readonly surface: "rgba(255,255,255,0.95)";
|
|
5038
|
+
readonly surfaceGlass: "rgba(255,255,255,0.8)";
|
|
5039
|
+
readonly panelBg: "rgba(255,255,255,0.65)";
|
|
5040
|
+
readonly panelBorder: "rgba(0,0,0,0.08)";
|
|
5041
|
+
readonly inputBg: "rgba(255,255,255,0.85)";
|
|
5042
|
+
readonly inputBorder: "rgba(0,0,0,0.2)";
|
|
5043
|
+
readonly text: "#1a1a1a";
|
|
5044
|
+
readonly textSecondary: "#333333";
|
|
5045
|
+
readonly textMuted: "#999999";
|
|
5046
|
+
readonly placeholder: "#888888";
|
|
5047
|
+
readonly border: "rgba(0,0,0,0.08)";
|
|
5048
|
+
readonly divider: "rgba(0,0,0,0.06)";
|
|
5049
|
+
readonly hover: "rgba(0,0,0,0.04)";
|
|
5050
|
+
readonly overlay: "rgba(0,0,0,0.18)";
|
|
5051
|
+
};
|
|
5052
|
+
};
|
|
5053
|
+
declare const glass: {
|
|
5054
|
+
/** Dropdowny, popovery, tooltipy. */
|
|
5055
|
+
readonly blur: "blur(20px)";
|
|
5056
|
+
/** Modal, Drawer, Sheet, Spotlight (panely). */
|
|
5057
|
+
readonly panelBlur: "blur(32px) saturate(1.4)";
|
|
5058
|
+
/** Overlay pod panelem. */
|
|
5059
|
+
readonly backdropBlur: "blur(8px)";
|
|
5060
|
+
};
|
|
5061
|
+
declare const shadows: {
|
|
5062
|
+
readonly dark: {
|
|
5063
|
+
readonly elevated: "0 12px 40px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.04) inset";
|
|
5064
|
+
readonly high: "0 24px 60px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,255,255,0.04) inset";
|
|
5065
|
+
};
|
|
5066
|
+
readonly light: {
|
|
5067
|
+
readonly elevated: "0 12px 40px rgba(0,0,0,0.12), 0 0 0 1px rgba(0,0,0,0.03) inset";
|
|
5068
|
+
readonly high: "0 24px 60px rgba(0,0,0,0.15), 0 0 0 1px rgba(0,0,0,0.03) inset";
|
|
5069
|
+
};
|
|
5070
|
+
};
|
|
5071
|
+
declare const radius: {
|
|
5072
|
+
readonly tag: 4;
|
|
5073
|
+
readonly kbd: 6;
|
|
5074
|
+
readonly button: 8;
|
|
5075
|
+
readonly input: 8;
|
|
5076
|
+
readonly badge: 12;
|
|
5077
|
+
readonly card: 12;
|
|
5078
|
+
readonly dropdown: 12;
|
|
5079
|
+
readonly modal: 16;
|
|
5080
|
+
};
|
|
5081
|
+
declare const fonts: {
|
|
5082
|
+
readonly body: "'Zalando Sans', sans-serif";
|
|
5083
|
+
readonly heading: "'Zalando Sans Expanded', sans-serif";
|
|
5084
|
+
};
|
|
5085
|
+
/** Typografie popisku formulářového pole (uppercase label nad Input / Select…). */
|
|
5086
|
+
declare const fieldLabel: {
|
|
5087
|
+
readonly fontFamily: "'Zalando Sans Expanded', sans-serif";
|
|
5088
|
+
readonly fontStyle: "normal";
|
|
5089
|
+
readonly fontWeight: 400;
|
|
5090
|
+
readonly fontSize: "10px";
|
|
5091
|
+
readonly lineHeight: "normal";
|
|
5092
|
+
readonly textTransform: "uppercase";
|
|
5093
|
+
readonly userSelect: "none";
|
|
5094
|
+
};
|
|
5095
|
+
declare const animation: {
|
|
5096
|
+
readonly duration: 180;
|
|
5097
|
+
readonly easing: "cubic-bezier(0.16, 1, 0.3, 1)";
|
|
5098
|
+
readonly hover: "0.12s ease";
|
|
5099
|
+
};
|
|
5100
|
+
/**
|
|
5101
|
+
* Výchozí z-index škála. Skutečné hodnoty čtou komponenty z CSS proměnných
|
|
5102
|
+
* `--sm-ui-z-overlay`, `--sm-ui-z-popover`, `--sm-ui-z-toast`; tyto konstanty
|
|
5103
|
+
* jsou jejich fallbacky.
|
|
5104
|
+
*
|
|
5105
|
+
* Vnořené overlaye (Modal v Draweru, Select v Modalu…) dostávají z-index
|
|
5106
|
+
* `rodič + 1`, takže kit může nad základ vystoupat o počet současně otevřených
|
|
5107
|
+
* vrstev. Vlastní vrstvy nad kitem (mimo toasty) umisťujte nad `popover + 20`.
|
|
5108
|
+
*/
|
|
5109
|
+
declare const Z_INDEX: {
|
|
5110
|
+
readonly overlay: 99998;
|
|
5111
|
+
readonly popover: 99999;
|
|
5112
|
+
readonly toast: 100050;
|
|
5113
|
+
};
|
|
5114
|
+
type ZIndexKind = keyof typeof Z_INDEX;
|
|
5115
|
+
/** Přečte z-index základ z CSS proměnné (fallback `Z_INDEX`). */
|
|
5116
|
+
declare function getZIndexBase(kind: ZIndexKind): number;
|
|
5117
|
+
declare const tokens: {
|
|
5118
|
+
readonly colors: {
|
|
5119
|
+
readonly primary: "#FC4F00";
|
|
5120
|
+
readonly primaryHover: "#FF6D2A";
|
|
5121
|
+
readonly primaryAlpha: "rgba(246,84,14,0.8)";
|
|
5122
|
+
readonly error: "#EF3838";
|
|
5123
|
+
readonly success: "#00A205";
|
|
5124
|
+
readonly info: "#2D7FF9";
|
|
5125
|
+
readonly warning: "#F5A623";
|
|
5126
|
+
};
|
|
5127
|
+
readonly theme: {
|
|
5128
|
+
readonly dark: {
|
|
5129
|
+
readonly background: "#1a1a1a";
|
|
5130
|
+
readonly surface: "rgba(24,24,24,0.95)";
|
|
5131
|
+
readonly surfaceGlass: "rgba(24,24,24,0.8)";
|
|
5132
|
+
readonly panelBg: "rgba(24,24,24,0.65)";
|
|
5133
|
+
readonly panelBorder: "rgba(255,255,255,0.1)";
|
|
5134
|
+
readonly inputBg: "rgba(3,3,3,0.75)";
|
|
5135
|
+
readonly inputBorder: "rgba(255,255,255,0.3)";
|
|
5136
|
+
readonly text: "#ffffff";
|
|
5137
|
+
readonly textSecondary: "#eaeaea";
|
|
5138
|
+
readonly textMuted: "#888888";
|
|
5139
|
+
readonly placeholder: "#ACACAC";
|
|
5140
|
+
readonly border: "rgba(255,255,255,0.1)";
|
|
5141
|
+
readonly divider: "rgba(255,255,255,0.08)";
|
|
5142
|
+
readonly hover: "rgba(255,255,255,0.06)";
|
|
5143
|
+
readonly overlay: "rgba(0,0,0,0.4)";
|
|
5144
|
+
};
|
|
5145
|
+
readonly light: {
|
|
5146
|
+
readonly background: "#ffffff";
|
|
5147
|
+
readonly surface: "rgba(255,255,255,0.95)";
|
|
5148
|
+
readonly surfaceGlass: "rgba(255,255,255,0.8)";
|
|
5149
|
+
readonly panelBg: "rgba(255,255,255,0.65)";
|
|
5150
|
+
readonly panelBorder: "rgba(0,0,0,0.08)";
|
|
5151
|
+
readonly inputBg: "rgba(255,255,255,0.85)";
|
|
5152
|
+
readonly inputBorder: "rgba(0,0,0,0.2)";
|
|
5153
|
+
readonly text: "#1a1a1a";
|
|
5154
|
+
readonly textSecondary: "#333333";
|
|
5155
|
+
readonly textMuted: "#999999";
|
|
5156
|
+
readonly placeholder: "#888888";
|
|
5157
|
+
readonly border: "rgba(0,0,0,0.08)";
|
|
5158
|
+
readonly divider: "rgba(0,0,0,0.06)";
|
|
5159
|
+
readonly hover: "rgba(0,0,0,0.04)";
|
|
5160
|
+
readonly overlay: "rgba(0,0,0,0.18)";
|
|
5161
|
+
};
|
|
5162
|
+
};
|
|
5163
|
+
readonly glass: {
|
|
5164
|
+
/** Dropdowny, popovery, tooltipy. */
|
|
5165
|
+
readonly blur: "blur(20px)";
|
|
5166
|
+
/** Modal, Drawer, Sheet, Spotlight (panely). */
|
|
5167
|
+
readonly panelBlur: "blur(32px) saturate(1.4)";
|
|
5168
|
+
/** Overlay pod panelem. */
|
|
5169
|
+
readonly backdropBlur: "blur(8px)";
|
|
5170
|
+
};
|
|
5171
|
+
readonly shadows: {
|
|
5172
|
+
readonly dark: {
|
|
5173
|
+
readonly elevated: "0 12px 40px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.04) inset";
|
|
5174
|
+
readonly high: "0 24px 60px rgba(0,0,0,0.6), 0 0 0 1px rgba(255,255,255,0.04) inset";
|
|
5175
|
+
};
|
|
5176
|
+
readonly light: {
|
|
5177
|
+
readonly elevated: "0 12px 40px rgba(0,0,0,0.12), 0 0 0 1px rgba(0,0,0,0.03) inset";
|
|
5178
|
+
readonly high: "0 24px 60px rgba(0,0,0,0.15), 0 0 0 1px rgba(0,0,0,0.03) inset";
|
|
5179
|
+
};
|
|
5180
|
+
};
|
|
5181
|
+
readonly radius: {
|
|
5182
|
+
readonly tag: 4;
|
|
5183
|
+
readonly kbd: 6;
|
|
5184
|
+
readonly button: 8;
|
|
5185
|
+
readonly input: 8;
|
|
5186
|
+
readonly badge: 12;
|
|
5187
|
+
readonly card: 12;
|
|
5188
|
+
readonly dropdown: 12;
|
|
5189
|
+
readonly modal: 16;
|
|
5190
|
+
};
|
|
5191
|
+
readonly fonts: {
|
|
5192
|
+
readonly body: "'Zalando Sans', sans-serif";
|
|
5193
|
+
readonly heading: "'Zalando Sans Expanded', sans-serif";
|
|
5194
|
+
};
|
|
5195
|
+
readonly fieldLabel: {
|
|
5196
|
+
readonly fontFamily: "'Zalando Sans Expanded', sans-serif";
|
|
5197
|
+
readonly fontStyle: "normal";
|
|
5198
|
+
readonly fontWeight: 400;
|
|
5199
|
+
readonly fontSize: "10px";
|
|
5200
|
+
readonly lineHeight: "normal";
|
|
5201
|
+
readonly textTransform: "uppercase";
|
|
5202
|
+
readonly userSelect: "none";
|
|
5203
|
+
};
|
|
5204
|
+
readonly animation: {
|
|
5205
|
+
readonly duration: 180;
|
|
5206
|
+
readonly easing: "cubic-bezier(0.16, 1, 0.3, 1)";
|
|
5207
|
+
readonly hover: "0.12s ease";
|
|
5208
|
+
};
|
|
5209
|
+
readonly zIndex: {
|
|
5210
|
+
readonly overlay: 99998;
|
|
5211
|
+
readonly popover: 99999;
|
|
5212
|
+
readonly toast: 100050;
|
|
5213
|
+
};
|
|
5214
|
+
};
|
|
5215
|
+
|
|
5216
|
+
export { Accordion, AccordionItem, type AccordionItemProps, type AccordionProps, Alert, type AlertProps, type AlertVariant, AppSidebar, type AppSidebarProps, AreaChart, Avatar, type AvatarProps, type AvatarSize, AvatarStack, type AvatarStackProps, Badge, type BadgeProps, type BadgeSize, type BadgeVariant, Banner, type BannerPosition, type BannerProps, type BannerVariant, BarChart, type BarChartProps, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, Button, type ButtonAsAnchorProps, type ButtonAsButtonProps, type ButtonIconPosition, type ButtonProps, type ButtonSize, type ButtonVariant, CHART_PALETTE, Calendar, type CalendarEvent, type CalendarProps, Card, type CardProps, type ChartSeries, Checkbox, CheckboxGroup, type CheckboxGroupProps, type CheckboxProps, type CheckboxSize, ColorPicker, type ColorPickerProps, Combobox, type ComboboxFilter, type ComboboxMultipleProps, type ComboboxOption, type ComboboxProps, type ComboboxSingleClearableProps, type ComboboxSingleProps, type ComboboxSize, type ComboboxValue, type CommandGroup, type CommandItem, CommandMenu, type CommandMenuProps, type ConfirmContent, type ConfirmContentContext, ConfirmDialog, type ConfirmDialogProps, type ConfirmOptions, ConfirmProvider, Container, type ContainerMaxWidth, type ContainerProps, CopyButton, type CopyButtonProps, type Country, type CropArea, type CropShape, DataGrid, type DataGridColumn, type DataGridProps, DataList, type DataListItem, type DataListProps, DatePicker, DatePickerGroup, type DatePickerGroupProps, type DatePickerProps, type DatePickerSize, Divider, type DividerOrientation, type DividerProps, DonutChart, type DragHandleProps, DragList, type DragListItem, type DragListProps, type DragListSize, Drawer, type DrawerProps, DropdownMenu, type DropdownMenuItem, type DropdownMenuPosition, type DropdownMenuProps, EmptyState, type EmptyStatePreset, type EmptyStateProps, FieldLabel, type FieldLabelProps, FileUpload, type FileUploadProps, type FocusTrapInitialFocus, FormField, type FormFieldProps, FormWizard, type FormWizardProps, type FormWizardStep, IconButton, type IconButtonProps, ImageCropper, type ImageCropperProps, Input, InputGroup, type InputGroupProps, type InputProps, type InputSize, type InputVariant, type LegendPosition, LineChart, type LineChartProps, Link, type LinkProps, type LinkVariant, MobileDataCard, type MobileDataCardColumn, type MobileDataCardProps, Modal, type ModalBreakpoint, type ModalProps, Navbar, type NavbarProps, Notification, type NotificationProps, type NotificationVariant, NumberInput, type NumberInputEmptyProps, type NumberInputProps, type NumberInputSize, type NumberInputStrictProps, type NumberInputVariant, OTPInput, type OTPInputProps, OverlayContext, type OverlayContextValue, type OverlayKind, type OverlayState, Pagination, type PaginationProps, PhoneInput, type PhoneInputProps, type PhoneInputSize, PieChart, type PieChartProps, type PieDatum, Popover, type PopoverAlign, type PopoverPosition, type PopoverProps, ProgressBar, type ProgressBarProps, type ProgressBarSize, ProgressCircle, type ProgressCircleProps, type ProgressThreshold, type ProgressVariant, Radio, RadioGroup, type RadioGroupOption, type RadioGroupProps, type RadioProps, type RadioSize, Rating, type RatingProps, type RatingSize, SegmentedControl, type SegmentedControlItem, type SegmentedControlProps, type SegmentedControlSize, Select, SelectGroup, type SelectGroupProps, type SelectMultipleProps, type SelectOption, type SelectOptionGroup, type SelectOptions, type SelectProps, type SelectSingleClearableProps, type SelectSingleProps, type SelectSize, type SelectValue, Sheet, type SheetProps, SidebarItem, type SidebarItemProps, Skeleton, type SkeletonProps, Slider, type SliderProps, type SliderSize, SortableList, type SortableListProps, Sparkline, type SparklineProps, Spinner, type SpinnerProps, type SpinnerSize, Splitter, type SplitterProps, Spotlight, type SpotlightItem, type SpotlightProps, Stack, type StackAlign, type StackDirection, type StackJustify, type StackProps, Stat, type StatProps, StatusBadge, type StatusBadgeProps, type StatusBadgeStatus, type StepItem, Stepper, type StepperProps, Switch, type SwitchProps, type SwitchSize, Tab, TabPanel, type TabPanelProps, type TabProps, Table, type TableColumn, type TableProps, Tabs, type TabsProps, Tag, TagItem, type TagItemProps, type TagProps, Textarea, type TextareaProps, type TextareaResize, type TextareaSize, type Theme, type ThemedColor, Timeline, type TimelineItem, type TimelineProps, Toast, type ToastContextValue, type ToastOptions, type ToastPosition, type ToastProps, type ToastVariant, ToasterProvider, type ToasterProviderProps, Tooltip, type TooltipProps, Tree, type TreeNode, type TreeProps, type UploadedFile, type UseFocusTrapOptions, type UseOverlayOptions, type UseOverlayResult, type ZIndexKind, Z_INDEX, animation, colors, fieldLabel, fonts, getZIndexBase, glass, isInsideOverlayTree, radius, shadows, themeTokens, tokens, useConfirm, useFocusTrap, useOverlay, useOverlayContext, useOverlayState, useReducedMotion, useTheme, useToast };
|