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

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.
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import * as react from 'react';
2
- import { ReactNode, SVGProps, ReactElement, MouseEvent, ReactEventHandler } from 'react';
3
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode, SVGProps, ReactElement, ReactEventHandler } from 'react';
4
3
  import { SortColumn } from 'react-data-grid';
5
4
  import * as _emotion_styled from '@emotion/styled';
6
5
  import * as _emotion_react from '@emotion/react';
@@ -59,7 +58,7 @@ type AccordionItemProps = {
59
58
  */
60
59
  tabIndex?: number;
61
60
  };
62
- type CommonProps$9 = {
61
+ type CommonProps$a = {
63
62
  /**
64
63
  * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
65
64
  * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
@@ -70,7 +69,7 @@ type CommonProps$9 = {
70
69
  */
71
70
  children: ReactElement<AccordionItemProps>[] | ReactElement<AccordionItemProps>;
72
71
  };
73
- type IndependentProps = CommonProps$9 & {
72
+ type IndependentProps = CommonProps$a & {
74
73
  /**
75
74
  * When true, limits the user to single-open section at a time. When false, multiple sections can be opened simultaneously.
76
75
  */
@@ -91,7 +90,7 @@ type IndependentProps = CommonProps$9 & {
91
90
  */
92
91
  onActiveChange?: (index: number) => void;
93
92
  };
94
- type NonIndependentProps = CommonProps$9 & {
93
+ type NonIndependentProps = CommonProps$a & {
95
94
  /**
96
95
  * When true, limits the user to single-open section at a time. When false, multiple sections can be opened simultaneously.
97
96
  */
@@ -112,10 +111,10 @@ type NonIndependentProps = CommonProps$9 & {
112
111
  */
113
112
  onActiveChange?: (index: number[]) => void;
114
113
  };
115
- type Props$I = IndependentProps | NonIndependentProps;
114
+ type Props$M = IndependentProps | NonIndependentProps;
116
115
 
117
116
  declare const DxcAccordion: {
118
- (props: Props$I): JSX.Element;
117
+ (props: Props$M): JSX.Element;
119
118
  AccordionItem: ({ label, subLabel, badge, statusLight, icon, assistiveText, disabled, children, tabIndex, }: AccordionItemProps) => JSX.Element;
120
119
  };
121
120
 
@@ -145,7 +144,7 @@ type Message = {
145
144
  */
146
145
  text: ReactNode;
147
146
  };
148
- type CommonProps$8 = {
147
+ type CommonProps$9 = {
149
148
  /**
150
149
  * If true, the alert will have a close button that will remove the message from the alert,
151
150
  * only in banner and inline modes. The rest of the functionality will depend
@@ -198,206 +197,152 @@ type ModeSpecificProps = {
198
197
  */
199
198
  mode: "modal";
200
199
  };
201
- type Props$H = CommonProps$8 & ModeSpecificProps;
200
+ type Props$L = CommonProps$9 & ModeSpecificProps;
202
201
 
203
- declare const DxcAlert: ({ closable, message, mode, primaryAction, secondaryAction, semantic, title, }: Props$H) => react_jsx_runtime.JSX.Element;
202
+ declare const DxcAlert: ({ closable, message, mode, primaryAction, secondaryAction, semantic, title, }: Props$L) => react.JSX.Element;
204
203
 
205
- type SidenavTitlePropsType = {
206
- /**
207
- * The area inside the sidenav title. This area can be used to render custom content.
208
- */
209
- children: ReactNode;
210
- };
211
- type SidenavSectionPropsType = {
212
- /**
213
- * The area inside the sidenav section. This area can be used to render sidenav groups, links and custom content.
214
- */
215
- children: ReactNode;
216
- };
217
- type SidenavGroupPropsType = {
204
+ type SearchBarProps = {
218
205
  /**
219
- * The title of the sidenav group.
206
+ * If true, the search bar input will be focused when rendered.
220
207
  */
221
- title?: string;
208
+ autoFocus?: boolean;
222
209
  /**
223
- * If true, the sidenav group will be a button that will allow you to collapse the links contained within it.
224
- * In addition, if it's collapsed and contains the currently selected link, the group title will also be marked as selected.
210
+ * If true, the component will be disabled.
225
211
  */
226
- collapsable?: boolean;
212
+ disabled?: boolean;
227
213
  /**
228
- * Material Symbol name or SVG icon to be displayed next to the title of the group.
214
+ * Function invoked when the search bar loses focus.
229
215
  */
230
- icon?: string | SVG;
216
+ onBlur?: (value: string) => void;
231
217
  /**
232
- * The area inside the sidenav group. This area can be used to render sidenav links.
218
+ * Function invoked when the user cancels the search.
233
219
  */
234
- children: ReactNode;
235
- };
236
- type SidenavLinkPropsType = {
220
+ onCancel?: () => void;
237
221
  /**
238
- * Page to be opened when the user clicks on the link.
222
+ * Function invoked when the user changes the input value.
239
223
  */
240
- href?: string;
224
+ onChange?: (value: string) => void;
241
225
  /**
242
- * If true, the page is opened in a new browser tab.
226
+ * Function invoked when the Enter key is pressed.
243
227
  */
244
- newWindow?: boolean;
228
+ onEnter?: (value: string) => void;
245
229
  /**
246
- * The Material symbol or SVG element used as the icon that will be placed to the left of the link text.
230
+ * Placeholder text displayed in the search bar input field.
247
231
  */
232
+ placeholder?: string;
233
+ };
234
+
235
+ type CommonItemProps = {
236
+ badge?: ReactElement;
248
237
  icon?: string | SVG;
249
- /**
250
- * If true, the link will be marked as selected. Moreover, in that same case,
251
- * if it is contained within a collapsed group, and consequently, the currently selected link is not visible,
252
- * the group title will appear as selected too.
253
- */
238
+ label: string;
239
+ };
240
+ type Item$1 = CommonItemProps & {
241
+ onSelect?: () => void;
254
242
  selected?: boolean;
255
- /**
256
- * This function will be called when the user clicks the link and the event will be passed to this function.
257
- */
258
- onClick?: (event: MouseEvent<HTMLAnchorElement>) => void;
259
- /**
260
- * The area inside the sidenav link.
261
- */
262
- children: ReactNode;
263
- /**
264
- * Value of the tabindex.
265
- */
266
- tabIndex?: number;
243
+ href?: string;
244
+ renderItem?: (props: {
245
+ children: ReactNode;
246
+ }) => ReactNode;
267
247
  };
268
- type Props$G = {
269
- /**
270
- * The area assigned to render the sidenav title. It is highly recommended to use the sidenav title.
271
- */
272
- title?: ReactNode;
273
- /**
274
- * The area inside the sidenav. This area can be used to render the content inside the sidenav.
275
- */
276
- children: ReactNode;
248
+ type GroupItem$1 = CommonItemProps & {
249
+ items: (Item$1 | GroupItem$1)[];
250
+ defaultOpen?: boolean;
277
251
  };
278
-
279
- type Size$4 = "small" | "medium" | "large" | "fillParent" | "fitContent";
280
- type Option$2 = {
281
- /**
282
- * Option display value.
283
- */
284
- label?: string;
285
- /**
286
- * Material Symbol name or SVG element as the icon that will be placed next to the label.
287
- */
288
- icon?: string | SVG;
289
- /**
290
- * Option inner value.
291
- */
292
- value: string;
252
+ type Section$1 = {
253
+ items: (Item$1 | GroupItem$1)[];
254
+ title?: string;
293
255
  };
294
- type Props$F = {
295
- /**
296
- * An array of objects representing the options.
297
- */
298
- options: Option$2[];
299
- /**
300
- * In case options include icons, whether the icon should appear
301
- * after or before the label.
302
- */
303
- optionsIconPosition?: "before" | "after";
304
- /**
305
- * Material Symbol name or SVG element as the icon that will be placed next to the label.
306
- */
307
- icon?: string | SVG;
308
- /**
309
- * Whether the icon should appear after or before the label.
310
- */
311
- iconPosition?: "before" | "after";
312
- /**
313
- * Text to be placed within the dropdown.
314
- */
315
- label?: string;
316
- /**
317
- * Whether the arrow next to the label must be displayed or not.
318
- */
319
- caretHidden?: boolean;
256
+ type Props$K = {
320
257
  /**
321
- * If true, the component will be disabled.
258
+ * Array of items to be displayed in the menu.
259
+ * Each item can be a single/simple item, a group item or a section.
322
260
  */
323
- disabled?: boolean;
261
+ items: (Item$1 | GroupItem$1)[] | Section$1[];
324
262
  /**
325
- * If true, the options are shown when the dropdown is hover.
263
+ * If true the menu will be displayed with a border.
326
264
  */
327
- expandOnHover?: boolean;
265
+ displayBorder?: boolean;
328
266
  /**
329
- * This function will be called every time the selection changes.
330
- * The value of the selected option will be passed as a parameter.
267
+ * If true the menu will have lines marking the groups.
331
268
  */
332
- onSelectOption: (value: string) => void;
269
+ displayGroupLines?: boolean;
333
270
  /**
334
- * Size of the margin to be applied to the component.
335
- * You can pass an object with 'top', 'bottom', 'left' and 'right'
336
- * properties in order to specify different margin sizes.
271
+ * If true the menu will have controls at the end.
337
272
  */
338
- margin?: Space$1 | Margin;
273
+ displayControlsAfter?: boolean;
339
274
  /**
340
- * Size of the component.
275
+ * If true the menu will be icons only and display a popover on click.
341
276
  */
342
- size?: Size$4;
277
+ hasPopOver?: boolean;
343
278
  /**
344
- * Value of the tabindex attribute.
279
+ * If true the menu will be displayed horizontally.
345
280
  */
346
- tabIndex?: number;
281
+ isHorizontal?: boolean;
347
282
  /**
348
- * Text representing advisory information related to the dropdown's trigger action.
349
- * Under the hood, this prop also serves as an accessible label for the component.
283
+ * Function that will be called when an option is clicked.
284
+ * This is used to notify that an item has been selected to close any visible menu that is not managed by the navigation tree.
350
285
  */
351
- title?: string;
286
+ onSelectItem?: () => void;
352
287
  };
353
288
 
354
- type Logo$1 = {
289
+ type Section = {
290
+ items: (Item$1 | GroupItem$1)[];
291
+ title?: string;
292
+ };
293
+ type SearchbarSidenavProps = Omit<SearchBarProps, "autoFocus" | "disabled" | "onCancel">;
294
+ type Props$J = {
355
295
  /**
356
- * URL to navigate when the logo is clicked.
296
+ * The content rendered in the bottom part of the sidenav, under the navigation menu.
357
297
  */
358
- href?: string;
298
+ bottomContent?: ReactNode;
359
299
  /**
360
- * Source of the logo image.
300
+ * Object with the properties of the branding placed at the top of the sidenav.
361
301
  */
362
- src: string;
302
+ appTitle?: string | ReactNode;
363
303
  /**
364
- * Alternative text for the logo image.
304
+ * Initial state of the expansion of the sidenav, only when it is uncontrolled.
365
305
  */
366
- title?: string;
367
- };
368
- type Props$E = {
306
+ defaultExpanded?: boolean;
369
307
  /**
370
- * Whether a contrast line should appear at the bottom of the header.
308
+ * If true the nav menu will have lines marking the groups.
371
309
  */
372
- underlined?: boolean;
310
+ displayGroupLines?: boolean;
373
311
  /**
374
- * Content shown in the header. Take into account that the component applies styles
375
- * for the first child in the content, so we recommend the use of Fragment
376
- * to be applied correctly. Otherwise, the styles can be modified.
312
+ * If true, the sidenav is expanded.
313
+ * If undefined the component will be uncontrolled and the value will be managed internally by the component.
377
314
  */
378
- content?: ReactNode;
315
+ expanded?: boolean;
379
316
  /**
380
- * Content shown in responsive version. It receives the close menu handler that can
381
- * be used to add that functionality when a element is clicked.
317
+ * Array of items to be displayed in the navigation menu.
318
+ * Each item can be a single/simple item, a group item or a section.
382
319
  */
383
- responsiveContent?: (closeHandler: () => void) => ReactNode;
320
+ navItems?: (Item$1 | GroupItem$1)[] | Section[];
384
321
  /**
385
- * Logo to be displayed inside the header
322
+ * Function called when the expansion state of the sidenav changes.
386
323
  */
387
- logo?: Logo$1;
324
+ onExpandedChange?: (value: boolean) => void;
388
325
  /**
389
- * Size of the bottom margin to be applied to the header.
326
+ * When provided, a search bar will be rendered at the top of the sidenav.
390
327
  */
391
- margin?: Space$1;
328
+ searchBar?: SearchbarSidenavProps;
392
329
  /**
393
- * This function will be called when the user clicks the header logo.
330
+ * The additional content rendered in the upper part of the sidenav, under the branding.
394
331
  */
395
- onClick?: () => void;
396
- /**
397
- * Value of the tabindex for all interactive elements, except those inside the
398
- * custom area.
399
- */
400
- tabIndex?: number;
332
+ topContent?: ReactNode;
333
+ };
334
+
335
+ type GroupItem = CommonItemProps & {
336
+ items: Item$1[];
337
+ };
338
+ type MainNavPropsType = (GroupItem | Item$1)[];
339
+ type SearchBarHeaderProps = Omit<SearchBarProps, "autoFocus" | "disabled">;
340
+ type Props$I = {
341
+ appTitle?: string;
342
+ navItems?: MainNavPropsType;
343
+ responsiveBottomContent?: ReactNode;
344
+ searchBar?: SearchBarHeaderProps;
345
+ sideContent?: ReactNode | ((isResponsive: boolean) => ReactNode);
401
346
  };
402
347
 
403
348
  type SocialLink = {
@@ -425,18 +370,14 @@ type BottomLink = {
425
370
  text: string;
426
371
  };
427
372
  type Logo = {
428
- /**
429
- * URL to navigate when the logo is clicked.
430
- */
431
- href?: string;
432
373
  /**
433
374
  * Source of the logo image.
434
375
  */
435
- src: string;
376
+ src: string | SVG;
436
377
  /**
437
378
  * Alternative text for the logo image.
438
379
  */
439
- title?: string;
380
+ alt: string;
440
381
  };
441
382
  type FooterPropsType = {
442
383
  /**
@@ -444,29 +385,28 @@ type FooterPropsType = {
444
385
  * the bottom part of the footer.
445
386
  */
446
387
  bottomLinks?: BottomLink[];
447
- /**
448
- * The center section of the footer. Can be used to render custom
449
- * content in this area.
450
- */
451
- children?: ReactNode;
452
388
  /**
453
389
  * The text that will be displayed as copyright disclaimer.
454
390
  */
455
391
  copyright?: string;
456
392
  /**
457
- * Logo to be displayed inside the footer
393
+ * Content to be displayed on the left side of the footer under the logo.
458
394
  */
459
- logo?: Logo;
395
+ leftContent?: ReactNode;
460
396
  /**
461
- * Size of the top margin to be applied to the footer.
397
+ * Logo to be displayed inside the footer
462
398
  */
463
- margin?: Space$1;
399
+ logo?: Logo;
464
400
  /**
465
401
  * Determines the visual style and layout
466
402
  * - "default": The default mode with full content and styling.
467
403
  * - "reduced": A reduced mode with minimal content and styling.
468
404
  */
469
405
  mode?: "default" | "reduced";
406
+ /**
407
+ * Content to be displayed on the right side of the footer before the socialLinks if provided.
408
+ */
409
+ rightContent?: ReactNode;
470
410
  /**
471
411
  * An array of objects representing the links that will be rendered as
472
412
  * icons at the top-right side of the footer.
@@ -474,7 +414,7 @@ type FooterPropsType = {
474
414
  socialLinks?: SocialLink[];
475
415
  /**
476
416
  * Value of the tabindex for all interactive elements, except those
477
- * inside the custom area.
417
+ * inside the leftContent and rightContent.
478
418
  */
479
419
  tabIndex?: number;
480
420
  };
@@ -485,12 +425,29 @@ type AppLayoutMainPropsType = {
485
425
  */
486
426
  children: ReactNode;
487
427
  };
428
+ type LogoPropsType = {
429
+ /**
430
+ * Alternative text for the logo image.
431
+ */
432
+ alt: string;
433
+ /**
434
+ * URL to navigate when the logo is clicked.
435
+ */
436
+ href?: string;
437
+ /**
438
+ * Function to be called on logo click.
439
+ */
440
+ onClick?: () => void;
441
+ /**
442
+ * URL or SVG of the image that will be placed in the logo.
443
+ */
444
+ src: string | SVG;
445
+ };
488
446
  type ApplicationLayoutPropsType = {
489
447
  /**
490
- * Text to be placed next to the hamburger button that toggles the
491
- * visibility of the sidenav.
448
+ * Logo properties.
492
449
  */
493
- visibilityToggleLabel?: string;
450
+ logo?: LogoPropsType;
494
451
  /**
495
452
  * Header content.
496
453
  */
@@ -510,23 +467,83 @@ type ApplicationLayoutPropsType = {
510
467
  };
511
468
 
512
469
  declare const DxcApplicationLayout: {
513
- ({ visibilityToggleLabel, header, sidenav, footer, children, }: ApplicationLayoutPropsType): JSX.Element;
514
- Footer: ({ bottomLinks, children, copyright, logo, margin, mode, socialLinks, tabIndex, }: FooterPropsType) => JSX.Element;
515
- Header: {
516
- ({ underlined, content, responsiveContent, logo, margin, onClick, tabIndex, }: Props$E): JSX.Element;
517
- Dropdown: (props: react.ComponentProps<({ options, optionsIconPosition, icon, iconPosition, label, caretHidden, disabled, expandOnHover, onSelectOption, margin, size, tabIndex, title, }: Props$F) => react_jsx_runtime.JSX.Element>) => react_jsx_runtime.JSX.Element;
518
- };
470
+ ({ logo, header, sidenav, footer, children }: ApplicationLayoutPropsType): JSX.Element;
471
+ Footer: ({ bottomLinks, copyright, leftContent, logo, mode, rightContent, socialLinks, tabIndex, }: FooterPropsType) => JSX.Element;
472
+ Header: ({ appTitle, navItems, responsiveBottomContent, searchBar, sideContent, }: Props$I) => JSX.Element;
519
473
  Main: ({ children }: AppLayoutMainPropsType) => JSX.Element;
520
- SideNav: {
521
- ({ title, children }: Props$G): JSX.Element;
522
- Section: ({ children }: SidenavSectionPropsType) => JSX.Element;
523
- Group: ({ title, collapsable, icon, children }: SidenavGroupPropsType) => JSX.Element;
524
- Link: react.ForwardRefExoticComponent<SidenavLinkPropsType & react.RefAttributes<HTMLAnchorElement>>;
525
- Title: ({ children }: SidenavTitlePropsType) => JSX.Element;
526
- };
527
- useResponsiveSidenavVisibility: () => ((_isSidenavVisible: boolean) => void) | null;
474
+ Sidenav: ({ topContent, bottomContent, navItems, appTitle, displayGroupLines, expanded, defaultExpanded, onExpandedChange, searchBar, }: Props$J) => JSX.Element;
475
+ };
476
+
477
+ type Size$5 = "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
478
+ type Shape = "circle" | "square";
479
+ type Color = "primary" | "secondary" | "tertiary" | "success" | "info" | "neutral" | "warning" | "error";
480
+ interface Status {
481
+ mode: "default" | "info" | "success" | "warning" | "error";
482
+ position: "top" | "bottom";
483
+ }
484
+ type Props$H = {
485
+ /**
486
+ * Affects the visual style of the avatar. It can be used following semantic purposes or not.
487
+ */
488
+ color?: Color;
489
+ /**
490
+ * If true, the component will be disabled.
491
+ */
492
+ disabled?: boolean;
493
+ /**
494
+ * Material Symbol name or SVG element as the icon that will be placed as avatar.
495
+ */
496
+ icon?: string | SVG;
497
+ /**
498
+ * URL of the image.
499
+ */
500
+ imageSrc?: string;
501
+ /**
502
+ * Text label associated with the avatar.
503
+ * Used to generate and display initials inside the avatar.
504
+ */
505
+ label?: string;
506
+ /**
507
+ * Page to be opened when the user clicks on the link.
508
+ */
509
+ linkHref?: string;
510
+ /**
511
+ * This function will be called when the user clicks the avatar. Makes it behave as a button.
512
+ */
513
+ onClick?: () => void;
514
+ /**
515
+ * Text to be displayed as label next to the avatar.
516
+ */
517
+ primaryText?: string;
518
+ /**
519
+ * Text to be displayed as sublabel next to the avatar.
520
+ */
521
+ secondaryText?: string;
522
+ /**
523
+ * This will determine if the avatar will be rounded square or a circle.
524
+ */
525
+ shape?: Shape;
526
+ /**
527
+ * Size of the component.
528
+ */
529
+ size?: Size$5;
530
+ /**
531
+ * Defines the color of the status indicator displayed on the avatar and where it will be placed.
532
+ * If not provided, no indicator will be rendered.
533
+ */
534
+ status?: Status;
535
+ /**
536
+ * Value of the tabindex attribute. It will only apply when the onClick property is passed.
537
+ */
538
+ tabIndex?: number;
539
+ /**
540
+ * Text to be displayed inside a tooltip when hovering the avatar.
541
+ */
542
+ title?: string;
528
543
  };
529
544
 
545
+ declare const DxcAvatar: react.ForwardRefExoticComponent<Props$H & react.RefAttributes<HTMLDivElement>>;
546
+
530
547
  type ContextualProps = {
531
548
  /**
532
549
  * Text to be placed in the badge.
@@ -563,7 +580,7 @@ type NotificationProps = {
563
580
  */
564
581
  color?: never;
565
582
  };
566
- type CommonProps$7 = {
583
+ type CommonProps$8 = {
567
584
  /**
568
585
  * Text representing advisory information related to the badge. Under the hood, this prop also serves as an accessible label for the component.
569
586
  */
@@ -577,11 +594,11 @@ type CommonProps$7 = {
577
594
  */
578
595
  size?: "small" | "medium" | "large";
579
596
  };
580
- type Props$D = (ContextualProps | NotificationProps) & CommonProps$7;
597
+ type Props$G = (ContextualProps | NotificationProps) & CommonProps$8;
581
598
 
582
- declare const DxcBadge: ({ label, title, mode, color, icon, notificationLimit, size, }: Props$D) => JSX.Element;
599
+ declare const DxcBadge: react.ForwardRefExoticComponent<Props$G & react.RefAttributes<HTMLDivElement>>;
583
600
 
584
- type Props$C = {
601
+ type Props$F = {
585
602
  /**
586
603
  * Applies the spacing scale to all sides.
587
604
  */
@@ -616,13 +633,13 @@ type Props$C = {
616
633
  children: ReactNode;
617
634
  };
618
635
 
619
- declare function DxcBleed({ space, horizontal, vertical, top, right, bottom, left, children }: Props$C): react_jsx_runtime.JSX.Element;
636
+ declare const DxcBleed: ({ space, horizontal, vertical, top, right, bottom, left, children }: Props$F) => react.JSX.Element;
620
637
 
621
- type Item$1 = {
638
+ type Item = {
622
639
  href?: string;
623
640
  label: string;
624
641
  };
625
- type Props$B = {
642
+ type Props$E = {
626
643
  /**
627
644
  * Provides a label that describes the type of navigation enabled by
628
645
  * the component.
@@ -631,7 +648,7 @@ type Props$B = {
631
648
  /**
632
649
  * Array of objects representing the items of the breadcrumbs.
633
650
  */
634
- items: Item$1[];
651
+ items: Item[];
635
652
  /**
636
653
  * Number of items before showing a collapsed version of the
637
654
  * breadcrumbs. It can't be lower than two (root/collapsed action and
@@ -654,7 +671,7 @@ type Props$B = {
654
671
  showRoot?: boolean;
655
672
  };
656
673
 
657
- declare const DxcBreadcrumbs: ({ ariaLabel, items, itemsBeforeCollapse, onItemClick, showRoot, }: Props$B) => react_jsx_runtime.JSX.Element;
674
+ declare const DxcBreadcrumbs: ({ ariaLabel, items, itemsBeforeCollapse, onItemClick, showRoot, }: Props$E) => react.JSX.Element;
658
675
 
659
676
  type IconProps = {
660
677
  /**
@@ -684,7 +701,7 @@ type OtherProps = {
684
701
  */
685
702
  children: ReactNode;
686
703
  };
687
- type Props$A = IconProps | OtherProps;
704
+ type Props$D = IconProps | OtherProps;
688
705
  type BulletedListItemPropsType = {
689
706
  /**
690
707
  * Text to be shown in the list.
@@ -693,20 +710,20 @@ type BulletedListItemPropsType = {
693
710
  };
694
711
 
695
712
  declare const DxcBulletedList: {
696
- ({ children, type, icon }: Props$A): JSX.Element;
713
+ ({ children, type, icon }: Props$D): JSX.Element;
697
714
  Item: ({ children }: BulletedListItemPropsType) => JSX.Element;
698
715
  };
699
716
 
700
717
  type Semantic = "default" | "error" | "warning" | "success" | "info";
701
718
  type Mode$1 = "primary" | "secondary" | "tertiary";
702
- type Size$3 = {
719
+ type Size$4 = {
703
720
  /**
704
721
  * Height of the button.
705
722
  */
706
723
  height?: "small" | "medium" | "large";
707
724
  width?: "small" | "medium" | "large" | "fillParent" | "fitContent";
708
725
  };
709
- type Props$z = {
726
+ type Props$C = {
710
727
  /**
711
728
  * Text to be placed in the button.
712
729
  */
@@ -751,78 +768,176 @@ type Props$z = {
751
768
  /**
752
769
  * Size of the component.
753
770
  */
754
- size?: Size$3;
771
+ size?: Size$4;
755
772
  /**
756
773
  * Value of the tabindex attribute.
757
774
  */
758
775
  tabIndex?: number;
759
776
  };
760
777
 
761
- declare const DxcButton: ({ disabled, icon, iconPosition, label, margin, mode, onClick, semantic, size, tabIndex, title, type, }: Props$z) => JSX.Element;
778
+ declare const DxcButton: react.ForwardRefExoticComponent<Props$C & react.RefAttributes<HTMLButtonElement>>;
762
779
 
763
- type Size$2 = {
764
- top?: Space$1;
765
- bottom?: Space$1;
766
- left?: Space$1;
767
- right?: Space$1;
768
- };
769
- type Props$y = {
780
+ type Props$B = {
770
781
  /**
771
- * URL of the image that will be placed in the card component.
772
- * In case of omission, the image container will not appear and
773
- * the content will occupy its space.
782
+ * Alternative text description displayed when the specified image is not loaded.
783
+ *
784
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/alt
785
+ * See W3C alt decision tree: https://www.w3.org/WAI/tutorials/images/decision-tree/
774
786
  */
775
- imageSrc?: string;
787
+ alt: string;
788
+ /**
789
+ * Image legend with a descriptive purpose. It is placed below the image and is complementary to the alt attribute,
790
+ * which is required regardless of the presence of the caption or not.
791
+ */
792
+ caption?: string;
776
793
  /**
777
- * Color of the image background.
794
+ * Sets the rendered height of the image.
778
795
  */
779
- imageBgColor?: string;
796
+ height?: string;
780
797
  /**
781
- * Size of the padding to be applied to the image section of the
782
- * component. You can pass an object with 'top', 'bottom', 'left'
783
- * and 'right' properties in order to specify different padding sizes.
798
+ * If true, the image will be loaded only when it is visible on the screen (lazy loading).
799
+ * Otherwise and by default, the image will be loaded as soon as the component is mounted (eager loading).
784
800
  */
785
- imagePadding?: Space$1 | Size$2;
801
+ lazyLoading?: boolean;
786
802
  /**
787
- * Whether the image should appear in relation to the content.
803
+ * Sets the object-fit CSS property.
804
+ *
805
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit
788
806
  */
789
- imagePosition?: "before" | "after";
807
+ objectFit?: "contain" | "cover" | "fill" | "none" | "scale-down";
790
808
  /**
791
- * If defined, the tag will be displayed as an anchor, using this prop
792
- * as "href". Component will show some visual feedback on hover.
809
+ * Sets the object-position CSS property.
810
+ *
811
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/object-position
793
812
  */
794
- linkHref?: string;
813
+ objectPosition?: string;
795
814
  /**
796
- * This function will be called when the user clicks the card. Component
797
- * will show some visual feedback on hover.
815
+ * This function will be called when the image fails to load.
798
816
  */
799
- onClick?: () => void;
817
+ onError?: ReactEventHandler<HTMLImageElement>;
800
818
  /**
801
- * Whether the image must cover the whole image area of the card.
819
+ * This function will be called when the image is loaded.
802
820
  */
803
- imageCover?: boolean;
821
+ onLoad?: ReactEventHandler<HTMLImageElement>;
804
822
  /**
805
- * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
806
- * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
823
+ * One or more strings separated by commas, indicating a set of source sizes.
824
+ * If the srcSet attribute is absent or contains no values with a width descriptor,
825
+ * then this attribute has no effect.
826
+ *
827
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/sizes
807
828
  */
808
- margin?: Space$1 | Size$2;
829
+ sizes?: string;
809
830
  /**
810
- * Value of the tabindex attribute applied when the component is clickable.
831
+ * URL of the image. This prop is required and must be valid.
811
832
  */
812
- tabIndex?: number;
833
+ src: string;
834
+ /**
835
+ * List of one or more strings separated by commas indicating a set of possible images for the user agent to use.
836
+ *
837
+ * See MDN: https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/srcset
838
+ */
839
+ srcSet?: string;
813
840
  /**
814
- * Determines whether or not the component should have an outline.
841
+ * Sets the rendered width of the image.
815
842
  */
816
- outlined?: boolean;
843
+ width?: string;
844
+ };
845
+
846
+ type Size$3 = {
847
+ width?: "fillParent" | "fitContent";
848
+ height?: "fillParent" | "fitContent";
849
+ };
850
+ type Props$A = {
817
851
  /**
818
852
  * Custom content that will be placed inside the component.
819
853
  */
820
854
  children?: ReactNode;
855
+ /**
856
+ * Initial state of the checkbox, only when it is uncontrolled.
857
+ */
858
+ defaultSelected?: boolean;
859
+ /**
860
+ * Defines the direction of the content inside the card. It can be set to "row" or "column". The default value is "column".
861
+ */
862
+ direction?: "row" | "column";
863
+ /**
864
+ * Defines the size of the card when it is empty.
865
+ */
866
+ emptySize?: {
867
+ width?: string;
868
+ height?: string;
869
+ iconSize?: "small" | "medium" | "large";
870
+ };
871
+ /**
872
+ * URL to navigate to when the card is clicked.
873
+ * If href is defined selectable will be ignored and the link will be always considered as an anchor.
874
+ */
875
+ href?: string;
876
+ /**
877
+ * Image to be displayed inside the card.
878
+ */
879
+ image?: Props$B;
880
+ /**
881
+ * Position of the image inside the card. It can be set to "before" or "after" the content.
882
+ */
883
+ imagePosition?: "before" | "after";
884
+ /**
885
+ * If true, the card will be displayed as empty state.
886
+ */
887
+ isEmpty?: boolean;
888
+ /**
889
+ * If true, a loading state will be displayed inside the card.
890
+ */
891
+ isLoading?: boolean;
892
+ /**
893
+ * Defines the size of the loading card when isLoading is true.
894
+ */
895
+ loadingSize?: {
896
+ width?: string;
897
+ height?: string;
898
+ };
899
+ /**
900
+ * Defines the visual style of the card. It can be set to "elevated" or "outlined".
901
+ */
902
+ mode?: "elevated" | "outlined";
903
+ /**
904
+ * If true, the link will open in a new window. href must be provided for this to work.
905
+ */
906
+ newWindow?: boolean;
907
+ /**
908
+ * Callback function that is called when the card is clicked.
909
+ * It receives a boolean value indicating whether the card is selected or not.
910
+ * selectable must be true for this to work.
911
+ */
912
+ onSelectionChange?: (selected: boolean) => void;
913
+ /**
914
+ * Callback function that is called when the card is clicked.
915
+ */
916
+ onClick?: (event: React.MouseEvent | React.KeyboardEvent) => void;
917
+ /**
918
+ * If true, the card can be selected. When the card is clicked, the onSelectionChange callback will be called with the new selected state of the card.
919
+ * If href is defined, the card won't be selectable, even if this prop is true.
920
+ */
921
+ selectable?: boolean;
922
+ /**
923
+ * If true, the card is selected and if defined it will behave as a controlled component.
924
+ */
925
+ selected?: boolean;
926
+ /**
927
+ * Defines the size of the card. Width and height can be set to "fillParent" or "fitContent".
928
+ * The default value is { width: "fitContent", height: "fitContent" }.
929
+ */
930
+ size?: Size$3;
931
+ /**
932
+ * Specifies the tab index of the card.
933
+ * The default value is 0.
934
+ */
935
+ tabIndex?: number;
821
936
  };
822
937
 
823
- declare const DxcCard: ({ imageSrc, imageBgColor, imagePadding, imagePosition, linkHref, onClick, imageCover, margin, tabIndex, outlined, children, }: Props$y) => react_jsx_runtime.JSX.Element;
938
+ declare const DxcCard: react.ForwardRefExoticComponent<Props$A & react.RefAttributes<HTMLDivElement | HTMLAnchorElement>>;
824
939
 
825
- type Props$x = {
940
+ type Props$z = {
826
941
  /**
827
942
  * Specifies a string to be used as the name for the checkbox element when no `label` is provided.
828
943
  */
@@ -887,45 +1002,82 @@ type Props$x = {
887
1002
  value?: string;
888
1003
  };
889
1004
 
890
- declare const DxcCheckbox: react.ForwardRefExoticComponent<Props$x & react.RefAttributes<HTMLDivElement>>;
1005
+ declare const DxcCheckbox: react.ForwardRefExoticComponent<Props$z & react.RefAttributes<HTMLDivElement>>;
891
1006
 
892
- type Props$w = {
1007
+ type ChipAvatarType = {
1008
+ color: Props$H["color"];
1009
+ profileName?: Props$H["label"];
1010
+ imageSrc?: Props$H["imageSrc"];
1011
+ icon?: Props$H["icon"];
1012
+ };
1013
+ type CommonProps$7 = {
893
1014
  /**
894
- * Text to be placed on the chip.
1015
+ * Function to be called when the chip is clicked or the dismiss action is triggered.
1016
+ */
1017
+ onClick?: () => void;
1018
+ /**
1019
+ * Value of the tabindex attribute.
1020
+ */
1021
+ tabIndex?: number;
1022
+ };
1023
+ type SelectableChipProps = CommonProps$7 & {
1024
+ /**
1025
+ * If true, the component will be disabled.
1026
+ */
1027
+ disabled?: boolean;
1028
+ /**
1029
+ * The whole chip is an interactive element that allows users to activate or clear options directly within the interface.
1030
+ */
1031
+ mode?: "selectable";
1032
+ /**
1033
+ * If true, the component will be selected. This property is only applicable when the mode is "selectable".
1034
+ * If undefined, the component manages its own internal state (uncontrolled mode).
1035
+ */
1036
+ selected?: boolean;
1037
+ } & ({
1038
+ /**
1039
+ * Element, path or avatar used as icon to be placed before the chip label.
895
1040
  */
896
- label?: string;
1041
+ prefix: ChipAvatarType;
897
1042
  /**
898
- * Element or path used as icon to be placed after the chip label.
1043
+ * Text to be placed on the chip. Required when using an avatar prefix.
899
1044
  */
900
- suffixIcon?: string | SVG;
1045
+ label: string;
1046
+ } | {
901
1047
  /**
902
1048
  * Element or path used as icon to be placed before the chip label.
903
1049
  */
904
- prefixIcon?: string | SVG;
1050
+ prefix: string | SVG;
905
1051
  /**
906
- * This function will be called when the suffix is clicked.
1052
+ * Text to be placed on the chip. Optional when using an icon prefix.
907
1053
  */
908
- onClickSuffix?: () => void;
1054
+ label?: string;
1055
+ } | {
1056
+ prefix?: undefined;
909
1057
  /**
910
- * This function will be called when the prefix is clicked.
1058
+ * Text to be placed on the chip.
911
1059
  */
912
- onClickPrefix?: () => void;
1060
+ label: string;
1061
+ });
1062
+ type DismissibleChipProps = CommonProps$7 & {
913
1063
  /**
914
- * If true, the component will be disabled.
1064
+ * Dismissible chip is used to represent information generated by user input within an interface.
915
1065
  */
916
- disabled?: boolean;
1066
+ mode: "dismissible";
917
1067
  /**
918
- * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
919
- * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
1068
+ * Text to be placed on the chip.
920
1069
  */
921
- margin?: Space$1 | Margin;
1070
+ label: string;
922
1071
  /**
923
- * Value of the tabindex attribute.
1072
+ * Element, path or avatar used as icon to be placed before the chip label.
924
1073
  */
925
- tabIndex?: number;
1074
+ prefix?: string | SVG | ChipAvatarType;
1075
+ selected?: never;
1076
+ disabled?: never;
926
1077
  };
1078
+ type Props$y = SelectableChipProps | DismissibleChipProps;
927
1079
 
928
- declare const DxcChip: ({ label, suffixIcon, prefixIcon, onClickSuffix, onClickPrefix, disabled, margin, tabIndex, }: Props$w) => react_jsx_runtime.JSX.Element;
1080
+ declare const DxcChip: react.ForwardRefExoticComponent<Props$y & react.RefAttributes<HTMLDivElement>>;
929
1081
 
930
1082
  type Space = {
931
1083
  top?: string;
@@ -968,7 +1120,7 @@ type Overflow = OverflowValues | {
968
1120
  x?: OverflowValues;
969
1121
  y?: OverflowValues;
970
1122
  };
971
- type Props$v = {
1123
+ type Props$x = {
972
1124
  /**
973
1125
  * Based on the CSS property background allows configuring all properties related to the background of a container.
974
1126
  *
@@ -1090,34 +1242,91 @@ type Props$v = {
1090
1242
  zIndex?: "auto" | number;
1091
1243
  };
1092
1244
 
1093
- declare function DxcContainer({ display, width, height, overflow, ...props }: Props$v): react_jsx_runtime.JSX.Element;
1245
+ declare const DxcContainer: react.ForwardRefExoticComponent<Props$x & react.RefAttributes<HTMLDivElement>>;
1094
1246
 
1095
- type CommonItemProps = {
1096
- badge?: ReactElement;
1247
+ type Props$w = Omit<Props$K, "displayBorder" | "displayGroupLines" | "displayControlsAfter" | "hasPopOver">;
1248
+
1249
+ declare function DxcContextualMenu({ items }: Props$w): react.JSX.Element;
1250
+
1251
+ type Size$2 = "small" | "medium" | "large" | "fillParent" | "fitContent";
1252
+ type Option$2 = {
1253
+ /**
1254
+ * Option display value.
1255
+ */
1256
+ label?: string;
1257
+ /**
1258
+ * Material Symbol name or SVG element as the icon that will be placed next to the label.
1259
+ */
1097
1260
  icon?: string | SVG;
1098
- label: string;
1099
- };
1100
- type Item = CommonItemProps & {
1101
- onSelect?: () => void;
1102
- selectedByDefault?: boolean;
1103
- };
1104
- type GroupItem = CommonItemProps & {
1105
- items: (Item | GroupItem)[];
1106
- };
1107
- type Section = {
1108
- items: (Item | GroupItem)[];
1109
- title?: string;
1261
+ /**
1262
+ * Option inner value.
1263
+ */
1264
+ value: string;
1265
+ /**
1266
+ * Whether the option has a divider below it.
1267
+ */
1268
+ hasDivider?: boolean;
1110
1269
  };
1111
- type Props$u = {
1270
+ type Props$v = {
1112
1271
  /**
1113
- * Array of items to be displayed in the Contextual menu.
1114
- * Each item can be a single/simple item, a group item or a section.
1272
+ * An array of objects representing the options.
1273
+ */
1274
+ options: Option$2[];
1275
+ /**
1276
+ * In case options include icons, whether the icon should appear
1277
+ * after or before the label.
1278
+ */
1279
+ optionsIconPosition?: "before" | "after";
1280
+ /**
1281
+ * Material Symbol name or SVG element as the icon that will be placed next to the label.
1282
+ */
1283
+ icon?: string | SVG;
1284
+ /**
1285
+ * Whether the icon should appear after or before the label.
1286
+ */
1287
+ iconPosition?: "before" | "after";
1288
+ /**
1289
+ * Text to be placed within the dropdown.
1290
+ */
1291
+ label?: string;
1292
+ /**
1293
+ * Whether the arrow next to the label must be displayed or not.
1294
+ */
1295
+ caretHidden?: boolean;
1296
+ /**
1297
+ * If true, the component will be disabled.
1298
+ */
1299
+ disabled?: boolean;
1300
+ /**
1301
+ * If true, the options are shown when the dropdown is hover.
1302
+ */
1303
+ expandOnHover?: boolean;
1304
+ /**
1305
+ * This function will be called every time the selection changes.
1306
+ * The value of the selected option will be passed as a parameter.
1307
+ */
1308
+ onSelectOption: (value: string) => void;
1309
+ /**
1310
+ * Size of the margin to be applied to the component.
1311
+ * You can pass an object with 'top', 'bottom', 'left' and 'right'
1312
+ * properties in order to specify different margin sizes.
1313
+ */
1314
+ margin?: Space$1 | Margin;
1315
+ /**
1316
+ * Size of the component.
1317
+ */
1318
+ size?: Size$2;
1319
+ /**
1320
+ * Value of the tabindex attribute.
1115
1321
  */
1116
- items: (Item | GroupItem)[] | Section[];
1322
+ tabIndex?: number;
1323
+ /**
1324
+ * Text representing advisory information related to the dropdown's trigger action.
1325
+ * Under the hood, this prop also serves as an accessible label for the component.
1326
+ */
1327
+ title?: string;
1117
1328
  };
1118
1329
 
1119
- declare function DxcContextualMenu({ items }: Props$u): react_jsx_runtime.JSX.Element;
1120
-
1121
1330
  type BaseActionCell = {
1122
1331
  disabled?: boolean;
1123
1332
  tabIndex?: number;
@@ -1141,7 +1350,7 @@ type ActionsCellPropsType = {
1141
1350
  */
1142
1351
  actions: ActionCell[];
1143
1352
  };
1144
- type Props$t = {
1353
+ type Props$u = {
1145
1354
  /**
1146
1355
  * The center section of the table. Can be used to render custom
1147
1356
  * content in this area.
@@ -1375,14 +1584,14 @@ type BasicGridProps = {
1375
1584
  */
1376
1585
  expandable?: false;
1377
1586
  };
1378
- type Props$s = CommonProps$6 & (PaginatedProps$1 | NonPaginatedProps$1) & ((BasicGridProps & SelectableGridProps) | (ExpandableRows & SelectableGridProps) | (HierarchyRows & SelectableGridProps));
1587
+ type Props$t = CommonProps$6 & (PaginatedProps$1 | NonPaginatedProps$1) & ((BasicGridProps & SelectableGridProps) | (ExpandableRows & SelectableGridProps) | (HierarchyRows & SelectableGridProps));
1379
1588
 
1380
1589
  declare const DxcDataGrid: {
1381
- ({ columns, rows, selectable, expandable, onSelectRows, selectedRows, uniqueRowId, summaryRow, onGridRowsChange, showPaginator, showGoToPage, itemsPerPage, itemsPerPageOptions, itemsPerPageFunction, onSort, onPageChange, totalItems, defaultPage, }: Props$s): JSX.Element;
1382
- ActionsCell: ({ actions }: ActionsCellPropsType) => react_jsx_runtime.JSX.Element;
1590
+ ({ columns, rows, selectable, expandable, onSelectRows, selectedRows, uniqueRowId, summaryRow, onGridRowsChange, showPaginator, showGoToPage, itemsPerPage, itemsPerPageOptions, itemsPerPageFunction, onSort, onPageChange, totalItems, defaultPage, }: Props$t): JSX.Element;
1591
+ ActionsCell: ({ actions }: ActionsCellPropsType) => react.JSX.Element;
1383
1592
  };
1384
1593
 
1385
- type Props$r = {
1594
+ type Props$s = {
1386
1595
  /**
1387
1596
  * Initial value of the input element, only when it is uncontrolled.
1388
1597
  */
@@ -1488,9 +1697,9 @@ type Props$r = {
1488
1697
  ariaLabel?: string;
1489
1698
  };
1490
1699
 
1491
- declare const DxcDateInput: react.ForwardRefExoticComponent<Props$r & react.RefAttributes<HTMLDivElement>>;
1700
+ declare const DxcDateInput: react.ForwardRefExoticComponent<Props$s & react.RefAttributes<HTMLDivElement>>;
1492
1701
 
1493
- type Props$q = {
1702
+ type Props$r = {
1494
1703
  /**
1495
1704
  * If true, the close button will be visible.
1496
1705
  */
@@ -1530,9 +1739,9 @@ type Props$q = {
1530
1739
  disableFocusLock?: boolean;
1531
1740
  };
1532
1741
 
1533
- declare const DxcDialog: ({ children, closable, onBackgroundClick, onCloseClick, overlay, tabIndex, disableFocusLock, }: Props$q) => JSX.Element;
1742
+ declare const DxcDialog: ({ children, closable, onBackgroundClick, onCloseClick, overlay, tabIndex, disableFocusLock, }: Props$r) => JSX.Element;
1534
1743
 
1535
- type Props$p = {
1744
+ type Props$q = {
1536
1745
  /**
1537
1746
  * The divider can be shown in horizontal or vertical.
1538
1747
  */
@@ -1553,9 +1762,9 @@ type Props$p = {
1553
1762
  decorative?: boolean;
1554
1763
  };
1555
1764
 
1556
- declare function DxcDivider({ color, decorative, orientation, weight, }: Props$p): react_jsx_runtime.JSX.Element;
1765
+ declare function DxcDivider({ color, decorative, orientation, weight, }: Props$q): react.JSX.Element;
1557
1766
 
1558
- declare const DxcDropdown: ({ options, optionsIconPosition, icon, iconPosition, label, caretHidden, disabled, expandOnHover, onSelectOption, margin, size, tabIndex, title, }: Props$F) => react_jsx_runtime.JSX.Element;
1767
+ declare const DxcDropdown: ({ options, optionsIconPosition, icon, iconPosition, label, caretHidden, disabled, expandOnHover, onSelectOption, margin, size, tabIndex, title, }: Props$v) => react.JSX.Element;
1559
1768
 
1560
1769
  type FileData = {
1561
1770
  /**
@@ -1624,6 +1833,10 @@ type CommonProps$5 = {
1624
1833
  * If true, if the file is an image, a preview of it will be shown. If not, an icon refering to the file type will be shown.
1625
1834
  */
1626
1835
  showPreview?: boolean;
1836
+ /**
1837
+ * Size of the component.
1838
+ */
1839
+ size?: "medium" | "fillParent";
1627
1840
  /**
1628
1841
  * Value of the tabindex attribute.
1629
1842
  */
@@ -1661,9 +1874,9 @@ type FileModeProps = CommonProps$5 & {
1661
1874
  */
1662
1875
  mode?: "file";
1663
1876
  };
1664
- type Props$o = DropModeProps | FileModeProps;
1877
+ type Props$p = DropModeProps | FileModeProps;
1665
1878
 
1666
- declare const DxcFileInput: react.ForwardRefExoticComponent<Props$o & react.RefAttributes<HTMLDivElement>>;
1879
+ declare const DxcFileInput: react.ForwardRefExoticComponent<Props$p & react.RefAttributes<HTMLDivElement>>;
1667
1880
 
1668
1881
  type Gap$1 = {
1669
1882
  rowGap: string;
@@ -1698,7 +1911,7 @@ type CommonProps$4 = {
1698
1911
  */
1699
1912
  alignSelf?: "auto" | "flex-start" | "flex-end" | "center" | "baseline" | "stretch";
1700
1913
  };
1701
- type Props$n = CommonProps$4 & {
1914
+ type Props$o = CommonProps$4 & {
1702
1915
  /**
1703
1916
  * Sets the flex-direction CSS property.
1704
1917
  *
@@ -1723,6 +1936,10 @@ type Props$n = CommonProps$4 & {
1723
1936
  * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/order
1724
1937
  */
1725
1938
  order?: number;
1939
+ /**
1940
+ * If true, the flex container will take the full height of its parent.
1941
+ */
1942
+ fullHeight?: boolean;
1726
1943
  /**
1727
1944
  * Sets the flex-grow CSS property.
1728
1945
  *
@@ -1751,7 +1968,7 @@ type Props$n = CommonProps$4 & {
1751
1968
  children: ReactNode;
1752
1969
  };
1753
1970
 
1754
- declare const DxcFlex: ({ basis, direction, gap, grow, order, shrink, wrap, ...props }: Props$n) => react_jsx_runtime.JSX.Element;
1971
+ declare const DxcFlex: ({ basis, direction, fullHeight, gap, grow, order, shrink, wrap, ...props }: Props$o) => react.JSX.Element;
1755
1972
 
1756
1973
  type Gap = string | {
1757
1974
  columnGap?: string;
@@ -1768,7 +1985,7 @@ type PlaceSelfValues = "auto" | "baseline" | "center" | "end" | "start" | "stret
1768
1985
  type PlaceContentValues = "baseline" | "center" | "end" | "normal" | "space-around" | "space-between" | "space-evenly" | "start" | "stretch";
1769
1986
  type PlaceItemsValues = "baseline" | "center" | "end" | "normal" | "start" | "stretch";
1770
1987
  type PlaceObject<Type, Suffix extends string> = {
1771
- [Property in keyof Type as `${string & Property}${Capitalize<string & Suffix>}`]: Type[Property];
1988
+ [Property in Extract<keyof Type, string> as `${Property}${Capitalize<Suffix>}`]: Type[Property];
1772
1989
  };
1773
1990
  type PlaceGeneric<PlaceValues, Element extends string> = PlaceObject<{
1774
1991
  align: PlaceValues;
@@ -1809,7 +2026,7 @@ type GridItemProps = {
1809
2026
  */
1810
2027
  row?: number | string | GridCell;
1811
2028
  };
1812
- type Props$m = GridItemProps & {
2029
+ type Props$n = GridItemProps & {
1813
2030
  /**
1814
2031
  * Sets the grid-auto-columns CSS property.
1815
2032
  *
@@ -1867,14 +2084,14 @@ type Props$m = GridItemProps & {
1867
2084
  };
1868
2085
 
1869
2086
  declare const DxcGrid: {
1870
- (props: Props$m): react_jsx_runtime.JSX.Element;
2087
+ (props: Props$n): react.JSX.Element;
1871
2088
  Item: _emotion_styled.StyledComponent<{
1872
2089
  theme?: _emotion_react.Theme;
1873
2090
  as?: React.ElementType;
1874
2091
  } & GridItemProps, react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1875
2092
  };
1876
2093
 
1877
- type Props$l = {
2094
+ type Props$m = {
1878
2095
  /**
1879
2096
  * Defines the heading level from 1 to 5. The styles of the heading are applied according to the level.
1880
2097
  * The html tag of the heading will be the one specified in the 'as' prop.
@@ -1900,159 +2117,208 @@ type Props$l = {
1900
2117
  margin?: Space$1 | Margin;
1901
2118
  };
1902
2119
 
1903
- declare function DxcHeading({ as, level, margin, text, weight }: Props$l): react_jsx_runtime.JSX.Element;
2120
+ declare function DxcHeading({ as, level, margin, text, weight }: Props$m): react.JSX.Element;
1904
2121
 
1905
- type Props$k = {
2122
+ declare function DxcImage({ alt, caption, height, lazyLoading, objectFit, objectPosition, onError, onLoad, sizes, src, srcSet, width, }: Props$B): react.JSX.Element;
2123
+
2124
+ type Props$l = {
1906
2125
  /**
1907
- * Alternative text description displayed when the specified image is not loaded.
1908
- *
1909
- * See MDN: https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/alt
1910
- * See W3C alt decision tree: https://www.w3.org/WAI/tutorials/images/decision-tree/
2126
+ * Applies the spacing scale to the bottom side.
1911
2127
  */
1912
- alt: string;
2128
+ bottom?: string;
1913
2129
  /**
1914
- * Image legend with a descriptive purpose. It is placed below the image and is complementary to the alt attribute,
1915
- * which is required regardless of the presence of the caption or not.
2130
+ * Custom content inside the inset.
1916
2131
  */
1917
- caption?: string;
2132
+ children: ReactNode;
1918
2133
  /**
1919
- * Sets the rendered height of the image.
2134
+ * Applies the spacing scale to the left and right sides.
1920
2135
  */
1921
- height?: string;
2136
+ horizontal?: string;
1922
2137
  /**
1923
- * If true, the image will be loaded only when it is visible on the screen (lazy loading).
1924
- * Otherwise and by default, the image will be loaded as soon as the component is mounted (eager loading).
2138
+ * Applies the spacing scale to the left side.
1925
2139
  */
1926
- lazyLoading?: boolean;
2140
+ left?: string;
1927
2141
  /**
1928
- * Sets the object-fit CSS property.
1929
- *
1930
- * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit
2142
+ * Applies the spacing scale to the right side.
1931
2143
  */
1932
- objectFit?: "contain" | "cover" | "fill" | "none" | "scale-down";
2144
+ right?: string;
1933
2145
  /**
1934
- * Sets the object-position CSS property.
1935
- *
1936
- * See MDN: https://developer.mozilla.org/en-US/docs/Web/CSS/object-position
2146
+ * Applies the spacing scale to all sides.
1937
2147
  */
1938
- objectPosition?: string;
2148
+ space?: string;
1939
2149
  /**
1940
- * This function will be called when the image fails to load.
2150
+ * Applies the spacing scale to the top side.
1941
2151
  */
1942
- onError?: ReactEventHandler<HTMLImageElement>;
2152
+ top?: string;
1943
2153
  /**
1944
- * This function will be called when the image is loaded.
2154
+ * Applies the spacing scale to the top and bottom sides.
1945
2155
  */
1946
- onLoad?: ReactEventHandler<HTMLImageElement>;
2156
+ vertical?: string;
2157
+ };
2158
+
2159
+ declare function DxcInset({ bottom, children, horizontal, left, right, space, top, vertical }: Props$l): react.JSX.Element;
2160
+
2161
+ type LinkProps = {
1947
2162
  /**
1948
- * One or more strings separated by commas, indicating a set of source sizes.
1949
- * If the srcSet attribute is absent or contains no values with a width descriptor,
1950
- * then this attribute has no effect.
1951
- *
1952
- * See MDN: https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/sizes
2163
+ * If true, the link will be disabled.
1953
2164
  */
1954
- sizes?: string;
2165
+ disabled?: boolean;
1955
2166
  /**
1956
- * URL of the image. This prop is required and must be valid.
2167
+ * If true, the color is inherited from parent.
1957
2168
  */
1958
- src: string;
2169
+ inheritColor?: boolean;
1959
2170
  /**
1960
- * List of one or more strings separated by commas indicating a set of possible images for the user agent to use.
1961
- *
1962
- * See MDN: https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/srcset
2171
+ * Material Symbol name or SVG element as the icon that will be placed next to the link text.
1963
2172
  */
1964
- srcSet?: string;
2173
+ icon?: string | SVG;
1965
2174
  /**
1966
- * Sets the rendered width of the image.
2175
+ * Indicates the position of the icon in the component.
1967
2176
  */
1968
- width?: string;
1969
- };
1970
-
1971
- declare function DxcImage({ alt, caption, height, lazyLoading, objectFit, objectPosition, onError, onLoad, sizes, src, srcSet, width, }: Props$k): react_jsx_runtime.JSX.Element;
1972
-
1973
- type Props$j = {
2177
+ iconPosition?: "before" | "after";
1974
2178
  /**
1975
- * Applies the spacing scale to the bottom side.
2179
+ * Page to be opened when the user clicks on the link.
1976
2180
  */
1977
- bottom?: string;
2181
+ href?: string;
1978
2182
  /**
1979
- * Custom content inside the inset.
2183
+ * If true, the page is opened in a new browser tab.
1980
2184
  */
1981
- children: ReactNode;
2185
+ newWindow?: boolean;
1982
2186
  /**
1983
- * Applies the spacing scale to the left and right sides.
2187
+ * If defined, the link will be displayed as a button. This
2188
+ * function will be called when the user clicks the link.
1984
2189
  */
1985
- horizontal?: string;
2190
+ onClick?: () => void;
1986
2191
  /**
1987
- * Applies the spacing scale to the left side.
2192
+ * Text of the link.
1988
2193
  */
1989
- left?: string;
2194
+ children: string;
1990
2195
  /**
1991
- * Applies the spacing scale to the right side.
2196
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
2197
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
1992
2198
  */
1993
- right?: string;
2199
+ margin?: Space$1 | Margin;
1994
2200
  /**
1995
- * Applies the spacing scale to all sides.
2201
+ * Value of the tabindex.
1996
2202
  */
1997
- space?: string;
2203
+ tabIndex?: number;
2204
+ };
2205
+
2206
+ declare const DxcLink: react.ForwardRefExoticComponent<LinkProps & react.RefAttributes<HTMLAnchorElement>>;
2207
+
2208
+ type SelectOption = {
2209
+ label?: string;
2210
+ value: string;
2211
+ onSelect: (value: string) => void;
2212
+ selected?: boolean;
2213
+ };
2214
+ type Props$k = {
1998
2215
  /**
1999
- * Applies the spacing scale to the top side.
2216
+ * If true, the voice recording button will be shown.
2000
2217
  */
2001
- top?: string;
2218
+ allowRecording?: boolean;
2002
2219
  /**
2003
- * Applies the spacing scale to the top and bottom sides.
2220
+ * This function will be called when the selection of top items changes.
2221
+ * If this function is provided the message input will allow file selection.
2004
2222
  */
2005
- vertical?: string;
2006
- };
2007
-
2008
- declare function DxcInset({ bottom, children, horizontal, left, right, space, top, vertical }: Props$j): react_jsx_runtime.JSX.Element;
2009
-
2010
- type LinkProps = {
2223
+ callbackFile?: (files: File[]) => void;
2224
+ /**
2225
+ * Initial value of the input, only when it is uncontrolled.
2226
+ */
2227
+ defaultValue?: string;
2011
2228
  /**
2012
- * If true, the link is disabled.
2229
+ * If true, the component will be disabled.
2013
2230
  */
2014
2231
  disabled?: boolean;
2015
2232
  /**
2016
- * If true, the color is inherited from parent.
2233
+ * If it is a defined value and also a truthy string, the component will
2234
+ * change its appearance, showing the error below the input component. If
2235
+ * the defined value is an empty string, it will reserve a space below
2236
+ * the component for a future error, but it would not change its look. In
2237
+ * case of being undefined or null, both the appearance and the space for
2238
+ * the error message would not be modified.
2239
+ */
2240
+ error?: string;
2241
+ /**
2242
+ * Items to be shown at the top.
2243
+ */
2244
+ files?: File[];
2245
+ /**
2246
+ * If true, it indicates that a request is being processed after the user submits a query.
2247
+ */
2248
+ isGenerating?: boolean;
2249
+ /**
2250
+ * Specifies the maximum length allowed by the input.
2251
+ * This will be checked both when the input element loses the
2252
+ * focus and while typing within it. If the string entered does not
2253
+ * comply the maximum length, the onBlur and onChange functions will be called
2254
+ * with the current value and an internal error informing that the value
2255
+ * length does not comply the specified range. If a valid length is
2256
+ * reached, the error parameter of both events will not be defined.
2017
2257
  */
2018
- inheritColor?: boolean;
2258
+ maxLength?: number;
2019
2259
  /**
2020
- * Material Symbol name or SVG element as the icon that will be placed next to the link text.
2260
+ * Specifies the minimum length allowed by the input.
2261
+ * This will be checked both when the input element loses the
2262
+ * focus and while typing within it. If the string entered does not
2263
+ * comply the minimum length, the onBlur and onChange functions will be called
2264
+ * with the current value and an internal error informing that the value
2265
+ * length does not comply the specified range. If a valid length is
2266
+ * reached, the error parameter of both events will not be defined.
2021
2267
  */
2022
- icon?: string | SVG;
2268
+ minLength?: number;
2023
2269
  /**
2024
- * Indicates the position of the icon in the component.
2270
+ * Options to be shown on the dropdown under the input.
2025
2271
  */
2026
- iconPosition?: "before" | "after";
2272
+ selectOptions?: SelectOption[];
2027
2273
  /**
2028
- * Page to be opened when the user clicks on the link.
2274
+ * This function will be called when the input element loses the focus.
2275
+ * An object including the input value and the error (if the value
2276
+ * entered is not valid) will be passed to this function. If there is no error,
2277
+ * error will not be defined.
2029
2278
  */
2030
- href?: string;
2279
+ onBlur?: (val: {
2280
+ value: string;
2281
+ error?: string;
2282
+ }) => void;
2031
2283
  /**
2032
- * If true, the page is opened in a new browser tab.
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.
2033
2288
  */
2034
- newWindow?: boolean;
2289
+ onChange?: (val: {
2290
+ value: string;
2291
+ error?: string;
2292
+ }) => void;
2035
2293
  /**
2036
- * If defined, the link will be displayed as a button. This
2037
- * function will be called when the user clicks the link.
2294
+ * This function will be called when the user clicks on the button (submit or stop) or presses enter.
2295
+ * The type parameter indicates whether it's a "submit" or "stop" event. For submit events, "value", "files" and "selectedOption" are provided.
2038
2296
  */
2039
- onClick?: () => void;
2297
+ onButtonClick?: (val: {
2298
+ type: "submit" | "stop";
2299
+ value?: string;
2300
+ files?: File[];
2301
+ selectedOption?: SelectOption;
2302
+ }) => void;
2040
2303
  /**
2041
- * Text of the link.
2304
+ * Text to be put as placeholder of the input.
2042
2305
  */
2043
- children: string;
2306
+ placeholder?: string;
2044
2307
  /**
2045
- * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
2046
- * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
2308
+ * Specifies the size of the component. The size will affect the width of the input.
2047
2309
  */
2048
- margin?: Space$1 | Margin;
2310
+ size?: "small" | "medium" | "large" | "fillParent";
2049
2311
  /**
2050
- * Value of the tabindex.
2312
+ * Value of the tabindex attribute.
2051
2313
  */
2052
2314
  tabIndex?: number;
2315
+ /**
2316
+ * Value of the input. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
2317
+ */
2318
+ value?: string;
2053
2319
  };
2054
2320
 
2055
- declare const DxcLink: react.ForwardRefExoticComponent<LinkProps & react.RefAttributes<HTMLAnchorElement>>;
2321
+ declare const DxcMessageInput: ({ allowRecording, callbackFile, defaultValue, disabled, error, files, isGenerating, maxLength, minLength, selectOptions, onBlur, onButtonClick, onChange, placeholder, size, tabIndex, value, }: Props$k) => react.JSX.Element;
2056
2322
 
2057
2323
  type TabProps$1 = {
2058
2324
  /**
@@ -2064,7 +2330,7 @@ type TabProps$1 = {
2064
2330
  */
2065
2331
  children: string;
2066
2332
  /**
2067
- * Whether the tab is disabled or not.
2333
+ * If true, the tab will be disabled.
2068
2334
  */
2069
2335
  disabled?: boolean;
2070
2336
  /**
@@ -2088,7 +2354,7 @@ type TabProps$1 = {
2088
2354
  */
2089
2355
  notificationNumber?: boolean | number;
2090
2356
  };
2091
- type Props$i = {
2357
+ type Props$j = {
2092
2358
  /**
2093
2359
  * Contains one or more DxcNavTabs.Tab.
2094
2360
  */
@@ -2104,11 +2370,11 @@ type Props$i = {
2104
2370
  };
2105
2371
 
2106
2372
  declare const DxcNavTabs: {
2107
- ({ iconPosition, tabIndex, children }: Props$i): JSX.Element;
2108
- Tab: react.ForwardRefExoticComponent<TabProps$1 & react.RefAttributes<HTMLAnchorElement>>;
2373
+ ({ iconPosition, tabIndex, children }: Props$j): JSX.Element;
2374
+ Tab: react.ForwardRefExoticComponent<TabProps$1 & react.RefAttributes<HTMLDivElement | HTMLAnchorElement>>;
2109
2375
  };
2110
2376
 
2111
- type Props$h = {
2377
+ type Props$i = {
2112
2378
  /**
2113
2379
  * Text to be placed above the number.
2114
2380
  */
@@ -2235,9 +2501,9 @@ type Props$h = {
2235
2501
  showControls?: boolean;
2236
2502
  };
2237
2503
 
2238
- declare const DxcNumberInput: react.ForwardRefExoticComponent<Props$h & react.RefAttributes<HTMLDivElement>>;
2504
+ declare const DxcNumberInput: react.ForwardRefExoticComponent<Props$i & react.RefAttributes<HTMLDivElement>>;
2239
2505
 
2240
- type Props$g = {
2506
+ type Props$h = {
2241
2507
  /**
2242
2508
  * Number of the current selected page.
2243
2509
  */
@@ -2275,13 +2541,13 @@ type Props$g = {
2275
2541
  tabIndex?: number;
2276
2542
  };
2277
2543
 
2278
- declare const DxcPaginator: ({ currentPage, itemsPerPage, itemsPerPageOptions, totalItems, showGoToPage, onPageChange, itemsPerPageFunction, tabIndex, }: Props$g) => JSX.Element;
2544
+ declare const DxcPaginator: ({ currentPage, itemsPerPage, itemsPerPageOptions, totalItems, showGoToPage, onPageChange, itemsPerPageFunction, tabIndex, }: Props$h) => JSX.Element;
2279
2545
 
2280
2546
  declare function DxcParagraph({ children }: {
2281
2547
  children: ReactNode;
2282
- }): react_jsx_runtime.JSX.Element;
2548
+ }): react.JSX.Element;
2283
2549
 
2284
- type Props$f = {
2550
+ type Props$g = {
2285
2551
  /**
2286
2552
  * Text to be placed above the password input.
2287
2553
  */
@@ -2385,7 +2651,41 @@ type Props$f = {
2385
2651
  ariaLabel?: string;
2386
2652
  };
2387
2653
 
2388
- declare const DxcPasswordInput: react.ForwardRefExoticComponent<Props$f & react.RefAttributes<HTMLDivElement>>;
2654
+ declare const DxcPasswordInput: react.ForwardRefExoticComponent<Props$g & react.RefAttributes<HTMLDivElement>>;
2655
+
2656
+ type PopoverPropsType = {
2657
+ /** Action that triggers the popover to open. */
2658
+ actionToOpen?: "click" | "hover";
2659
+ /** Alignment of the popover relative to the trigger element. */
2660
+ align?: "start" | "center" | "end";
2661
+ /** Set to true if child controls the events. It will render the child directly without wrapping it. */
2662
+ asChild?: boolean;
2663
+ /** Element that triggers the popover and works as the anchor. */
2664
+ children: React.ReactNode;
2665
+ /** Whether the popover should display a tip (arrow). */
2666
+ hasTip?: boolean;
2667
+ /** Controlled open state of the popover. If it is left undefined, it will be uncontrolled. */
2668
+ isOpen?: boolean;
2669
+ /** Distance in pixels from the trigger element to the popover. */
2670
+ offset?: number;
2671
+ /** Callback function when the popover is opened.
2672
+ * Used only in controlled mode and if the trigger lacks the events to manage the controlled behavior. */
2673
+ onOpen?: () => void;
2674
+ /** Callback function when the popover is opened and the focus is set to the first focusable element inside the popover.
2675
+ * */
2676
+ onOpenAutoFocus?: (event: Event) => void;
2677
+ /** Callback function when the popover is closed. */
2678
+ onClose?: () => void;
2679
+ /** Callback function when the popover is closed and the focus is set back to the trigger element.
2680
+ * */
2681
+ onCloseAutoFocus?: (event: Event) => void;
2682
+ /** Content to be displayed inside the popover. */
2683
+ popoverContent: React.ReactNode;
2684
+ /** Side of the trigger where the popover will appear. */
2685
+ side?: "top" | "bottom" | "left" | "right";
2686
+ };
2687
+
2688
+ declare const DxcPopover: ({ actionToOpen, align, asChild, children, hasTip, isOpen, offset, onOpen, onOpenAutoFocus, onClose, onCloseAutoFocus, popoverContent, side, }: PopoverPropsType) => JSX.Element;
2389
2689
 
2390
2690
  type Size$1 = {
2391
2691
  top?: Space$1;
@@ -2393,7 +2693,7 @@ type Size$1 = {
2393
2693
  left?: Space$1;
2394
2694
  right?: Space$1;
2395
2695
  };
2396
- type Props$e = {
2696
+ type Props$f = {
2397
2697
  /**
2398
2698
  * Text to be placed above the progress bar.
2399
2699
  */
@@ -2427,7 +2727,7 @@ type Props$e = {
2427
2727
  ariaLabel?: string;
2428
2728
  };
2429
2729
 
2430
- declare const DxcProgressBar: ({ label, helperText, overlay, value, showValue, margin, ariaLabel, }: Props$e) => JSX.Element;
2730
+ declare const DxcProgressBar: ({ label, helperText, overlay, value, showValue, margin, ariaLabel, }: Props$f) => JSX.Element;
2431
2731
 
2432
2732
  type Link = {
2433
2733
  /**
@@ -2439,7 +2739,7 @@ type Link = {
2439
2739
  */
2440
2740
  links?: Link[];
2441
2741
  };
2442
- type Props$d = {
2742
+ type Props$e = {
2443
2743
  /**
2444
2744
  * Title of the quick nav component.
2445
2745
  */
@@ -2450,7 +2750,7 @@ type Props$d = {
2450
2750
  links: Link[];
2451
2751
  };
2452
2752
 
2453
- declare function DxcQuickNav({ links, title }: Props$d): react_jsx_runtime.JSX.Element;
2753
+ declare function DxcQuickNav({ links, title }: Props$e): react.JSX.Element;
2454
2754
 
2455
2755
  type Option$1 = {
2456
2756
  /**
@@ -2651,11 +2951,11 @@ type NonPaginatedProps = CommonProps$3 & {
2651
2951
  */
2652
2952
  showGoToPage?: never;
2653
2953
  };
2654
- type Props$c = PaginatedProps | NonPaginatedProps;
2954
+ type Props$d = PaginatedProps | NonPaginatedProps;
2655
2955
 
2656
2956
  declare const DxcResultsetTable: {
2657
- ({ columns, hidePaginator, itemsPerPage, itemsPerPageFunction, itemsPerPageOptions, margin, mode, rows, showGoToPage, tabIndex, virtualizedHeight, }: Props$c): react_jsx_runtime.JSX.Element;
2658
- ActionsCell: ({ actions }: ActionsCellPropsType) => react_jsx_runtime.JSX.Element;
2957
+ ({ columns, hidePaginator, itemsPerPage, itemsPerPageFunction, itemsPerPageOptions, margin, mode, rows, showGoToPage, tabIndex, virtualizedHeight, }: Props$d): react.JSX.Element;
2958
+ ActionsCell: ({ actions }: ActionsCellPropsType) => react.JSX.Element;
2659
2959
  };
2660
2960
 
2661
2961
  type ListOptionType = {
@@ -2746,6 +3046,12 @@ type CommonProps$2 = {
2746
3046
  * If true, enables search functionality.
2747
3047
  */
2748
3048
  searchable?: boolean;
3049
+ /**
3050
+ * Defines the search mode when searchable is true.
3051
+ * If true, matches options that start with the search text.
3052
+ * If false, matches options that contain the search text anywhere in their label.
3053
+ */
3054
+ searchByStartsWith?: boolean;
2749
3055
  /**
2750
3056
  * Size of the component.
2751
3057
  */
@@ -2840,11 +3146,11 @@ type MultipleSelect = CommonProps$2 & {
2840
3146
  */
2841
3147
  value?: string[];
2842
3148
  };
2843
- type Props$b = SingleSelect | MultipleSelect;
3149
+ type Props$c = SingleSelect | MultipleSelect;
2844
3150
 
2845
- declare const DxcSelect: react.ForwardRefExoticComponent<Props$b & react.RefAttributes<HTMLDivElement>>;
3151
+ declare const DxcSelect: react.ForwardRefExoticComponent<Props$c & react.RefAttributes<HTMLDivElement>>;
2846
3152
 
2847
- type Props$a = {
3153
+ type Props$b = {
2848
3154
  /**
2849
3155
  * Specifies a string to be used as the name for the slider element when no `label` is provided.
2850
3156
  */
@@ -2923,9 +3229,9 @@ type Props$a = {
2923
3229
  value?: number;
2924
3230
  };
2925
3231
 
2926
- declare const DxcSlider: react.ForwardRefExoticComponent<Props$a & react.RefAttributes<HTMLDivElement>>;
3232
+ declare const DxcSlider: react.ForwardRefExoticComponent<Props$b & react.RefAttributes<HTMLDivElement>>;
2927
3233
 
2928
- type Props$9 = {
3234
+ type Props$a = {
2929
3235
  /**
2930
3236
  * Specifies a string to be used as the name for the spinner element when no `label` is provided or the `mode` is set to small.
2931
3237
  */
@@ -2959,11 +3265,11 @@ type Props$9 = {
2959
3265
  value?: number;
2960
3266
  };
2961
3267
 
2962
- declare const DxcSpinner: ({ ariaLabel, inheritColor, label, margin, mode, showValue, value, }: Props$9) => react_jsx_runtime.JSX.Element;
3268
+ declare const DxcSpinner: ({ ariaLabel, inheritColor, label, margin, mode, showValue, value, }: Props$a) => react.JSX.Element;
2963
3269
 
2964
3270
  type Mode = "default" | "info" | "success" | "warning" | "error";
2965
3271
  type Size = "small" | "medium" | "large";
2966
- type Props$8 = {
3272
+ type Props$9 = {
2967
3273
  /**
2968
3274
  * It will define the color of the light based on its semantic meaning.
2969
3275
  */
@@ -2978,9 +3284,9 @@ type Props$8 = {
2978
3284
  size?: Size;
2979
3285
  };
2980
3286
 
2981
- declare function DxcStatusLight({ label, mode, size }: Props$8): react_jsx_runtime.JSX.Element;
3287
+ declare function DxcStatusLight({ label, mode, size }: Props$9): react.JSX.Element;
2982
3288
 
2983
- type Props$7 = {
3289
+ type Props$8 = {
2984
3290
  /**
2985
3291
  * Specifies a string to be used as the name for the switch element when no `label` is provided.
2986
3292
  */
@@ -3039,11 +3345,11 @@ type Props$7 = {
3039
3345
  value?: string;
3040
3346
  };
3041
3347
 
3042
- declare const DxcSwitch: react.ForwardRefExoticComponent<Props$7 & react.RefAttributes<HTMLDivElement>>;
3348
+ declare const DxcSwitch: react.ForwardRefExoticComponent<Props$8 & react.RefAttributes<HTMLDivElement>>;
3043
3349
 
3044
3350
  declare const DxcTable: {
3045
- ({ children, margin, mode }: Props$t): react_jsx_runtime.JSX.Element;
3046
- ActionsCell: ({ actions }: ActionsCellPropsType) => react_jsx_runtime.JSX.Element;
3351
+ ({ children, margin, mode }: Props$u): react.JSX.Element;
3352
+ ActionsCell: ({ actions }: ActionsCellPropsType) => react.JSX.Element;
3047
3353
  };
3048
3354
 
3049
3355
  type CommonTabProps = {
@@ -3084,14 +3390,14 @@ type TabsProps = {
3084
3390
  */
3085
3391
  children?: ReactNode;
3086
3392
  };
3087
- type Props$6 = TabsProps;
3393
+ type Props$7 = TabsProps;
3088
3394
 
3089
3395
  declare const DxcTabs: {
3090
- ({ children, iconPosition, margin, tabIndex }: Props$6): react_jsx_runtime.JSX.Element;
3396
+ ({ children, iconPosition, margin, tabIndex }: Props$7): react.JSX.Element;
3091
3397
  Tab: react.ForwardRefExoticComponent<TabProps & react.RefAttributes<HTMLButtonElement>>;
3092
3398
  };
3093
3399
 
3094
- type Props$5 = {
3400
+ type Props$6 = {
3095
3401
  /**
3096
3402
  * Specifies a string to be used as the name for the textarea element when no `label` is provided.
3097
3403
  */
@@ -3225,7 +3531,7 @@ type Props$5 = {
3225
3531
  verticalGrow?: "auto" | "manual" | "none";
3226
3532
  };
3227
3533
 
3228
- declare const DxcTextarea: react.ForwardRefExoticComponent<Props$5 & react.RefAttributes<HTMLDivElement>>;
3534
+ declare const DxcTextarea: react.ForwardRefExoticComponent<Props$6 & react.RefAttributes<HTMLDivElement>>;
3229
3535
 
3230
3536
  type Action$1 = {
3231
3537
  /**
@@ -3243,7 +3549,7 @@ type Action$1 = {
3243
3549
  */
3244
3550
  title?: string;
3245
3551
  };
3246
- type Props$4 = {
3552
+ type Props$5 = {
3247
3553
  /**
3248
3554
  * Sets the alignment inside the input.
3249
3555
  */
@@ -3396,7 +3702,96 @@ type Props$4 = {
3396
3702
  ariaLabel?: string;
3397
3703
  };
3398
3704
 
3399
- declare const DxcTextInput: react.ForwardRefExoticComponent<Props$4 & react.RefAttributes<HTMLDivElement>>;
3705
+ declare const DxcTextInput: react.ForwardRefExoticComponent<Props$5 & react.RefAttributes<HTMLDivElement>>;
3706
+
3707
+ type Props$4 = {
3708
+ /**
3709
+ * Specifies a string to be used as the name for the timeInput element when no `label` is provided.
3710
+ */
3711
+ ariaLabel?: string;
3712
+ /**
3713
+ * If true, the input will have an action to clear the entered value.
3714
+ */
3715
+ clearable?: boolean;
3716
+ /**
3717
+ * Initial value of the input, only when it is uncontrolled.
3718
+ */
3719
+ defaultValue?: string;
3720
+ /**
3721
+ * If true, the component will be disabled.
3722
+ */
3723
+ disabled?: boolean;
3724
+ /**
3725
+ * If it is a defined value and also a truthy string, the component will
3726
+ * change its appearance, showing the error below the input component. If
3727
+ * the defined value is an empty string, it will reserve a space below
3728
+ * the component for a future error, but it would not change its look. In
3729
+ * case of being undefined or null, both the appearance and the space for
3730
+ * the error message would not be modified.
3731
+ */
3732
+ error?: string;
3733
+ /**
3734
+ * Helper text to be placed above the input.
3735
+ */
3736
+ helperText?: string;
3737
+ /**
3738
+ * Text to be placed above the input.
3739
+ */
3740
+ label?: string;
3741
+ /**
3742
+ * Name attribute of the input element.
3743
+ */
3744
+ name?: string;
3745
+ /**
3746
+ * This function will be called when the input element loses the focus.
3747
+ * An object including the input value and the error (if the value
3748
+ * entered is not valid) will be passed to this function. If there is no error,
3749
+ * error will not be defined.
3750
+ */
3751
+ onBlur?: (val: {
3752
+ value: string;
3753
+ error?: string;
3754
+ }) => void;
3755
+ /**
3756
+ * This function will be called when the user types within the input
3757
+ * or selects a value in the dropdown element of the component.
3758
+ */
3759
+ onChange?: (value: string) => void;
3760
+ /**
3761
+ * If true, the input will be optional, showing '(Optional)'
3762
+ * next to the label. Otherwise, the field will be considered required and an error will be
3763
+ * passed as a parameter to the OnBlur function when it has
3764
+ * not been filled.
3765
+ */
3766
+ optional?: boolean;
3767
+ /**
3768
+ * If true, the component will not be mutable, meaning the user can not edit the control.
3769
+ * In addition, the clear action will not be displayed even if the flag is set to true.
3770
+ */
3771
+ readOnly?: boolean;
3772
+ /**
3773
+ * If true, the component will display seconds and allow the user to input them. Otherwise, seconds will not be shown and the user will not be able to input them.
3774
+ */
3775
+ showSeconds?: boolean;
3776
+ /**
3777
+ * Size of the component.
3778
+ */
3779
+ size?: "small" | "medium" | "large" | "fillParent";
3780
+ /**
3781
+ * Value of the tabindex attribute.
3782
+ */
3783
+ tabIndex?: number;
3784
+ /**
3785
+ * Time format of the input. It can be either 12 or 24.
3786
+ */
3787
+ timeFormat?: "12" | "24";
3788
+ /**
3789
+ * Value of the input. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
3790
+ */
3791
+ value?: string;
3792
+ };
3793
+
3794
+ declare const DxcTimeInput: react.ForwardRefExoticComponent<Props$4 & react.RefAttributes<HTMLDivElement>>;
3400
3795
 
3401
3796
  type Action = {
3402
3797
  /**
@@ -3451,7 +3846,7 @@ type ToastsQueuePropsType = {
3451
3846
  duration?: number;
3452
3847
  };
3453
3848
 
3454
- declare function DxcToastsQueue({ children, duration }: ToastsQueuePropsType): react_jsx_runtime.JSX.Element;
3849
+ declare function DxcToastsQueue({ children, duration }: ToastsQueuePropsType): react.JSX.Element;
3455
3850
 
3456
3851
  type OptionIcon = {
3457
3852
  /**
@@ -3554,7 +3949,7 @@ type SingleSelectionToggleGroup = {
3554
3949
  };
3555
3950
  type Props$3 = CommonProps & (MultipleSelectionToggleGroup | SingleSelectionToggleGroup);
3556
3951
 
3557
- declare function DxcToggleGroup({ defaultValue, margin, multiple, onChange, options, orientation, tabIndex, value, }: Props$3): react_jsx_runtime.JSX.Element;
3952
+ declare function DxcToggleGroup({ defaultValue, margin, multiple, onChange, options, orientation, tabIndex, value, }: Props$3): react.JSX.Element;
3558
3953
 
3559
3954
  type Props$2 = {
3560
3955
  /**
@@ -3571,7 +3966,7 @@ type Props$2 = {
3571
3966
  position?: "bottom" | "top" | "left" | "right";
3572
3967
  };
3573
3968
 
3574
- declare const DxcTooltip: (props: Props$2) => react_jsx_runtime.JSX.Element;
3969
+ declare const DxcTooltip: (props: Props$2) => react.JSX.Element;
3575
3970
 
3576
3971
  type Props$1 = {
3577
3972
  as?: "a" | "blockquote" | "cite" | "code" | "div" | "em" | "figcaption" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "pre" | "small" | "span" | "strong";
@@ -3590,7 +3985,7 @@ type Props$1 = {
3590
3985
  whiteSpace?: "normal" | "nowrap" | "pre" | "pre-line" | "pre-wrap";
3591
3986
  };
3592
3987
 
3593
- declare function DxcTypography({ children, ...props }: Props$1): react_jsx_runtime.JSX.Element;
3988
+ declare function DxcTypography({ children, ...props }: Props$1): react.JSX.Element;
3594
3989
 
3595
3990
  type StepProps = {
3596
3991
  /**
@@ -3606,7 +4001,7 @@ type StepProps = {
3606
4001
  */
3607
4002
  icon?: string | SVG;
3608
4003
  /**
3609
- * Whether the step is disabled or not.
4004
+ * If true, the step will be disabled.
3610
4005
  */
3611
4006
  disabled?: boolean;
3612
4007
  /**
@@ -3647,7 +4042,7 @@ type Props = {
3647
4042
  tabIndex?: number;
3648
4043
  };
3649
4044
 
3650
- declare function DxcWizard({ currentStep, defaultCurrentStep, margin, mode, onStepClick, steps, tabIndex, }: Props): react_jsx_runtime.JSX.Element;
4045
+ declare function DxcWizard({ currentStep, defaultCurrentStep, margin, mode, onStepClick, steps, tabIndex, }: Props): react.JSX.Element;
3651
4046
 
3652
4047
  declare const defaultTranslatedComponentLabels: {
3653
4048
  applicationLayout: {
@@ -3665,8 +4060,12 @@ declare const defaultTranslatedComponentLabels: {
3665
4060
  previousMonthTitle: string;
3666
4061
  nextMonthTitle: string;
3667
4062
  };
4063
+ card: {
4064
+ noContent: string;
4065
+ };
3668
4066
  dateInput: {
3669
4067
  invalidDateErrorMessage: string;
4068
+ datePickerActionTitle: string;
3670
4069
  };
3671
4070
  dialog: {
3672
4071
  closeIconAriaLabel: string;
@@ -3689,13 +4088,21 @@ declare const defaultTranslatedComponentLabels: {
3689
4088
  requiredSelectionErrorMessage: string;
3690
4089
  requiredValueErrorMessage: string;
3691
4090
  formatRequestedErrorMessage: string;
3692
- lengthErrorMessage: (minLength?: number, maxLength?: number) => string;
3693
- logoAlternativeText: string;
4091
+ minLengthErrorMessage: (minLength: number) => string;
4092
+ maxLengthErrorMessage: (maxLength: number) => string;
3694
4093
  };
3695
4094
  header: {
3696
4095
  closeIcon: string;
3697
4096
  hamburgerTitle: string;
3698
4097
  };
4098
+ messageInput: {
4099
+ inputAriaLabel: string;
4100
+ sendButtonTitle: string;
4101
+ stopButtonTitle: string;
4102
+ attachFileButtonTitle: string;
4103
+ recordAudioButtonTitle: string;
4104
+ stopRecordingButtonTitle: string;
4105
+ };
3699
4106
  numberInput: {
3700
4107
  valueGreaterThanOrEqualToErrorMessage: (value: number) => string;
3701
4108
  valueLessThanOrEqualToErrorMessage: (value: number) => string;
@@ -3722,6 +4129,12 @@ declare const defaultTranslatedComponentLabels: {
3722
4129
  radioGroup: {
3723
4130
  optionalItemLabelDefault: string;
3724
4131
  };
4132
+ searchBar: {
4133
+ clearFieldActionTitle: string;
4134
+ inputAriaLabel: string;
4135
+ triggerTitle: string;
4136
+ cancelButtonLabel: string;
4137
+ };
3725
4138
  select: {
3726
4139
  actionClearSelectionTitle: string;
3727
4140
  actionClearSearchTitle: string;
@@ -3737,11 +4150,20 @@ declare const defaultTranslatedComponentLabels: {
3737
4150
  searchingMessage: string;
3738
4151
  fetchingDataErrorMessage: string;
3739
4152
  };
4153
+ timeInput: {
4154
+ timePickerActionTitle: string;
4155
+ timePeriodAM: string;
4156
+ timePeriodPM: string;
4157
+ };
3740
4158
  toast: {
3741
4159
  clearToastActionTitle: string;
3742
4160
  };
3743
4161
  };
3744
4162
  type TranslatedLabels = typeof defaultTranslatedComponentLabels;
4163
+ type LocalizedContext = {
4164
+ labels: TranslatedLabels;
4165
+ locale?: string;
4166
+ };
3745
4167
 
3746
4168
  /**
3747
4169
  * This type is used to allow labels objects to be passed to the HalstackProvider.
@@ -3750,105 +4172,18 @@ type TranslatedLabels = typeof defaultTranslatedComponentLabels;
3750
4172
  type DeepPartial<T> = {
3751
4173
  [P in keyof T]?: Partial<T[P]>;
3752
4174
  };
3753
- declare const HalstackLanguageContext: react.Context<{
3754
- applicationLayout: {
3755
- visibilityToggleTitle: string;
3756
- };
3757
- alert: {
3758
- previousMessageActionTitle: string;
3759
- nextMessageActionTitle: string;
3760
- closeAlertActionTitle: string;
3761
- closeMessageActionTitle: string;
3762
- };
3763
- calendar: {
3764
- daysShort: string[];
3765
- months: string[];
3766
- previousMonthTitle: string;
3767
- nextMonthTitle: string;
3768
- };
3769
- dateInput: {
3770
- invalidDateErrorMessage: string;
3771
- };
3772
- dialog: {
3773
- closeIconAriaLabel: string;
3774
- };
3775
- fileInput: {
3776
- fileSizeGreaterThanErrorMessage: string;
3777
- fileSizeLessThanErrorMessage: string;
3778
- multipleButtonLabelDefault: string;
3779
- singleButtonLabelDefault: string;
3780
- dropAreaButtonLabelDefault: string;
3781
- multipleDropAreaLabelDefault: string;
3782
- singleDropAreaLabelDefault: string;
3783
- deleteFileActionTitle: string;
3784
- };
3785
- footer: {
3786
- copyrightText: (year: number) => string;
3787
- };
3788
- formFields: {
3789
- optionalLabel: string;
3790
- requiredSelectionErrorMessage: string;
3791
- requiredValueErrorMessage: string;
3792
- formatRequestedErrorMessage: string;
3793
- lengthErrorMessage: (minLength?: number, maxLength?: number) => string;
3794
- logoAlternativeText: string;
3795
- };
3796
- header: {
3797
- closeIcon: string;
3798
- hamburgerTitle: string;
3799
- };
3800
- numberInput: {
3801
- valueGreaterThanOrEqualToErrorMessage: (value: number) => string;
3802
- valueLessThanOrEqualToErrorMessage: (value: number) => string;
3803
- decrementValueTitle: string;
3804
- incrementValueTitle: string;
3805
- };
3806
- paginator: {
3807
- itemsPerPageText: string;
3808
- minToMaxOfText: (minNumberOfItems: number, maxNumberOfItems: number, totalItems: number) => string;
3809
- goToPageText: string;
3810
- pageOfText: (pageNumber: number, totalPagesNumber: number) => string;
3811
- firstResultsTitle: string;
3812
- previousResultsTitle: string;
3813
- nextResultsTitle: string;
3814
- lastResultsTitle: string;
3815
- };
3816
- passwordInput: {
3817
- inputShowPasswordTitle: string;
3818
- inputHidePasswordTitle: string;
3819
- };
3820
- quickNav: {
3821
- contentTitle: string;
3822
- };
3823
- radioGroup: {
3824
- optionalItemLabelDefault: string;
3825
- };
3826
- select: {
3827
- actionClearSelectionTitle: string;
3828
- actionClearSearchTitle: string;
3829
- noMatchesErrorMessage: string;
3830
- selectAllLabel: string;
3831
- };
3832
- tabs: {
3833
- scrollLeft: string;
3834
- scrollRight: string;
3835
- };
3836
- textInput: {
3837
- clearFieldActionTitle: string;
3838
- searchingMessage: string;
3839
- fetchingDataErrorMessage: string;
3840
- };
3841
- toast: {
3842
- clearToastActionTitle: string;
3843
- };
3844
- }>;
3845
- type ThemeType = Record<string, string | number>;
4175
+ declare const HalstackLanguageContext: react.Context<LocalizedContext>;
4176
+ type ThemeType = {
4177
+ tokens?: Record<string, string | number>;
4178
+ logos?: Record<string, string | undefined>;
4179
+ };
3846
4180
  type HalstackProviderPropsType = {
3847
4181
  labels?: DeepPartial<TranslatedLabels>;
3848
4182
  children: ReactNode;
3849
4183
  opinionatedTheme?: ThemeType;
4184
+ localeTag?: string;
3850
4185
  };
3851
- declare const HalstackProvider: ({ labels, children, opinionatedTheme }: HalstackProviderPropsType) => JSX.Element;
4186
+ declare const HalstackProvider: ({ labels, children, opinionatedTheme, localeTag, }: HalstackProviderPropsType) => JSX.Element;
3852
4187
 
3853
4188
  declare function useToast(): {
3854
4189
  default: (toast: DefaultToast) => (() => void) | undefined;
@@ -3858,4 +4193,4 @@ declare function useToast(): {
3858
4193
  loading: (toast: Omit<LoadingToast, "loading">) => (() => void) | undefined;
3859
4194
  };
3860
4195
 
3861
- export { DxcAccordion, DxcAlert, DxcApplicationLayout, DxcBadge, DxcBleed, DxcBreadcrumbs, DxcBulletedList, DxcButton, DxcCard, DxcCheckbox, DxcChip, DxcContainer, DxcContextualMenu, DxcDataGrid, DxcDateInput, DxcDialog, DxcDivider, DxcDropdown, DxcFileInput, DxcFlex, DxcGrid, DxcHeading, DxcImage, DxcInset, DxcLink, DxcNavTabs, DxcNumberInput, DxcPaginator, DxcParagraph, DxcPasswordInput, DxcProgressBar, DxcQuickNav, DxcRadioGroup, DxcResultsetTable, DxcSelect, DxcSlider, DxcSpinner, DxcStatusLight, DxcSwitch, DxcTable, DxcTabs, DxcTextInput, DxcTextarea, DxcToastsQueue, DxcToggleGroup, DxcTooltip, DxcTypography, DxcWizard, HalstackLanguageContext, HalstackProvider, useToast };
4196
+ 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, DxcMessageInput, DxcNavTabs, DxcNumberInput, DxcPaginator, DxcParagraph, DxcPasswordInput, DxcPopover, DxcProgressBar, DxcQuickNav, DxcRadioGroup, DxcResultsetTable, DxcSelect, DxcSlider, DxcSpinner, DxcStatusLight, DxcSwitch, DxcTable, DxcTabs, DxcTextInput, DxcTextarea, DxcTimeInput, DxcToastsQueue, DxcToggleGroup, DxcTooltip, DxcTypography, DxcWizard, HalstackLanguageContext, HalstackProvider, useToast };