@dxc-technology/halstack-react 0.0.0-f00a97a → 0.0.0-f081587

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