@dxc-technology/halstack-react 0.0.0-961ed8e → 0.0.0-9639f0b

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