@dxc-technology/halstack-react 0.0.0-fb21419 → 0.0.0-fb44418

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