@dxc-technology/halstack-react 0.0.0-d4fec82 → 0.0.0-d53af68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/README.md +46 -0
  2. package/dist/index.d.mts +3941 -0
  3. package/dist/index.d.ts +3941 -0
  4. package/dist/index.js +14233 -0
  5. package/dist/index.mjs +14145 -0
  6. package/package.json +86 -69
  7. package/BackgroundColorContext.js +0 -50
  8. package/ThemeContext.js +0 -246
  9. package/V3Select/V3Select.js +0 -455
  10. package/V3Select/index.d.ts +0 -27
  11. package/V3Textarea/V3Textarea.js +0 -260
  12. package/V3Textarea/index.d.ts +0 -27
  13. package/accordion/Accordion.d.ts +0 -4
  14. package/accordion/Accordion.js +0 -258
  15. package/accordion/types.d.ts +0 -68
  16. package/accordion/types.js +0 -5
  17. package/accordion-group/AccordionGroup.d.ts +0 -7
  18. package/accordion-group/AccordionGroup.js +0 -170
  19. package/accordion-group/types.d.ts +0 -72
  20. package/accordion-group/types.js +0 -5
  21. package/alert/Alert.d.ts +0 -4
  22. package/alert/Alert.js +0 -290
  23. package/alert/types.d.ts +0 -49
  24. package/alert/types.js +0 -5
  25. package/badge/Badge.js +0 -59
  26. package/box/Box.js +0 -152
  27. package/box/Box.stories.jsx +0 -132
  28. package/box/index.d.ts +0 -25
  29. package/button/Button.d.ts +0 -4
  30. package/button/Button.js +0 -182
  31. package/button/Button.stories.tsx +0 -293
  32. package/button/types.d.ts +0 -57
  33. package/button/types.js +0 -5
  34. package/card/Card.d.ts +0 -4
  35. package/card/Card.js +0 -165
  36. package/card/types.d.ts +0 -69
  37. package/card/types.js +0 -5
  38. package/checkbox/Checkbox.d.ts +0 -4
  39. package/checkbox/Checkbox.js +0 -253
  40. package/checkbox/types.d.ts +0 -60
  41. package/checkbox/types.js +0 -5
  42. package/chip/Chip.js +0 -221
  43. package/chip/index.d.ts +0 -22
  44. package/common/OpenSans.css +0 -81
  45. package/common/RequiredComponent.js +0 -32
  46. package/common/fonts/OpenSans-Bold.ttf +0 -0
  47. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  48. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  49. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  50. package/common/fonts/OpenSans-Italic.ttf +0 -0
  51. package/common/fonts/OpenSans-Light.ttf +0 -0
  52. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  53. package/common/fonts/OpenSans-Regular.ttf +0 -0
  54. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  55. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  56. package/common/utils.js +0 -22
  57. package/common/variables.js +0 -1569
  58. package/date/Date.js +0 -373
  59. package/date/index.d.ts +0 -27
  60. package/date-input/DateInput.d.ts +0 -4
  61. package/date-input/DateInput.js +0 -361
  62. package/date-input/types.d.ts +0 -100
  63. package/date-input/types.js +0 -5
  64. package/dialog/Dialog.js +0 -184
  65. package/dialog/index.d.ts +0 -18
  66. package/dropdown/Dropdown.d.ts +0 -4
  67. package/dropdown/Dropdown.js +0 -417
  68. package/dropdown/types.d.ts +0 -89
  69. package/dropdown/types.js +0 -5
  70. package/file-input/FileInput.js +0 -532
  71. package/file-input/FileItem.js +0 -193
  72. package/file-input/index.d.ts +0 -81
  73. package/footer/Footer.d.ts +0 -4
  74. package/footer/Footer.js +0 -266
  75. package/footer/Icons.js +0 -77
  76. package/footer/types.d.ts +0 -61
  77. package/footer/types.js +0 -5
  78. package/header/Header.js +0 -326
  79. package/header/Icons.js +0 -59
  80. package/header/index.d.ts +0 -25
  81. package/heading/Heading.js +0 -176
  82. package/heading/index.d.ts +0 -17
  83. package/input-text/Icons.js +0 -22
  84. package/input-text/InputText.js +0 -611
  85. package/input-text/index.d.ts +0 -36
  86. package/layout/ApplicationLayout.js +0 -235
  87. package/layout/Icons.js +0 -55
  88. package/link/Link.js +0 -183
  89. package/link/index.d.ts +0 -23
  90. package/main.d.ts +0 -44
  91. package/main.js +0 -363
  92. package/number-input/NumberInput.js +0 -128
  93. package/number-input/NumberInput.stories.jsx +0 -115
  94. package/number-input/NumberInputContext.js +0 -16
  95. package/number-input/index.d.ts +0 -113
  96. package/paginator/Icons.js +0 -66
  97. package/paginator/Paginator.d.ts +0 -4
  98. package/paginator/Paginator.js +0 -198
  99. package/paginator/types.d.ts +0 -38
  100. package/paginator/types.js +0 -5
  101. package/password-input/PasswordInput.js +0 -199
  102. package/password-input/PasswordInput.stories.jsx +0 -131
  103. package/password-input/index.d.ts +0 -94
  104. package/progress-bar/ProgressBar.d.ts +0 -4
  105. package/progress-bar/ProgressBar.js +0 -170
  106. package/progress-bar/types.d.ts +0 -37
  107. package/progress-bar/types.js +0 -5
  108. package/radio/Radio.d.ts +0 -4
  109. package/radio/Radio.js +0 -174
  110. package/radio/types.d.ts +0 -54
  111. package/radio/types.js +0 -5
  112. package/resultsetTable/ResultsetTable.js +0 -274
  113. package/resultsetTable/index.d.ts +0 -19
  114. package/select/Select.js +0 -865
  115. package/select/index.d.ts +0 -131
  116. package/sidenav/Sidenav.js +0 -145
  117. package/sidenav/index.d.ts +0 -13
  118. package/slider/Slider.d.ts +0 -4
  119. package/slider/Slider.js +0 -306
  120. package/slider/types.d.ts +0 -83
  121. package/slider/types.js +0 -5
  122. package/spinner/Spinner.js +0 -267
  123. package/spinner/index.d.ts +0 -17
  124. package/switch/Switch.d.ts +0 -4
  125. package/switch/Switch.js +0 -179
  126. package/switch/types.d.ts +0 -58
  127. package/switch/types.js +0 -5
  128. package/table/Table.js +0 -118
  129. package/table/index.d.ts +0 -13
  130. package/tabs/Tabs.d.ts +0 -4
  131. package/tabs/Tabs.js +0 -211
  132. package/tabs/types.d.ts +0 -71
  133. package/tabs/types.js +0 -5
  134. package/tag/Tag.js +0 -208
  135. package/tag/index.d.ts +0 -24
  136. package/text-input/TextInput.js +0 -825
  137. package/text-input/index.d.ts +0 -135
  138. package/textarea/Textarea.js +0 -317
  139. package/textarea/Textarea.stories.jsx +0 -135
  140. package/textarea/index.d.ts +0 -117
  141. package/toggle/Toggle.js +0 -186
  142. package/toggle/index.d.ts +0 -21
  143. package/toggle-group/ToggleGroup.js +0 -243
  144. package/toggle-group/index.d.ts +0 -21
  145. package/upload/Upload.js +0 -201
  146. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  147. package/upload/buttons-upload/Icons.js +0 -40
  148. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  149. package/upload/dragAndDropArea/Icons.js +0 -39
  150. package/upload/file-upload/FileToUpload.js +0 -115
  151. package/upload/file-upload/Icons.js +0 -66
  152. package/upload/files-upload/FilesToUpload.js +0 -109
  153. package/upload/index.d.ts +0 -15
  154. package/upload/transaction/Icons.js +0 -160
  155. package/upload/transaction/Transaction.js +0 -104
  156. package/upload/transactions/Transactions.js +0 -94
  157. package/useTheme.js +0 -22
  158. package/wizard/Icons.js +0 -65
  159. package/wizard/Wizard.js +0 -271
  160. package/wizard/index.d.ts +0 -18
@@ -0,0 +1,3941 @@
1
+ import * as react from 'react';
2
+ import { ReactNode, SVGProps, ReactElement, MouseEvent, ReactEventHandler } from 'react';
3
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
+ import { SortColumn } from 'react-data-grid';
5
+ import * as _emotion_styled from '@emotion/styled';
6
+ import * as _emotion_react from '@emotion/react';
7
+
8
+ type Space$1 = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
9
+ type Margin = {
10
+ top?: Space$1;
11
+ bottom?: Space$1;
12
+ left?: Space$1;
13
+ right?: Space$1;
14
+ };
15
+ type SVG = ReactNode & SVGProps<SVGSVGElement>;
16
+
17
+ type AccordionItemProps = {
18
+ /**
19
+ * The panel label.
20
+ */
21
+ label: string;
22
+ /**
23
+ * Additional info label positioned under the label.
24
+ */
25
+ subLabel?: string;
26
+ /**
27
+ * Badge component to add extra value to the accordion.
28
+ */
29
+ badge?: {
30
+ position: "before" | "after";
31
+ element: ReactNode;
32
+ };
33
+ /**
34
+ * Status light component to add extra value to the accordion.
35
+ */
36
+ statusLight?: ReactNode;
37
+ /**
38
+ * Material Symbol name or SVG element used as the icon that will be
39
+ * placed next to panel label. When using Material Symbols, replace spaces with underscores.
40
+ * By default they are outlined if you want it to be filled
41
+ * prefix the symbol name with "filled_".
42
+ */
43
+ icon?: string | SVG;
44
+ /**
45
+ * Assistive text to be placed on the right side of the panel.
46
+ */
47
+ assistiveText?: string;
48
+ /**
49
+ * If true, the component will be disabled.
50
+ */
51
+ disabled?: boolean;
52
+ /**
53
+ * The expanded panel of the accordion. This area can be used to render
54
+ * custom content.
55
+ */
56
+ children: ReactNode;
57
+ /**
58
+ * Value of the tabindex attribute.
59
+ */
60
+ tabIndex?: number;
61
+ };
62
+ type CommonProps$9 = {
63
+ /**
64
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
65
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
66
+ */
67
+ margin?: Space$1 | Margin;
68
+ /**
69
+ * Contains one or more accordion items.
70
+ */
71
+ children: ReactElement<AccordionItemProps>[] | ReactElement<AccordionItemProps>;
72
+ };
73
+ type IndependentProps = CommonProps$9 & {
74
+ /**
75
+ * When true, limits the user to single-open section at a time. When false, multiple sections can be opened simultaneously.
76
+ */
77
+ independent: true;
78
+ /**
79
+ * Initially active accordion, only when it is uncontrolled.If the accordion is not independent,
80
+ * several accordions can be activated by default.
81
+ */
82
+ defaultIndexActive?: number;
83
+ /**
84
+ * The index of the active accordion. If undefined, the component will be uncontrolled and the active
85
+ * accordion will be managed internally by the component. If null, the component will be controlled and all
86
+ * accordions will be closed. If the accordion is not independent, several accordions can be activated.
87
+ */
88
+ indexActive?: number;
89
+ /**
90
+ * This function will be called when the user clicks on an accordion. The index of the clicked accordion will be passed as a parameter.
91
+ */
92
+ onActiveChange?: (index: number) => void;
93
+ };
94
+ type NonIndependentProps = CommonProps$9 & {
95
+ /**
96
+ * When true, limits the user to single-open section at a time. When false, multiple sections can be opened simultaneously.
97
+ */
98
+ independent?: false;
99
+ /**
100
+ * Initially active accordion, only when it is uncontrolled. If the accordion is not independent,
101
+ * several accordions can be activated by default.
102
+ */
103
+ defaultIndexActive?: number[];
104
+ /**
105
+ * The index of the active accordion. If undefined, the component will be uncontrolled and the active
106
+ * accordion will be managed internally by the component. If null, the component will be controlled and all
107
+ * accordions will be closed. If the accordion is not independent, several accordions can be activated.
108
+ */
109
+ indexActive?: number[];
110
+ /**
111
+ * This function will be called when the user clicks on an accordion. The index of the clicked accordion will be passed as a parameter.
112
+ */
113
+ onActiveChange?: (index: number[]) => void;
114
+ };
115
+ type Props$K = IndependentProps | NonIndependentProps;
116
+
117
+ declare const DxcAccordion: {
118
+ (props: Props$K): JSX.Element;
119
+ AccordionItem: ({ label, subLabel, badge, statusLight, icon, assistiveText, disabled, children, tabIndex, }: AccordionItemProps) => JSX.Element;
120
+ };
121
+
122
+ type Action$2 = {
123
+ /**
124
+ * The icon of the action. It can be a string with the name of the icon or an SVG component.
125
+ */
126
+ icon?: string | SVG;
127
+ /**
128
+ * The label of the action.
129
+ */
130
+ label: string;
131
+ /**
132
+ * The function that will be executed when the user clicks on the action button.
133
+ */
134
+ onClick: () => void;
135
+ };
136
+ type Message = {
137
+ /**
138
+ * The function that will be executed when the user clicks on the close action button.
139
+ */
140
+ onClose?: () => void;
141
+ /**
142
+ * The content of the message. The only Halstack component allowed within the text of an alert is the Link component,
143
+ * and it should be used exclusively to direct users to additional resources or relevant pages.
144
+ * No other components are permitted within the content of an alert.
145
+ */
146
+ text: ReactNode;
147
+ };
148
+ type CommonProps$8 = {
149
+ /**
150
+ * If true, the alert will have a close button that will remove the message from the alert,
151
+ * only in banner and inline modes. The rest of the functionality will depend
152
+ * on the onClose event of each message (e.g. closing the modal alert).
153
+ */
154
+ closable?: boolean;
155
+ /**
156
+ * Primary action of the alert.
157
+ */
158
+ primaryAction?: Action$2;
159
+ /**
160
+ * Secondary action of the alert.
161
+ */
162
+ secondaryAction?: Action$2;
163
+ /**
164
+ * Specifies the semantic meaning of the alert.
165
+ */
166
+ semantic?: "error" | "info" | "success" | "warning";
167
+ /**
168
+ * Title of the alert.
169
+ */
170
+ title: string;
171
+ };
172
+ type ModeSpecificProps = {
173
+ /**
174
+ * List of messages to be displayed. Each message has a close action that will,
175
+ * apart from remove from the alert the current message, call the onClose if it is defined.
176
+ * If the message is an array, the alert will show a navigation bar to move between the messages.
177
+ * The modal mode only allows one message per alert. In this case, the message must be an object
178
+ * and the presence of the onClose attribute is mandatory, since the management of the closing
179
+ * of the alert relies completely on the user.
180
+ */
181
+ message?: Message | Message[];
182
+ /**
183
+ * The mode of the alert.
184
+ */
185
+ mode?: "inline" | "banner";
186
+ } | {
187
+ /**
188
+ * List of messages to be displayed. Each message has a close action that will,
189
+ * apart from remove from the alert the current message, call the onClose if it is defined.
190
+ * If the message is an array, the alert will show a navigation bar to move between the messages.
191
+ * The modal mode only allows one message per alert. In this case, the message must be an object
192
+ * and the presence of the onClose attribute is mandatory, since the management of the closing
193
+ * of the alert relies completely on the user.
194
+ */
195
+ message: Required<Message>;
196
+ /**
197
+ * The mode of the alert.
198
+ */
199
+ mode: "modal";
200
+ };
201
+ type Props$J = CommonProps$8 & ModeSpecificProps;
202
+
203
+ declare const DxcAlert: ({ closable, message, mode, primaryAction, secondaryAction, semantic, title, }: Props$J) => react_jsx_runtime.JSX.Element;
204
+
205
+ type Logo$2 = {
206
+ /**
207
+ * Alternative text for the logo image.
208
+ */
209
+ alt: string;
210
+ /**
211
+ * URL to navigate when the logo is clicked.
212
+ */
213
+ href?: string;
214
+ /**
215
+ * URL to navigate to when the logo is clicked. If not provided, the logo will not be clickable.
216
+ */
217
+ onClick?: (event: MouseEvent<HTMLDivElement>) => void;
218
+ /**
219
+ * URL of the image that will be placed in the logo.
220
+ */
221
+ src: string;
222
+ };
223
+ type Section$1 = {
224
+ items: (Item$2 | GroupItem$1)[];
225
+ title?: string;
226
+ };
227
+ type Props$I = {
228
+ /**
229
+ * The content rendered in the bottom part of the sidenav, under the navigation menu.
230
+ */
231
+ bottomContent?: ReactNode;
232
+ /**
233
+ * Object with the properties of the branding placed at the top of the sidenav.
234
+ */
235
+ branding?: {
236
+ logo?: Logo$2;
237
+ appTitle?: string;
238
+ } | ReactNode;
239
+ /**
240
+ * Initial state of the expansion of the sidenav, only when it is uncontrolled.
241
+ */
242
+ defaultExpanded?: boolean;
243
+ /**
244
+ * If true the nav menu will have lines marking the groups.
245
+ */
246
+ displayGroupLines?: boolean;
247
+ /**
248
+ * If true, the sidenav is expanded.
249
+ * If undefined the component will be uncontrolled and the value will be managed internally by the component.
250
+ */
251
+ expanded?: boolean;
252
+ /**
253
+ * Array of items to be displayed in the navigation menu.
254
+ * Each item can be a single/simple item, a group item or a section.
255
+ */
256
+ navItems?: (Item$2 | GroupItem$1)[] | Section$1[];
257
+ /**
258
+ * Function called when the expansion state of the sidenav changes.
259
+ */
260
+ onExpandedChange?: (value: boolean) => void;
261
+ /**
262
+ * The additional content rendered in the upper part of the sidenav, under the branding.
263
+ */
264
+ topContent?: ReactNode;
265
+ };
266
+ type CommonItemProps$1 = {
267
+ badge?: ReactElement;
268
+ icon?: string | SVG;
269
+ label: string;
270
+ };
271
+ type Item$2 = CommonItemProps$1 & {
272
+ onSelect?: () => void;
273
+ selected?: boolean;
274
+ };
275
+ type GroupItem$1 = CommonItemProps$1 & {
276
+ items: (Item$2 | GroupItem$1)[];
277
+ };
278
+
279
+ type Size$5 = "small" | "medium" | "large" | "fillParent" | "fitContent";
280
+ type Option$2 = {
281
+ /**
282
+ * Option display value.
283
+ */
284
+ label?: string;
285
+ /**
286
+ * Material Symbol name or SVG element as the icon that will be placed next to the label.
287
+ */
288
+ icon?: string | SVG;
289
+ /**
290
+ * Option inner value.
291
+ */
292
+ value: string;
293
+ };
294
+ type Props$H = {
295
+ /**
296
+ * An array of objects representing the options.
297
+ */
298
+ options: Option$2[];
299
+ /**
300
+ * In case options include icons, whether the icon should appear
301
+ * after or before the label.
302
+ */
303
+ optionsIconPosition?: "before" | "after";
304
+ /**
305
+ * Material Symbol name or SVG element as the icon that will be placed next to the label.
306
+ */
307
+ icon?: string | SVG;
308
+ /**
309
+ * Whether the icon should appear after or before the label.
310
+ */
311
+ iconPosition?: "before" | "after";
312
+ /**
313
+ * Text to be placed within the dropdown.
314
+ */
315
+ label?: string;
316
+ /**
317
+ * Whether the arrow next to the label must be displayed or not.
318
+ */
319
+ caretHidden?: boolean;
320
+ /**
321
+ * If true, the component will be disabled.
322
+ */
323
+ disabled?: boolean;
324
+ /**
325
+ * If true, the options are shown when the dropdown is hover.
326
+ */
327
+ expandOnHover?: boolean;
328
+ /**
329
+ * This function will be called every time the selection changes.
330
+ * The value of the selected option will be passed as a parameter.
331
+ */
332
+ onSelectOption: (value: string) => void;
333
+ /**
334
+ * Size of the margin to be applied to the component.
335
+ * You can pass an object with 'top', 'bottom', 'left' and 'right'
336
+ * properties in order to specify different margin sizes.
337
+ */
338
+ margin?: Space$1 | Margin;
339
+ /**
340
+ * Size of the component.
341
+ */
342
+ size?: Size$5;
343
+ /**
344
+ * Value of the tabindex attribute.
345
+ */
346
+ tabIndex?: number;
347
+ /**
348
+ * Text representing advisory information related to the dropdown's trigger action.
349
+ * Under the hood, this prop also serves as an accessible label for the component.
350
+ */
351
+ title?: string;
352
+ };
353
+
354
+ type Logo$1 = {
355
+ /**
356
+ * URL to navigate when the logo is clicked.
357
+ */
358
+ href?: string;
359
+ /**
360
+ * Source of the logo image.
361
+ */
362
+ src: string;
363
+ /**
364
+ * Alternative text for the logo image.
365
+ */
366
+ title?: string;
367
+ };
368
+ type Props$G = {
369
+ /**
370
+ * Whether a contrast line should appear at the bottom of the header.
371
+ */
372
+ underlined?: boolean;
373
+ /**
374
+ * Content shown in the header. Take into account that the component applies styles
375
+ * for the first child in the content, so we recommend the use of Fragment
376
+ * to be applied correctly. Otherwise, the styles can be modified.
377
+ */
378
+ content?: ReactNode;
379
+ /**
380
+ * Content shown in responsive version. It receives the close menu handler that can
381
+ * be used to add that functionality when a element is clicked.
382
+ */
383
+ responsiveContent?: (closeHandler: () => void) => ReactNode;
384
+ /**
385
+ * Logo to be displayed inside the header
386
+ */
387
+ logo?: Logo$1;
388
+ /**
389
+ * Size of the bottom margin to be applied to the header.
390
+ */
391
+ margin?: Space$1;
392
+ /**
393
+ * This function will be called when the user clicks the header logo.
394
+ */
395
+ onClick?: () => void;
396
+ /**
397
+ * Value of the tabindex for all interactive elements, except those inside the
398
+ * custom area.
399
+ */
400
+ tabIndex?: number;
401
+ };
402
+
403
+ type SocialLink = {
404
+ /**
405
+ * URL of the page the link goes to.
406
+ */
407
+ href: string;
408
+ /**
409
+ * Material Symbol name or SVG element as the icon used for the link.
410
+ */
411
+ logo: string | SVG;
412
+ /**
413
+ * Value for the HTML properties title and aria-label.
414
+ */
415
+ title: string;
416
+ };
417
+ type BottomLink = {
418
+ /**
419
+ * URL of the page the link goes to.
420
+ */
421
+ href: string;
422
+ /**
423
+ * Text for the link.
424
+ */
425
+ text: string;
426
+ };
427
+ type Logo = {
428
+ /**
429
+ * URL to navigate when the logo is clicked.
430
+ */
431
+ href?: string;
432
+ /**
433
+ * Source of the logo image.
434
+ */
435
+ src: string;
436
+ /**
437
+ * Alternative text for the logo image.
438
+ */
439
+ title?: string;
440
+ };
441
+ type FooterPropsType = {
442
+ /**
443
+ * An array of objects representing the links that will be rendered at
444
+ * the bottom part of the footer.
445
+ */
446
+ bottomLinks?: BottomLink[];
447
+ /**
448
+ * The center section of the footer. Can be used to render custom
449
+ * content in this area.
450
+ */
451
+ children?: ReactNode;
452
+ /**
453
+ * The text that will be displayed as copyright disclaimer.
454
+ */
455
+ copyright?: string;
456
+ /**
457
+ * Logo to be displayed inside the footer
458
+ */
459
+ logo?: Logo;
460
+ /**
461
+ * Size of the top margin to be applied to the footer.
462
+ */
463
+ margin?: Space$1;
464
+ /**
465
+ * Determines the visual style and layout
466
+ * - "default": The default mode with full content and styling.
467
+ * - "reduced": A reduced mode with minimal content and styling.
468
+ */
469
+ mode?: "default" | "reduced";
470
+ /**
471
+ * An array of objects representing the links that will be rendered as
472
+ * icons at the top-right side of the footer.
473
+ */
474
+ socialLinks?: SocialLink[];
475
+ /**
476
+ * Value of the tabindex for all interactive elements, except those
477
+ * inside the custom area.
478
+ */
479
+ tabIndex?: number;
480
+ };
481
+
482
+ type AppLayoutMainPropsType = {
483
+ /**
484
+ * Everything between the tags will be displayed as the content of the main part of the application.
485
+ */
486
+ children: ReactNode;
487
+ };
488
+ type ApplicationLayoutPropsType = {
489
+ /**
490
+ * Header content.
491
+ */
492
+ header?: ReactNode;
493
+ /**
494
+ * Sidenav content
495
+ */
496
+ sidenav?: ReactNode;
497
+ /**
498
+ * Footer content
499
+ */
500
+ footer?: ReactNode;
501
+ /**
502
+ * Use the DxcApplicationLayout.Main provided to render main content.
503
+ */
504
+ children: ReactElement<AppLayoutMainPropsType>;
505
+ };
506
+
507
+ declare const DxcApplicationLayout: {
508
+ ({ header, sidenav, footer, children }: ApplicationLayoutPropsType): JSX.Element;
509
+ Footer: ({ bottomLinks, children, copyright, logo, margin, mode, socialLinks, tabIndex, }: FooterPropsType) => JSX.Element;
510
+ Header: {
511
+ ({ underlined, content, responsiveContent, logo, margin, onClick, tabIndex, }: Props$G): JSX.Element;
512
+ Dropdown: (props: react.ComponentProps<({ options, optionsIconPosition, icon, iconPosition, label, caretHidden, disabled, expandOnHover, onSelectOption, margin, size, tabIndex, title, }: Props$H) => react_jsx_runtime.JSX.Element>) => react_jsx_runtime.JSX.Element;
513
+ };
514
+ Main: ({ children }: AppLayoutMainPropsType) => JSX.Element;
515
+ Sidenav: ({ topContent, bottomContent, navItems, branding, displayGroupLines, expanded, defaultExpanded, onExpandedChange, }: Props$I) => JSX.Element;
516
+ };
517
+
518
+ type Size$4 = "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
519
+ type Shape = "circle" | "square";
520
+ type Color = "primary" | "secondary" | "tertiary" | "success" | "info" | "neutral" | "warning" | "error";
521
+ interface Status {
522
+ mode: "default" | "info" | "success" | "warning" | "error";
523
+ position: "top" | "bottom";
524
+ }
525
+ type Props$F = {
526
+ /**
527
+ * Affects the visual style of the avatar. It can be used following semantic purposes or not.
528
+ */
529
+ color?: Color;
530
+ /**
531
+ * If true, the component will be disabled.
532
+ */
533
+ disabled?: boolean;
534
+ /**
535
+ * Material Symbol name or SVG element as the icon that will be placed as avatar.
536
+ */
537
+ icon?: string | SVG;
538
+ /**
539
+ * URL of the image.
540
+ */
541
+ imageSrc?: string;
542
+ /**
543
+ * Text label associated with the avatar.
544
+ * Used to generate and display initials inside the avatar.
545
+ */
546
+ label?: string;
547
+ /**
548
+ * Page to be opened when the user clicks on the link.
549
+ */
550
+ linkHref?: string;
551
+ /**
552
+ * This function will be called when the user clicks the avatar. Makes it behave as a button.
553
+ */
554
+ onClick?: () => void;
555
+ /**
556
+ * Text to be displayed as label next to the avatar.
557
+ */
558
+ primaryText?: string;
559
+ /**
560
+ * Text to be displayed as sublabel next to the avatar.
561
+ */
562
+ secondaryText?: string;
563
+ /**
564
+ * This will determine if the avatar will be rounded square or a circle.
565
+ */
566
+ shape?: Shape;
567
+ /**
568
+ * Size of the component.
569
+ */
570
+ size?: Size$4;
571
+ /**
572
+ * Defines the color of the status indicator displayed on the avatar and where it will be placed.
573
+ * If not provided, no indicator will be rendered.
574
+ */
575
+ status?: Status;
576
+ /**
577
+ * Value of the tabindex attribute. It will only apply when the onClick property is passed.
578
+ */
579
+ tabIndex?: number;
580
+ /**
581
+ * Text to be displayed inside a tooltip when hovering the avatar.
582
+ */
583
+ title?: string;
584
+ };
585
+
586
+ declare const DxcAvatar: react.MemoExoticComponent<({ color, disabled, icon, imageSrc, label, linkHref, onClick, primaryText, secondaryText, shape, size, status, tabIndex, title, }: Props$F) => react_jsx_runtime.JSX.Element>;
587
+
588
+ type ContextualProps = {
589
+ /**
590
+ * Text to be placed in the badge.
591
+ */
592
+ label: string;
593
+ /**
594
+ * The available badge modes.
595
+ */
596
+ mode?: "contextual";
597
+ /**
598
+ * In notification mode, if the number entered as label is greater that this notification limit, +99 will be shown. If not, the entered text will be shown as label.
599
+ */
600
+ notificationLimit?: never;
601
+ /**
602
+ * Affects the visual style of the badge. It can be used following semantic purposes or not.
603
+ */
604
+ color?: "primary" | "secondary" | "tertiary" | "success" | "info" | "neutral" | "warning" | "error";
605
+ };
606
+ type NotificationProps = {
607
+ /**
608
+ * Text to be placed in the badge.
609
+ */
610
+ label?: number;
611
+ /**
612
+ * The available badge modes.
613
+ */
614
+ mode: "notification";
615
+ /**
616
+ * In notification mode, if the number entered as label is greater that this notification limit, +99 will be shown. If not, the entered text will be shown as label.
617
+ */
618
+ notificationLimit?: number;
619
+ /**
620
+ * Affects the visual style of the badge. It can be used following semantic purposes or not.
621
+ */
622
+ color?: never;
623
+ };
624
+ type CommonProps$7 = {
625
+ /**
626
+ * Text representing advisory information related to the badge. Under the hood, this prop also serves as an accessible label for the component.
627
+ */
628
+ title?: string;
629
+ /**
630
+ * Material Symbol name or SVG element used as the icon that will be placed next to the badge label in contextual mode.
631
+ */
632
+ icon?: string | SVG;
633
+ /**
634
+ * Size of the component.
635
+ */
636
+ size?: "small" | "medium" | "large";
637
+ };
638
+ type Props$E = (ContextualProps | NotificationProps) & CommonProps$7;
639
+
640
+ declare const DxcBadge: ({ label, title, mode, color, icon, notificationLimit, size, }: Props$E) => JSX.Element;
641
+
642
+ type Props$D = {
643
+ /**
644
+ * Applies the spacing scale to all sides.
645
+ */
646
+ space?: string;
647
+ /**
648
+ * Applies the spacing scale to the left and right sides.
649
+ */
650
+ horizontal?: string;
651
+ /**
652
+ * Applies the spacing scale to the top and bottom sides.
653
+ */
654
+ vertical?: string;
655
+ /**
656
+ * Applies the spacing scale to the top side.
657
+ */
658
+ top?: string;
659
+ /**
660
+ * Applies the spacing scale to the right side.
661
+ */
662
+ right?: string;
663
+ /**
664
+ * Applies the spacing scale to the bottom side.
665
+ */
666
+ bottom?: string;
667
+ /**
668
+ * Applies the spacing scale to the left side.
669
+ */
670
+ left?: string;
671
+ /**
672
+ * Custom content inside the bleed.
673
+ */
674
+ children: ReactNode;
675
+ };
676
+
677
+ declare function DxcBleed({ space, horizontal, vertical, top, right, bottom, left, children }: Props$D): react_jsx_runtime.JSX.Element;
678
+
679
+ type Item$1 = {
680
+ href?: string;
681
+ label: string;
682
+ };
683
+ type Props$C = {
684
+ /**
685
+ * Provides a label that describes the type of navigation enabled by
686
+ * the component.
687
+ */
688
+ ariaLabel?: string;
689
+ /**
690
+ * Array of objects representing the items of the breadcrumbs.
691
+ */
692
+ items: Item$1[];
693
+ /**
694
+ * Number of items before showing a collapsed version of the
695
+ * breadcrumbs. It can't be lower than two (root/collapsed action and
696
+ * current page).
697
+ */
698
+ itemsBeforeCollapse?: number;
699
+ /**
700
+ * Callback for custom navigation with third-party libraries such as
701
+ * Next ('useRouter') or React Router ('useNavigate').
702
+ * This function will be called when an item is clicked,
703
+ * receiving its 'href' as a parameter.
704
+ * @param href
705
+ * @returns
706
+ */
707
+ onItemClick?: (href: string) => void;
708
+ /**
709
+ * When items are collapsed, whether the root item should always be
710
+ * displayed or not.
711
+ */
712
+ showRoot?: boolean;
713
+ };
714
+
715
+ declare const DxcBreadcrumbs: ({ ariaLabel, items, itemsBeforeCollapse, onItemClick, showRoot, }: Props$C) => react_jsx_runtime.JSX.Element;
716
+
717
+ type IconProps = {
718
+ /**
719
+ * Defines the style of the bullet point in the list.
720
+ */
721
+ type: "icon";
722
+ /**
723
+ * Icon to display as bullet.
724
+ */
725
+ icon: string | SVG;
726
+ /**
727
+ * Text to be shown in the list.
728
+ */
729
+ children: ReactNode;
730
+ };
731
+ type OtherProps = {
732
+ /**
733
+ * Defines the style of the bullet point in the list.
734
+ */
735
+ type?: "disc" | "circle" | "square" | "number";
736
+ /**
737
+ * Icon to display as bullet.
738
+ */
739
+ icon?: never;
740
+ /**
741
+ * Text to be shown in the list.
742
+ */
743
+ children: ReactNode;
744
+ };
745
+ type Props$B = IconProps | OtherProps;
746
+ type BulletedListItemPropsType = {
747
+ /**
748
+ * Text to be shown in the list.
749
+ */
750
+ children?: ReactNode;
751
+ };
752
+
753
+ declare const DxcBulletedList: {
754
+ ({ children, type, icon }: Props$B): JSX.Element;
755
+ Item: ({ children }: BulletedListItemPropsType) => JSX.Element;
756
+ };
757
+
758
+ type Semantic = "default" | "error" | "warning" | "success" | "info";
759
+ type Mode$1 = "primary" | "secondary" | "tertiary";
760
+ type Size$3 = {
761
+ /**
762
+ * Height of the button.
763
+ */
764
+ height?: "small" | "medium" | "large";
765
+ width?: "small" | "medium" | "large" | "fillParent" | "fitContent";
766
+ };
767
+ type Props$A = {
768
+ /**
769
+ * Text to be placed in the button.
770
+ */
771
+ label?: string;
772
+ /**
773
+ * The available button modes.
774
+ */
775
+ mode?: Mode$1;
776
+ /**
777
+ * Specifies the semantic meaning of the buttons, which determines its color.
778
+ */
779
+ semantic?: Semantic;
780
+ /**
781
+ * If true, the component will be disabled.
782
+ */
783
+ disabled?: boolean;
784
+ /**
785
+ * Whether the icon should appear after or before the label.
786
+ */
787
+ iconPosition?: "before" | "after";
788
+ /**
789
+ * Value for the HTML properties title and aria-label.
790
+ */
791
+ title?: string;
792
+ /**
793
+ * 'type' html prop of the button.
794
+ */
795
+ type?: "button" | "reset" | "submit";
796
+ /**
797
+ * Material Symbol name or SVG element as the icon that will be placed next to the label.
798
+ */
799
+ icon?: string | SVG;
800
+ /**
801
+ * This function will be called when the user clicks the button.
802
+ */
803
+ onClick?: () => void;
804
+ /**
805
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
806
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
807
+ */
808
+ margin?: Space$1 | Margin;
809
+ /**
810
+ * Size of the component.
811
+ */
812
+ size?: Size$3;
813
+ /**
814
+ * Value of the tabindex attribute.
815
+ */
816
+ tabIndex?: number;
817
+ };
818
+
819
+ declare const DxcButton: ({ disabled, icon, iconPosition, label, margin, mode, onClick, semantic, size, tabIndex, title, type, }: Props$A) => JSX.Element;
820
+
821
+ type Size$2 = {
822
+ top?: Space$1;
823
+ bottom?: Space$1;
824
+ left?: Space$1;
825
+ right?: Space$1;
826
+ };
827
+ type Props$z = {
828
+ /**
829
+ * URL of the image that will be placed in the card component.
830
+ * In case of omission, the image container will not appear and
831
+ * the content will occupy its space.
832
+ */
833
+ imageSrc?: string;
834
+ /**
835
+ * Color of the image background.
836
+ */
837
+ imageBgColor?: string;
838
+ /**
839
+ * Size of the padding to be applied to the image section of the
840
+ * component. You can pass an object with 'top', 'bottom', 'left'
841
+ * and 'right' properties in order to specify different padding sizes.
842
+ */
843
+ imagePadding?: Space$1 | Size$2;
844
+ /**
845
+ * Whether the image should appear in relation to the content.
846
+ */
847
+ imagePosition?: "before" | "after";
848
+ /**
849
+ * If defined, the tag will be displayed as an anchor, using this prop
850
+ * as "href". Component will show some visual feedback on hover.
851
+ */
852
+ linkHref?: string;
853
+ /**
854
+ * This function will be called when the user clicks the card. Component
855
+ * will show some visual feedback on hover.
856
+ */
857
+ onClick?: () => void;
858
+ /**
859
+ * Whether the image must cover the whole image area of the card.
860
+ */
861
+ imageCover?: boolean;
862
+ /**
863
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
864
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
865
+ */
866
+ margin?: Space$1 | Size$2;
867
+ /**
868
+ * Value of the tabindex attribute applied when the component is clickable.
869
+ */
870
+ tabIndex?: number;
871
+ /**
872
+ * Determines whether or not the component should have an outline.
873
+ */
874
+ outlined?: boolean;
875
+ /**
876
+ * Custom content that will be placed inside the component.
877
+ */
878
+ children?: ReactNode;
879
+ };
880
+
881
+ declare const DxcCard: ({ imageSrc, imageBgColor, imagePadding, imagePosition, linkHref, onClick, imageCover, margin, tabIndex, outlined, children, }: Props$z) => react_jsx_runtime.JSX.Element;
882
+
883
+ type Props$y = {
884
+ /**
885
+ * Specifies a string to be used as the name for the checkbox element when no `label` is provided.
886
+ */
887
+ ariaLabel?: string;
888
+ /**
889
+ * If true, the component is checked. If undefined the component will be
890
+ * uncontrolled and the value will be managed internally by the component.
891
+ */
892
+ checked?: boolean;
893
+ /**
894
+ * Initial state of the checkbox, only when it is uncontrolled.
895
+ */
896
+ defaultChecked?: boolean;
897
+ /**
898
+ * If true, the component will be disabled.
899
+ */
900
+ disabled?: boolean;
901
+ /**
902
+ * Text to be placed next to the checkbox.
903
+ */
904
+ label?: string;
905
+ /**
906
+ * Whether the label should appear after or before the checkbox.
907
+ */
908
+ labelPosition?: "before" | "after";
909
+ /**
910
+ * Size of the margin to be applied to the component
911
+ * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
912
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties
913
+ * in order to specify different margin sizes.
914
+ */
915
+ margin?: Space$1 | Margin;
916
+ /**
917
+ * Name attribute of the input element.
918
+ */
919
+ name?: string;
920
+ /**
921
+ * This function will be called when the user clicks the checkbox.
922
+ * The new value will be passed as a parameter.
923
+ */
924
+ onChange?: (value: boolean) => void;
925
+ /**
926
+ * If true, the component will display '(Optional)' next to the label.
927
+ */
928
+ optional?: boolean;
929
+ /**
930
+ * If true, the component will not be mutable, meaning the user can not edit the control.
931
+ */
932
+ readOnly?: boolean;
933
+ /**
934
+ * Size of the component.
935
+ */
936
+ size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
937
+ /**
938
+ * Value of the tabindex.
939
+ */
940
+ tabIndex?: number;
941
+ /**
942
+ * Will be passed to the value attribute of the html input element.
943
+ * When inside a form, this value will be only submitted if the checkbox is checked.
944
+ */
945
+ value?: string;
946
+ };
947
+
948
+ declare const DxcCheckbox: react.ForwardRefExoticComponent<Props$y & react.RefAttributes<HTMLDivElement>>;
949
+
950
+ type Props$x = {
951
+ /**
952
+ * Text to be placed on the chip.
953
+ */
954
+ label?: string;
955
+ /**
956
+ * Element or path used as icon to be placed after the chip label.
957
+ */
958
+ suffixIcon?: string | SVG;
959
+ /**
960
+ * Element or path used as icon to be placed before the chip label.
961
+ */
962
+ prefixIcon?: string | SVG;
963
+ /**
964
+ * This function will be called when the suffix is clicked.
965
+ */
966
+ onClickSuffix?: () => void;
967
+ /**
968
+ * This function will be called when the prefix is clicked.
969
+ */
970
+ onClickPrefix?: () => void;
971
+ /**
972
+ * If true, the component will be disabled.
973
+ */
974
+ disabled?: boolean;
975
+ /**
976
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
977
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
978
+ */
979
+ margin?: Space$1 | Margin;
980
+ /**
981
+ * Value of the tabindex attribute.
982
+ */
983
+ tabIndex?: number;
984
+ };
985
+
986
+ declare const DxcChip: ({ label, suffixIcon, prefixIcon, onClickSuffix, onClickPrefix, disabled, margin, tabIndex, }: Props$x) => react_jsx_runtime.JSX.Element;
987
+
988
+ type Space = {
989
+ top?: string;
990
+ right?: string;
991
+ bottom?: string;
992
+ left?: string;
993
+ };
994
+ type Inset = {
995
+ top?: string;
996
+ right?: string;
997
+ bottom?: string;
998
+ left?: string;
999
+ };
1000
+ type Background = {
1001
+ attachment?: string;
1002
+ clip?: string;
1003
+ color?: string;
1004
+ image?: string;
1005
+ origin?: string;
1006
+ position?: string;
1007
+ repeat?: string;
1008
+ size?: string;
1009
+ };
1010
+ type BorderProperties = {
1011
+ width?: string;
1012
+ style?: string;
1013
+ color?: string;
1014
+ };
1015
+ type Border = BorderProperties | {
1016
+ top?: BorderProperties;
1017
+ right?: BorderProperties;
1018
+ bottom?: BorderProperties;
1019
+ left?: BorderProperties;
1020
+ };
1021
+ type Outline = BorderProperties & {
1022
+ offset?: string;
1023
+ };
1024
+ type OverflowValues = "visible" | "hidden" | "clip" | "scroll" | "auto";
1025
+ type Overflow = OverflowValues | {
1026
+ x?: OverflowValues;
1027
+ y?: OverflowValues;
1028
+ };
1029
+ type Props$w = {
1030
+ /**
1031
+ * Based on the CSS property background allows configuring all properties related to the background of a container.
1032
+ *
1033
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/background
1034
+ */
1035
+ background?: Background;
1036
+ /**
1037
+ * Based on the CSS property border allows configuring all properties related to the border of a container.
1038
+ */
1039
+ border?: Border;
1040
+ /**
1041
+ * Sets the border-radius CSS property.
1042
+ *
1043
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/border-radius
1044
+ */
1045
+ borderRadius?: string;
1046
+ /**
1047
+ * Sets the box-shadow CSS property.
1048
+ *
1049
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow
1050
+ */
1051
+ boxShadow?: string;
1052
+ /**
1053
+ * Sets the box-sizing CSS property.
1054
+ *
1055
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing
1056
+ */
1057
+ boxSizing?: "border-box" | "content-box";
1058
+ /**
1059
+ * Custom content inside the container.
1060
+ */
1061
+ children?: ReactNode;
1062
+ /**
1063
+ * Sets the display CSS property.
1064
+ * The set of values is limited to the ones related to the outer display type.
1065
+ * If you want to apply any pattern from the inner box and how the children are laid out,
1066
+ * we recommend you to use the Flex and Grid components.
1067
+ *
1068
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/display
1069
+ */
1070
+ display?: "block" | "inline-block" | "inline" | "none";
1071
+ /**
1072
+ * Sets the float CSS property.
1073
+ *
1074
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/float
1075
+ */
1076
+ float?: "left" | "right" | "none";
1077
+ /**
1078
+ * Sets the height CSS property.
1079
+ *
1080
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/height
1081
+ */
1082
+ height?: string;
1083
+ /**
1084
+ * Based on the CSS property inset this prop is a shorthand that corresponds
1085
+ * to the top, right, bottom, and/or left properties.
1086
+ */
1087
+ inset?: Inset;
1088
+ /**
1089
+ * Size of the margin to be applied to the container.
1090
+ */
1091
+ margin?: string | Space;
1092
+ /**
1093
+ * Sets the max-width CSS property.
1094
+ *
1095
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/max-width
1096
+ */
1097
+ maxHeight?: string;
1098
+ /**
1099
+ * Sets the max-height CSS property.
1100
+ *
1101
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/max-height
1102
+ */
1103
+ maxWidth?: string;
1104
+ /**
1105
+ * Sets the min-width CSS property.
1106
+ *
1107
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/min-width
1108
+ */
1109
+ minHeight?: string;
1110
+ /**
1111
+ * Sets the min-height CSS property.
1112
+ *
1113
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/min-height
1114
+ */
1115
+ minWidth?: string;
1116
+ /**
1117
+ * Based on the CSS property outline allows configuring all properties related
1118
+ * to the outline of a container.
1119
+ */
1120
+ outline?: Outline;
1121
+ /**
1122
+ * Sets the overflow CSS property.
1123
+ *
1124
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/overflow
1125
+ */
1126
+ overflow?: Overflow;
1127
+ /**
1128
+ * Size of the padding to be applied to the container.
1129
+ */
1130
+ padding?: string | Space;
1131
+ /**
1132
+ * Sets the position CSS property.
1133
+ *
1134
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/position
1135
+ */
1136
+ position?: "static" | "relative" | "absolute" | "fixed" | "sticky";
1137
+ /**
1138
+ * Sets the width CSS property.
1139
+ *
1140
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/width
1141
+ */
1142
+ width?: string;
1143
+ /**
1144
+ * Sets the z-index CSS property.
1145
+ *
1146
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/z-index
1147
+ */
1148
+ zIndex?: "auto" | number;
1149
+ };
1150
+
1151
+ declare function DxcContainer({ display, width, height, overflow, ...props }: Props$w): react_jsx_runtime.JSX.Element;
1152
+
1153
+ type CommonItemProps = {
1154
+ badge?: ReactElement;
1155
+ icon?: string | SVG;
1156
+ label: string;
1157
+ };
1158
+ type Item = CommonItemProps & {
1159
+ onSelect?: () => void;
1160
+ selected?: boolean;
1161
+ href?: string;
1162
+ renderItem?: (props: {
1163
+ children: ReactNode;
1164
+ }) => ReactNode;
1165
+ };
1166
+ type GroupItem = CommonItemProps & {
1167
+ items: (Item | GroupItem)[];
1168
+ };
1169
+ type Section = {
1170
+ items: (Item | GroupItem)[];
1171
+ title?: string;
1172
+ };
1173
+ type Props$v = {
1174
+ /**
1175
+ * Array of items to be displayed in the menu.
1176
+ * Each item can be a single/simple item, a group item or a section.
1177
+ */
1178
+ items: (Item | GroupItem)[] | Section[];
1179
+ /**
1180
+ * If true the menu will be displayed with a border.
1181
+ */
1182
+ displayBorder?: boolean;
1183
+ /**
1184
+ * If true the menu will have lines marking the groups.
1185
+ */
1186
+ displayGroupLines?: boolean;
1187
+ /**
1188
+ * If true the menu will have controls at the end.
1189
+ */
1190
+ displayControlsAfter?: boolean;
1191
+ /**
1192
+ * If true the menu will be icons only and display a popover on click.
1193
+ */
1194
+ responsiveView?: boolean;
1195
+ };
1196
+
1197
+ type Props$u = Omit<Props$v, "displayBorder" | "displayGroupLines" | "displayControlsAfter" | "responsiveView">;
1198
+
1199
+ declare function DxcContextualMenu({ items }: Props$u): react_jsx_runtime.JSX.Element;
1200
+
1201
+ type BaseActionCell = {
1202
+ disabled?: boolean;
1203
+ tabIndex?: number;
1204
+ title: string;
1205
+ };
1206
+ type ActionCell = BaseActionCell & ({
1207
+ icon: string | SVG;
1208
+ onClick: () => void;
1209
+ options?: never;
1210
+ } | {
1211
+ icon?: never;
1212
+ onClick: (value?: string) => void;
1213
+ options: Option$2[];
1214
+ });
1215
+ type ActionsCellPropsType = {
1216
+ /**
1217
+ * It represents a list of interactive elements that will work as buttons or as a dropdown. Those with an icon from Material Symbols
1218
+ * or a SVG are treated as buttons. If any element lacks an icon and includes options, it is interpreted as a dropdown.
1219
+ * Only the first action with options will be displayed and only up to 3 actions.
1220
+ * In the case of the dropdown the click function will pass the value assigned to the option.
1221
+ */
1222
+ actions: ActionCell[];
1223
+ };
1224
+ type Props$t = {
1225
+ /**
1226
+ * The center section of the table. Can be used to render custom
1227
+ * content in this area.
1228
+ */
1229
+ children: ReactNode;
1230
+ /**
1231
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
1232
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
1233
+ */
1234
+ margin?: Space$1 | Margin;
1235
+ /**
1236
+ * Determines the visual style and layout
1237
+ * - "default": Default table size.
1238
+ * - "reduced": More compact table with less spacing for high density information.
1239
+ */
1240
+ mode?: "default" | "reduced";
1241
+ };
1242
+
1243
+ type GridColumn = {
1244
+ /**
1245
+ * Key that will be rendered from each row in rows.
1246
+ */
1247
+ key: string;
1248
+ /**
1249
+ * Label that will be used for the column header.
1250
+ */
1251
+ label: string;
1252
+ /**
1253
+ * Whether the column is resizable or not.
1254
+ */
1255
+ resizable?: boolean;
1256
+ /**
1257
+ * Whether the column is sortable or not.
1258
+ */
1259
+ sortable?: boolean;
1260
+ /**
1261
+ * Custom criteria for sorting the column.
1262
+ */
1263
+ sortFn?: (_a: ReactNode, _b: ReactNode) => 0 | 1 | -1;
1264
+ /**
1265
+ * Whether the column is draggable or not.
1266
+ */
1267
+ draggable?: boolean;
1268
+ /**
1269
+ * Whether the column cells are editable or not.
1270
+ */
1271
+ textEditable?: boolean;
1272
+ /**
1273
+ * Value that will be rendered from the summaryRow.
1274
+ */
1275
+ summaryKey?: string;
1276
+ /**
1277
+ * Sets the alignment inside the cells.
1278
+ */
1279
+ alignment?: "left" | "right" | "center";
1280
+ };
1281
+ type GridRow = {
1282
+ /**
1283
+ * List of rows that will be rendered in each cell based on the key in each column.
1284
+ */
1285
+ [key: string]: ReactNode | undefined;
1286
+ };
1287
+ type HierarchyGridRow = GridRow & {
1288
+ /**
1289
+ * Array of child rows nested under this row, enabling hierarchical (tree-like) structures.
1290
+ * These child rows will be displayed when the parent row is expanded.
1291
+ */
1292
+ childRows?: HierarchyGridRow[] | GridRow[];
1293
+ /**
1294
+ * Function called when a row with children is expanded or collapsed (based on the value of `open`).
1295
+ * Returns (or resolves to) the array of child rows nested under this row to display when expanded.
1296
+ */
1297
+ childrenTrigger?: (open?: boolean, triggerRow?: HierarchyGridRow) => (HierarchyGridRow[] | GridRow[]) | Promise<HierarchyGridRow[] | GridRow[]>;
1298
+ /**
1299
+ * Indicates whether child rows are currently being loaded.
1300
+ */
1301
+ loadingChildren?: boolean;
1302
+ /**
1303
+ * Indicates the level of nesting for this row in the hierarchy.
1304
+ */
1305
+ rowLevel?: number;
1306
+ /**
1307
+ * Reference to the parent row's unique identifier.
1308
+ */
1309
+ parentKey?: string | number;
1310
+ /**
1311
+ * Indicates whether child rows are currently visible.
1312
+ */
1313
+ visibleChildren?: boolean;
1314
+ };
1315
+ type ExpandableGridRow = GridRow & {
1316
+ expandedContent?: ReactNode;
1317
+ expandedContentHeight?: number;
1318
+ contentIsExpanded?: boolean;
1319
+ };
1320
+ type ExpandableRows = {
1321
+ rows: ExpandableGridRow[];
1322
+ /**
1323
+ * Whether the rows can expand or not.
1324
+ */
1325
+ expandable: true;
1326
+ /**
1327
+ * This prop indicates the unique key that can be used to identify each row. This prop is mandatory if selectable is set to true, expandable is set to true or rows is of type HierarchyGridRow[].
1328
+ */
1329
+ uniqueRowId: string;
1330
+ };
1331
+ type HierarchyRows = {
1332
+ rows: HierarchyGridRow[];
1333
+ /**
1334
+ * This prop indicates the unique key that can be used to identify each row. This prop is mandatory if selectable is set to true, expandable is set to true or rows is of type HierarchyGridRow[].
1335
+ */
1336
+ uniqueRowId: string;
1337
+ /**
1338
+ * Whether the rows can expand or not.
1339
+ */
1340
+ expandable?: false;
1341
+ };
1342
+ type SelectableGridProps = {
1343
+ /**
1344
+ * Whether the rows are selectable or not.
1345
+ */
1346
+ selectable: true;
1347
+ /**
1348
+ * Set of selected rows. This prop is mandatory if selectable is set to true. The uniqueRowId key will be used to identify the each row.
1349
+ */
1350
+ selectedRows: Set<string | number>;
1351
+ /**
1352
+ * Function called whenever the selected values changes. This prop is mandatory if selectable is set to true.The uniqueRowId key will be used to identify the rows.
1353
+ */
1354
+ onSelectRows: (selectedRows: Set<number | string>) => void;
1355
+ /**
1356
+ * This prop indicates the unique key that can be used to identify each row. This prop is mandatory if selectable is set to true, expandable is set to true or rows is of type HierarchyGridRow[].
1357
+ */
1358
+ uniqueRowId: string;
1359
+ } | {
1360
+ selectable?: false;
1361
+ selectedRows?: never;
1362
+ onSelectRows?: never;
1363
+ uniqueRowId?: string;
1364
+ };
1365
+ type PaginatedProps$1 = {
1366
+ /**
1367
+ * If true, paginator will be displayed.
1368
+ */
1369
+ showPaginator?: true;
1370
+ /**
1371
+ * Number of total items.
1372
+ */
1373
+ totalItems?: number;
1374
+ /**
1375
+ * If true, a select component for navigation between pages will be displayed.
1376
+ */
1377
+ showGoToPage?: boolean;
1378
+ /**
1379
+ * Number of items per page.
1380
+ */
1381
+ itemsPerPage?: number;
1382
+ /**
1383
+ * An array of numbers representing the items per page options.
1384
+ */
1385
+ itemsPerPageOptions?: number[];
1386
+ /**
1387
+ * This function will be called when the user selects an item per page
1388
+ * option. The value selected will be passed as a parameter.
1389
+ */
1390
+ itemsPerPageFunction?: (value: number) => void;
1391
+ /**
1392
+ * Function called whenever the current page is changed.
1393
+ */
1394
+ onPageChange?: (_page: number) => void;
1395
+ /**
1396
+ * Default page in which the datagrid is rendered
1397
+ */
1398
+ defaultPage?: number;
1399
+ };
1400
+ type NonPaginatedProps$1 = {
1401
+ /**
1402
+ * If true, paginator will be displayed.
1403
+ */
1404
+ showPaginator: false;
1405
+ /**
1406
+ * Number of total items.
1407
+ */
1408
+ totalItems?: never;
1409
+ /**
1410
+ * If true, a select component for navigation between pages will be displayed.
1411
+ */
1412
+ showGoToPage?: never;
1413
+ /**
1414
+ * Number of items per page.
1415
+ */
1416
+ itemsPerPage?: never;
1417
+ /**
1418
+ * An array of numbers representing the items per page options.
1419
+ */
1420
+ itemsPerPageOptions?: never;
1421
+ /**
1422
+ * This function will be called when the user selects an item per page
1423
+ * option. The value selected will be passed as a parameter.
1424
+ */
1425
+ itemsPerPageFunction?: never;
1426
+ /**
1427
+ * Function called whenever the current page is changed.
1428
+ */
1429
+ onPageChange?: never;
1430
+ /**
1431
+ * Default page in which the datagrid is rendered
1432
+ */
1433
+ defaultPage?: never;
1434
+ };
1435
+ type CommonProps$6 = {
1436
+ columns: GridColumn[];
1437
+ /**
1438
+ * Extra row that will be always visible.
1439
+ */
1440
+ summaryRow?: GridRow;
1441
+ /**
1442
+ * Function called whenever a cell is edited.
1443
+ */
1444
+ onGridRowsChange?: (_rows: GridRow[] | HierarchyGridRow[] | ExpandableGridRow[]) => void;
1445
+ /**
1446
+ * Function called whenever a column is sorted. Receives the sorted
1447
+ * column and direction, or `undefined` if no sorting is applied.
1448
+ */
1449
+ onSort?: (_sortColumn?: SortColumn) => void;
1450
+ };
1451
+ type BasicGridProps = {
1452
+ rows: GridRow[];
1453
+ /**
1454
+ * Whether the rows can expand or not.
1455
+ */
1456
+ expandable?: false;
1457
+ };
1458
+ type Props$s = CommonProps$6 & (PaginatedProps$1 | NonPaginatedProps$1) & ((BasicGridProps & SelectableGridProps) | (ExpandableRows & SelectableGridProps) | (HierarchyRows & SelectableGridProps));
1459
+
1460
+ declare const DxcDataGrid: {
1461
+ ({ columns, rows, selectable, expandable, onSelectRows, selectedRows, uniqueRowId, summaryRow, onGridRowsChange, showPaginator, showGoToPage, itemsPerPage, itemsPerPageOptions, itemsPerPageFunction, onSort, onPageChange, totalItems, defaultPage, }: Props$s): JSX.Element;
1462
+ ActionsCell: ({ actions }: ActionsCellPropsType) => react_jsx_runtime.JSX.Element;
1463
+ };
1464
+
1465
+ type Props$r = {
1466
+ /**
1467
+ * Initial value of the input element, only when it is uncontrolled.
1468
+ */
1469
+ defaultValue?: string;
1470
+ /**
1471
+ * Value of the input element. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
1472
+ */
1473
+ value?: string;
1474
+ /**
1475
+ * Text to be placed above the date input.
1476
+ */
1477
+ label?: string;
1478
+ /**
1479
+ * Name attribute of the input element.
1480
+ */
1481
+ name?: string;
1482
+ /**
1483
+ * Helper text to be placed above the date.
1484
+ */
1485
+ helperText?: string;
1486
+ /**
1487
+ * If true, the date format will appear as placeholder in the field.
1488
+ */
1489
+ placeholder?: boolean;
1490
+ /**
1491
+ * The format in which the date value will be displayed. User must use this format when editing the value or it will be considered as an invalid date.
1492
+ */
1493
+ format?: string;
1494
+ /**
1495
+ * If true, the date input will have an action to clear the entered value.
1496
+ */
1497
+ clearable?: boolean;
1498
+ /**
1499
+ * If true, the component will be disabled.
1500
+ */
1501
+ disabled?: boolean;
1502
+ /**
1503
+ * If true, the date will be optional, showing the text '(Optional)'
1504
+ * next to the label. Otherwise, the field will be considered required and an error will be
1505
+ * passed as a parameter to the OnBlur and onChange functions when it has
1506
+ * not been filled.
1507
+ */
1508
+ optional?: boolean;
1509
+ /**
1510
+ * If true, the component will not be mutable, meaning the user can not edit the control.
1511
+ * The date picker cannot be opened either. In addition, the clear action will not be displayed
1512
+ * even if the flag is set to true.
1513
+ */
1514
+ readOnly?: boolean;
1515
+ /**
1516
+ * This function will be called when the user types within the input
1517
+ * element of the component. An object including the string value, the
1518
+ * error and the date value will be passed to this function.
1519
+ * If the string value is a valid date, error will
1520
+ * be undefined. Also, if the string value is not a valid date, date will be undefined.
1521
+ */
1522
+ onChange?: (val: {
1523
+ value: string;
1524
+ error?: string;
1525
+ date?: Date;
1526
+ }) => void;
1527
+ /**
1528
+ * This function will be called when the input element loses the focus.
1529
+ * An object including the string value, the error and the date value
1530
+ * will be passed to this function. If the string value is a valid date, error will
1531
+ * be undefined. Also, if the string value is not a valid date, date will be undefined.
1532
+ */
1533
+ onBlur?: (val: {
1534
+ value: string;
1535
+ error?: string;
1536
+ date?: Date;
1537
+ }) => void;
1538
+ /**
1539
+ * If it is a defined value and also a truthy string, the component will
1540
+ * change its appearance, showing the error below the date input
1541
+ * component. If the defined value is an empty string, it will reserve a
1542
+ * space below the component for a future error, but it would not change
1543
+ * its look. In case of being undefined or null, both the appearance and
1544
+ * the space for the error message would not be modified.
1545
+ */
1546
+ error?: string;
1547
+ /**
1548
+ * HTML autocomplete attribute. Lets the user specify if any permission the user agent has to provide automated assistance in filling out the input value.
1549
+ * Its value must be one of all the possible values of the HTML autocomplete attribute: 'on', 'off', 'email', 'username', 'new-password', ...
1550
+ */
1551
+ autocomplete?: string;
1552
+ /**
1553
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
1554
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
1555
+ */
1556
+ margin?: Space$1 | Margin;
1557
+ /**
1558
+ * Size of the component.
1559
+ */
1560
+ size?: "small" | "medium" | "large" | "fillParent";
1561
+ /**
1562
+ * Value of the tabindex attribute.
1563
+ */
1564
+ tabIndex?: number;
1565
+ /**
1566
+ * Specifies a string to be used as the name for the date input element when no `label` is provided.
1567
+ */
1568
+ ariaLabel?: string;
1569
+ };
1570
+
1571
+ declare const DxcDateInput: react.ForwardRefExoticComponent<Props$r & react.RefAttributes<HTMLDivElement>>;
1572
+
1573
+ type Props$q = {
1574
+ /**
1575
+ * If true, the close button will be visible.
1576
+ */
1577
+ closable?: boolean;
1578
+ /**
1579
+ * This function will be called when the user clicks the close button.
1580
+ * The responsibility of hiding the dialog lies with the user.
1581
+ */
1582
+ onCloseClick?: () => void;
1583
+ /**
1584
+ * This function will be called when the user clicks on the background of the modal.
1585
+ * The responsibility of hiding the dialog lies with the user.
1586
+ */
1587
+ onBackgroundClick?: () => void;
1588
+ /**
1589
+ * If true, the dialog will be displayed over a darker background that covers the content behind.
1590
+ */
1591
+ overlay?: boolean;
1592
+ /**
1593
+ * Area within the dialog that can be used to render custom content.
1594
+ * We strongly encourage users to not change the
1595
+ * tabindex of the inner components or elements. This
1596
+ * can lead to unpredictable behaviour for keyboard users, affecting
1597
+ * the order of focus and focus locking within the dialog.
1598
+ */
1599
+ children: ReactNode;
1600
+ /**
1601
+ * Value of the tabindex applied to the close button.
1602
+ * Note that values greater than 0 are strongly discouraged. It can
1603
+ * lead to unexpected behaviours with the focus within the dialog.
1604
+ */
1605
+ tabIndex?: number;
1606
+ /**
1607
+ * If true the focusLock functionality won't work.
1608
+ * @private
1609
+ */
1610
+ disableFocusLock?: boolean;
1611
+ };
1612
+
1613
+ declare const DxcDialog: ({ children, closable, onBackgroundClick, onCloseClick, overlay, tabIndex, disableFocusLock, }: Props$q) => JSX.Element;
1614
+
1615
+ type Props$p = {
1616
+ /**
1617
+ * The divider can be shown in horizontal or vertical.
1618
+ */
1619
+ orientation?: "horizontal" | "vertical";
1620
+ /**
1621
+ * Modifies the thickness of the divider.
1622
+ */
1623
+ weight?: "regular" | "strong";
1624
+ /**
1625
+ * Modifies the color of the divider.
1626
+ */
1627
+ color?: "lightGrey" | "mediumGrey" | "darkGrey";
1628
+ /**
1629
+ * Specifies whether the divider serves a purely decorative purpose
1630
+ * or functions as a semantic separator for content. Additionally, it
1631
+ * determines whether the divider is accessible to screen readers.
1632
+ */
1633
+ decorative?: boolean;
1634
+ };
1635
+
1636
+ declare function DxcDivider({ color, decorative, orientation, weight, }: Props$p): react_jsx_runtime.JSX.Element;
1637
+
1638
+ declare const DxcDropdown: ({ options, optionsIconPosition, icon, iconPosition, label, caretHidden, disabled, expandOnHover, onSelectOption, margin, size, tabIndex, title, }: Props$H) => react_jsx_runtime.JSX.Element;
1639
+
1640
+ type FileData = {
1641
+ /**
1642
+ * Error of the file. If it is defined, it will be shown and the file item will be mark as invalid.
1643
+ */
1644
+ error?: string;
1645
+ /**
1646
+ * Selected file.
1647
+ */
1648
+ file: File;
1649
+ /**
1650
+ * Preview of the file.
1651
+ */
1652
+ preview?: string;
1653
+ };
1654
+ type CommonProps$5 = {
1655
+ /**
1656
+ * The file types that the component accepts. Its value must be one of all the possible values of the HTML file input's accept attribute.
1657
+ */
1658
+ accept?: string;
1659
+ /**
1660
+ * Text to be placed inside the button.
1661
+ */
1662
+ buttonLabel?: string;
1663
+ /**
1664
+ * This function will be called when the user selects or drops a file. The list of files will be sent as a parameter.
1665
+ * In this function, the files can be updated or returned as they come. These files must be passed to the value in order to be shown.
1666
+ */
1667
+ callbackFile: (files: FileData[]) => void;
1668
+ /**
1669
+ * If true, the component will be disabled.
1670
+ */
1671
+ disabled?: boolean;
1672
+ /**
1673
+ * Helper text to be placed above the component.
1674
+ */
1675
+ helperText?: string;
1676
+ /**
1677
+ * Text to be placed above the component.
1678
+ */
1679
+ label?: string;
1680
+ /**
1681
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
1682
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
1683
+ */
1684
+ margin?: Space$1 | Margin;
1685
+ /**
1686
+ * The maximum file size (in bytes) allowed. If the size of the file does not comply the maxSize, the file will have an error.
1687
+ */
1688
+ maxSize?: number;
1689
+ /**
1690
+ * The minimum file size (in bytes) allowed. If the size of the file does not comply the minSize, the file will have an error.
1691
+ */
1692
+ minSize?: number;
1693
+ /**
1694
+ * If true, the component allows multiple file items and will show all of them. If false, only one file will be shown, and if there is already one
1695
+ * file selected and a new one is chosen, it will be replaced by the new selected one.
1696
+ */
1697
+ multiple?: boolean;
1698
+ /**
1699
+ * If true, the input will be optional, showing '(Optional)'
1700
+ * next to the label.
1701
+ */
1702
+ optional?: boolean;
1703
+ /**
1704
+ * If true, if the file is an image, a preview of it will be shown. If not, an icon refering to the file type will be shown.
1705
+ */
1706
+ showPreview?: boolean;
1707
+ /**
1708
+ * Value of the tabindex attribute.
1709
+ */
1710
+ tabIndex?: number;
1711
+ /**
1712
+ * An array of files representing the selected files.
1713
+ */
1714
+ value: FileData[];
1715
+ };
1716
+ type DropModeProps = CommonProps$5 & {
1717
+ /**
1718
+ * Text to be placed inside the drag and drop zone alongside the button.
1719
+ */
1720
+ dropAreaLabel?: string;
1721
+ /**
1722
+ * Uses one of the available file input modes:
1723
+ * 'file': Files are selected by clicking the button and selecting it through the file explorer.
1724
+ * 'filedrop': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
1725
+ * 'dropzone': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
1726
+ * The drag and drop area of this mode is bigger than the one of the filedrop mode.
1727
+ */
1728
+ mode: "filedrop" | "dropzone";
1729
+ };
1730
+ type FileModeProps = CommonProps$5 & {
1731
+ /**
1732
+ * Text to be placed inside the drag and drop zone alongside the button.
1733
+ */
1734
+ dropAreaLabel?: never;
1735
+ /**
1736
+ * Uses one of the available file input modes:
1737
+ * 'file': Files are selected by clicking the button and selecting it through the file explorer.
1738
+ * 'filedrop': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
1739
+ * 'dropzone': Files can be selected by clicking the button and selecting it through the file explorer or by dropping them inside the drag and drop area.
1740
+ * The drag and drop area of this mode is bigger than the one of the filedrop mode.
1741
+ */
1742
+ mode?: "file";
1743
+ };
1744
+ type Props$o = DropModeProps | FileModeProps;
1745
+
1746
+ declare const DxcFileInput: react.ForwardRefExoticComponent<Props$o & react.RefAttributes<HTMLDivElement>>;
1747
+
1748
+ type Gap$1 = {
1749
+ rowGap: string;
1750
+ columnGap?: string;
1751
+ } | {
1752
+ rowGap?: string;
1753
+ columnGap: string;
1754
+ } | string;
1755
+ type CommonProps$4 = {
1756
+ /**
1757
+ * Sets the justify-content CSS property.
1758
+ *
1759
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content
1760
+ */
1761
+ justifyContent?: "flex-start" | "flex-end" | "start" | "end" | "left" | "normal" | "right" | "center" | "space-between" | "space-around" | "space-evenly";
1762
+ /**
1763
+ * Sets the align-items CSS property.
1764
+ *
1765
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/align-items
1766
+ */
1767
+ alignItems?: "stretch" | "flex-start" | "flex-end" | "start" | "end" | "self-start" | "self-end" | "center" | "baseline" | "normal";
1768
+ /**
1769
+ * Sets the align-content CSS property.
1770
+ *
1771
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/align-content
1772
+ */
1773
+ alignContent?: "normal" | "flex-start" | "flex-end" | "start" | "end" | "center" | "space-between" | "space-around" | "space-evenly" | "stretch";
1774
+ /**
1775
+ * Sets the align-self CSS property.
1776
+ *
1777
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/align-self
1778
+ */
1779
+ alignSelf?: "auto" | "flex-start" | "flex-end" | "center" | "baseline" | "stretch";
1780
+ };
1781
+ type Props$n = CommonProps$4 & {
1782
+ /**
1783
+ * Sets the flex-direction CSS property.
1784
+ *
1785
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-direction
1786
+ */
1787
+ direction?: "row" | "row-reverse" | "column" | "column-reverse";
1788
+ /**
1789
+ * Sets the flex-wrap CSS property.
1790
+ *
1791
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-wrap
1792
+ */
1793
+ wrap?: "nowrap" | "wrap" | "wrap-reverse";
1794
+ /**
1795
+ * Sets the gap CSS property.
1796
+ *
1797
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/gap
1798
+ */
1799
+ gap?: Gap$1;
1800
+ /**
1801
+ * Sets the order CSS property.
1802
+ *
1803
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/order
1804
+ */
1805
+ order?: number;
1806
+ /**
1807
+ * Sets the flex-grow CSS property.
1808
+ *
1809
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-grow
1810
+ */
1811
+ grow?: number;
1812
+ /**
1813
+ * Sets the flex-shrink CSS property.
1814
+ *
1815
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-shrink
1816
+ */
1817
+ shrink?: number;
1818
+ /**
1819
+ * Sets the flex-basis CSS property.
1820
+ *
1821
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-basis
1822
+ */
1823
+ basis?: string;
1824
+ /**
1825
+ * Sets a custom HTML tag.
1826
+ */
1827
+ as?: keyof HTMLElementTagNameMap;
1828
+ /**
1829
+ * Custom content inside the flex container.
1830
+ */
1831
+ children: ReactNode;
1832
+ };
1833
+
1834
+ declare const DxcFlex: ({ basis, direction, gap, grow, order, shrink, wrap, ...props }: Props$n) => react_jsx_runtime.JSX.Element;
1835
+
1836
+ type Gap = string | {
1837
+ columnGap?: string;
1838
+ rowGap: string;
1839
+ } | {
1840
+ columnGap: string;
1841
+ rowGap?: string;
1842
+ };
1843
+ type GridCell = {
1844
+ end: number | string;
1845
+ start: number | string;
1846
+ };
1847
+ type PlaceSelfValues = "auto" | "baseline" | "center" | "end" | "start" | "stretch";
1848
+ type PlaceContentValues = "baseline" | "center" | "end" | "normal" | "space-around" | "space-between" | "space-evenly" | "start" | "stretch";
1849
+ type PlaceItemsValues = "baseline" | "center" | "end" | "normal" | "start" | "stretch";
1850
+ type PlaceObject<Type, Suffix extends string> = {
1851
+ [Property in keyof Type as `${string & Property}${Capitalize<string & Suffix>}`]: Type[Property];
1852
+ };
1853
+ type PlaceGeneric<PlaceValues, Element extends string> = PlaceObject<{
1854
+ align: PlaceValues;
1855
+ justify?: PlaceValues;
1856
+ }, Element> | PlaceObject<{
1857
+ align?: PlaceValues;
1858
+ justify: PlaceValues;
1859
+ }, Element> | PlaceValues;
1860
+ type GridItemProps = {
1861
+ /**
1862
+ * Sets the name of an item so that it can be referenced by a template created with the grid-template-areas property.
1863
+ */
1864
+ areaName?: string;
1865
+ /**
1866
+ * Sets a custom HTML tag.
1867
+ */
1868
+ as?: keyof HTMLElementTagNameMap;
1869
+ /**
1870
+ * Custom content inside the grid container.
1871
+ */
1872
+ children: ReactNode;
1873
+ /**
1874
+ * Sets the grid-column CSS property.
1875
+ *
1876
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column
1877
+ */
1878
+ column?: number | string | GridCell;
1879
+ /**
1880
+ * Sets the place-self CSS property.
1881
+ *
1882
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/place-self
1883
+ */
1884
+ placeSelf?: PlaceGeneric<PlaceSelfValues, "self">;
1885
+ /**
1886
+ * Sets the grid-row CSS property.
1887
+ *
1888
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row
1889
+ */
1890
+ row?: number | string | GridCell;
1891
+ };
1892
+ type Props$m = GridItemProps & {
1893
+ /**
1894
+ * Sets the grid-auto-columns CSS property.
1895
+ *
1896
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-columns
1897
+ */
1898
+ autoColumns?: string;
1899
+ /**
1900
+ * Sets the grid-auto-flow CSS property.
1901
+ *
1902
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-flow
1903
+ */
1904
+ autoFlow?: "row" | "column" | "row dense" | "column dense";
1905
+ /**
1906
+ * Sets the grid-auto-rows CSS property.
1907
+ *
1908
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-rows
1909
+ */
1910
+ autoRows?: string;
1911
+ /**
1912
+ * Sets the gap CSS property.
1913
+ *
1914
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/gap
1915
+ */
1916
+ gap?: Gap;
1917
+ /**
1918
+ * Sets the place-content CSS property.
1919
+ *
1920
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/place-content
1921
+ */
1922
+ placeContent?: PlaceGeneric<PlaceContentValues, "content">;
1923
+ /**
1924
+ * Sets the place-items CSS property.
1925
+ *
1926
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/place-items
1927
+ */
1928
+ placeItems?: PlaceGeneric<PlaceItemsValues, "items">;
1929
+ /**
1930
+ * Sets the grid-template-areas CSS property.
1931
+ *
1932
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-areas
1933
+ */
1934
+ templateAreas?: string[];
1935
+ /**
1936
+ * Sets the grid-template-columns CSS property.
1937
+ *
1938
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns
1939
+ */
1940
+ templateColumns?: string[];
1941
+ /**
1942
+ * Sets the grid-template-rows CSS property.
1943
+ *
1944
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-rows
1945
+ */
1946
+ templateRows?: string[];
1947
+ };
1948
+
1949
+ declare const DxcGrid: {
1950
+ (props: Props$m): react_jsx_runtime.JSX.Element;
1951
+ Item: _emotion_styled.StyledComponent<{
1952
+ theme?: _emotion_react.Theme;
1953
+ as?: React.ElementType;
1954
+ } & GridItemProps, react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1955
+ };
1956
+
1957
+ type Props$l = {
1958
+ /**
1959
+ * Defines the heading level from 1 to 5. The styles of the heading are applied according to the level.
1960
+ * The html tag of the heading will be the one specified in the 'as' prop.
1961
+ * If 'as' is not specified, the html tag of the heading is the one specified in the 'level' prop.
1962
+ */
1963
+ level?: 1 | 2 | 3 | 4 | 5 | 6;
1964
+ /**
1965
+ * Heading text.
1966
+ */
1967
+ text: string;
1968
+ /**
1969
+ * Modifies the default weight of the heading.
1970
+ */
1971
+ weight?: "light" | "default" | "regular";
1972
+ /**
1973
+ * Specifies the HTML tag of the heading.
1974
+ */
1975
+ as?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
1976
+ /**
1977
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
1978
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
1979
+ */
1980
+ margin?: Space$1 | Margin;
1981
+ };
1982
+
1983
+ declare function DxcHeading({ as, level, margin, text, weight }: Props$l): react_jsx_runtime.JSX.Element;
1984
+
1985
+ type Props$k = {
1986
+ /**
1987
+ * Alternative text description displayed when the specified image is not loaded.
1988
+ *
1989
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/alt
1990
+ * See W3C alt decision tree: https://www.w3.org/WAI/tutorials/images/decision-tree/
1991
+ */
1992
+ alt: string;
1993
+ /**
1994
+ * Image legend with a descriptive purpose. It is placed below the image and is complementary to the alt attribute,
1995
+ * which is required regardless of the presence of the caption or not.
1996
+ */
1997
+ caption?: string;
1998
+ /**
1999
+ * Sets the rendered height of the image.
2000
+ */
2001
+ height?: string;
2002
+ /**
2003
+ * If true, the image will be loaded only when it is visible on the screen (lazy loading).
2004
+ * Otherwise and by default, the image will be loaded as soon as the component is mounted (eager loading).
2005
+ */
2006
+ lazyLoading?: boolean;
2007
+ /**
2008
+ * Sets the object-fit CSS property.
2009
+ *
2010
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit
2011
+ */
2012
+ objectFit?: "contain" | "cover" | "fill" | "none" | "scale-down";
2013
+ /**
2014
+ * Sets the object-position CSS property.
2015
+ *
2016
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/object-position
2017
+ */
2018
+ objectPosition?: string;
2019
+ /**
2020
+ * This function will be called when the image fails to load.
2021
+ */
2022
+ onError?: ReactEventHandler<HTMLImageElement>;
2023
+ /**
2024
+ * This function will be called when the image is loaded.
2025
+ */
2026
+ onLoad?: ReactEventHandler<HTMLImageElement>;
2027
+ /**
2028
+ * One or more strings separated by commas, indicating a set of source sizes.
2029
+ * If the srcSet attribute is absent or contains no values with a width descriptor,
2030
+ * then this attribute has no effect.
2031
+ *
2032
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/sizes
2033
+ */
2034
+ sizes?: string;
2035
+ /**
2036
+ * URL of the image. This prop is required and must be valid.
2037
+ */
2038
+ src: string;
2039
+ /**
2040
+ * List of one or more strings separated by commas indicating a set of possible images for the user agent to use.
2041
+ *
2042
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/srcset
2043
+ */
2044
+ srcSet?: string;
2045
+ /**
2046
+ * Sets the rendered width of the image.
2047
+ */
2048
+ width?: string;
2049
+ };
2050
+
2051
+ declare function DxcImage({ alt, caption, height, lazyLoading, objectFit, objectPosition, onError, onLoad, sizes, src, srcSet, width, }: Props$k): react_jsx_runtime.JSX.Element;
2052
+
2053
+ type Props$j = {
2054
+ /**
2055
+ * Applies the spacing scale to the bottom side.
2056
+ */
2057
+ bottom?: string;
2058
+ /**
2059
+ * Custom content inside the inset.
2060
+ */
2061
+ children: ReactNode;
2062
+ /**
2063
+ * Applies the spacing scale to the left and right sides.
2064
+ */
2065
+ horizontal?: string;
2066
+ /**
2067
+ * Applies the spacing scale to the left side.
2068
+ */
2069
+ left?: string;
2070
+ /**
2071
+ * Applies the spacing scale to the right side.
2072
+ */
2073
+ right?: string;
2074
+ /**
2075
+ * Applies the spacing scale to all sides.
2076
+ */
2077
+ space?: string;
2078
+ /**
2079
+ * Applies the spacing scale to the top side.
2080
+ */
2081
+ top?: string;
2082
+ /**
2083
+ * Applies the spacing scale to the top and bottom sides.
2084
+ */
2085
+ vertical?: string;
2086
+ };
2087
+
2088
+ declare function DxcInset({ bottom, children, horizontal, left, right, space, top, vertical }: Props$j): react_jsx_runtime.JSX.Element;
2089
+
2090
+ type LinkProps = {
2091
+ /**
2092
+ * If true, the link will be disabled.
2093
+ */
2094
+ disabled?: boolean;
2095
+ /**
2096
+ * If true, the color is inherited from parent.
2097
+ */
2098
+ inheritColor?: boolean;
2099
+ /**
2100
+ * Material Symbol name or SVG element as the icon that will be placed next to the link text.
2101
+ */
2102
+ icon?: string | SVG;
2103
+ /**
2104
+ * Indicates the position of the icon in the component.
2105
+ */
2106
+ iconPosition?: "before" | "after";
2107
+ /**
2108
+ * Page to be opened when the user clicks on the link.
2109
+ */
2110
+ href?: string;
2111
+ /**
2112
+ * If true, the page is opened in a new browser tab.
2113
+ */
2114
+ newWindow?: boolean;
2115
+ /**
2116
+ * If defined, the link will be displayed as a button. This
2117
+ * function will be called when the user clicks the link.
2118
+ */
2119
+ onClick?: () => void;
2120
+ /**
2121
+ * Text of the link.
2122
+ */
2123
+ children: string;
2124
+ /**
2125
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
2126
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
2127
+ */
2128
+ margin?: Space$1 | Margin;
2129
+ /**
2130
+ * Value of the tabindex.
2131
+ */
2132
+ tabIndex?: number;
2133
+ };
2134
+
2135
+ declare const DxcLink: react.ForwardRefExoticComponent<LinkProps & react.RefAttributes<HTMLAnchorElement>>;
2136
+
2137
+ type TabProps$1 = {
2138
+ /**
2139
+ * Whether the tab is active or not.
2140
+ */
2141
+ active?: boolean;
2142
+ /**
2143
+ * Tab text label.
2144
+ */
2145
+ children: string;
2146
+ /**
2147
+ * If true, the tab will be disabled.
2148
+ */
2149
+ disabled?: boolean;
2150
+ /**
2151
+ * Page to be opened when the user clicks on the tab.
2152
+ */
2153
+ href?: string;
2154
+ /**
2155
+ * Material Symbol name or SVG element used as the icon that will be displayed in the tab.
2156
+ */
2157
+ icon?: string | SVG;
2158
+ /**
2159
+ * This function will be called when the user clicks on this tab.
2160
+ */
2161
+ onClick?: () => void;
2162
+ /**
2163
+ * If the value is 'true', an empty badge will appear.
2164
+ * If it is 'false', no badge will appear.
2165
+ * If a number is put it will be shown as the label of the notification
2166
+ * in the tab, taking into account that if that number is greater than 99,
2167
+ * it will appear as '+99' in the badge.
2168
+ */
2169
+ notificationNumber?: boolean | number;
2170
+ };
2171
+ type Props$i = {
2172
+ /**
2173
+ * Contains one or more DxcNavTabs.Tab.
2174
+ */
2175
+ children: ReactNode;
2176
+ /**
2177
+ * Whether the icon should appear above or to the left of the label.
2178
+ */
2179
+ iconPosition?: "top" | "left";
2180
+ /**
2181
+ * Value of the tabindex attribute applied to each tab.
2182
+ */
2183
+ tabIndex?: number;
2184
+ };
2185
+
2186
+ declare const DxcNavTabs: {
2187
+ ({ iconPosition, tabIndex, children }: Props$i): JSX.Element;
2188
+ Tab: react.ForwardRefExoticComponent<TabProps$1 & react.RefAttributes<HTMLDivElement | HTMLAnchorElement>>;
2189
+ };
2190
+
2191
+ type Props$h = {
2192
+ /**
2193
+ * Text to be placed above the number.
2194
+ */
2195
+ label?: string;
2196
+ /**
2197
+ * Name attribute of the input element.
2198
+ */
2199
+ name?: string;
2200
+ /**
2201
+ * Initial value of the input element, only when it is uncontrolled.
2202
+ */
2203
+ defaultValue?: string;
2204
+ /**
2205
+ * Value of the input element. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
2206
+ */
2207
+ value?: string;
2208
+ /**
2209
+ * Helper text to be placed above the number.
2210
+ */
2211
+ helperText?: string;
2212
+ /**
2213
+ * Text to be put as placeholder of the number.
2214
+ */
2215
+ placeholder?: string;
2216
+ /**
2217
+ * If true, the component will be disabled.
2218
+ */
2219
+ disabled?: boolean;
2220
+ /**
2221
+ * If true, the number will be optional, showing the text '(Optional)'
2222
+ * next to the label. Otherwise, the field will be considered required
2223
+ * and an error will be passed as a parameter to the OnBlur and onChange
2224
+ * functions when it has not been filled.
2225
+ */
2226
+ optional?: boolean;
2227
+ /**
2228
+ * If true, the component will not be mutable, meaning the user can
2229
+ * not edit the control. The value won't change when pressing on the
2230
+ * up or down arrows and neither on the spin buttons.
2231
+ */
2232
+ readOnly?: boolean;
2233
+ /**
2234
+ * Prefix to be placed before the number value.
2235
+ */
2236
+ prefix?: string;
2237
+ /**
2238
+ * Suffix to be placed after the number value.
2239
+ */
2240
+ suffix?: string;
2241
+ /**
2242
+ * Minimum value allowed by the number input. If the typed value by the user is
2243
+ * lower than min, the onBlur and onChange functions will be called with
2244
+ * the current value and an internal error informing that the current
2245
+ * value is not correct. If a valid state is reached, the error parameter
2246
+ * will not be defined in both events.
2247
+ */
2248
+ min?: number;
2249
+ /**
2250
+ * Maximum value allowed by the number input. If the typed value by the user
2251
+ * surpasses max, the onBlur and onChange functions will be called with
2252
+ * the current value and an internal error informing that the current
2253
+ * value is not correct. If a valid state is reached, the error parameter
2254
+ * will not be defined in both events.
2255
+ */
2256
+ max?: number;
2257
+ /**
2258
+ * The step interval to use when using the up and down arrows to adjust the value.
2259
+ */
2260
+ step?: number;
2261
+ /**
2262
+ * This function will be called when the user types within the input
2263
+ * element of the component. An object including the current value and
2264
+ * the error (if the value entered is not valid) will be passed to this
2265
+ * function. If there is no error, error will not be defined.
2266
+ */
2267
+ onChange?: (val: {
2268
+ value: string;
2269
+ error?: string;
2270
+ }) => void;
2271
+ /**
2272
+ * This function will be called when the input element loses the focus.
2273
+ * An object including the input value and the error (if the value
2274
+ * entered is not valid) will be passed to this function. If there is no error,
2275
+ * error will not be defined.
2276
+ */
2277
+ onBlur?: (val: {
2278
+ value: string;
2279
+ error?: string;
2280
+ }) => void;
2281
+ /**
2282
+ * If it is a defined value and also a truthy string, the component will
2283
+ * change its appearance, showing the error below the input component. If
2284
+ * the defined value is an empty string, it will reserve a space below
2285
+ * the component for a future error, but it would not change its look. In
2286
+ * case of being undefined or null, both the appearance and the space for
2287
+ * the error message would not be modified.
2288
+ */
2289
+ error?: string;
2290
+ /**
2291
+ * HTML autocomplete attribute. Lets the user specify if any permission the user agent has to provide automated assistance in filling out the input value.
2292
+ * Its value must be one of all the possible values of the HTML autocomplete attribute: 'on', 'off', 'email', 'username', 'new-password', ...
2293
+ */
2294
+ autocomplete?: string;
2295
+ /**
2296
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
2297
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
2298
+ */
2299
+ margin?: Space$1 | Margin;
2300
+ /**
2301
+ * Size of the component.
2302
+ */
2303
+ size?: "small" | "medium" | "large" | "fillParent";
2304
+ /**
2305
+ * Value of the tabindex attribute.
2306
+ */
2307
+ tabIndex?: number;
2308
+ /**
2309
+ * Specifies a string to be used as the name for the number input element when no `label` is provided.
2310
+ */
2311
+ ariaLabel?: string;
2312
+ /**
2313
+ * Decides whether the number input has actions to increase or decrease the value, following the defined step.
2314
+ */
2315
+ showControls?: boolean;
2316
+ };
2317
+
2318
+ declare const DxcNumberInput: react.ForwardRefExoticComponent<Props$h & react.RefAttributes<HTMLDivElement>>;
2319
+
2320
+ type Props$g = {
2321
+ /**
2322
+ * Number of the current selected page.
2323
+ */
2324
+ currentPage?: number;
2325
+ /**
2326
+ * Number of items per page.
2327
+ */
2328
+ itemsPerPage?: number;
2329
+ /**
2330
+ * Array of numbers representing the items per page options.
2331
+ * If undefined, the select with items per page options will not be displayed.
2332
+ */
2333
+ itemsPerPageOptions?: number[];
2334
+ /**
2335
+ * This function will be called when the user selects an item per page option.
2336
+ * The number will be passed as a parameter to this function.
2337
+ */
2338
+ itemsPerPageFunction?: (itemsPerPage: number) => void;
2339
+ /**
2340
+ * Total number of items in the pages.
2341
+ */
2342
+ totalItems?: number;
2343
+ /**
2344
+ * If true, a select will be displayed with the page numbers to move through them.
2345
+ */
2346
+ showGoToPage?: boolean;
2347
+ /**
2348
+ * This function will be called when the user clicks on any of the button to change pages.
2349
+ * The page number will be passed as a parameter to this function.
2350
+ */
2351
+ onPageChange?: (page: number) => void;
2352
+ /**
2353
+ * Value of the tabindex attribute.
2354
+ */
2355
+ tabIndex?: number;
2356
+ };
2357
+
2358
+ declare const DxcPaginator: ({ currentPage, itemsPerPage, itemsPerPageOptions, totalItems, showGoToPage, onPageChange, itemsPerPageFunction, tabIndex, }: Props$g) => JSX.Element;
2359
+
2360
+ declare function DxcParagraph({ children }: {
2361
+ children: ReactNode;
2362
+ }): react_jsx_runtime.JSX.Element;
2363
+
2364
+ type Props$f = {
2365
+ /**
2366
+ * Text to be placed above the password input.
2367
+ */
2368
+ label?: string;
2369
+ /**
2370
+ * Name attribute of the input element.
2371
+ */
2372
+ name?: string;
2373
+ /**
2374
+ * Value of the input element. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
2375
+ */
2376
+ value?: string;
2377
+ /**
2378
+ * Helper text to be placed above the password.
2379
+ */
2380
+ helperText?: string;
2381
+ /**
2382
+ * If true, the password input will have an action to clear the entered value.
2383
+ */
2384
+ clearable?: boolean;
2385
+ /**
2386
+ * This function will be called when the user types within the input
2387
+ * element of the component. An object including the current value and
2388
+ * the error (if the value entered is not valid) will be passed to this
2389
+ * function. If there is no error, error will not be defined.
2390
+ * */
2391
+ onChange?: (val: {
2392
+ value: string;
2393
+ error?: string;
2394
+ }) => void;
2395
+ /**
2396
+ * This function will be called when the input element loses the focus.
2397
+ * An object including the input value and the error (if the value entered is
2398
+ * not valid) will be passed to this function. If there is no error, error will
2399
+ * not be defined.
2400
+ */
2401
+ onBlur?: (val: {
2402
+ value: string;
2403
+ error?: string;
2404
+ }) => void;
2405
+ /**
2406
+ * If it is a defined value and also a truthy string, the component will
2407
+ * change its appearance, showing the error below the password input
2408
+ * component. If the defined value is an empty string, it will reserve a
2409
+ * space below the component for a future error, but it would not change
2410
+ * its look. In case of being undefined or null, both the appearance and
2411
+ * the space for the error message would not be modified.
2412
+ */
2413
+ error?: string;
2414
+ /**
2415
+ * Regular expression that defines the valid format allowed by the
2416
+ * password input. This will be checked both when the input element loses the
2417
+ * focus and while typing within it. If the string entered does not match
2418
+ * the pattern, the onBlur and onChange functions will be called with the
2419
+ * current value and an internal error informing that this value does not
2420
+ * match the pattern. If the pattern is met, the error parameter of both
2421
+ * events will not be defined.
2422
+ */
2423
+ pattern?: string;
2424
+ /**
2425
+ * Specifies the minimum length allowed by the password input.
2426
+ * This will be checked both when the input element loses the
2427
+ * focus and while typing within it. If the string entered does not
2428
+ * comply the minimum length, the onBlur and onChange functions will be called
2429
+ * with the current value and an internal error informing that the value
2430
+ * length does not comply the specified range. If a valid length is
2431
+ * reached, the error parameter of both events will not be defined.
2432
+ */
2433
+ minLength?: number;
2434
+ /**
2435
+ * Specifies the maximum length allowed by the password input.
2436
+ * This will be checked both when the input element loses the
2437
+ * focus and while typing within it. If the string entered does not
2438
+ * comply the maximum length, the onBlur and onChange functions will be called
2439
+ * with the current value and an internal error informing that the value
2440
+ * length does not comply the specified range. If a valid length is
2441
+ * reached, the error parameter of both events will not be defined.
2442
+ */
2443
+ maxLength?: number;
2444
+ /**
2445
+ * HTML autocomplete attribute. Lets the user specify if any permission the user agent has to provide automated assistance in filling out the input value.
2446
+ * Its value must be one of all the possible values of the HTML autocomplete attribute: 'on', 'off', 'email', 'username', 'new-password', ...
2447
+ */
2448
+ autocomplete?: string;
2449
+ /**
2450
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
2451
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
2452
+ */
2453
+ margin?: Space$1 | Margin;
2454
+ /**
2455
+ * Size of the component.
2456
+ */
2457
+ size?: "small" | "medium" | "large" | "fillParent";
2458
+ /**
2459
+ * Value of the tabindex attribute.
2460
+ */
2461
+ tabIndex?: number;
2462
+ /**
2463
+ * Specifies a string to be used as the name for the password input element when no `label` is provided.
2464
+ */
2465
+ ariaLabel?: string;
2466
+ };
2467
+
2468
+ declare const DxcPasswordInput: react.ForwardRefExoticComponent<Props$f & react.RefAttributes<HTMLDivElement>>;
2469
+
2470
+ type Size$1 = {
2471
+ top?: Space$1;
2472
+ bottom?: Space$1;
2473
+ left?: Space$1;
2474
+ right?: Space$1;
2475
+ };
2476
+ type Props$e = {
2477
+ /**
2478
+ * Text to be placed above the progress bar.
2479
+ */
2480
+ label?: string;
2481
+ /**
2482
+ * Helper text to be placed under the progress bar.
2483
+ */
2484
+ helperText?: string;
2485
+ /**
2486
+ * If true, the progress bar will be displayed as a modal.
2487
+ */
2488
+ overlay?: boolean;
2489
+ /**
2490
+ * The value of the progress indicator. If it's received the component is
2491
+ * determinate otherwise is indeterminate.
2492
+ */
2493
+ value?: number;
2494
+ /**
2495
+ * If true, the value is displayed above the progress bar.
2496
+ */
2497
+ showValue?: boolean;
2498
+ /**
2499
+ * Size of the margin to be applied to the component. You can pass
2500
+ * an object with 'top', 'bottom', 'left' and 'right' properties
2501
+ * in order to specify different margin sizes.
2502
+ */
2503
+ margin?: Space$1 | Size$1;
2504
+ /**
2505
+ * Specifies a string to be used as the name for the progress bar element when no `label` is provided.
2506
+ */
2507
+ ariaLabel?: string;
2508
+ };
2509
+
2510
+ declare const DxcProgressBar: ({ label, helperText, overlay, value, showValue, margin, ariaLabel, }: Props$e) => JSX.Element;
2511
+
2512
+ type Link = {
2513
+ /**
2514
+ * Label to be shown in the link.
2515
+ */
2516
+ label: string;
2517
+ /**
2518
+ * Sublinks of the link.
2519
+ */
2520
+ links?: Link[];
2521
+ };
2522
+ type Props$d = {
2523
+ /**
2524
+ * Title of the quick nav component.
2525
+ */
2526
+ title?: string;
2527
+ /**
2528
+ * Links to be shown inside the quick nav component.
2529
+ */
2530
+ links: Link[];
2531
+ };
2532
+
2533
+ declare function DxcQuickNav({ links, title }: Props$d): react_jsx_runtime.JSX.Element;
2534
+
2535
+ type Option$1 = {
2536
+ /**
2537
+ * Label of the option placed next to the radio input.
2538
+ */
2539
+ value: string;
2540
+ /**
2541
+ * Value of the option. It should be unique and
2542
+ * not an empty string, which is reserved to the optional item added
2543
+ * by 'optional' prop.
2544
+ */
2545
+ label: string;
2546
+ /**
2547
+ * If true, disables the option.
2548
+ */
2549
+ disabled?: boolean;
2550
+ };
2551
+ type RadioGroupProps = {
2552
+ /**
2553
+ * Specifies a string to be used as the name for the radio group when no `label` is provided.
2554
+ */
2555
+ ariaLabel?: string;
2556
+ /**
2557
+ * Initial value of the radio group, only when it is uncontrolled.
2558
+ */
2559
+ defaultValue?: string;
2560
+ /**
2561
+ * If true, the component will be disabled.
2562
+ */
2563
+ disabled?: boolean;
2564
+ /**
2565
+ * If it is a defined value and also a truthy string, the component will
2566
+ * change its appearance, showing the error below the radio group. If the
2567
+ * defined value is an empty string, it will reserve a space below the
2568
+ * component for a future error, but it would not change its look. In
2569
+ * case of being undefined or null, both the appearance and the space for
2570
+ * the error message would not be modified.
2571
+ */
2572
+ error?: string;
2573
+ /**
2574
+ * Helper text to be placed above the radio group.
2575
+ */
2576
+ helperText?: string;
2577
+ /**
2578
+ * Text to be placed above the radio group.
2579
+ */
2580
+ label?: string;
2581
+ /**
2582
+ * Name attribute of the input element. This attribute will allow users
2583
+ * to find the component's value during the submit event.
2584
+ */
2585
+ name?: string;
2586
+ /**
2587
+ * If true, the radio group will be optional, showing
2588
+ * (Optional) next to the label and adding a default last
2589
+ * option with an empty string as value. Otherwise, the field will be
2590
+ * considered required and an error will be passed as a parameter to the
2591
+ * OnBlur functions if an option wasn't selected.
2592
+ */
2593
+ optional?: boolean;
2594
+ /**
2595
+ * Label of the optional radio input.
2596
+ */
2597
+ optionalItemLabel?: string;
2598
+ /**
2599
+ * An array of objects representing the selectable options.
2600
+ */
2601
+ options: Option$1[];
2602
+ /**
2603
+ * This function will be called when the radio group loses the focus. An
2604
+ * object including the value and the error will be passed to this
2605
+ * function. If there is no error, error will not be defined.
2606
+ */
2607
+ onBlur?: (val: {
2608
+ value?: string;
2609
+ error?: string;
2610
+ }) => void;
2611
+ /**
2612
+ * This function will be called when the user chooses an option. The new
2613
+ * value will be passed to this function.
2614
+ */
2615
+ onChange?: (value: string) => void;
2616
+ /**
2617
+ * If true, the component will not be mutable, meaning the user can not edit the control.
2618
+ */
2619
+ readOnly?: boolean;
2620
+ /**
2621
+ * Sets the orientation of the options within the radio group.
2622
+ */
2623
+ stacking?: "row" | "column";
2624
+ /**
2625
+ * Value of the tabindex attribute.
2626
+ */
2627
+ tabIndex?: number;
2628
+ /**
2629
+ * Value of the radio group. If undefined, the component will be
2630
+ * uncontrolled and the value will be managed internally by the
2631
+ * component.
2632
+ */
2633
+ value?: string;
2634
+ };
2635
+
2636
+ declare const DxcRadioGroup: react.ForwardRefExoticComponent<RadioGroupProps & react.RefAttributes<HTMLDivElement>>;
2637
+
2638
+ type Column = {
2639
+ /**
2640
+ * Column display value.
2641
+ */
2642
+ displayValue: ReactNode;
2643
+ /**
2644
+ * Boolean value to indicate whether the column is sortable or not.
2645
+ */
2646
+ isSortable?: boolean;
2647
+ };
2648
+ type Cell = {
2649
+ /**
2650
+ * Value to be displayed in the cell.
2651
+ */
2652
+ displayValue: ReactNode;
2653
+ /**
2654
+ * Value to be used when sorting the table by that
2655
+ * column. If not indicated displayValue will be used for sorting.
2656
+ */
2657
+ sortValue?: string | number | Date;
2658
+ };
2659
+ type Row = Cell[];
2660
+ type CommonProps$3 = {
2661
+ /**
2662
+ * An array of objects representing the columns of the table.
2663
+ */
2664
+ columns: Column[];
2665
+ /**
2666
+ * Size of the margin to be applied to the component. You can pass an object with 'top',
2667
+ * 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
2668
+ */
2669
+ margin?: Space$1 | Margin;
2670
+ /**
2671
+ * Determines the visual style and layout
2672
+ * - "default": The default mode with big spacing
2673
+ * - "reduced": A reduced mode with minimal spacing for dense tables
2674
+ */
2675
+ mode?: "default" | "reduced";
2676
+ /**
2677
+ * An array of objects representing the rows of the table, you will have
2678
+ * as many objects as columns in the table.
2679
+ */
2680
+ rows: Row[];
2681
+ /**
2682
+ * Value of the tabindex attribute applied to the sortable icon.
2683
+ */
2684
+ tabIndex?: number;
2685
+ /**
2686
+ * A fixed height must be set to enable virtualization.
2687
+ * If no height is provided, the table will automatically adjust to the height of its content, and virtualization will not be applied.
2688
+ */
2689
+ virtualizedHeight?: string;
2690
+ };
2691
+ type PaginatedProps = CommonProps$3 & {
2692
+ hidePaginator?: false;
2693
+ /**
2694
+ * If true, a select component for navigation between pages will be displayed.
2695
+ */
2696
+ showGoToPage?: boolean;
2697
+ /**
2698
+ * Number of items per page.
2699
+ */
2700
+ itemsPerPage?: number;
2701
+ /**
2702
+ * An array of numbers representing the items per page options.
2703
+ */
2704
+ itemsPerPageOptions?: number[];
2705
+ /**
2706
+ * This function will be called when the user selects an item per page
2707
+ * option. The value selected will be passed as a parameter.
2708
+ */
2709
+ itemsPerPageFunction?: (value: number) => void;
2710
+ };
2711
+ type NonPaginatedProps = CommonProps$3 & {
2712
+ /**
2713
+ * If true, paginator will not be displayed.
2714
+ */
2715
+ hidePaginator: true;
2716
+ /**
2717
+ * Number of items per page.
2718
+ */
2719
+ itemsPerPage?: never;
2720
+ /**
2721
+ * An array of numbers representing the items per page options.
2722
+ */
2723
+ itemsPerPageOptions?: never;
2724
+ /**
2725
+ * This function will be called when the user selects an item per page
2726
+ * option. The value selected will be passed as a parameter.
2727
+ */
2728
+ itemsPerPageFunction?: never;
2729
+ /**
2730
+ * If true, a select component for navigation between pages will be displayed.
2731
+ */
2732
+ showGoToPage?: never;
2733
+ };
2734
+ type Props$c = PaginatedProps | NonPaginatedProps;
2735
+
2736
+ declare const DxcResultsetTable: {
2737
+ ({ columns, hidePaginator, itemsPerPage, itemsPerPageFunction, itemsPerPageOptions, margin, mode, rows, showGoToPage, tabIndex, virtualizedHeight, }: Props$c): react_jsx_runtime.JSX.Element;
2738
+ ActionsCell: ({ actions }: ActionsCellPropsType) => react_jsx_runtime.JSX.Element;
2739
+ };
2740
+
2741
+ type ListOptionType = {
2742
+ /**
2743
+ * Element used as the icon that will be placed before the option label.
2744
+ * It can be an inline SVG or Material Symbol name. If the url option
2745
+ * is the chosen one, take into account that the component's
2746
+ * color styling tokens will not be applied to the image.
2747
+ */
2748
+ icon?: string | SVG;
2749
+ /**
2750
+ * Label of the option to be shown in the select's listbox.
2751
+ */
2752
+ label: string;
2753
+ /**
2754
+ * Value of the option. It should be unique and
2755
+ * not an empty string, which is reserved to the empty option added
2756
+ * by optional prop.
2757
+ */
2758
+ value: string;
2759
+ };
2760
+ type ListOptionGroupType = {
2761
+ /**
2762
+ * Label of the group to be shown in the select's listbox.
2763
+ */
2764
+ label: string;
2765
+ /**
2766
+ * List of the grouped options.
2767
+ */
2768
+ options: ListOptionType[];
2769
+ };
2770
+ type CommonProps$2 = {
2771
+ /**
2772
+ * Specifies a string to be used as the name for the select element when no `label` is provided.
2773
+ */
2774
+ ariaLabel?: string;
2775
+ /**
2776
+ * If true, the component will be disabled.
2777
+ */
2778
+ disabled?: boolean;
2779
+ /**
2780
+ * If it is a defined value and also a truthy string, the component will
2781
+ * change its appearance, showing the error below the select component.
2782
+ * If the defined value is an empty string, it will reserve a space below
2783
+ * the component for a future error, but it would not change its look. In
2784
+ * case of being undefined or null, both the appearance and the space for
2785
+ * the error message would not be modified.
2786
+ */
2787
+ error?: string;
2788
+ /**
2789
+ * Helper text to be placed above the select.
2790
+ */
2791
+ helperText?: string;
2792
+ /**
2793
+ * Text to be placed above the select.
2794
+ */
2795
+ label?: string;
2796
+ /**
2797
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
2798
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
2799
+ */
2800
+ margin?: Space$1 | Margin;
2801
+ /**
2802
+ * Name attribute of the input element. This attribute will allow users
2803
+ * to find the component's value during the submit event. In this event,
2804
+ * the component's value will always be a regular string, for both single
2805
+ * and multiple selection modes, being a single option value in the first case
2806
+ * and more than one value when multiple selection is available, separated by commas.
2807
+ */
2808
+ name?: string;
2809
+ /**
2810
+ * If true, the select will be optional, showing '(Optional)'
2811
+ * next to the label and adding a default first option with an empty string as value,
2812
+ * been the placeholder (if defined) its label. Otherwise, the field will be
2813
+ * considered required and an error will be passed as a parameter to the
2814
+ * OnBlur and onChange functions if an option wasn't selected.
2815
+ */
2816
+ optional?: boolean;
2817
+ /**
2818
+ * An array of objects representing the selectable options.
2819
+ */
2820
+ options: ListOptionType[] | ListOptionGroupType[];
2821
+ /**
2822
+ * Text to be put as placeholder of the select.
2823
+ */
2824
+ placeholder?: string;
2825
+ /**
2826
+ * If true, enables search functionality.
2827
+ */
2828
+ searchable?: boolean;
2829
+ /**
2830
+ * Size of the component.
2831
+ */
2832
+ size?: "small" | "medium" | "large" | "fillParent";
2833
+ /**
2834
+ * Value of the tabindex attribute.
2835
+ */
2836
+ tabIndex?: number;
2837
+ /**
2838
+ * A fixed height must be set to enable virtualization.
2839
+ * If no height is provided, the select will automatically adjust to the height of its content, and virtualization will not be applied.
2840
+ */
2841
+ virtualizedHeight?: string;
2842
+ };
2843
+ type SingleSelect = CommonProps$2 & {
2844
+ /**
2845
+ * Initial value of the select, only when it is uncontrolled.
2846
+ */
2847
+ defaultValue?: string;
2848
+ /**
2849
+ * Enables users to select multiple items from the list.
2850
+ */
2851
+ enableSelectAll?: never;
2852
+ /**
2853
+ * If true, the select component will support multiple selected options.
2854
+ * In that case, value will be an array of strings with each selected
2855
+ * option value.
2856
+ */
2857
+ multiple?: false;
2858
+ /**
2859
+ * This function will be called when the select loses the focus. An
2860
+ * object including the value and the error (if the value
2861
+ * selected is not valid) will be passed to this function. If there is no error,
2862
+ * error will not be defined.
2863
+ */
2864
+ onBlur?: (val: {
2865
+ value: string;
2866
+ error?: string;
2867
+ }) => void;
2868
+ /**
2869
+ * This function will be called when the user selects an option.
2870
+ * An object including the current value and the error (if the value entered is not valid)
2871
+ * will be passed to this function. If there is no error, error will not be defined.
2872
+ */
2873
+ onChange?: (val: {
2874
+ value: string;
2875
+ error?: string;
2876
+ }) => void;
2877
+ /**
2878
+ * Value of the select. If undefined, the component will be uncontrolled
2879
+ * and the value will be managed internally by the component.
2880
+ */
2881
+ value?: string;
2882
+ };
2883
+ type MultipleSelect = CommonProps$2 & {
2884
+ /**
2885
+ * Initial value of the select, only when it is uncontrolled.
2886
+ */
2887
+ defaultValue?: string[];
2888
+ /**
2889
+ * Enables users to select multiple items from the list.
2890
+ */
2891
+ enableSelectAll?: boolean;
2892
+ /**
2893
+ * If true, the select component will support multiple selected options.
2894
+ * In that case, value will be an array of strings with each selected
2895
+ * option value.
2896
+ */
2897
+ multiple: true;
2898
+ /**
2899
+ * This function will be called when the select loses the focus. An
2900
+ * object including the selected values and the error (if the value
2901
+ * selected is not valid) will be passed to this function. If there is no error,
2902
+ * error will be null.
2903
+ */
2904
+ onBlur?: (val: {
2905
+ value: string[];
2906
+ error?: string;
2907
+ }) => void;
2908
+ /**
2909
+ * This function will be called when the user selects an option.
2910
+ * An object including the current selected values and the error (if the value entered is not valid)
2911
+ * will be passed to this function. If there is no error, error will be null.
2912
+ */
2913
+ onChange?: (val: {
2914
+ value: string[];
2915
+ error?: string;
2916
+ }) => void;
2917
+ /**
2918
+ * Value of the select. If undefined, the component will be uncontrolled
2919
+ * and the value will be managed internally by the component.
2920
+ */
2921
+ value?: string[];
2922
+ };
2923
+ type Props$b = SingleSelect | MultipleSelect;
2924
+
2925
+ declare const DxcSelect: react.ForwardRefExoticComponent<Props$b & react.RefAttributes<HTMLDivElement>>;
2926
+
2927
+ type Props$a = {
2928
+ /**
2929
+ * Specifies a string to be used as the name for the slider element when no `label` is provided.
2930
+ */
2931
+ ariaLabel?: string;
2932
+ /**
2933
+ * Initial value of the slider, only when it is uncontrolled.
2934
+ */
2935
+ defaultValue?: number;
2936
+ /**
2937
+ * If true, the component will be disabled.
2938
+ */
2939
+ disabled?: boolean;
2940
+ /**
2941
+ * Helper text to be placed above the slider.
2942
+ */
2943
+ helperText?: string;
2944
+ /**
2945
+ * Text to be placed above the slider.
2946
+ */
2947
+ label?: string;
2948
+ /**
2949
+ * This function will be used to format the labels displayed next to the slider.
2950
+ * The value will be passed as parameter and the function must return the formatted value.
2951
+ */
2952
+ labelFormatCallback?: (value: number) => string;
2953
+ /**
2954
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
2955
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
2956
+ */
2957
+ margin?: Space$1 | Margin;
2958
+ /**
2959
+ * Whether the marks between each step should be shown or not.
2960
+ */
2961
+ marks?: boolean;
2962
+ /**
2963
+ * The maximum value available for selection.
2964
+ */
2965
+ maxValue?: number;
2966
+ /**
2967
+ * The minimum value available for selection.
2968
+ */
2969
+ minValue?: number;
2970
+ /**
2971
+ * Name attribute of the input element.
2972
+ */
2973
+ name?: string;
2974
+ /**
2975
+ * This function will be called when the slider changes its value, as it's being dragged.
2976
+ * The new value will be passed as a parameter when this function is executed.
2977
+ */
2978
+ onChange?: (value: number) => void;
2979
+ /**
2980
+ * This function will be called when the slider changes its value, but only when the thumb is released.
2981
+ * The new value will be passed as a parameter when this function is executed.
2982
+ */
2983
+ onDragEnd?: (value: number) => void;
2984
+ /**
2985
+ * Whether the input element for displaying/controlling the slider value should be displayed next to the slider.
2986
+ */
2987
+ showInput?: boolean;
2988
+ /**
2989
+ * Whether the min/max value labels should be displayed next to the slider
2990
+ */
2991
+ showLimitsValues?: boolean;
2992
+ /**
2993
+ * Size of the component.
2994
+ */
2995
+ size?: "medium" | "large" | "fillParent";
2996
+ /**
2997
+ * The step interval between values available for selection.
2998
+ */
2999
+ step?: number;
3000
+ /**
3001
+ * The selected value. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
3002
+ */
3003
+ value?: number;
3004
+ };
3005
+
3006
+ declare const DxcSlider: react.ForwardRefExoticComponent<Props$a & react.RefAttributes<HTMLDivElement>>;
3007
+
3008
+ type Props$9 = {
3009
+ /**
3010
+ * Specifies a string to be used as the name for the spinner element when no `label` is provided or the `mode` is set to small.
3011
+ */
3012
+ ariaLabel?: string;
3013
+ /**
3014
+ * If true, the color is inherited from the closest parent with a defined color. This allows users to adapt the spinner
3015
+ * to the semantic color of the use case in which it is used.
3016
+ */
3017
+ inheritColor?: boolean;
3018
+ /**
3019
+ * Text to be placed inside the spinner.
3020
+ */
3021
+ label?: string;
3022
+ /**
3023
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
3024
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
3025
+ */
3026
+ margin?: Space$1 | Margin;
3027
+ /**
3028
+ * Available modes of the spinner.
3029
+ */
3030
+ mode?: "large" | "small" | "overlay";
3031
+ /**
3032
+ * If true, the value is displayed inside the spinner..
3033
+ */
3034
+ showValue?: boolean;
3035
+ /**
3036
+ * The value of the progress indicator. If it's received the
3037
+ * component is determinate, otherwise is indeterminate.
3038
+ */
3039
+ value?: number;
3040
+ };
3041
+
3042
+ declare const DxcSpinner: ({ ariaLabel, inheritColor, label, margin, mode, showValue, value, }: Props$9) => react_jsx_runtime.JSX.Element;
3043
+
3044
+ type Mode = "default" | "info" | "success" | "warning" | "error";
3045
+ type Size = "small" | "medium" | "large";
3046
+ type Props$8 = {
3047
+ /**
3048
+ * It will define the color of the light based on its semantic meaning.
3049
+ */
3050
+ mode?: Mode;
3051
+ /**
3052
+ * An auxiliar text that will add some context to the status.
3053
+ */
3054
+ label: string;
3055
+ /**
3056
+ * Size of the component. Should be defined based on its importance and/or available space.
3057
+ */
3058
+ size?: Size;
3059
+ };
3060
+
3061
+ declare function DxcStatusLight({ label, mode, size }: Props$8): react_jsx_runtime.JSX.Element;
3062
+
3063
+ type Props$7 = {
3064
+ /**
3065
+ * Specifies a string to be used as the name for the switch element when no `label` is provided.
3066
+ */
3067
+ ariaLabel?: string;
3068
+ /**
3069
+ * If true, the component is checked. If undefined, the component will be uncontrolled
3070
+ * and the checked attribute will be managed internally by the component.
3071
+ */
3072
+ checked?: boolean;
3073
+ /**
3074
+ * Initial state of the switch, only when it is uncontrolled.
3075
+ */
3076
+ defaultChecked?: boolean;
3077
+ /**
3078
+ * If true, the component will be disabled.
3079
+ */
3080
+ disabled?: boolean;
3081
+ /**
3082
+ * Text to be placed next to the switch.
3083
+ */
3084
+ label?: string;
3085
+ /**
3086
+ * Whether the label should appear after or before the switch.
3087
+ */
3088
+ labelPosition?: "before" | "after";
3089
+ /**
3090
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
3091
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
3092
+ */
3093
+ margin?: Space$1 | Margin;
3094
+ /**
3095
+ * Name attribute of the input element.
3096
+ */
3097
+ name?: string;
3098
+ /**
3099
+ * This function will be called when the user changes the state of the switch.
3100
+ * The new value of the checked attribute will be passed as a parameter.
3101
+ */
3102
+ onChange?: (checked: boolean) => void;
3103
+ /**
3104
+ * If true, the component will display '(Optional)' next to the label.
3105
+ */
3106
+ optional?: boolean;
3107
+ /**
3108
+ * Size of the component.
3109
+ */
3110
+ size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
3111
+ /**
3112
+ * Value of the tabindex.
3113
+ */
3114
+ tabIndex?: number;
3115
+ /**
3116
+ * Will be passed to the value attribute of the html input element. When inside a form,
3117
+ * this value will be only submitted if the switch is checked.
3118
+ */
3119
+ value?: string;
3120
+ };
3121
+
3122
+ declare const DxcSwitch: react.ForwardRefExoticComponent<Props$7 & react.RefAttributes<HTMLDivElement>>;
3123
+
3124
+ declare const DxcTable: {
3125
+ ({ children, margin, mode }: Props$t): react_jsx_runtime.JSX.Element;
3126
+ ActionsCell: ({ actions }: ActionsCellPropsType) => react_jsx_runtime.JSX.Element;
3127
+ };
3128
+
3129
+ type CommonTabProps = {
3130
+ defaultActive?: boolean;
3131
+ active?: boolean;
3132
+ title?: string;
3133
+ disabled?: boolean;
3134
+ notificationNumber?: boolean | number;
3135
+ children: ReactNode;
3136
+ onClick?: () => void;
3137
+ onHover?: () => void;
3138
+ };
3139
+ type TabProps = (CommonTabProps & {
3140
+ tabId: string;
3141
+ label?: string;
3142
+ icon?: string | SVG;
3143
+ }) | (CommonTabProps & {
3144
+ tabId?: string;
3145
+ label: string;
3146
+ icon?: string | SVG;
3147
+ });
3148
+ type TabsProps = {
3149
+ /**
3150
+ * Whether the icon should appear above or to the left of the label.
3151
+ */
3152
+ iconPosition?: "top" | "left";
3153
+ /**
3154
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
3155
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
3156
+ */
3157
+ margin?: Space$1 | Margin;
3158
+ /**
3159
+ * Value of the tabindex attribute applied to each tab.
3160
+ */
3161
+ tabIndex?: number;
3162
+ /**
3163
+ * Contains one or more DxcTabs.Tab.
3164
+ */
3165
+ children?: ReactNode;
3166
+ };
3167
+ type Props$6 = TabsProps;
3168
+
3169
+ declare const DxcTabs: {
3170
+ ({ children, iconPosition, margin, tabIndex }: Props$6): react_jsx_runtime.JSX.Element;
3171
+ Tab: react.ForwardRefExoticComponent<TabProps & react.RefAttributes<HTMLButtonElement>>;
3172
+ };
3173
+
3174
+ type Props$5 = {
3175
+ /**
3176
+ * Specifies a string to be used as the name for the textarea element when no `label` is provided.
3177
+ */
3178
+ ariaLabel?: string;
3179
+ /**
3180
+ * HTML autocomplete attribute. Lets the user specify if any permission the user agent has to provide automated assistance in filling out the textarea value.
3181
+ * Its value must be one of all the possible values of the HTML autocomplete attribute: 'on', 'off', 'email', 'username', 'new-password', ...
3182
+ */
3183
+ autocomplete?: string;
3184
+ /**
3185
+ * If true, the component will be disabled.
3186
+ */
3187
+ disabled?: boolean;
3188
+ /**
3189
+ * Initial value of the textarea, only when it is uncontrolled.
3190
+ */
3191
+ defaultValue?: string;
3192
+ /**
3193
+ * If it is a defined value and also a truthy string, the component will
3194
+ * change its appearance, showing the error below the textarea. If the
3195
+ * defined value is an empty string, it will reserve a space below the
3196
+ * component for a future error, but it would not change its look. In
3197
+ * case of being undefined or null, both the appearance and the space for
3198
+ * the error message would not be modified.
3199
+ */
3200
+ error?: string;
3201
+ /**
3202
+ * Helper text to be placed above the textarea.
3203
+ */
3204
+ helperText?: string;
3205
+ /**
3206
+ * Text to be placed above the textarea.
3207
+ */
3208
+ label?: string;
3209
+ /**
3210
+ * Specifies the maximum length allowed by the textarea.
3211
+ * This will be checked both when the textarea loses the
3212
+ * focus and while typing within it. If the string entered does not
3213
+ * comply the maximum length, the onBlur and onChange functions will be called
3214
+ * with the current value and an internal error informing that the value
3215
+ * length does not comply the specified range. If a valid length is
3216
+ * reached, the error parameter of both events will not be defined.
3217
+ */
3218
+ maxLength?: number;
3219
+ /**
3220
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
3221
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
3222
+ */
3223
+ margin?: Space$1 | Margin;
3224
+ /**
3225
+ * Specifies the minimum length allowed by the textarea.
3226
+ * This will be checked both when the textarea loses the
3227
+ * focus and while typing within it. If the string entered does not
3228
+ * comply the minimum length, the onBlur and onChange functions will be called
3229
+ * with the current value and an internal error informing that the value
3230
+ * length does not comply the specified range. If a valid length is
3231
+ * reached, the error parameter of both events will not be defined.
3232
+ */
3233
+ minLength?: number;
3234
+ /**
3235
+ * Name attribute of the textarea element.
3236
+ */
3237
+ name?: string;
3238
+ /**
3239
+ * This function will be called when the textarea loses the focus. An
3240
+ * object including the textarea value and the error (if the value entered
3241
+ * is not valid) will be passed to this function. If there is no error,
3242
+ * error will not be defined.
3243
+ */
3244
+ onBlur?: (val: {
3245
+ value: string;
3246
+ error?: string;
3247
+ }) => void;
3248
+ /**
3249
+ * This function will be called when the user types within the textarea.
3250
+ * An object including the current value and the error (if the value
3251
+ * entered is not valid) will be passed to this function.
3252
+ * If there is no error, error will not be defined.
3253
+ */
3254
+ onChange?: (val: {
3255
+ value: string;
3256
+ error?: string;
3257
+ }) => void;
3258
+ /**
3259
+ * If true, the textarea will be optional, showing '(Optional)'
3260
+ * next to the label. Otherwise, the field will be considered required
3261
+ * and an error will be passed as a parameter to the OnBlur and onChange functions
3262
+ * when it has not been filled.
3263
+ */
3264
+ optional?: boolean;
3265
+ /**
3266
+ * Regular expression that defines the valid format allowed by the
3267
+ * textarea. This will be checked both when the textarea loses the focus
3268
+ * and while typing within it. If the string entered does not match the
3269
+ * pattern, the onBlur and onChange functions will be called with the
3270
+ * current value and an internal error informing that this value does not
3271
+ * match the pattern. If the pattern is met, the error parameter of both
3272
+ * events will not be defined.
3273
+ */
3274
+ pattern?: string;
3275
+ /**
3276
+ * Text to be put as placeholder of the textarea.
3277
+ */
3278
+ placeholder?: string;
3279
+ /**
3280
+ * If true, the component will not be mutable, meaning the user can not edit the control.
3281
+ */
3282
+ readOnly?: boolean;
3283
+ /**
3284
+ * Number of rows of the textarea.
3285
+ */
3286
+ rows?: number;
3287
+ /**
3288
+ * Size of the component.
3289
+ */
3290
+ size?: "small" | "medium" | "large" | "fillParent";
3291
+ /**
3292
+ * Value of the tabindex attribute.
3293
+ */
3294
+ tabIndex?: number;
3295
+ /**
3296
+ * Value of the textarea. If undefined, the component will be uncontrolled and the value will be managed internally.
3297
+ */
3298
+ value?: string;
3299
+ /**
3300
+ * Defines the textarea's ability to resize vertically. It can be:
3301
+ * - 'auto': The textarea grows or shrinks automatically in order to fit the content.
3302
+ * - 'manual': The height of the textarea is enabled to be manually modified.
3303
+ * - 'none': The textarea has a fixed height and can't be modified.
3304
+ */
3305
+ verticalGrow?: "auto" | "manual" | "none";
3306
+ };
3307
+
3308
+ declare const DxcTextarea: react.ForwardRefExoticComponent<Props$5 & react.RefAttributes<HTMLDivElement>>;
3309
+
3310
+ type Action$1 = {
3311
+ /**
3312
+ * This function will be called when the user clicks the action.
3313
+ */
3314
+ onClick: () => void;
3315
+ /**
3316
+ * Icon to be placed in the action..
3317
+ */
3318
+ icon: string | SVG;
3319
+ /**
3320
+ * Text representing advisory information related
3321
+ * to the button's action. Under the hood, this prop also serves
3322
+ * as an accessible label for the component.
3323
+ */
3324
+ title?: string;
3325
+ };
3326
+ type Props$4 = {
3327
+ /**
3328
+ * Sets the alignment inside the input.
3329
+ */
3330
+ alignment?: "left" | "right";
3331
+ /**
3332
+ * Text to be placed above the input. This label will be used as the aria-label attribute of the list of suggestions.
3333
+ */
3334
+ label?: string;
3335
+ /**
3336
+ * Name attribute of the input element.
3337
+ */
3338
+ name?: string;
3339
+ /**
3340
+ * Initial value of the input, only when it is uncontrolled.
3341
+ */
3342
+ defaultValue?: string;
3343
+ /**
3344
+ * Value of the input. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
3345
+ */
3346
+ value?: string;
3347
+ /**
3348
+ * Helper text to be placed above the input.
3349
+ */
3350
+ helperText?: string;
3351
+ /**
3352
+ * Text to be put as placeholder of the input.
3353
+ */
3354
+ placeholder?: string;
3355
+ /**
3356
+ * Action to be shown in the input.
3357
+ */
3358
+ action?: Action$1;
3359
+ /**
3360
+ * If true, the input will have an action to clear the entered value.
3361
+ */
3362
+ clearable?: boolean;
3363
+ /**
3364
+ * If true, the component will be disabled.
3365
+ */
3366
+ disabled?: boolean;
3367
+ /**
3368
+ * If true, the component will not be mutable, meaning the user can not edit the control.
3369
+ * In addition, the clear action will not be displayed even if the flag is set to true
3370
+ * and the custom action will not execute its onClick event.
3371
+ */
3372
+ readOnly?: boolean;
3373
+ /**
3374
+ * If true, the input will be optional, showing '(Optional)'
3375
+ * next to the label. Otherwise, the field will be considered required and an error will be
3376
+ * passed as a parameter to the OnBlur and onChange functions when it has
3377
+ * not been filled.
3378
+ */
3379
+ optional?: boolean;
3380
+ /**
3381
+ * Prefix to be placed before the input value.
3382
+ */
3383
+ prefix?: string;
3384
+ /**
3385
+ * Suffix to be placed after the input value.
3386
+ */
3387
+ suffix?: string;
3388
+ /**
3389
+ * This function will be called when the user types within the input
3390
+ * element of the component. An object including the current value and
3391
+ * the error (if the value entered is not valid) will be passed to this
3392
+ * function. If there is no error, error will not be defined.
3393
+ */
3394
+ onChange?: (val: {
3395
+ value: string;
3396
+ error?: string;
3397
+ }) => void;
3398
+ /**
3399
+ * This function will be called when the input element loses the focus.
3400
+ * An object including the input value and the error (if the value
3401
+ * entered is not valid) will be passed to this function. If there is no error,
3402
+ * error will not be defined.
3403
+ */
3404
+ onBlur?: (val: {
3405
+ value: string;
3406
+ error?: string;
3407
+ }) => void;
3408
+ /**
3409
+ * If it is a defined value and also a truthy string, the component will
3410
+ * change its appearance, showing the error below the input component. If
3411
+ * the defined value is an empty string, it will reserve a space below
3412
+ * the component for a future error, but it would not change its look. In
3413
+ * case of being undefined or null, both the appearance and the space for
3414
+ * the error message would not be modified.
3415
+ */
3416
+ error?: string;
3417
+ /**
3418
+ * These are the options to be displayed as suggestions. It can be either an array or a function:
3419
+ * - Array: Array of options that will be filtered by the component.
3420
+ * - Function: This function will be called when the user changes the value.
3421
+ * It will receive the new value as a parameter and should return a promise
3422
+ * that resolves to an array with the filtered options.
3423
+ */
3424
+ suggestions?: string[] | ((value: string) => Promise<string[]>);
3425
+ /**
3426
+ * Regular expression that defines the valid format allowed by the input.
3427
+ * This will be checked both when the input element loses the focus and
3428
+ * while typing within it. If the string entered does not match the
3429
+ * pattern, the onBlur and onChange functions will be called with the
3430
+ * current value and an internal error informing that this value does not
3431
+ * match the pattern. If the pattern is met, the error parameter of both
3432
+ * events will not be defined.
3433
+ */
3434
+ pattern?: string;
3435
+ /**
3436
+ * Specifies the minimum length allowed by the input.
3437
+ * This will be checked both when the input element loses the
3438
+ * focus and while typing within it. If the string entered does not
3439
+ * comply the minimum length, the onBlur and onChange functions will be called
3440
+ * with the current value and an internal error informing that the value
3441
+ * length does not comply the specified range. If a valid length is
3442
+ * reached, the error parameter of both events will not be defined.
3443
+ */
3444
+ minLength?: number;
3445
+ /**
3446
+ * Specifies the maximum length allowed by the input.
3447
+ * This will be checked both when the input element loses the
3448
+ * focus and while typing within it. If the string entered does not
3449
+ * comply the maximum length, the onBlur and onChange functions will be called
3450
+ * with the current value and an internal error informing that the value
3451
+ * length does not comply the specified range. If a valid length is
3452
+ * reached, the error parameter of both events will not be defined.
3453
+ */
3454
+ maxLength?: number;
3455
+ /**
3456
+ * HTML autocomplete attribute. Lets the user specify if any permission the user agent has to provide automated assistance in filling out the input value.
3457
+ * Its value must be one of all the possible values of the HTML autocomplete attribute: 'on', 'off', 'email', 'username', 'new-password', ...
3458
+ */
3459
+ autocomplete?: string;
3460
+ /**
3461
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
3462
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
3463
+ */
3464
+ margin?: Space$1 | Margin;
3465
+ /**
3466
+ * Size of the component.
3467
+ */
3468
+ size?: "small" | "medium" | "large" | "fillParent";
3469
+ /**
3470
+ * Value of the tabindex attribute.
3471
+ */
3472
+ tabIndex?: number;
3473
+ /**
3474
+ * Specifies a string to be used as the name for the textInput element when no `label` is provided.
3475
+ */
3476
+ ariaLabel?: string;
3477
+ };
3478
+
3479
+ declare const DxcTextInput: react.ForwardRefExoticComponent<Props$4 & react.RefAttributes<HTMLDivElement>>;
3480
+
3481
+ type Action = {
3482
+ /**
3483
+ * The icon of the action. It can be a string with the name of the icon or an SVG component.
3484
+ */
3485
+ icon?: string | SVG;
3486
+ /**
3487
+ * The label of the action.
3488
+ */
3489
+ label: string;
3490
+ /**
3491
+ * The function that will be executed when the user clicks on the action button.
3492
+ */
3493
+ onClick: () => void;
3494
+ };
3495
+ type CommonProps$1 = {
3496
+ /**
3497
+ * Tertiary button which performs a custom action, specified by the user.
3498
+ */
3499
+ action?: Action;
3500
+ /**
3501
+ * Message to be displayed as a toast.
3502
+ */
3503
+ message: string;
3504
+ };
3505
+ type DefaultToast = CommonProps$1 & {
3506
+ /**
3507
+ * Material Symbol name or SVG element as the icon that will be placed next to the panel label.
3508
+ * When using Material Symbols, replace spaces with underscores.
3509
+ * By default they are outlined if you want it to be filled prefix the symbol name with "filled_".
3510
+ */
3511
+ icon?: string | SVG;
3512
+ };
3513
+ type LoadingToast = CommonProps$1 & {
3514
+ loading: boolean;
3515
+ };
3516
+ type SemanticToast = CommonProps$1 & {
3517
+ /**
3518
+ * Flag that allows to hide the semantic icon of the toast.
3519
+ */
3520
+ hideSemanticIcon?: boolean;
3521
+ };
3522
+ type ToastsQueuePropsType = {
3523
+ /**
3524
+ * Tree of components from which the useToast hook can be triggered.
3525
+ */
3526
+ children: ReactNode;
3527
+ /**
3528
+ * Duration in milliseconds before a toast automatically hides itself.
3529
+ * The range goes from 3000ms to 5000ms, any other value will not be taken into consideration.
3530
+ */
3531
+ duration?: number;
3532
+ };
3533
+
3534
+ declare function DxcToastsQueue({ children, duration }: ToastsQueuePropsType): react_jsx_runtime.JSX.Element;
3535
+
3536
+ type OptionIcon = {
3537
+ /**
3538
+ * Material Symbols icon or SVG element. Icon and label can't be used at same time.
3539
+ */
3540
+ icon: string | SVG;
3541
+ /**
3542
+ * String with the option display value.
3543
+ */
3544
+ label?: never;
3545
+ /**
3546
+ * Value for the HTML properties title and aria-label.
3547
+ * When a label is defined, this prop can not be use.
3548
+ */
3549
+ title: string;
3550
+ };
3551
+ type OptionLabel = {
3552
+ /**
3553
+ * Material Symbols icon or SVG element. Icon and label can't be used at same time.
3554
+ */
3555
+ icon?: string | SVG;
3556
+ /**
3557
+ * String with the option display value.
3558
+ */
3559
+ label: string;
3560
+ /**
3561
+ * Value for the HTML properties title and aria-label.
3562
+ * When a label is defined, this prop can not be use.
3563
+ */
3564
+ title?: never;
3565
+ };
3566
+ type Option = {
3567
+ /**
3568
+ * If true, the option will be disabled.
3569
+ */
3570
+ disabled?: boolean;
3571
+ /**
3572
+ * Number with the option inner value.
3573
+ */
3574
+ value: number;
3575
+ } & (OptionIcon | OptionLabel);
3576
+ type CommonProps = {
3577
+ /**
3578
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
3579
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
3580
+ */
3581
+ margin?: Space$1 | Margin;
3582
+ /**
3583
+ * An array of objects representing the selectable options.
3584
+ */
3585
+ options: Option[];
3586
+ /**
3587
+ * The orientation of the toggle group.
3588
+ */
3589
+ orientation?: "horizontal" | "vertical";
3590
+ /**
3591
+ * Value of the tabindex.
3592
+ */
3593
+ tabIndex?: number;
3594
+ };
3595
+ type MultipleSelectionToggleGroup = {
3596
+ /**
3597
+ * The array of keys with the initially selected values.
3598
+ */
3599
+ defaultValue?: number[];
3600
+ /**
3601
+ * If true, the toggle group will support multiple selection. In that case, value must be an array of numbers with the keys of the selected values.
3602
+ */
3603
+ multiple: true;
3604
+ /**
3605
+ * This function will be called every time the selection changes. An array with the key of
3606
+ * the selected values will be passed as a parameter to this function.
3607
+ */
3608
+ onChange?: (optionIndex: number[]) => void;
3609
+ /**
3610
+ * An array with the keys of the selected values.
3611
+ * If undefined, the component will be uncontrolled and the value will be managed internally by the component.
3612
+ */
3613
+ value?: number[];
3614
+ };
3615
+ type SingleSelectionToggleGroup = {
3616
+ /**
3617
+ * The key of the initially selected value.
3618
+ */
3619
+ defaultValue?: number;
3620
+ /**
3621
+ * If true, the toggle group will support multiple selection. In that case, value must be an array of numbers with the keys of the selected values.
3622
+ */
3623
+ multiple?: false;
3624
+ /**
3625
+ * This function will be called every time the selection changes. The number with the key of the selected
3626
+ * value will be passed as a parameter to this function.
3627
+ */
3628
+ onChange?: (optionIndex: number) => void;
3629
+ /**
3630
+ * The key of the selected value. If the component allows multiple selection, value must be an array.
3631
+ * If undefined, the component will be uncontrolled and the value will be managed internally by the component.
3632
+ */
3633
+ value?: number;
3634
+ };
3635
+ type Props$3 = CommonProps & (MultipleSelectionToggleGroup | SingleSelectionToggleGroup);
3636
+
3637
+ declare function DxcToggleGroup({ defaultValue, margin, multiple, onChange, options, orientation, tabIndex, value, }: Props$3): react_jsx_runtime.JSX.Element;
3638
+
3639
+ type Props$2 = {
3640
+ /**
3641
+ * Content in which the Tooltip will be displayed.
3642
+ */
3643
+ children: ReactNode;
3644
+ /**
3645
+ * Text to be displayed inside the tooltip.
3646
+ */
3647
+ label?: string;
3648
+ /**
3649
+ * Preferred position for displaying the tooltip. It may adjust automatically based on available space.
3650
+ */
3651
+ position?: "bottom" | "top" | "left" | "right";
3652
+ };
3653
+
3654
+ declare const DxcTooltip: (props: Props$2) => react_jsx_runtime.JSX.Element;
3655
+
3656
+ type Props$1 = {
3657
+ as?: "a" | "blockquote" | "cite" | "code" | "div" | "em" | "figcaption" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "pre" | "small" | "span" | "strong";
3658
+ children: ReactNode;
3659
+ color?: string;
3660
+ display?: "inline" | "block";
3661
+ fontFamily?: string;
3662
+ fontSize?: string;
3663
+ fontStyle?: "italic" | "normal";
3664
+ fontWeight?: string;
3665
+ letterSpacing?: string;
3666
+ lineHeight?: string;
3667
+ textAlign?: "left" | "center" | "right";
3668
+ textDecoration?: "none" | "underline" | "line-through";
3669
+ textOverflow?: "clip" | "ellipsis" | "unset";
3670
+ whiteSpace?: "normal" | "nowrap" | "pre" | "pre-line" | "pre-wrap";
3671
+ };
3672
+
3673
+ declare function DxcTypography({ children, ...props }: Props$1): react_jsx_runtime.JSX.Element;
3674
+
3675
+ type StepProps = {
3676
+ /**
3677
+ * Step label.
3678
+ */
3679
+ label: string;
3680
+ /**
3681
+ * Description that will be placed next to the step.
3682
+ */
3683
+ description?: string;
3684
+ /**
3685
+ * Material Symbol name or SVG element used as the icon displayed in the step.
3686
+ */
3687
+ icon?: string | SVG;
3688
+ /**
3689
+ * If true, the step will be disabled.
3690
+ */
3691
+ disabled?: boolean;
3692
+ /**
3693
+ * Whether the step is valid or not.
3694
+ */
3695
+ valid?: boolean;
3696
+ };
3697
+ type Props = {
3698
+ /**
3699
+ * The wizard can be shown in horizontal or vertical.
3700
+ */
3701
+ mode?: "horizontal" | "vertical";
3702
+ /**
3703
+ * Initially selected step, only when it is uncontrolled.
3704
+ */
3705
+ defaultCurrentStep?: number;
3706
+ /**
3707
+ * Defines which step is marked as the current. The numeration starts at 0.
3708
+ */
3709
+ currentStep?: number;
3710
+ /**
3711
+ * This function will be called when the user clicks a step. The step
3712
+ * number will be passed as a parameter.
3713
+ */
3714
+ onStepClick?: (currentStep: number) => void;
3715
+ /**
3716
+ * An array of objects representing the steps.
3717
+ */
3718
+ steps: StepProps[];
3719
+ /**
3720
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
3721
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
3722
+ */
3723
+ margin?: Space$1 | Margin;
3724
+ /**
3725
+ * Value of the tabindex attribute that is given to all the steps.
3726
+ */
3727
+ tabIndex?: number;
3728
+ };
3729
+
3730
+ declare function DxcWizard({ currentStep, defaultCurrentStep, margin, mode, onStepClick, steps, tabIndex, }: Props): react_jsx_runtime.JSX.Element;
3731
+
3732
+ declare const defaultTranslatedComponentLabels: {
3733
+ applicationLayout: {
3734
+ visibilityToggleTitle: string;
3735
+ };
3736
+ alert: {
3737
+ previousMessageActionTitle: string;
3738
+ nextMessageActionTitle: string;
3739
+ closeAlertActionTitle: string;
3740
+ closeMessageActionTitle: string;
3741
+ };
3742
+ calendar: {
3743
+ daysShort: string[];
3744
+ months: string[];
3745
+ previousMonthTitle: string;
3746
+ nextMonthTitle: string;
3747
+ };
3748
+ dateInput: {
3749
+ invalidDateErrorMessage: string;
3750
+ };
3751
+ dialog: {
3752
+ closeIconAriaLabel: string;
3753
+ };
3754
+ fileInput: {
3755
+ fileSizeGreaterThanErrorMessage: string;
3756
+ fileSizeLessThanErrorMessage: string;
3757
+ multipleButtonLabelDefault: string;
3758
+ singleButtonLabelDefault: string;
3759
+ dropAreaButtonLabelDefault: string;
3760
+ multipleDropAreaLabelDefault: string;
3761
+ singleDropAreaLabelDefault: string;
3762
+ deleteFileActionTitle: string;
3763
+ };
3764
+ footer: {
3765
+ copyrightText: (year: number) => string;
3766
+ };
3767
+ formFields: {
3768
+ optionalLabel: string;
3769
+ requiredSelectionErrorMessage: string;
3770
+ requiredValueErrorMessage: string;
3771
+ formatRequestedErrorMessage: string;
3772
+ lengthErrorMessage: (minLength?: number, maxLength?: number) => string;
3773
+ logoAlternativeText: string;
3774
+ };
3775
+ header: {
3776
+ closeIcon: string;
3777
+ hamburgerTitle: string;
3778
+ };
3779
+ numberInput: {
3780
+ valueGreaterThanOrEqualToErrorMessage: (value: number) => string;
3781
+ valueLessThanOrEqualToErrorMessage: (value: number) => string;
3782
+ decrementValueTitle: string;
3783
+ incrementValueTitle: string;
3784
+ };
3785
+ paginator: {
3786
+ itemsPerPageText: string;
3787
+ minToMaxOfText: (minNumberOfItems: number, maxNumberOfItems: number, totalItems: number) => string;
3788
+ goToPageText: string;
3789
+ pageOfText: (pageNumber: number, totalPagesNumber: number) => string;
3790
+ firstResultsTitle: string;
3791
+ previousResultsTitle: string;
3792
+ nextResultsTitle: string;
3793
+ lastResultsTitle: string;
3794
+ };
3795
+ passwordInput: {
3796
+ inputShowPasswordTitle: string;
3797
+ inputHidePasswordTitle: string;
3798
+ };
3799
+ quickNav: {
3800
+ contentTitle: string;
3801
+ };
3802
+ radioGroup: {
3803
+ optionalItemLabelDefault: string;
3804
+ };
3805
+ select: {
3806
+ actionClearSelectionTitle: string;
3807
+ actionClearSearchTitle: string;
3808
+ noMatchesErrorMessage: string;
3809
+ selectAllLabel: string;
3810
+ };
3811
+ tabs: {
3812
+ scrollLeft: string;
3813
+ scrollRight: string;
3814
+ };
3815
+ textInput: {
3816
+ clearFieldActionTitle: string;
3817
+ searchingMessage: string;
3818
+ fetchingDataErrorMessage: string;
3819
+ };
3820
+ toast: {
3821
+ clearToastActionTitle: string;
3822
+ };
3823
+ };
3824
+ type TranslatedLabels = typeof defaultTranslatedComponentLabels;
3825
+
3826
+ /**
3827
+ * This type is used to allow labels objects to be passed to the HalstackProvider.
3828
+ * This is an extension of the already existing Partial type, which only allows one level of partiality.
3829
+ */
3830
+ type DeepPartial<T> = {
3831
+ [P in keyof T]?: Partial<T[P]>;
3832
+ };
3833
+ declare const HalstackLanguageContext: react.Context<{
3834
+ applicationLayout: {
3835
+ visibilityToggleTitle: string;
3836
+ };
3837
+ alert: {
3838
+ previousMessageActionTitle: string;
3839
+ nextMessageActionTitle: string;
3840
+ closeAlertActionTitle: string;
3841
+ closeMessageActionTitle: string;
3842
+ };
3843
+ calendar: {
3844
+ daysShort: string[];
3845
+ months: string[];
3846
+ previousMonthTitle: string;
3847
+ nextMonthTitle: string;
3848
+ };
3849
+ dateInput: {
3850
+ invalidDateErrorMessage: string;
3851
+ };
3852
+ dialog: {
3853
+ closeIconAriaLabel: string;
3854
+ };
3855
+ fileInput: {
3856
+ fileSizeGreaterThanErrorMessage: string;
3857
+ fileSizeLessThanErrorMessage: string;
3858
+ multipleButtonLabelDefault: string;
3859
+ singleButtonLabelDefault: string;
3860
+ dropAreaButtonLabelDefault: string;
3861
+ multipleDropAreaLabelDefault: string;
3862
+ singleDropAreaLabelDefault: string;
3863
+ deleteFileActionTitle: string;
3864
+ };
3865
+ footer: {
3866
+ copyrightText: (year: number) => string;
3867
+ };
3868
+ formFields: {
3869
+ optionalLabel: string;
3870
+ requiredSelectionErrorMessage: string;
3871
+ requiredValueErrorMessage: string;
3872
+ formatRequestedErrorMessage: string;
3873
+ lengthErrorMessage: (minLength?: number, maxLength?: number) => string;
3874
+ logoAlternativeText: string;
3875
+ };
3876
+ header: {
3877
+ closeIcon: string;
3878
+ hamburgerTitle: string;
3879
+ };
3880
+ numberInput: {
3881
+ valueGreaterThanOrEqualToErrorMessage: (value: number) => string;
3882
+ valueLessThanOrEqualToErrorMessage: (value: number) => string;
3883
+ decrementValueTitle: string;
3884
+ incrementValueTitle: string;
3885
+ };
3886
+ paginator: {
3887
+ itemsPerPageText: string;
3888
+ minToMaxOfText: (minNumberOfItems: number, maxNumberOfItems: number, totalItems: number) => string;
3889
+ goToPageText: string;
3890
+ pageOfText: (pageNumber: number, totalPagesNumber: number) => string;
3891
+ firstResultsTitle: string;
3892
+ previousResultsTitle: string;
3893
+ nextResultsTitle: string;
3894
+ lastResultsTitle: string;
3895
+ };
3896
+ passwordInput: {
3897
+ inputShowPasswordTitle: string;
3898
+ inputHidePasswordTitle: string;
3899
+ };
3900
+ quickNav: {
3901
+ contentTitle: string;
3902
+ };
3903
+ radioGroup: {
3904
+ optionalItemLabelDefault: string;
3905
+ };
3906
+ select: {
3907
+ actionClearSelectionTitle: string;
3908
+ actionClearSearchTitle: string;
3909
+ noMatchesErrorMessage: string;
3910
+ selectAllLabel: string;
3911
+ };
3912
+ tabs: {
3913
+ scrollLeft: string;
3914
+ scrollRight: string;
3915
+ };
3916
+ textInput: {
3917
+ clearFieldActionTitle: string;
3918
+ searchingMessage: string;
3919
+ fetchingDataErrorMessage: string;
3920
+ };
3921
+ toast: {
3922
+ clearToastActionTitle: string;
3923
+ };
3924
+ }>;
3925
+ type ThemeType = Record<string, string | number>;
3926
+ type HalstackProviderPropsType = {
3927
+ labels?: DeepPartial<TranslatedLabels>;
3928
+ children: ReactNode;
3929
+ opinionatedTheme?: ThemeType;
3930
+ };
3931
+ declare const HalstackProvider: ({ labels, children, opinionatedTheme }: HalstackProviderPropsType) => JSX.Element;
3932
+
3933
+ declare function useToast(): {
3934
+ default: (toast: DefaultToast) => (() => void) | undefined;
3935
+ success: (toast: SemanticToast) => (() => void) | undefined;
3936
+ warning: (toast: SemanticToast) => (() => void) | undefined;
3937
+ info: (toast: SemanticToast) => (() => void) | undefined;
3938
+ loading: (toast: Omit<LoadingToast, "loading">) => (() => void) | undefined;
3939
+ };
3940
+
3941
+ export { DxcAccordion, DxcAlert, DxcApplicationLayout, DxcAvatar, DxcBadge, DxcBleed, DxcBreadcrumbs, DxcBulletedList, DxcButton, DxcCard, DxcCheckbox, DxcChip, DxcContainer, DxcContextualMenu, DxcDataGrid, DxcDateInput, DxcDialog, DxcDivider, DxcDropdown, DxcFileInput, DxcFlex, DxcGrid, DxcHeading, DxcImage, DxcInset, DxcLink, DxcNavTabs, DxcNumberInput, DxcPaginator, DxcParagraph, DxcPasswordInput, DxcProgressBar, DxcQuickNav, DxcRadioGroup, DxcResultsetTable, DxcSelect, DxcSlider, DxcSpinner, DxcStatusLight, DxcSwitch, DxcTable, DxcTabs, DxcTextInput, DxcTextarea, DxcToastsQueue, DxcToggleGroup, DxcTooltip, DxcTypography, DxcWizard, HalstackLanguageContext, HalstackProvider, useToast };