@dxc-technology/halstack-react 0.0.0-d5ae9d7 → 0.0.0-d6cad08

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