kiban-design-system 1.1.4-hotfix.0 → 1.1.6-hotfix.0

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 (74) hide show
  1. package/dist/components/ActionList/ActionList.props.d.ts +4 -0
  2. package/dist/components/AlphaButton/AlphaButton.d.ts +1 -1
  3. package/dist/components/AlphaButton/AlphaButton.props.d.ts +4 -0
  4. package/dist/components/AlphaGraphicCard/AlphaGraphicCard.d.ts +5 -0
  5. package/dist/components/AlphaGraphicCard/AlphaGraphicCard.props.d.ts +15 -0
  6. package/dist/components/AlphaGraphicCard/index.d.ts +3 -0
  7. package/dist/components/AlphaInputDate/AlphaInputDate.d.ts +1 -1
  8. package/dist/components/AlphaInputDate/AlphaInputDate.props.d.ts +1 -0
  9. package/dist/components/AlphaInputTag/AlphaInputTag.d.ts +1 -1
  10. package/dist/components/AlphaInputTag/AlphaInputTag.props.d.ts +1 -0
  11. package/dist/components/ChoiceList/ChoiceList.d.ts +2 -1
  12. package/dist/components/ChoiceList/ChoiceList.props.d.ts +4 -0
  13. package/dist/components/Collapsible/Collapsible.d.ts +2 -1
  14. package/dist/components/Collapsible/Collapsible.props.d.ts +4 -0
  15. package/dist/components/DynamicForm/DynamicForm.d.ts +1 -1
  16. package/dist/components/DynamicForm/DynamicForm.props.d.ts +1 -0
  17. package/dist/components/DynamicForm/components/DeletableSection/DeletableSection.d.ts +1 -1
  18. package/dist/components/DynamicForm/components/DeletableSection/DeletableSection.props.d.ts +1 -0
  19. package/dist/components/DynamicForm/components/Form/Form.d.ts +1 -1
  20. package/dist/components/DynamicForm/components/Form/Form.props.d.ts +1 -0
  21. package/dist/components/DynamicForm/components/FormField/FormField.d.ts +1 -1
  22. package/dist/components/DynamicForm/components/FormField/FormField.props.d.ts +1 -0
  23. package/dist/components/DynamicForm/components/SectionForm/SectionForm.d.ts +1 -1
  24. package/dist/components/DynamicForm/components/SectionForm/SectionForm.props.d.ts +1 -0
  25. package/dist/components/FileDownloader/FileDownloader.d.ts +1 -1
  26. package/dist/components/FileDownloader/FileDownloader.props.d.ts +1 -0
  27. package/dist/components/Filedrop/Filedrop.d.ts +3 -2
  28. package/dist/components/Filedrop/Filedrop.props.d.ts +4 -0
  29. package/dist/components/Filedrop/components/File/File.d.ts +2 -1
  30. package/dist/components/Filedrop/components/File/File.props.d.ts +1 -0
  31. package/dist/components/Filters/Filters.d.ts +1 -1
  32. package/dist/components/Filters/Filters.props.d.ts +2 -0
  33. package/dist/components/IndexList/IndexList.props.d.ts +4 -0
  34. package/dist/components/InlineEdit/InlineEdit.d.ts +2 -1
  35. package/dist/components/InlineEdit/InlineEdit.props.d.ts +4 -0
  36. package/dist/components/InputPhoneNumber/InputPhoneNumber.d.ts +1 -1
  37. package/dist/components/InputPhoneNumber/InputPhoneNumber.props.d.ts +4 -0
  38. package/dist/components/InputTag/InputTag.d.ts +2 -1
  39. package/dist/components/InputTag/InputTag.props.d.ts +4 -0
  40. package/dist/components/InputText/InputText.d.ts +2 -1
  41. package/dist/components/InputText/InputText.props.d.ts +4 -0
  42. package/dist/components/Link/Link.d.ts +1 -1
  43. package/dist/components/Link/Link.props.d.ts +1 -0
  44. package/dist/components/Modal/Modal.d.ts +2 -2
  45. package/dist/components/Modal/Modal.props.d.ts +4 -0
  46. package/dist/components/Modal/components/Footer/Footer.props.d.ts +4 -0
  47. package/dist/components/Modal/components/Header/Header.d.ts +1 -1
  48. package/dist/components/Modal/components/Header/Header.props.d.ts +4 -0
  49. package/dist/components/Nip/Nip.d.ts +1 -1
  50. package/dist/components/Nip/Nip.props.d.ts +1 -0
  51. package/dist/components/OptionList/OptionList.d.ts +1 -0
  52. package/dist/components/OptionList/OptionList.props.d.ts +4 -0
  53. package/dist/components/Page/components/Header/Header.props.d.ts +3 -0
  54. package/dist/components/PageActions/PageActions.props.d.ts +4 -0
  55. package/dist/components/Pagination/Pagination.d.ts +2 -1
  56. package/dist/components/Pagination/Pagination.props.d.ts +4 -0
  57. package/dist/components/Panel/components/Footer/Footer.props.d.ts +4 -0
  58. package/dist/components/Panel/components/Header/Header.props.d.ts +4 -0
  59. package/dist/components/Select/Select.d.ts +2 -1
  60. package/dist/components/Select/Select.props.d.ts +10 -8
  61. package/dist/components/SideMenu/SideMenu.props.d.ts +4 -0
  62. package/dist/components/Tabs/components/Tab/Tab.d.ts +1 -1
  63. package/dist/components/Tabs/components/Tab/Tab.props.d.ts +1 -0
  64. package/dist/components/Tabs/components/TabsWrapper/TabsWrapper.props.d.ts +1 -0
  65. package/dist/components/Tag/Tag.d.ts +2 -1
  66. package/dist/components/Tag/Tag.props.d.ts +4 -0
  67. package/dist/components/Toggle/Toggle.d.ts +2 -1
  68. package/dist/components/Toggle/Toggle.props.d.ts +4 -0
  69. package/dist/components/index.d.ts +1 -0
  70. package/dist/index.css +6 -4
  71. package/dist/index.css.map +1 -1
  72. package/dist/index.js +307 -200
  73. package/dist/index.js.map +1 -1
  74. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -926,12 +926,12 @@ const ActionList = ({ header, items, sections }) => {
926
926
  ]
927
927
  .filter(Boolean)
928
928
  .join(' ');
929
- return (jsxs("li", Object.assign({ className: classesItem, onClick: () => item.onClick && item.onClick() }, { children: [item.icon && (jsx("span", Object.assign({ className: 'Action-list__item-icon' }, { children: jsx(Icon, { name: item.icon }, void 0) }), void 0)), item.content] }), j));
929
+ return (jsxs("li", Object.assign({ "aria-label": item.ariaLabel, className: classesItem, onClick: () => item.onClick && item.onClick() }, { children: [item.icon && (jsx("span", Object.assign({ className: 'Action-list__item-icon' }, { children: jsx(Icon, { name: item.icon }, void 0) }), void 0)), item.content] }), j));
930
930
  }) }), void 0)] }), i));
931
- })), items && !sections && (jsx("ul", Object.assign({ className: 'Action-list__items-container' }, { children: items === null || items === void 0 ? void 0 : items.map((item, j) => (jsxs("li", Object.assign({ className: `Action-list__item ${item.isActive && 'Action-list__item-active'}`, onClick: () => item.onClick && item.onClick() }, { children: [item.icon && (jsx("span", Object.assign({ className: 'Action-list__item-icon' }, { children: jsx(Icon, { name: item.icon }, void 0) }), void 0)), item.content] }), j))) }), void 0))] }), void 0));
931
+ })), items && !sections && (jsx("ul", Object.assign({ className: 'Action-list__items-container' }, { children: items === null || items === void 0 ? void 0 : items.map((item, j) => (jsxs("li", Object.assign({ "aria-label": item.ariaLabel, className: `Action-list__item ${item.isActive && 'Action-list__item-active'}`, onClick: () => item.onClick && item.onClick() }, { children: [item.icon && (jsx("span", Object.assign({ className: 'Action-list__item-icon' }, { children: jsx(Icon, { name: item.icon }, void 0) }), void 0)), item.content] }), j))) }), void 0))] }), void 0));
932
932
  };
933
933
 
934
- const MAIN_CLASS$s = 'Alert';
934
+ const MAIN_CLASS$t = 'Alert';
935
935
  /**
936
936
  * Alert
937
937
  *
@@ -946,12 +946,12 @@ const MAIN_CLASS$s = 'Alert';
946
946
  */
947
947
  const Alert = ({ icon, appearance = 'info', content, onDismiss, id, }) => {
948
948
  const className = [
949
- MAIN_CLASS$s,
950
- appearance && `${MAIN_CLASS$s}--${appearance}`,
949
+ MAIN_CLASS$t,
950
+ appearance && `${MAIN_CLASS$t}--${appearance}`,
951
951
  ]
952
952
  .filter(Boolean)
953
953
  .join(' ');
954
- return (jsxs("div", Object.assign({ className: className }, { children: [jsxs("div", Object.assign({ className: `${MAIN_CLASS$s}__content` }, { children: [icon && (jsx("div", Object.assign({ className: `${MAIN_CLASS$s}__icon` }, { children: jsx(Icon, { name: icon }, void 0) }), void 0)), jsx("span", { children: content }, void 0)] }), void 0), onDismiss ? (jsx("div", Object.assign({ className: `${MAIN_CLASS$s}__close`, onClick: () => onDismiss(id) }, { children: jsx(Icon, { name: 'Close' }, void 0) }), void 0)) : null] }), void 0));
954
+ return (jsxs("div", Object.assign({ className: className }, { children: [jsxs("div", Object.assign({ className: `${MAIN_CLASS$t}__content` }, { children: [icon && (jsx("div", Object.assign({ className: `${MAIN_CLASS$t}__icon` }, { children: jsx(Icon, { name: icon }, void 0) }), void 0)), jsx("span", { children: content }, void 0)] }), void 0), onDismiss ? (jsx("div", Object.assign({ className: `${MAIN_CLASS$t}__close`, onClick: () => onDismiss(id) }, { children: jsx(Icon, { name: 'Close' }, void 0) }), void 0)) : null] }), void 0));
955
955
  };
956
956
 
957
957
  const AlertContext = createContext({
@@ -1155,7 +1155,7 @@ const AlphaSpinner = ({ icon, size }) => {
1155
1155
  };
1156
1156
 
1157
1157
  const COMPONENT_NAME$w = 'AlphaButton';
1158
- const AlphaButton = ({ children, icon, spinnerIcon, iconPosition = 'left', id, isDanger, isDisabled, isFullWidth, isLink, isLoading, isPrimary, isSubmit, isTertiary, size = 'medium', textAlign = 'center', isRounded, theme: themeProp, onClick, onFocus, onBlur, onKeyPress, onKeyUp, onKeyDown, onMouseEnter, onMouseLeave, onTouchStart, onTouchEnd, }) => {
1158
+ const AlphaButton = ({ ariaLabel, children, icon, spinnerIcon, iconPosition = 'left', id, isDanger, isDisabled, isFullWidth, isLink, isLoading, isPrimary, isSubmit, isTertiary, size = 'medium', textAlign = 'center', isRounded, theme: themeProp, onClick, onFocus, onBlur, onKeyPress, onKeyUp, onKeyDown, onMouseEnter, onMouseLeave, onTouchStart, onTouchEnd, }) => {
1159
1159
  const { theme } = useTheme();
1160
1160
  const THEME_CLASS = `${theme}`;
1161
1161
  const isIconOnly = !children && icon;
@@ -1164,6 +1164,7 @@ const AlphaButton = ({ children, icon, spinnerIcon, iconPosition = 'left', id, i
1164
1164
  id,
1165
1165
  type: isSubmit ? 'submit' : 'button',
1166
1166
  disabled: isDisabled,
1167
+ 'aria-label': ariaLabel,
1167
1168
  onClick,
1168
1169
  onFocus,
1169
1170
  onBlur,
@@ -1209,7 +1210,7 @@ const AlphaChip = ({ children, hasError, removeButtonIcon, isDisabled, theme, on
1209
1210
  return (jsxs("div", Object.assign({ className: className }, { children: [childrenMarkup, closeButtonMarkup] }), void 0));
1210
1211
  };
1211
1212
 
1212
- const MAIN_CLASS$r = 'column';
1213
+ const MAIN_CLASS$s = 'column';
1213
1214
  /** Grid.Item is used for set size of element in the Grid
1214
1215
  * @example
1215
1216
  * <Grid>
@@ -1227,7 +1228,7 @@ const MAIN_CLASS$r = 'column';
1227
1228
  */
1228
1229
  const GridItem = ({ children, size, sizeFullHD, sizeWidescreen, sizeDesktop, sizeTablet, sizeMobile, }) => {
1229
1230
  const className = [
1230
- MAIN_CLASS$r,
1231
+ MAIN_CLASS$s,
1231
1232
  size && typeof size === 'string' && `${size}`,
1232
1233
  size && typeof size !== 'string' && `is-${size}`,
1233
1234
  sizeFullHD && `${sizeFullHD}`,
@@ -1241,7 +1242,7 @@ const GridItem = ({ children, size, sizeFullHD, sizeWidescreen, sizeDesktop, siz
1241
1242
  return jsx("div", Object.assign({ className: className }, { children: children }), void 0);
1242
1243
  };
1243
1244
 
1244
- const MAIN_CLASS$q = 'columns';
1245
+ const MAIN_CLASS$r = 'columns';
1245
1246
  /** The grid system is used to arrange elements on a screen, usually by columns.
1246
1247
  * @example
1247
1248
  * <Grid>
@@ -1253,7 +1254,7 @@ const MAIN_CLASS$q = 'columns';
1253
1254
  * @param {boolean} isMultiline - Flag for wrap items in row
1254
1255
  */
1255
1256
  const Grid = ({ children, isMultiline }) => {
1256
- const className = [MAIN_CLASS$q, isMultiline && 'is-multiline']
1257
+ const className = [MAIN_CLASS$r, isMultiline && 'is-multiline']
1257
1258
  .filter(Boolean)
1258
1259
  .join(' ');
1259
1260
  return jsx("div", Object.assign({ className: className }, { children: children }), void 0);
@@ -1302,7 +1303,7 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
1302
1303
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
1303
1304
  };
1304
1305
 
1305
- const MAIN_CLASS$p = 'Button';
1306
+ const MAIN_CLASS$q = 'Button';
1306
1307
  /**
1307
1308
  * Buttons are used primarily for actions, such as “Add”, “Close”, “Cancel”, or “Save”.
1308
1309
  * Transparent buttons, are used into dark backgrounds. Their purpose is to use mainly as a
@@ -1331,23 +1332,23 @@ const Button = (_a) => {
1331
1332
  const THEME_CLASS = `Button--${theme}`;
1332
1333
  /** Check if every prop has been passed and asign the class name to the className const */
1333
1334
  const className = [
1334
- MAIN_CLASS$p,
1335
+ MAIN_CLASS$q,
1335
1336
  THEME_CLASS,
1336
1337
  appearance && `${THEME_CLASS}--is-${appearance}`,
1337
- isDanger && `${MAIN_CLASS$p}--is-danger`,
1338
- isBorderLess && `${MAIN_CLASS$p}--is-borderless`,
1339
- isFullWidth && `${MAIN_CLASS$p}--is-full-width`,
1340
- icon && `${MAIN_CLASS$p}--has-icon`,
1341
- iconPosition && !isLoading && `${MAIN_CLASS$p}--icon-${iconPosition}`,
1342
- contentAlign && `${MAIN_CLASS$p}--content-${contentAlign}`,
1343
- size && `${MAIN_CLASS$p}--is-${size}`,
1338
+ isDanger && `${MAIN_CLASS$q}--is-danger`,
1339
+ isBorderLess && `${MAIN_CLASS$q}--is-borderless`,
1340
+ isFullWidth && `${MAIN_CLASS$q}--is-full-width`,
1341
+ icon && `${MAIN_CLASS$q}--has-icon`,
1342
+ iconPosition && !isLoading && `${MAIN_CLASS$q}--icon-${iconPosition}`,
1343
+ contentAlign && `${MAIN_CLASS$q}--content-${contentAlign}`,
1344
+ size && `${MAIN_CLASS$q}--is-${size}`,
1344
1345
  ]
1345
1346
  .filter(Boolean)
1346
1347
  .join(' ');
1347
1348
  return (jsxs("button", Object.assign({ className: className, onClick: rest.disabled || isLoading ? () => { } : onClick, onBlur: onBlur, onFocus: onFocus }, rest, { children: [jsxs("div", Object.assign({ className: ` Button__children ${isLoading && 'Button__children--is-loading'}` }, { children: [icon && iconPosition === 'left' && jsx(Icon, { name: icon }, void 0), children && children, icon && iconPosition === 'right' && jsx(Icon, { name: icon }, void 0)] }), void 0), isLoading && (jsx("div", Object.assign({ className: 'Button__loader' }, { children: jsx(Icon, { name: 'Loader' }, void 0) }), void 0))] }), void 0));
1348
1349
  };
1349
1350
 
1350
- const MAIN_CLASS$o = 'PageActions';
1351
+ const MAIN_CLASS$p = 'PageActions';
1351
1352
  /**
1352
1353
  * PageActions component is used to display the buttons
1353
1354
  * which are going to control wizards, forms, modals, pages
@@ -1364,41 +1365,42 @@ const PageActions = ({ primaryAction, position = 'space-between', secondaryActio
1364
1365
  const extraIndex = secondaryActions && primaryAction
1365
1366
  ? secondaryActions.length + primaryIndex + 1
1366
1367
  : 1;
1367
- const renderButton = (buttonProps, index, buttonAppearance = 'secondary') => {
1368
- return (jsx(Button, Object.assign({ onClick: buttonProps.onClick, icon: buttonProps.icon, iconPosition: buttonProps.iconPosition, disabled: buttonProps.disabled, appearance: buttonAppearance, isLoading: buttonProps.isLoading }, { children: buttonProps.children }), `pageAction-${index}`));
1368
+ const renderButton = (buttonProps, index, buttonAppearance = 'secondary', ariaLabel) => {
1369
+ return (jsx(Button, Object.assign({ "aria-label": ariaLabel, onClick: buttonProps.onClick, icon: buttonProps.icon, iconPosition: buttonProps.iconPosition, disabled: buttonProps.disabled, appearance: buttonAppearance, isLoading: buttonProps.isLoading }, { children: buttonProps.children }), `pageAction-${index}`));
1369
1370
  };
1370
1371
  const className = [
1371
- MAIN_CLASS$o,
1372
- `${MAIN_CLASS$o}__container`,
1373
- position && `${MAIN_CLASS$o}--position-${position}`,
1374
- isReverse && `${MAIN_CLASS$o}--is-reverse`,
1375
- extraAction && `${MAIN_CLASS$o}--has-extra-action`,
1372
+ MAIN_CLASS$p,
1373
+ `${MAIN_CLASS$p}__container`,
1374
+ position && `${MAIN_CLASS$p}--position-${position}`,
1375
+ isReverse && `${MAIN_CLASS$p}--is-reverse`,
1376
+ extraAction && `${MAIN_CLASS$p}--has-extra-action`,
1376
1377
  ]
1377
1378
  .filter(Boolean)
1378
1379
  .join(' ');
1379
- return (jsxs("div", Object.assign({ className: className }, { children: [extraAction && (jsx("div", Object.assign({ className: 'PageActions__ActionsContainer PageActions__ExtraActionContainer' }, { children: renderButton(extraAction, extraIndex, extraAction.appearance) }), void 0)), jsxs("div", Object.assign({ className: 'PageActions__ActionsContainer PageActions__MainActionsContainer' }, { children: [secondaryActions &&
1380
- secondaryActions.map((buttonProps, index) => renderButton(buttonProps, index, buttonProps.appearance)), primaryAction && renderButton(primaryAction, primaryIndex, 'primary')] }), void 0)] }), void 0));
1380
+ return (jsxs("div", Object.assign({ className: className }, { children: [extraAction && (jsx("div", Object.assign({ className: 'PageActions__ActionsContainer PageActions__ExtraActionContainer' }, { children: renderButton(extraAction, extraIndex, extraAction.appearance, extraAction.ariaLabel) }), void 0)), jsxs("div", Object.assign({ className: 'PageActions__ActionsContainer PageActions__MainActionsContainer' }, { children: [secondaryActions &&
1381
+ secondaryActions.map((buttonProps, index) => renderButton(buttonProps, index, buttonProps.appearance, buttonProps.ariaLabel)), primaryAction &&
1382
+ renderButton(primaryAction, primaryIndex, 'primary', primaryAction.ariaLabel)] }), void 0)] }), void 0));
1381
1383
  };
1382
1384
 
1383
- const MAIN_CLASS$n = 'Tabs__Tab';
1384
- const Tab = ({ content, isSelected, onClick, isFitted }) => {
1385
- const className = cssClassName(MAIN_CLASS$n, isSelected && 'isSelected', isFitted && 'isFitted');
1386
- return (jsx("button", Object.assign({ className: className, onClick: onClick }, { children: content }), void 0));
1385
+ const MAIN_CLASS$o = 'Tabs__Tab';
1386
+ const Tab = ({ ariaLabel, content, isSelected, onClick, isFitted, }) => {
1387
+ const className = cssClassName(MAIN_CLASS$o, isSelected && 'isSelected', isFitted && 'isFitted');
1388
+ return (jsx("button", Object.assign({ "aria-label": ariaLabel, className: className, onClick: onClick }, { children: content }), void 0));
1387
1389
  };
1388
1390
 
1389
- const MAIN_CLASS$m = 'Tabs__TabsWrapper';
1391
+ const MAIN_CLASS$n = 'Tabs__TabsWrapper';
1390
1392
  const TabsWrapper = ({ onSelect, selected, tabs, areFitted, }) => {
1391
1393
  const handleOnSelectTab = (index) => {
1392
1394
  if (onSelect)
1393
1395
  onSelect(index);
1394
1396
  };
1395
- const renderTab = (tab, index) => (jsx(Tab, { content: tab.content, isSelected: selected === index, onClick: () => handleOnSelectTab(index), isFitted: areFitted }, tab.id));
1396
- return jsx("div", Object.assign({ className: MAIN_CLASS$m }, { children: tabs.map(renderTab) }), void 0);
1397
+ const renderTab = (tab, index) => (jsx(Tab, { ariaLabel: tab.ariaLabel, content: tab.content, isSelected: selected === index, onClick: () => handleOnSelectTab(index), isFitted: areFitted }, tab.id));
1398
+ return jsx("div", Object.assign({ className: MAIN_CLASS$n }, { children: tabs.map(renderTab) }), void 0);
1397
1399
  };
1398
1400
 
1399
- const MAIN_CLASS$l = 'Tabs__Panel';
1401
+ const MAIN_CLASS$m = 'Tabs__Panel';
1400
1402
  const Panel$1 = ({ id, children, isHidden }) => {
1401
- const className = [MAIN_CLASS$l, isHidden && `${MAIN_CLASS$l}--is-hidden`]
1403
+ const className = [MAIN_CLASS$m, isHidden && `${MAIN_CLASS$m}--is-hidden`]
1402
1404
  .filter(Boolean)
1403
1405
  .join(' ');
1404
1406
  return (jsx("div", Object.assign({ className: className, id: id }, { children: children }), void 0));
@@ -1728,9 +1730,10 @@ function getRows(isMultiline) {
1728
1730
  * @param {number} InputTextProps.max - For a max value input.
1729
1731
  * @param {number} InputTextProps.min - For a min value input.
1730
1732
  * @param {boolean} InputTextProps.isFocused - For active focus whit a boolean.
1733
+ * @param {string} InputTextProps.ariaLabel - Label to use in automatic tests
1731
1734
  * @returns {symbol} The component.
1732
1735
  */
1733
- const InputText = ({ action, helperText, isHelperMode = false, isErrorMode = false, icon, label, secondaryAction, prefix, suffix, tooltip, disabled = false, placeholder, type = 'text', readOnly = false, id, name, className, value, maxLength, minLength, max, min, isFocused = false, onChange, onBlur, onFocus, onKeyDown, isRequired, isMultiline, autoComplete, inputMode, tooltipLabel, }) => {
1736
+ const InputText = ({ action, ariaLabel, helperText, isHelperMode = false, isErrorMode = false, icon, label, secondaryAction, prefix, suffix, tooltip, disabled = false, placeholder, type = 'text', readOnly = false, id, name, className, value, maxLength, minLength, max, min, isFocused = false, onChange, onBlur, onFocus, onKeyDown, isRequired, isMultiline, autoComplete, inputMode, tooltipLabel, }) => {
1734
1737
  const inputRef = useRef(null);
1735
1738
  const textAreaRef = useRef(null);
1736
1739
  const inputContainerRef = useRef(null);
@@ -1789,6 +1792,7 @@ const InputText = ({ action, helperText, isHelperMode = false, isErrorMode = fal
1789
1792
  .filter(Boolean)
1790
1793
  .join(' ');
1791
1794
  const input = createElement(InputComponent, {
1795
+ 'aria-label': ariaLabel,
1792
1796
  className: clasessInput,
1793
1797
  ref: isMultiline ? textAreaRef : inputRef,
1794
1798
  placeholder,
@@ -1846,6 +1850,7 @@ const InputText = ({ action, helperText, isHelperMode = false, isErrorMode = fal
1846
1850
  * @param {string[]} OptionListProps.selected - Preselected data to
1847
1851
  * highlight in the render of the list items
1848
1852
  * @param {string[]} OptionListProps.parentId - ParentId to focus when select with keys
1853
+ * @param {string} InputTextProps.ariaLabel - Label to use in automatic tests
1849
1854
  * @returns {symbol} - Returns the component
1850
1855
  */
1851
1856
  const OptionList = ({ sections, items, className, isMultiple = false, onChange, selected, parentId = '', onEscKeyDown, }) => {
@@ -1926,7 +1931,7 @@ const OptionList = ({ sections, items, className, isMultiple = false, onChange,
1926
1931
  ]
1927
1932
  .filter(Boolean)
1928
1933
  .join(' ');
1929
- return (jsx("li", Object.assign({ id: `${i}-${j}`, className: classesItem, onClick: () => handleSelectItem(label) }, { children: label === null || label === void 0 ? void 0 : label.label }), j));
1934
+ return (jsx("li", Object.assign({ "aria-label": `${label.ariaLabel}-select`, id: `${i}-${j}`, className: classesItem, onClick: () => handleSelectItem(label) }, { children: label === null || label === void 0 ? void 0 : label.label }), j));
1930
1935
  }) }), void 0)] }), i));
1931
1936
  })), !sections && items && (jsx("div", Object.assign({ className: 'select-list' }, { children: jsx("ul", Object.assign({ className: 'select-list__list' }, { children: items.map((label, j) => {
1932
1937
  const isCursor = cursor === j ? 'is-cursor' : '';
@@ -1937,12 +1942,12 @@ const OptionList = ({ sections, items, className, isMultiple = false, onChange,
1937
1942
  ]
1938
1943
  .filter(Boolean)
1939
1944
  .join(' ');
1940
- return (jsx("li", Object.assign({ id: `${0}-${j}`, className: classesItem, onClick: () => handleSelectItem(label) }, { children: label === null || label === void 0 ? void 0 : label.label }), j));
1945
+ return (jsx("li", Object.assign({ "aria-label": `${label.ariaLabel}-select`, id: `${0}-${j}`, className: classesItem, onClick: () => handleSelectItem(label) }, { children: label === null || label === void 0 ? void 0 : label.label }), j));
1941
1946
  }) }), void 0) }), void 0))] }), void 0));
1942
1947
  };
1943
1948
 
1944
- const MAIN_CLASS$k = 'Tag'; // Component main class name
1945
- const TAG_TEXT = `${MAIN_CLASS$k}__text`; // Text container class name
1949
+ const MAIN_CLASS$l = 'Tag'; // Component main class name
1950
+ const TAG_TEXT = `${MAIN_CLASS$l}__text`; // Text container class name
1946
1951
  /**
1947
1952
  * Tag represents a set of interactive, supplied keywords that help label,
1948
1953
  * organize and categorize content. Tags can be added or removed from an object by users.
@@ -1955,24 +1960,25 @@ const TAG_TEXT = `${MAIN_CLASS$k}__text`; // Text container class name
1955
1960
  * @param {boolean} ButtonProps.disabled - Disables the tag
1956
1961
  * @param {Function} ButtonProps.onClick - Callback when tag is clicked. Renders without remove button.
1957
1962
  * @param {Function} ButtonProps.onRemove - Callback when remove button is clicked.
1963
+ * @param {string} InputTextProps.ariaLabel - Label to use in automatic tests
1958
1964
  * @returns {symbol} The component.
1959
1965
  */
1960
- const Tag = ({ children, isDisabled, onClick, onRemove, isDanger, }) => {
1966
+ const Tag = ({ ariaLabel, children, isDisabled, onClick, onRemove, isDanger, }) => {
1961
1967
  const { theme } = useTheme();
1962
1968
  /** Check if every prop has been passed and asign the class name to the className const */
1963
1969
  const classNames = [
1964
- MAIN_CLASS$k,
1965
- `${MAIN_CLASS$k}--${theme}`,
1966
- onClick && `${MAIN_CLASS$k}--is-clickable`,
1967
- isDisabled && `${MAIN_CLASS$k}--is-disabled`,
1968
- isDanger && `${MAIN_CLASS$k}--is-danger`,
1970
+ MAIN_CLASS$l,
1971
+ `${MAIN_CLASS$l}--${theme}`,
1972
+ onClick && `${MAIN_CLASS$l}--is-clickable`,
1973
+ isDisabled && `${MAIN_CLASS$l}--is-disabled`,
1974
+ isDanger && `${MAIN_CLASS$l}--is-danger`,
1969
1975
  ]
1970
1976
  .filter(Boolean)
1971
1977
  .join(' ');
1972
1978
  if (onClick) {
1973
1979
  return (jsx("button", Object.assign({ className: classNames, onClick: onClick, disabled: isDisabled, type: 'button' }, { children: children }), void 0));
1974
1980
  }
1975
- const removeButton = onRemove && (jsx("button", Object.assign({ type: 'button', className: `${MAIN_CLASS$k}__Remove-Button`, onClick: onRemove, disabled: isDisabled, tabIndex: -1 }, { children: jsx(Icon, { name: 'X' }, void 0) }), void 0));
1981
+ const removeButton = onRemove && (jsx("button", Object.assign({ "aria-label": ariaLabel, type: 'button', className: `${MAIN_CLASS$l}__Remove-Button`, onClick: onRemove, disabled: isDisabled, tabIndex: -1 }, { children: jsx(Icon, { name: 'X' }, void 0) }), void 0));
1976
1982
  const tagContent = jsx("span", Object.assign({ className: TAG_TEXT }, { children: children }), void 0);
1977
1983
  return (jsxs("span", Object.assign({ className: classNames }, { children: [tagContent, removeButton] }), void 0));
1978
1984
  };
@@ -2238,13 +2244,56 @@ const useTheme = () => {
2238
2244
  * time the search engine is typed
2239
2245
  * @param {boolean} SelectProps.isReadOnly - Disables popover operation
2240
2246
  * @default 'false'
2247
+ * @param {string} InputTextProps.ariaLabel - Label to use in automatic tests
2241
2248
  * @returns {symbol} - Element Select
2242
2249
  */
2243
- const Select = ({ items, sections, isMultiple, placeholder, label, selected, onChange, searchPlaceholder, searchLabel, helperText, isHelperMode, isDisabled = false, onSearchChange, search, tooltip, isDanger, isReadOnly = false, id, emptyState, onBlur, isRequired, tooltipLabel, action, }) => {
2250
+ const Select = ({ ariaLabel, items, sections, isMultiple, placeholder, label, selected, onChange, searchPlaceholder, searchLabel, helperText, isHelperMode, isDisabled = false, tooltip, isDanger, isReadOnly = false, id, emptyState, onBlur, isRequired, tooltipLabel, action, showSearch = true, }) => {
2244
2251
  const [isActivePopover, setIsActive] = useState(false);
2245
2252
  const selectActivatorRef = useRef(null);
2246
2253
  const [parentCoord, setParentCoords] = useState();
2254
+ const [search, setSearch] = useState('');
2255
+ const [sectionsFiltered, setSectionsFiltered] = useState(sections);
2256
+ const [itemsFiltered, setItemsFiltered] = useState(items);
2247
2257
  const { theme } = useTheme();
2258
+ const handleOnSearch = (value) => {
2259
+ setSearch(value || '');
2260
+ if (value) {
2261
+ if (sections) {
2262
+ const newSections = [];
2263
+ sections.forEach((section) => {
2264
+ const { items: itemsSection } = section;
2265
+ if (!itemsSection)
2266
+ newSections.push(section);
2267
+ else {
2268
+ const newItems = itemsSection.filter((item) => item.label
2269
+ .toLocaleLowerCase()
2270
+ .includes(search.toLocaleLowerCase()));
2271
+ newSections.push(Object.assign(Object.assign({}, section), { items: newItems }));
2272
+ }
2273
+ });
2274
+ setSectionsFiltered(newSections);
2275
+ }
2276
+ if (items) {
2277
+ const newItems = items.filter((item) => item.label
2278
+ .toLocaleLowerCase()
2279
+ .includes(search.toLocaleLowerCase()));
2280
+ setItemsFiltered(newItems);
2281
+ }
2282
+ }
2283
+ else {
2284
+ setSectionsFiltered(sections);
2285
+ setItemsFiltered(items);
2286
+ }
2287
+ };
2288
+ let totalItems = 0;
2289
+ if (sections) {
2290
+ sections.forEach((section) => {
2291
+ if (section.items)
2292
+ totalItems += section.items.length;
2293
+ });
2294
+ }
2295
+ if (items)
2296
+ totalItems = items.length;
2248
2297
  const handleClickSelectReadOnlyOutside = (event) => {
2249
2298
  if (selectActivatorRef.current &&
2250
2299
  !selectActivatorRef.current.contains(event.target)) {
@@ -2259,6 +2308,12 @@ const Select = ({ items, sections, isMultiple, placeholder, label, selected, onC
2259
2308
  };
2260
2309
  }
2261
2310
  }, [isActivePopover]);
2311
+ useEffect(() => {
2312
+ setSectionsFiltered(sections);
2313
+ }, [sections]);
2314
+ useEffect(() => {
2315
+ setItemsFiltered(items);
2316
+ }, [items]);
2262
2317
  const handleOpenPopover = () => setIsActive(!isActivePopover);
2263
2318
  const removeTag = (event, value) => {
2264
2319
  event.stopPropagation();
@@ -2350,9 +2405,10 @@ const Select = ({ items, sections, isMultiple, placeholder, label, selected, onC
2350
2405
  }, [action]);
2351
2406
  const actionIconProp = action && action.icon ? { icon: action.icon, outlined: true } : undefined;
2352
2407
  const actionMarkup = action ? (jsxs(Fragment, { children: [(items === null || items === void 0 ? void 0 : items.length) ? jsx(Divider, {}, void 0) : null, jsx(AlphaButton, Object.assign({ isLink: true, isTertiary: true, onClick: handleActionClick, icon: actionIconProp, iconPosition: action.iconPosition, theme: (theme === null || theme === void 0 ? void 0 : theme.toLowerCase()) || undefined }, { children: action.content }), void 0)] }, void 0)) : null;
2353
- const renderInput = () => (jsx("div", Object.assign({ id: id }, { children: jsxs(Popover$1, Object.assign({ isActive: isReadOnly ? false : isActivePopover, activator: jsxs("div", Object.assign({ tabIndex: 0, className: clasessSelect, id: `select-${id}`, onKeyDown: onKeyDown, onClick: handleClickSelect, onBlur: onBlur }, { children: [selected && selected.length > 0 && (jsx("div", Object.assign({ className: 'Select__selected' }, { children: isMultiple
2408
+ const searchMarkup = totalItems > 10 && showSearch ? (jsx("div", Object.assign({ className: 'Select__search' }, { children: jsx(InputText, { placeholder: searchPlaceholder, icon: 'Search', value: search, label: searchLabel, onChange: handleOnSearch }, void 0) }), void 0)) : null;
2409
+ const renderInput = () => (jsx("div", Object.assign({ id: id }, { children: jsxs(Popover$1, Object.assign({ isActive: isReadOnly ? false : isActivePopover, activator: jsxs("div", Object.assign({ "aria-label": ariaLabel, tabIndex: 0, className: clasessSelect, id: `select-${id}`, onKeyDown: onKeyDown, onClick: handleClickSelect, onBlur: onBlur }, { children: [selected && selected.length > 0 && (jsx("div", Object.assign({ className: 'Select__selected' }, { children: isMultiple
2354
2410
  ? selected === null || selected === void 0 ? void 0 : selected.map((option, index) => (jsx("div", Object.assign({ className: 'Select__tag-container' }, { children: jsx(Tag, Object.assign({ onRemove: (evt) => removeTag(evt, option), isDisabled: isDisabled, isDanger: isDanger }, { children: getLabelOption(option) }), void 0) }), `Select-tag--${index}`)))
2355
- : selected === null || selected === void 0 ? void 0 : selected.map((option, index) => (jsx("span", { children: getLabelOption(option) }, `option-${index}`))) }), void 0)), (!selected || selected.length <= 0) && placeholder && (jsx("div", Object.assign({ className: 'Select__placeholder' }, { children: placeholder }), void 0)), jsx("div", Object.assign({ className: 'Select__icon', onClick: handleOnClickIcon }, { children: jsx(Icon, { name: isActivePopover && !isReadOnly ? 'ChevronUp' : 'ChevronDown' }, void 0) }), void 0)] }), void 0), isFullWidth: true, onClose: () => setIsActive(false) }, { children: [searchPlaceholder && (jsx("div", Object.assign({ className: 'Select__search' }, { children: jsx(InputText, { placeholder: searchPlaceholder, icon: 'Search', value: search, label: searchLabel, onChange: (value) => onSearchChange && onSearchChange(value) }, void 0) }), void 0)), emptyState && (jsx(Popover$1.Pane, { children: jsx("div", Object.assign({ className: 'emptyState__container' }, { children: emptyState }), void 0) }, void 0)), !emptyState && (jsxs(Popover$1.Pane, { children: [jsx(OptionList, { sections: sections, items: items, isMultiple: isMultiple, onChange: (value) => {
2411
+ : selected === null || selected === void 0 ? void 0 : selected.map((option, index) => (jsx("span", { children: getLabelOption(option) }, `option-${index}`))) }), void 0)), (!selected || selected.length <= 0) && placeholder && (jsx("div", Object.assign({ className: 'Select__placeholder' }, { children: placeholder }), void 0)), jsx("div", Object.assign({ className: 'Select__icon', onClick: handleOnClickIcon }, { children: jsx(Icon, { name: isActivePopover && !isReadOnly ? 'ChevronUp' : 'ChevronDown' }, void 0) }), void 0)] }), void 0), isFullWidth: true, onClose: () => setIsActive(false) }, { children: [searchMarkup, emptyState && (jsx(Popover$1.Pane, { children: jsx("div", Object.assign({ className: 'emptyState__container' }, { children: emptyState }), void 0) }, void 0)), !emptyState && (jsxs(Popover$1.Pane, { children: [jsx(OptionList, { sections: sectionsFiltered, items: itemsFiltered, isMultiple: isMultiple, onChange: (value) => {
2356
2412
  if (!isMultiple) {
2357
2413
  handleOpenPopover();
2358
2414
  }
@@ -9635,7 +9691,7 @@ function formatDate(date, toISO) {
9635
9691
  }
9636
9692
 
9637
9693
  const COMPONENT_NAME$q = 'DateInput';
9638
- const AlphaInputDate = ({ disabled, label, onChange, value, isRequired, placeholder, onBlur, errorMessage, months, weekdays, }) => {
9694
+ const AlphaInputDate = ({ ariaLabel, disabled, label, onChange, value, isRequired, placeholder, onBlur, errorMessage, months, weekdays, }) => {
9639
9695
  const [isPopoverActive, setIsPopoverActive] = useState(false);
9640
9696
  const [{ month, year }, setDate] = useState({
9641
9697
  month: new Date().getMonth(),
@@ -9767,7 +9823,7 @@ const AlphaInputDate = ({ disabled, label, onChange, value, isRequired, placehol
9767
9823
  }
9768
9824
  }, [selectedDate]);
9769
9825
  const datePickerMarkup = (jsx(DatePicker, { weekStartsOn: 1, month: month, year: year, onMonthChange: handleMonthChange, onChange: handleDateChange, selected: selectedDate || undefined, months: months, weekDays: weekdays }, void 0));
9770
- const inputMarkup = (jsx("div", Object.assign({ className: `${COMPONENT_NAME$q}__InputWrapper`, onClick: () => setIsPopoverActive(true), ref: inputRef }, { children: jsx(AlphaTooltip, Object.assign({ persistence: true, isActive: isErrorTooltipActive, content: errorMessage, appearance: 'error' }, { children: jsx(InputText, { disabled: disabled, label: label, onChange: handleInputChange, value: inputValue, maxLength: 10, placeholder: placeholder, onBlur: handleInputBlur, icon: 'Calendar', isRequired: isRequired }, void 0) }), void 0) }), void 0));
9826
+ const inputMarkup = (jsx("div", Object.assign({ className: `${COMPONENT_NAME$q}__InputWrapper`, onClick: () => setIsPopoverActive(true), ref: inputRef }, { children: jsx(AlphaTooltip, Object.assign({ persistence: true, isActive: isErrorTooltipActive, content: errorMessage, appearance: 'error' }, { children: jsx(InputText, { ariaLabel: ariaLabel, disabled: disabled, label: label, onChange: handleInputChange, value: inputValue, maxLength: 10, placeholder: placeholder, onBlur: handleInputBlur, icon: 'Calendar', isRequired: isRequired }, void 0) }), void 0) }), void 0));
9771
9827
  const popoverMarkup = (jsx(Popover$1, Object.assign({ activator: inputMarkup, isActive: isPopoverActive, isFullWidth: true, onClose: () => setIsPopoverActive(false) }, { children: datePickerMarkup }), void 0));
9772
9828
  return jsx("div", Object.assign({ className: className }, { children: popoverMarkup }), void 0);
9773
9829
  };
@@ -9797,11 +9853,11 @@ const FilterField$1 = ({ id, label, onChange, placeholder, type = 'STRING', filt
9797
9853
  return undefined;
9798
9854
  return (filterValue || '');
9799
9855
  }, [filterValue]);
9800
- const fieldMarkup = (jsx("div", Object.assign({ className: 'FieldFilterWrapper' }, { children: jsx(FieldComponent, { label: label, onChange: handleChange, placeholder: placeholder, value: valueField, selected: filterValue, items: options, months: months || [], weekdays: weekdays || [], type: 'text' }, void 0) }), void 0));
9856
+ const fieldMarkup = (jsx("div", Object.assign({ className: 'FieldFilterWrapper' }, { children: jsx(FieldComponent, { label: label, onChange: handleChange, placeholder: placeholder, value: valueField, selected: filterValue, items: options, months: months || [], weekdays: weekdays || [], type: 'text', isDisabled: type === 'CATALOG' && (options === undefined || (options === null || options === void 0 ? void 0 : options.length) === 0) }, void 0) }), void 0));
9801
9857
  return jsx(Fragment, { children: fieldMarkup }, void 0);
9802
9858
  };
9803
9859
 
9804
- const MAIN_CLASS$j = 'AlphaFilterControl';
9860
+ const MAIN_CLASS$k = 'AlphaFilterControl';
9805
9861
  const AlphaFilterControl = ({ primaryAction, secondaryActions, sections, title, values, }) => {
9806
9862
  const [selectedTab, setSelectedTab] = useState(0);
9807
9863
  const [fieldsSearch, setFieldsSearch] = useState([]);
@@ -9811,7 +9867,7 @@ const AlphaFilterControl = ({ primaryAction, secondaryActions, sections, title,
9811
9867
  id: section.id,
9812
9868
  panelID: `panel-${section.id}`,
9813
9869
  }));
9814
- const headerMarkup = (jsx("div", Object.assign({ className: `${MAIN_CLASS$j}__HeaderWrapper` }, { children: jsx("span", { children: title }, void 0) }), void 0));
9870
+ const headerMarkup = (jsx("div", Object.assign({ className: `${MAIN_CLASS$k}__HeaderWrapper` }, { children: jsx("span", { children: title }, void 0) }), void 0));
9815
9871
  const handleOnChange = (newValue, id) => {
9816
9872
  const updateFilterValues = structuredClone(filterValues);
9817
9873
  updateFilterValues[id] = newValue;
@@ -9852,9 +9908,9 @@ const AlphaFilterControl = ({ primaryAction, secondaryActions, sections, title,
9852
9908
  useEffect(() => {
9853
9909
  setFilterValues(values);
9854
9910
  }, [values]);
9855
- const bodyMarkup = useMemo(() => (jsx("div", Object.assign({ className: `${MAIN_CLASS$j}__BodyWrapper` }, { children: jsx(Tabs, Object.assign({ selected: selectedTab, tabs: tabsConfig, onSelect: handleOnChangeTab }, { children: formMarkup }), void 0) }), void 0)), [tabsConfig, selectedTab, fieldsSearch]);
9856
- const actionsMarkup = (jsx("div", Object.assign({ className: `${MAIN_CLASS$j}__ActionWrapper` }, { children: jsx(PageActions, { position: 'flex-end', primaryAction: Object.assign(Object.assign({}, primaryAction), { onClick: handleOnApply }), secondaryActions: secondaryActions }, void 0) }), void 0));
9857
- return (jsxs("div", Object.assign({ className: `${MAIN_CLASS$j}` }, { children: [headerMarkup, bodyMarkup, actionsMarkup] }), void 0));
9911
+ const bodyMarkup = useMemo(() => (jsx("div", Object.assign({ className: `${MAIN_CLASS$k}__BodyWrapper` }, { children: jsx(Tabs, Object.assign({ selected: selectedTab, tabs: tabsConfig, onSelect: handleOnChangeTab }, { children: formMarkup }), void 0) }), void 0)), [tabsConfig, selectedTab, fieldsSearch]);
9912
+ const actionsMarkup = (jsx("div", Object.assign({ className: `${MAIN_CLASS$k}__ActionWrapper` }, { children: jsx(PageActions, { position: 'flex-end', primaryAction: Object.assign(Object.assign({}, primaryAction), { onClick: handleOnApply }), secondaryActions: secondaryActions }, void 0) }), void 0));
9913
+ return (jsxs("div", Object.assign({ className: `${MAIN_CLASS$k}` }, { children: [headerMarkup, bodyMarkup, actionsMarkup] }), void 0));
9858
9914
  };
9859
9915
 
9860
9916
  const COMPONENT_NAME$p = 'AlphaInlineError';
@@ -10013,7 +10069,7 @@ const AlphaTile = ({ isSelected, icon, status, theme: themeProp, title, onClick,
10013
10069
  */
10014
10070
  const AnnotatedSection = ({ title, description, children, }) => (jsxs("div", Object.assign({ className: 'AnnotatedSection' }, { children: [title && (jsxs("div", Object.assign({ className: 'AnnotatedSection__header' }, { children: [jsx("div", Object.assign({ className: 'AnnotatedSection__title' }, { children: title }), void 0), jsx("div", Object.assign({ className: 'AnnotatedSection__description' }, { children: description }), void 0)] }), void 0)), jsx("div", Object.assign({ className: 'AnnotatedSection__children' }, { children: children }), void 0)] }), void 0));
10015
10071
 
10016
- const MAIN_CLASS$i = 'avatar';
10072
+ const MAIN_CLASS$j = 'avatar';
10017
10073
  /**
10018
10074
  * Avatar is a graphic representation that is associated with a user for identification.
10019
10075
  *
@@ -10031,11 +10087,11 @@ const MAIN_CLASS$i = 'avatar';
10031
10087
  const Avatar = ({ icon, initials = '', isRounded = true, size = 'large', source = '', appearance = 'default', }) => {
10032
10088
  const { theme } = useTheme();
10033
10089
  const className = [
10034
- MAIN_CLASS$i,
10090
+ MAIN_CLASS$j,
10035
10091
  theme && `is-${theme}`,
10036
- appearance && `${MAIN_CLASS$i}--is-${appearance}`,
10037
- size && `${MAIN_CLASS$i}--${size}`,
10038
- isRounded && `${MAIN_CLASS$i}--rounded`,
10092
+ appearance && `${MAIN_CLASS$j}--is-${appearance}`,
10093
+ size && `${MAIN_CLASS$j}--${size}`,
10094
+ isRounded && `${MAIN_CLASS$j}--rounded`,
10039
10095
  ]
10040
10096
  .filter(Boolean)
10041
10097
  .join(' ');
@@ -10066,7 +10122,7 @@ const Avatar = ({ icon, initials = '', isRounded = true, size = 'large', source
10066
10122
  */
10067
10123
  const Badge = ({ children, status = 'default' }) => (jsx("div", Object.assign({ className: `Badge Badge--is-${status}` }, { children: children }), void 0));
10068
10124
 
10069
- const MAIN_CLASS$h = 'Banner';
10125
+ const MAIN_CLASS$i = 'Banner';
10070
10126
  /**
10071
10127
  * Banner are used primarily show something informatión in a small container blue.
10072
10128
  *
@@ -10084,8 +10140,8 @@ const MAIN_CLASS$h = 'Banner';
10084
10140
  const Banner = ({ children, hasShadow = true, icon, appearance, headerTitle, }) => {
10085
10141
  const { theme } = useTheme();
10086
10142
  const classes = [
10087
- MAIN_CLASS$h,
10088
- `${MAIN_CLASS$h}--${theme}`,
10143
+ MAIN_CLASS$i,
10144
+ `${MAIN_CLASS$i}--${theme}`,
10089
10145
  hasShadow && 'Banner--has-shadow',
10090
10146
  appearance && `Banner--${appearance}`,
10091
10147
  appearance === 'info' && `Banner--${appearance}-${theme}`,
@@ -16152,7 +16208,7 @@ const CalendarPicker = ({ handleChangeDate, minYear = 5, maxYear = 5, date = `${
16152
16208
  }) }), void 0)] }), void 0))] }), void 0) }, void 0));
16153
16209
  };
16154
16210
 
16155
- const MAIN_CLASS$g = 'Media';
16211
+ const MAIN_CLASS$h = 'Media';
16156
16212
  /**
16157
16213
  * Media component are used primarily for show a little box whit a icon inside.
16158
16214
  *
@@ -16168,19 +16224,19 @@ const Media = ({ appearance = 'default', icon, size = 'medium', themeAppearance,
16168
16224
  const { theme } = useTheme();
16169
16225
  /** Check if every prop has been passed and asign the class name to the className const */
16170
16226
  const className = [
16171
- MAIN_CLASS$g,
16172
- `${MAIN_CLASS$g}--${themeAppearance ? themeAppearance : theme}`,
16173
- appearance && `${MAIN_CLASS$g}--is-${appearance}`,
16227
+ MAIN_CLASS$h,
16228
+ `${MAIN_CLASS$h}--${themeAppearance ? themeAppearance : theme}`,
16229
+ appearance && `${MAIN_CLASS$h}--is-${appearance}`,
16174
16230
  appearance &&
16175
- `${MAIN_CLASS$g}--is-${appearance}--${themeAppearance ? themeAppearance : theme}`,
16176
- size && `${MAIN_CLASS$g}--is-${size}`,
16231
+ `${MAIN_CLASS$h}--is-${appearance}--${themeAppearance ? themeAppearance : theme}`,
16232
+ size && `${MAIN_CLASS$h}--is-${size}`,
16177
16233
  ]
16178
16234
  .filter(Boolean)
16179
16235
  .join(' ');
16180
16236
  return jsx("div", Object.assign({ className: className }, { children: icon && jsx(Icon, { name: icon }, void 0) }), void 0);
16181
16237
  };
16182
16238
 
16183
- const MAIN_CLASS$f = 'Thumbnail';
16239
+ const MAIN_CLASS$g = 'Thumbnail';
16184
16240
  /** Thumbnail is used to provides a miniaturized version of image
16185
16241
  *
16186
16242
  * @param {ThumbnailProps} ThumbnailProps - ThumbnailProps
@@ -16197,18 +16253,18 @@ const MAIN_CLASS$f = 'Thumbnail';
16197
16253
  */
16198
16254
  const Thumbnail = ({ alt, fit = 'contain', hasShadow = true, isTransparent = false, size = 'tiny', source, icon, }) => {
16199
16255
  const className = [
16200
- MAIN_CLASS$f,
16201
- size && `${MAIN_CLASS$f}--is-${size}`,
16202
- isTransparent && `${MAIN_CLASS$f}--is-transparent`,
16203
- fit && `${MAIN_CLASS$f}--image-${fit}`,
16204
- hasShadow && `${MAIN_CLASS$f}--has-shadow`,
16256
+ MAIN_CLASS$g,
16257
+ size && `${MAIN_CLASS$g}--is-${size}`,
16258
+ isTransparent && `${MAIN_CLASS$g}--is-transparent`,
16259
+ fit && `${MAIN_CLASS$g}--image-${fit}`,
16260
+ hasShadow && `${MAIN_CLASS$g}--has-shadow`,
16205
16261
  ]
16206
16262
  .filter(Boolean)
16207
16263
  .join(' ');
16208
16264
  return (jsxs("div", Object.assign({ className: className }, { children: [source !== '' && jsx("img", { alt: alt, src: source }, void 0), source === '' && icon && jsx(Icon, { name: icon }, void 0)] }), void 0));
16209
16265
  };
16210
16266
 
16211
- const MAIN_CLASS$e = 'Card';
16267
+ const MAIN_CLASS$f = 'Card';
16212
16268
  /**
16213
16269
  * Card component are used primarily for show a little information, sometimes with image.
16214
16270
  *
@@ -16233,13 +16289,13 @@ const MAIN_CLASS$e = 'Card';
16233
16289
  */
16234
16290
  const Card = ({ addon, children, description, image, isBorderLess = false, isDisabled, isSelected, media, mediaAppearance = 'info', mediaSize = 'large', onClick, size = 'medium', source, title, icon, }) => {
16235
16291
  const className = [
16236
- MAIN_CLASS$e,
16237
- isBorderLess && `${MAIN_CLASS$e}--is-border-less`,
16238
- isDisabled && `${MAIN_CLASS$e}--is-disabled`,
16239
- isSelected && `${MAIN_CLASS$e}--is-selected`,
16240
- size && `${MAIN_CLASS$e}--is-${size}`,
16241
- image && `${MAIN_CLASS$e}--with-image`,
16242
- onClick && !isDisabled && `${MAIN_CLASS$e}--is-clickable`,
16292
+ MAIN_CLASS$f,
16293
+ isBorderLess && `${MAIN_CLASS$f}--is-border-less`,
16294
+ isDisabled && `${MAIN_CLASS$f}--is-disabled`,
16295
+ isSelected && `${MAIN_CLASS$f}--is-selected`,
16296
+ size && `${MAIN_CLASS$f}--is-${size}`,
16297
+ image && `${MAIN_CLASS$f}--with-image`,
16298
+ onClick && !isDisabled && `${MAIN_CLASS$f}--is-clickable`,
16243
16299
  ]
16244
16300
  .filter(Boolean)
16245
16301
  .join(' ');
@@ -16309,7 +16365,7 @@ const RadioButton = (_a) => {
16309
16365
  return (jsxs("label", Object.assign({ className: `Radio-button__component-container Radio-button__label${theme ? ` Radio-button__component-container--is-${theme}` : ''} ${className}` }, { children: [jsx("span", Object.assign({ className: `Radio-button__container Radio-button__container ${isActive ? 'Radio-button__container--checked' : ''} ${isDisabled && 'Radio-button__container--disabled'}` }, { children: jsx("input", Object.assign({ disabled: isDisabled, type: 'radio', onChange: (event) => onChange && onChange(event), value: value, id: id, name: name, checked: isChecked }, rest), void 0) }), void 0), jsxs("span", { children: [label, isRequired && jsx("span", Object.assign({ className: 'Radio-button--required' }, { children: "*" }), void 0)] }, void 0)] }), void 0));
16310
16366
  };
16311
16367
 
16312
- const MAIN_CLASS$d = 'ChoiceList';
16368
+ const MAIN_CLASS$e = 'ChoiceList';
16313
16369
  /**
16314
16370
  * Allow user to select one or multiple options from a list. Make sure all options
16315
16371
  * are an either/or choice.
@@ -16323,10 +16379,11 @@ const MAIN_CLASS$d = 'ChoiceList';
16323
16379
  * @param {Function} ChoiceListProps.onChange - Callback when the selected choices change
16324
16380
  * @param {string} ChoiceListProps.title - Label for list of choices
16325
16381
  * @param {string} ChoiceListProps.allowSelectAll - Let user select all choices when is multiple choice list
16382
+ * @param {string} InputTextProps.ariaLabel - Label to use in automatic tests
16326
16383
  * @returns {symbol} - Returns the component
16327
16384
  */
16328
- const ChoiceList = ({ choices, name, selected, allowMultiple, allowSelectAll, isDisabled, onChange, title, }) => {
16329
- const className = [MAIN_CLASS$d].filter(Boolean).join(' ');
16385
+ const ChoiceList = ({ ariaLabel, choices, name, selected, allowMultiple, allowSelectAll, isDisabled, onChange, title, }) => {
16386
+ const className = [MAIN_CLASS$e].filter(Boolean).join(' ');
16330
16387
  const ControlComponent = allowMultiple ? Checkbox : RadioButton;
16331
16388
  const titleMarkup = title ? jsx("legend", { children: title }, void 0) : null;
16332
16389
  const choicesMarkup = choices.map((choice) => {
@@ -16336,7 +16393,7 @@ const ChoiceList = ({ choices, name, selected, allowMultiple, allowSelectAll, is
16336
16393
  onChange(updateSelection(choice, e.currentTarget.checked, selected, allowMultiple), name);
16337
16394
  }
16338
16395
  };
16339
- return (jsx("li", Object.assign({ className: `${MAIN_CLASS$d}__ListItem` }, { children: jsx(ControlComponent, { name: name, value: value, label: label, isDisabled: choiceDisabled || isDisabled, disabled: choiceDisabled || isDisabled, isChecked: isChoiceSelected(choice, selected), checked: isChoiceSelected(choice, selected), onChange: handleChange }, void 0) }), value));
16396
+ return (jsx("li", Object.assign({ className: `${MAIN_CLASS$e}__ListItem` }, { children: jsx(ControlComponent, { "aria-label": ariaLabel, name: name, value: value, label: label, isDisabled: choiceDisabled || isDisabled, disabled: choiceDisabled || isDisabled, isChecked: isChoiceSelected(choice, selected), checked: isChoiceSelected(choice, selected), onChange: handleChange }, void 0) }), value));
16340
16397
  });
16341
16398
  const handleChangeOnSelectAll = (e) => {
16342
16399
  let selected = [];
@@ -16350,7 +16407,7 @@ const ChoiceList = ({ choices, name, selected, allowMultiple, allowSelectAll, is
16350
16407
  onChange(selected, name);
16351
16408
  };
16352
16409
  const checkboxSelectAllMarkup = allowMultiple && allowSelectAll ? (jsx(Checkbox, { value: 'ALL', isDisabled: isDisabled, isChecked: selected.length === choices.length, onChange: handleChangeOnSelectAll }, void 0)) : null;
16353
- return (jsxs("fieldset", Object.assign({ className: className }, { children: [titleMarkup || checkboxSelectAllMarkup ? (jsxs("div", Object.assign({ className: `${MAIN_CLASS$d}__TitleContainer` }, { children: [checkboxSelectAllMarkup, titleMarkup] }), void 0)) : null, jsx("ul", Object.assign({ className: `${MAIN_CLASS$d}__List` }, { children: choicesMarkup }), void 0)] }), void 0));
16410
+ return (jsxs("fieldset", Object.assign({ className: className }, { children: [titleMarkup || checkboxSelectAllMarkup ? (jsxs("div", Object.assign({ className: `${MAIN_CLASS$e}__TitleContainer` }, { children: [checkboxSelectAllMarkup, titleMarkup] }), void 0)) : null, jsx("ul", Object.assign({ className: `${MAIN_CLASS$e}__List` }, { children: choicesMarkup }), void 0)] }), void 0));
16354
16411
  };
16355
16412
  const isChoiceSelected = ({ value }, selected) => selected.indexOf(value) > -1;
16356
16413
  const updateSelection = ({ value }, checked, selected, allowMultiple = false) => {
@@ -16371,26 +16428,27 @@ const updateSelection = ({ value }, checked, selected, allowMultiple = false) =>
16371
16428
  * @param {function} CollapsibleProps.onClick - Component opening function
16372
16429
  * @param {string} CollapsibleProps.buttonText - Text to display on the button
16373
16430
  * @param {string} CollapsibleProps.title - Component Title
16431
+ * @param {string} InputTextProps.ariaLabel - Label to use in automatic tests
16374
16432
  * @returns {symbol} The component.
16375
16433
  */
16376
- const Collapsible = ({ iconMedia, mediaAppearance = 'default', children, isOpen = false, onClick, buttonText, title, }) => (jsxs(Fragment, { children: [jsxs("div", Object.assign({ className: `Collapsible ${isOpen ? 'Collapsible--is-open' : ''}`, onClick: onClick }, { children: [jsxs("div", Object.assign({ className: 'Collapsible__media-container' }, { children: [jsx(Media, { appearance: mediaAppearance, icon: iconMedia }, void 0), jsx("div", Object.assign({ className: 'Collapsible__title' }, { children: title }), void 0)] }), void 0), buttonText && (jsx(Button, Object.assign({ icon: isOpen ? 'ChevronUp' : 'ChevronDown', iconPosition: 'right', appearance: 'transparent' }, { children: buttonText }), void 0))] }), void 0), isOpen && jsx("div", Object.assign({ className: 'Collapsible__children' }, { children: children }), void 0)] }, void 0));
16434
+ const Collapsible = ({ ariaLabel, iconMedia, mediaAppearance = 'default', children, isOpen = false, onClick, buttonText, title, }) => (jsxs(Fragment, { children: [jsxs("div", Object.assign({ "aria-label": ariaLabel, className: `Collapsible ${isOpen ? 'Collapsible--is-open' : ''}`, onClick: onClick }, { children: [jsxs("div", Object.assign({ className: 'Collapsible__media-container' }, { children: [jsx(Media, { appearance: mediaAppearance, icon: iconMedia }, void 0), jsx("div", Object.assign({ className: 'Collapsible__title' }, { children: title }), void 0)] }), void 0), buttonText && (jsx(Button, Object.assign({ "aria-label": `button-${ariaLabel}`, icon: isOpen ? 'ChevronUp' : 'ChevronDown', iconPosition: 'right', appearance: 'transparent' }, { children: buttonText }), void 0))] }), void 0), isOpen && jsx("div", Object.assign({ className: 'Collapsible__children' }, { children: children }), void 0)] }, void 0));
16377
16435
 
16378
- const MAIN_CLASS$c = 'Connector';
16436
+ const MAIN_CLASS$d = 'Connector';
16379
16437
  const Connector = ({ alt, icon, id, isActive = false, image, meta, name, onClick, theme = 'CLOUD', }) => {
16380
16438
  const classes = [
16381
- `${MAIN_CLASS$c}`,
16382
- theme && `${MAIN_CLASS$c}--is-${theme}`,
16383
- isActive && `${MAIN_CLASS$c}--is-active`,
16439
+ `${MAIN_CLASS$d}`,
16440
+ theme && `${MAIN_CLASS$d}--is-${theme}`,
16441
+ isActive && `${MAIN_CLASS$d}--is-active`,
16384
16442
  ]
16385
16443
  .filter(Boolean)
16386
16444
  .join(' ');
16387
16445
  const handleOnClick = () => {
16388
16446
  onClick && onClick(id);
16389
16447
  };
16390
- return (jsx("div", Object.assign({ className: classes, onClick: handleOnClick }, { children: jsxs("div", Object.assign({ className: `${MAIN_CLASS$c}__container` }, { children: [!image && icon && (jsx("div", Object.assign({ className: `${MAIN_CLASS$c}__icon` }, { children: jsx(Icon, { name: icon }, void 0) }), void 0)), image && (jsx("div", Object.assign({ className: `${MAIN_CLASS$c}__image` }, { children: jsx("img", { alt: alt, src: image }, void 0) }), void 0)), name && jsx("span", Object.assign({ className: `${MAIN_CLASS$c}__name` }, { children: name }), void 0), meta && jsx("div", Object.assign({ className: `${MAIN_CLASS$c}__meta` }, { children: meta }), void 0)] }), void 0) }), void 0));
16448
+ return (jsx("div", Object.assign({ className: classes, onClick: handleOnClick }, { children: jsxs("div", Object.assign({ className: `${MAIN_CLASS$d}__container` }, { children: [!image && icon && (jsx("div", Object.assign({ className: `${MAIN_CLASS$d}__icon` }, { children: jsx(Icon, { name: icon }, void 0) }), void 0)), image && (jsx("div", Object.assign({ className: `${MAIN_CLASS$d}__image` }, { children: jsx("img", { alt: alt, src: image }, void 0) }), void 0)), name && jsx("span", Object.assign({ className: `${MAIN_CLASS$d}__name` }, { children: name }), void 0), meta && jsx("div", Object.assign({ className: `${MAIN_CLASS$d}__meta` }, { children: meta }), void 0)] }), void 0) }), void 0));
16391
16449
  };
16392
16450
 
16393
- const MAIN_CLASS$b = 'Container';
16451
+ const MAIN_CLASS$c = 'Container';
16394
16452
  /**
16395
16453
  *
16396
16454
  * @param {ContainerProps} ContainerProps - ContainerProps
@@ -16399,13 +16457,13 @@ const MAIN_CLASS$b = 'Container';
16399
16457
  * @returns {symbol} - Element Container
16400
16458
  */
16401
16459
  const Container = ({ children, hasShadow = true }) => {
16402
- const className = [MAIN_CLASS$b, hasShadow && `${MAIN_CLASS$b}--has-shadow`]
16460
+ const className = [MAIN_CLASS$c, hasShadow && `${MAIN_CLASS$c}--has-shadow`]
16403
16461
  .filter(Boolean)
16404
16462
  .join(' ');
16405
16463
  return jsx("div", Object.assign({ className: className }, { children: children }), void 0);
16406
16464
  };
16407
16465
 
16408
- const MAIN_CLASS$a = 'Cover';
16466
+ const MAIN_CLASS$b = 'Cover';
16409
16467
  /**
16410
16468
  *
16411
16469
  * @param {CoverProps} CoverProps - CoverProps
@@ -16416,9 +16474,9 @@ const MAIN_CLASS$a = 'Cover';
16416
16474
  */
16417
16475
  const Cover = ({ children, position = 'center', source, hasShadow = false, }) => {
16418
16476
  const className = [
16419
- MAIN_CLASS$a,
16420
- position && `${MAIN_CLASS$a}--${position}`,
16421
- hasShadow && `${MAIN_CLASS$a}--has-shadow`,
16477
+ MAIN_CLASS$b,
16478
+ position && `${MAIN_CLASS$b}--${position}`,
16479
+ hasShadow && `${MAIN_CLASS$b}--has-shadow`,
16422
16480
  ]
16423
16481
  .filter(Boolean)
16424
16482
  .join(' ');
@@ -16690,7 +16748,7 @@ const YearField = ({ onChange, value, min, max, onBlur, onFocus, onKeyDown, onKe
16690
16748
  return jsx("div", Object.assign({ className: className }, { children: inputMarkup }), void 0);
16691
16749
  };
16692
16750
 
16693
- const MAIN_CLASS$9 = 'Icon-button';
16751
+ const MAIN_CLASS$a = 'Icon-button';
16694
16752
  /**
16695
16753
  * Icon Button are used primarily for actions, this component only contain a icon.
16696
16754
  *
@@ -16710,12 +16768,12 @@ const IconButton = (_a) => {
16710
16768
  const { theme } = useTheme();
16711
16769
  /** Check if every prop has been passed and asign the class name to the className const */
16712
16770
  const className = [
16713
- MAIN_CLASS$9,
16714
- appearance && `${MAIN_CLASS$9}--is-${appearance}`,
16771
+ MAIN_CLASS$a,
16772
+ appearance && `${MAIN_CLASS$a}--is-${appearance}`,
16715
16773
  theme && `is-${theme}`,
16716
- size && `${MAIN_CLASS$9}--is-${size}`,
16717
- isRound && `${MAIN_CLASS$9}--is-round`,
16718
- isDisabled && `${MAIN_CLASS$9}--is-disabled`,
16774
+ size && `${MAIN_CLASS$a}--is-${size}`,
16775
+ isRound && `${MAIN_CLASS$a}--is-round`,
16776
+ isDisabled && `${MAIN_CLASS$a}--is-disabled`,
16719
16777
  ]
16720
16778
  .filter(Boolean)
16721
16779
  .join(' ');
@@ -16784,19 +16842,19 @@ const TrashIcon = () => (jsxs("svg", Object.assign({ width: '24', height: '24',
16784
16842
  d: 'M8 6V4C8 3.46957 8.21071 2.96086 8.58579 2.58579C8.96086 2.21071 9.46957 2 10 2H14C14.5304 2 15.0391 2.21071 15.4142 2.58579C15.7893 2.96086 16 3.46957 16 4V6M19 6V20C19 20.5304 18.7893 21.0391 18.4142 21.4142C18.0391 21.7893 17.5304 22 17 22H7C6.46957 22 5.96086 21.7893 5.58579 21.4142C5.21071 21.0391 5 20.5304 5 20V6H19Z', strokeWidth: '2', strokeLinecap: 'round', strokeLinejoin: 'round' }, void 0), jsx("path", { d: 'M10 11V17', strokeWidth: '2', strokeLinecap: 'round', strokeLinejoin: 'round' }, void 0), jsx("path", { d: 'M14 11V17', strokeWidth: '2', strokeLinecap: 'round', strokeLinejoin: 'round' }, void 0)] }), void 0));
16785
16843
 
16786
16844
  const COMPONENT_NAME$b = 'DeletableSection';
16787
- const DeletableSection = ({ children, onDelete, iconDeletable, isDeletable, }) => {
16845
+ const DeletableSection = ({ ariaLabel, children, onDelete, iconDeletable, isDeletable, }) => {
16788
16846
  const { theme } = useTheme();
16789
16847
  const THEME_CLASS = `${theme}`;
16790
16848
  const className = cssClassName(COMPONENT_NAME$b);
16791
16849
  const classNameButton = cssClassName(`${COMPONENT_NAME$b}__DeleteButtonWrapper`, THEME_CLASS);
16792
16850
  const icon = iconDeletable || TrashIcon;
16793
- const deleteButtonMarkup = onDelete && isDeletable ? (jsx("div", Object.assign({ className: classNameButton }, { children: jsx("button", Object.assign({ className: `${COMPONENT_NAME$b}__DeleteButton`, onClick: onDelete }, { children: jsx(AlphaIcon, { source: icon, outlined: true }, void 0) }), void 0) }), void 0)) : null;
16851
+ const deleteButtonMarkup = onDelete && isDeletable ? (jsx("div", Object.assign({ className: classNameButton }, { children: jsx("button", Object.assign({ "aria-label": ariaLabel ? `${ariaLabel}-removeForm` : ariaLabel, className: `${COMPONENT_NAME$b}__DeleteButton`, onClick: onDelete }, { children: jsx(AlphaIcon, { source: icon, outlined: true }, void 0) }), void 0) }), void 0)) : null;
16794
16852
  const contentMarkup = children ? (jsx("div", Object.assign({ className: `${COMPONENT_NAME$b}__ContentWrapper` }, { children: children }), void 0)) : null;
16795
16853
  return (jsxs("div", Object.assign({ className: className }, { children: [deleteButtonMarkup, contentMarkup] }), void 0));
16796
16854
  };
16797
16855
 
16798
16856
  const COMPONENT_NAME$a = 'AlphaInputTag';
16799
- const InputTag$1 = ({ id, inputTextPlaceholder, inputTextValue, isRequired, label, onChange, onInputTextChange, addedTags = [], triggerKeys = ['Enter'], onBlur, onFocus, isDisabled, hasError, tagRemoveIcon, helpText, }) => {
16857
+ const InputTag$1 = ({ ariaLabel, id, inputTextPlaceholder, inputTextValue, isRequired, label, onChange, onInputTextChange, addedTags = [], triggerKeys = ['Enter'], onBlur, onFocus, isDisabled, hasError, tagRemoveIcon, helpText, }) => {
16800
16858
  const [isFocused, setIsFocused] = useState(false);
16801
16859
  const inputRef = useRef(null);
16802
16860
  const handleInputFocus = () => {
@@ -16848,7 +16906,7 @@ const InputTag$1 = ({ id, inputTextPlaceholder, inputTextValue, isRequired, labe
16848
16906
  }
16849
16907
  };
16850
16908
  const tagsMarkup = addedTags.map(renderTag);
16851
- const inputMarkup = (jsxs("div", Object.assign({ className: inputWrapperClassName, onClick: handleInputWrapperClick }, { children: [tagsMarkup, jsx("input", { ref: inputRef, id: id, value: inputTextValue, placeholder: inputTextPlaceholder, onChange: handleInputChange, required: isRequired, onFocus: handleInputFocus, onBlur: handleInputBlur, disabled: isDisabled, onKeyDown: handleInputKeyDown }, void 0)] }), void 0));
16909
+ const inputMarkup = (jsxs("div", Object.assign({ className: inputWrapperClassName, onClick: handleInputWrapperClick }, { children: [tagsMarkup, jsx("input", { "aria-label": ariaLabel, ref: inputRef, id: id, value: inputTextValue, placeholder: inputTextPlaceholder, onChange: handleInputChange, required: isRequired, onFocus: handleInputFocus, onBlur: handleInputBlur, disabled: isDisabled, onKeyDown: handleInputKeyDown }, void 0)] }), void 0));
16852
16910
  const labelledFieldMarkup = (jsx(AlphaLabelledField, Object.assign({ id: id, label: label, isRequired: isRequired, error: hasError, helpText: helpText }, { children: inputMarkup }), void 0));
16853
16911
  return jsx("div", Object.assign({ className: className }, { children: labelledFieldMarkup }), void 0);
16854
16912
  };
@@ -23573,8 +23631,9 @@ var pako = {
23573
23631
  * @param {void} FileProps.onDelete - Function to return data
23574
23632
  * @param {string} FileProps.size - Size to show in input
23575
23633
  * @returns {symbol} - Element FileItem
23634
+ * @param {string} InputTextProps.ariaLabel - Label to use in automatic tests
23576
23635
  */
23577
- const FileItem = ({ name, addon, onDelete, size = 0 }) => (jsxs("div", Object.assign({ className: 'File' }, { children: [jsxs("div", Object.assign({ className: 'File__content__left' }, { children: [jsx(Icon, { name: 'Paperclip' }, void 0), jsx("p", Object.assign({ className: ' File__content__nameFile' }, { children: name }), void 0)] }), void 0), jsxs("div", Object.assign({ className: 'File__content__right' }, { children: [jsxs("button", Object.assign({ className: 'ButtonDeleteFile', onClick: onDelete }, { children: [jsx(Fragment, { children: addon }, void 0), jsx(Icon, { name: 'Close' }, void 0)] }), void 0), jsxs("p", Object.assign({ className: 'File__content__fileSize' }, { children: [(size / 1048576).toFixed(4), " M"] }), void 0)] }), void 0)] }), void 0));
23636
+ const FileItem = ({ ariaLabel, name, addon, onDelete, size = 0, }) => (jsxs("div", Object.assign({ className: 'File' }, { children: [jsxs("div", Object.assign({ className: 'File__content__left' }, { children: [jsx(Icon, { name: 'Paperclip' }, void 0), jsx("p", Object.assign({ className: ' File__content__nameFile' }, { children: name }), void 0)] }), void 0), jsxs("div", Object.assign({ className: 'File__content__right' }, { children: [jsxs("button", Object.assign({ "aria-label": `${ariaLabel}-delete`, className: 'ButtonDeleteFile', onClick: onDelete }, { children: [jsx(Fragment, { children: addon }, void 0), jsx(Icon, { name: 'Close' }, void 0)] }), void 0), jsxs("p", Object.assign({ className: 'File__content__fileSize' }, { children: [(size / 1048576).toFixed(4), " M"] }), void 0)] }), void 0)] }), void 0));
23578
23637
 
23579
23638
  /**
23580
23639
  * FileDrop is a component to upload files in any project
@@ -23602,9 +23661,10 @@ const FileItem = ({ name, addon, onDelete, size = 0 }) => (jsxs("div", Object.as
23602
23661
  * @param {string} Filedrop.label - To show label inside input
23603
23662
  * @param {string} Filedrop.labelButton - Text to show inside button
23604
23663
  * @param {boolean} Filedrop.isMultipleFiles - To active functionality to upload multiple files
23664
+ * @param {string} InputTextProps.ariaLabel - Label to use in automatic tests
23605
23665
  * @returns {symbol} The component.
23606
23666
  */
23607
- const Filedrop = ({ arrayFiles = [], isEncodeBase64 = false, extensionsFiles, isGzip = false, onChange, onDelete, onCreateBase64, isEnableDragAndDrop = false, isReadOnly = false, label, labelButton, isMultipleFiles = false, isShowButton = true, }) => {
23667
+ const Filedrop = ({ arrayFiles = [], ariaLabel, isEncodeBase64 = false, extensionsFiles, isGzip = false, onChange, onDelete, onCreateBase64, isEnableDragAndDrop = false, isReadOnly = false, label, labelButton, isMultipleFiles = false, isShowButton = true, }) => {
23608
23668
  const refInputFile = useRef(null);
23609
23669
  // eslint-disable-next-line jsdoc/require-jsdoc
23610
23670
  function readFileAsDataURL(file) {
@@ -23715,7 +23775,7 @@ const Filedrop = ({ arrayFiles = [], isEncodeBase64 = false, extensionsFiles, is
23715
23775
  .filter(Boolean)
23716
23776
  .join(' ');
23717
23777
  return (jsxs("div", Object.assign({ className: 'Filedrop' }, { children: [arrayFiles &&
23718
- arrayFiles.map((file, i) => (jsx(FileItem, { name: file.name, size: file.size, onDelete: () => handleButtonDeleteFile(i) }, i))), !(arrayFiles && arrayFiles.length > 0) && (jsxs("div", Object.assign({ className: activeClassName, tabIndex: 0, onDrop: (e) => isEnableDragAndDrop && !isReadOnly ? dropHandler(e) : null, onDragOver: (e) => isEnableDragAndDrop && !isReadOnly ? dragOverHandler(e) : null }, { children: [jsx("div", Object.assign({ className: 'Filedrop__container' }, { children: jsxs("label", Object.assign({ className: 'Filedrop__container__label' }, { children: [jsx("div", Object.assign({ className: 'Filedrop__container__icon' }, { children: jsx(Icon, { name: 'Upload' }, void 0) }), void 0), label] }), void 0) }), void 0), jsx("div", Object.assign({ className: 'Filedrop__container__button' }, { children: isShowButton && (jsx(Button, Object.assign({ disabled: isReadOnly, onClick: uploadFile, appearance: 'secondary', id: 'buttonfiledrop' }, { children: labelButton }), void 0)) }), void 0), jsx("input", { className: 'Filedrop__fileItem', type: 'file', multiple: isMultipleFiles, ref: refInputFile, onChange: getFilesToUpload, accept: extensionsFiles === null || extensionsFiles === void 0 ? void 0 : extensionsFiles.join(', ') }, void 0)] }), void 0))] }), void 0));
23778
+ arrayFiles.map((file, i) => (jsx(FileItem, { ariaLabel: ariaLabel, name: file.name, size: file.size, onDelete: () => handleButtonDeleteFile(i) }, i))), !(arrayFiles && arrayFiles.length > 0) && (jsxs("div", Object.assign({ className: activeClassName, tabIndex: 0, onDrop: (e) => isEnableDragAndDrop && !isReadOnly ? dropHandler(e) : null, onDragOver: (e) => isEnableDragAndDrop && !isReadOnly ? dragOverHandler(e) : null }, { children: [jsx("div", Object.assign({ className: 'Filedrop__container' }, { children: jsxs("label", Object.assign({ className: 'Filedrop__container__label' }, { children: [jsx("div", Object.assign({ className: 'Filedrop__container__icon' }, { children: jsx(Icon, { name: 'Upload' }, void 0) }), void 0), label] }), void 0) }), void 0), jsx("div", Object.assign({ className: 'Filedrop__container__button' }, { children: isShowButton && (jsx(Button, Object.assign({ "aria-label": `${ariaLabel}-uploadFiles`, disabled: isReadOnly, onClick: uploadFile, appearance: 'secondary', id: 'buttonfiledrop' }, { children: labelButton }), void 0)) }), void 0), jsx("input", { "aria-label": `fileDrop-${ariaLabel}`, className: 'Filedrop__fileItem', type: 'file', multiple: isMultipleFiles, ref: refInputFile, onChange: getFilesToUpload, accept: extensionsFiles === null || extensionsFiles === void 0 ? void 0 : extensionsFiles.join(', ') }, void 0)] }), void 0))] }), void 0));
23719
23779
  };
23720
23780
  Filedrop.FileItem = FileItem;
23721
23781
 
@@ -24237,7 +24297,7 @@ var es$1 = {
24237
24297
  zw: zw
24238
24298
  };
24239
24299
 
24240
- const InputPhoneNumber = ({ helperText, isHelperMode = false, isErrorMode = false, label, tooltip, disabled = false, placeholder, id, name, value, isFocused = false, onChange, onBlur, onFocus, defaultCountry = 'mx', language = 'es', preferredCountries = [], isRequired, tooltipLabel, }) => {
24300
+ const InputPhoneNumber = ({ ariaLabel, helperText, isHelperMode = false, isErrorMode = false, label, tooltip, disabled = false, placeholder, id, name, value, isFocused = false, onChange, onBlur, onFocus, defaultCountry = 'mx', language = 'es', preferredCountries = [], isRequired, tooltipLabel, }) => {
24241
24301
  const inputContainerRef = useRef(null);
24242
24302
  const [isFocusActive, setIsFocusActive] = useState(false);
24243
24303
  const [parentCoord, setParentCoords] = useState();
@@ -24286,10 +24346,10 @@ const InputPhoneNumber = ({ helperText, isHelperMode = false, isErrorMode = fals
24286
24346
  .filter(Boolean)
24287
24347
  .join(' ');
24288
24348
  const renderInput = () => {
24289
- return (jsx(PhoneInput, { containerClass: clasessContainer, country: defaultCountry, disabled: disabled, localization: language === 'en' ? {} : es$1, inputProps: {
24290
- name,
24291
- id,
24292
- }, onFocus: handleOnFocus, onBlur: handleOnBlur, onChange: handleOnChange, inputClass: clasessInput, placeholder: placeholder, preferredCountries: preferredCountries, value: value }, void 0));
24349
+ return (jsx("div", Object.assign({ "aria-label": ariaLabel }, { children: jsx(PhoneInput, { containerClass: clasessContainer, country: defaultCountry, disabled: disabled, localization: language === 'en' ? {} : es$1, inputProps: {
24350
+ name,
24351
+ id,
24352
+ }, onFocus: handleOnFocus, onBlur: handleOnBlur, onChange: handleOnChange, inputClass: clasessInput, placeholder: placeholder, preferredCountries: preferredCountries, value: value }, void 0) }), void 0));
24293
24353
  };
24294
24354
  const renderWithTooltip = () => (jsx(Tooltip, Object.assign({ isActive: isHelperMode || isErrorMode, position: tooltip === null || tooltip === void 0 ? void 0 : tooltip.position, text: (tooltip === null || tooltip === void 0 ? void 0 : tooltip.text) || '', id: (tooltip === null || tooltip === void 0 ? void 0 : tooltip.id) || '', toggleType: isErrorMode ? 'error' : 'primary' }, { children: renderInput() }), void 0));
24295
24355
  const tooltipLabelMarkup = useMemo(() => tooltipLabel ? (jsx(AlphaTooltip, Object.assign({ content: tooltipLabel.content, theme: tooltipLabel.theme, width: 'default', parentTooltip: parentCoord }, { children: jsx("span", Object.assign({ className: 'InputPhoneNumber__container__TooltipLabelContainer' }, { children: jsx(Icon, { name: tooltipLabel.icon || 'Info' }, void 0) }), void 0) }), void 0)) : null, [tooltipLabel, parentCoord]);
@@ -24313,11 +24373,12 @@ const InputPhoneNumber = ({ helperText, isHelperMode = false, isErrorMode = fals
24313
24373
  * @param {void} ToggleProps.onChange - Action to trigger when the Toggle changes state, returns the value of the Toggle
24314
24374
  * @param {string} ToggleProps.value - Toggle value
24315
24375
  * @param {object} ToggleProps.rest - Rest of props to be passed to the Toggle
24376
+ * @param {string} InputTextProps.ariaLabel - Label to use in automatic tests
24316
24377
  * @returns {symbol} - Returns the component
24317
24378
  */
24318
- const Toggle = ({ isActive, isDisabled = false, label, onChange, color = 'mixed', id, value, name, }) => {
24379
+ const Toggle = ({ ariaLabel, isActive, isDisabled = false, label, onChange, color = 'mixed', id, value, name, }) => {
24319
24380
  const { theme } = useTheme();
24320
- return (jsxs("label", Object.assign({ className: `Toggle__content Toggle--${theme}` }, { children: [jsxs("div", Object.assign({ className: `Toggle__switch` }, { children: [jsx("input", { type: 'checkbox', onChange: (event) => {
24381
+ return (jsxs("label", Object.assign({ className: `Toggle__content Toggle--${theme}` }, { children: [jsxs("div", Object.assign({ className: `Toggle__switch` }, { children: [jsx("input", { "aria-label": ariaLabel, type: 'checkbox', onChange: (event) => {
24321
24382
  onChange &&
24322
24383
  onChange((isActive = event.target.checked), (id = id || ''));
24323
24384
  }, value: value, name: name, checked: isActive, disabled: isDisabled }, void 0), jsx("span", { className: `Toggle__body Toggle__${color}` }, void 0)] }), void 0), jsx("span", Object.assign({ className: `Toggle__label ${isDisabled && 'Toggle__label-disabled'}` }, { children: label }), void 0)] }), void 0));
@@ -24342,7 +24403,7 @@ const XIcon = () => (jsx("svg", Object.assign({ width: '8', height: '8', viewBox
24342
24403
 
24343
24404
  const InfoIcon = () => (jsxs("svg", Object.assign({ width: '24', height: '24', viewBox: '0 0 24 24', fill: 'none', stroke: 'currentColor', strokeWidth: '2', strokeLinecap: 'round', strokeLinejoin: 'round' }, { children: [jsx("path", { d: 'M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z' }, void 0), jsx("path", { d: 'M12 16V12' }, void 0), jsx("path", { d: 'M12 8H12.01' }, void 0)] }), void 0));
24344
24405
 
24345
- const FormField = ({ hasError, label, labelInputFile, labelUploadButton, onChange, placeholder, type = 'text', value, iconHelperText, isRequired, defaultValue, files = [], extensionFiles, errorTooltipPosition, onRemoveFile, isReadOnly, addedTags = [], helpText, action, isDisabled, isMultiLine, maxLength, options, tagRemoveIcon, onBlur, weekdays, months, minLength, }) => {
24406
+ const FormField = ({ ariaLabel, hasError, label, labelInputFile, labelUploadButton, onChange, placeholder, type = 'text', value, iconHelperText, isRequired, defaultValue, files = [], extensionFiles, errorTooltipPosition, onRemoveFile, isReadOnly, addedTags = [], helpText, action, isDisabled, isMultiLine, maxLength, options, tagRemoveIcon, onBlur, weekdays, months, minLength, }) => {
24346
24407
  const FieldComponent = FORM_FIELDS[type];
24347
24408
  const [inputTagValue, setInputTagValue] = useState('');
24348
24409
  const handleInputTagValueChange = (newValue) => {
@@ -24399,7 +24460,7 @@ const FormField = ({ hasError, label, labelInputFile, labelUploadButton, onChang
24399
24460
  /* eslint-enable indent */
24400
24461
  const typeField = type === 'text' || type === 'number' ? type : undefined;
24401
24462
  const selected = type === 'select' && typeof value === 'string' ? [value] : value;
24402
- const fieldMarkup = (jsx("div", Object.assign({ className: cssClassName('FieldWrapper', isReadOnly && 'isReadOnly') }, { children: jsx(FieldComponent, { label: fieldLabel,
24463
+ const fieldMarkup = (jsx("div", Object.assign({ className: cssClassName('FieldWrapper', isReadOnly && 'isReadOnly') }, { children: jsx(FieldComponent, { "aria-label": ariaLabel, ariaLabel: ariaLabel, label: fieldLabel,
24403
24464
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
24404
24465
  onChange: handleChange, placeholder: placeholder, value: fieldValue || defaultValue, isRequired: isRequired, isErrorMode: Boolean(hasError), arrayFiles: files, labelButton: labelUploadButton, extensionsFiles: extensionFiles, onDelete: onRemoveFile, readOnly: isReadOnly, isReadOnly: isReadOnly, addedTags: addedTags, inputTextPlaceholder: placeholder, inputTextValue: inputTagValue, onInputTextChange: handleInputTagValueChange, triggerKeys: [','], helpText: helpTextObj, helperText: helpText, color: 'primary', tagRemoveIcon: {
24405
24466
  icon: tagRemoveIcon || XIcon,
@@ -24408,7 +24469,7 @@ const FormField = ({ hasError, label, labelInputFile, labelUploadButton, onChang
24408
24469
  return type === 'date' ? fieldMarkup : fullFieldMarkup;
24409
24470
  };
24410
24471
 
24411
- function Form({ data, fields, fieldsSection, iconHelperText, onChange, fieldWrapperElement = jsx(Fragment$1, {}, void 0), tagRemoveIcon, extraPropsField, }) {
24472
+ function Form({ ariaLabel, data, fields, fieldsSection, iconHelperText, onChange, fieldWrapperElement = jsx(Fragment$1, {}, void 0), tagRemoveIcon, extraPropsField, }) {
24412
24473
  const handleChange = (name, newValue) => {
24413
24474
  if (data) {
24414
24475
  let nData = structuredClone(data);
@@ -24486,7 +24547,7 @@ function Form({ data, fields, fieldsSection, iconHelperText, onChange, fieldWrap
24486
24547
  // }
24487
24548
  if (type === 'date' && validation)
24488
24549
  hasError = validation;
24489
- const fieldMarkup = type ? (jsx(FormField, { label: label, type: type, placeholder: placeholder, iconHelperText: iconHelperText, isRequired: isRequired, onChange: (value) => handleChange(name, value), value: fieldValue, hasError: hasError, helpText: helpText, minLength: minLength, maxLength: maxLength, tagRemoveIcon: tagRemoveIcon, options: options, onBlur: onBlur, months: months, weekdays: weekdays, isDisabled: isDisabledField, isReadOnly: isReadOnlyField }, void 0)) : null;
24550
+ const fieldMarkup = type ? (jsx(FormField, { ariaLabel: ariaLabel ? `${ariaLabel}-${name}` : ariaLabel, label: label, type: type, placeholder: placeholder, iconHelperText: iconHelperText, isRequired: isRequired, onChange: (value) => handleChange(name, value), value: fieldValue, hasError: hasError, helpText: helpText, minLength: minLength, maxLength: maxLength, tagRemoveIcon: tagRemoveIcon, options: options, onBlur: onBlur, months: months, weekdays: weekdays, isDisabled: isDisabledField, isReadOnly: isReadOnlyField }, void 0)) : null;
24490
24551
  if (typeof fieldWrapperElement !== 'string') {
24491
24552
  return cloneElement(fieldWrapperElement, Object.assign(Object.assign({}, fieldWrapperElement.props), { key: index }), fieldMarkup);
24492
24553
  }
@@ -24508,17 +24569,17 @@ function Form({ data, fields, fieldsSection, iconHelperText, onChange, fieldWrap
24508
24569
  return jsx(Fragment, { children: formMarkup }, void 0);
24509
24570
  }
24510
24571
 
24511
- const SectionForm = ({ data, fields, fieldsSection, iconDeletable, iconHelperText, onChange, onDelete, tagRemoveIcon, isDeletable, extraPropsField, }) => {
24572
+ const SectionForm = ({ ariaLabel, data, fields, fieldsSection, iconDeletable, iconHelperText, onChange, onDelete, tagRemoveIcon, isDeletable, extraPropsField, }) => {
24512
24573
  // eslint-disable-next-line
24513
24574
  // @ts-ignore
24514
24575
  const wrapperMarkup = jsx(Grid.Item, { size: 3 }, void 0);
24515
- const formMarkup = (jsx(Form, { data: data, fields: fields, fieldsSection: fieldsSection, iconHelperText: iconHelperText, onChange: onChange, fieldWrapperElement: wrapperMarkup, tagRemoveIcon: tagRemoveIcon, extraPropsField: extraPropsField }, void 0));
24576
+ const formMarkup = (jsx(Form, { ariaLabel: ariaLabel, data: data, fields: fields, fieldsSection: fieldsSection, iconHelperText: iconHelperText, onChange: onChange, fieldWrapperElement: wrapperMarkup, tagRemoveIcon: tagRemoveIcon, extraPropsField: extraPropsField }, void 0));
24516
24577
  const gridMarkup = jsx(Grid, Object.assign({ isMultiline: true }, { children: formMarkup }), void 0);
24517
- return (jsx(DeletableSection, Object.assign({ onDelete: onDelete, iconDeletable: iconDeletable, isDeletable: isDeletable }, { children: gridMarkup }), void 0));
24578
+ return (jsx(DeletableSection, Object.assign({ ariaLabel: ariaLabel, onDelete: onDelete, iconDeletable: iconDeletable, isDeletable: isDeletable }, { children: gridMarkup }), void 0));
24518
24579
  };
24519
24580
 
24520
24581
  const COMPONENT_NAME$9 = 'DynamicForm';
24521
- const DynamicForm = ({ dataFormArray = [], fields, fieldsSection, iconDeletable, iconHelperText, labelDivider, onChange, onAddForm, tagRemoveIcon, deletableFormArray, extraPropsFieldsArray, }) => {
24582
+ const DynamicForm = ({ ariaLabel, dataFormArray = [], fields, fieldsSection, iconDeletable, iconHelperText, labelDivider, onChange, onAddForm, tagRemoveIcon, deletableFormArray, extraPropsFieldsArray, }) => {
24522
24583
  const { theme } = useTheme();
24523
24584
  const handleChange = (contact, id) => {
24524
24585
  if (onChange) {
@@ -24543,11 +24604,11 @@ const DynamicForm = ({ dataFormArray = [], fields, fieldsSection, iconDeletable,
24543
24604
  const extraProps = extraPropsFieldsArray && index < extraPropsFieldsArray.length
24544
24605
  ? extraPropsFieldsArray[index]
24545
24606
  : undefined;
24546
- return (jsx(SectionForm, { data: form, fields: fields, fieldsSection: fieldsSection, iconDeletable: iconDeletable, iconHelperText: iconHelperText, onChange: (formData) => handleChange(formData, form.id || ''), onDelete: () => handleDelete(form.id || ''), tagRemoveIcon: tagRemoveIcon, isDeletable: isDeletable, extraPropsField: extraProps }, `DynamicForm-${form.id}-${index}}`));
24607
+ return (jsx(SectionForm, { ariaLabel: ariaLabel, data: form, fields: fields, fieldsSection: fieldsSection, iconDeletable: iconDeletable, iconHelperText: iconHelperText, onChange: (formData) => handleChange(formData, form.id || ''), onDelete: () => handleDelete(form.id || ''), tagRemoveIcon: tagRemoveIcon, isDeletable: isDeletable, extraPropsField: extraProps }, `DynamicForm-${form.id}-${index}}`));
24547
24608
  };
24548
24609
  const contactsMarkup = (jsx("div", Object.assign({ className: `${COMPONENT_NAME$9}__SectionFormWrapper` }, { children: dataFormArray.map(renderForm) }), void 0));
24549
24610
  const dividerMarkup = labelDivider && jsx(Divider, { label: labelDivider }, void 0);
24550
- const addContactButtonMarkup = onAddForm && (jsx(AlphaButton, Object.assign({ isTertiary: true, onClick: onAddForm.onClick }, { children: onAddForm.label }), void 0));
24611
+ const addContactButtonMarkup = onAddForm && (jsx(AlphaButton, Object.assign({ ariaLabel: ariaLabel ? `${ariaLabel}--addNewForm` : ariaLabel, isTertiary: true, onClick: onAddForm.onClick }, { children: onAddForm.label }), void 0));
24551
24612
  const THEME_CLASS = `${theme}`;
24552
24613
  const className = cssClassName(COMPONENT_NAME$9, THEME_CLASS);
24553
24614
  return (jsxs("div", Object.assign({ className: className }, { children: [dividerMarkup, contactsMarkup, addContactButtonMarkup] }), void 0));
@@ -24586,20 +24647,21 @@ const EmptyState = ({ children, image, primaryAction, secondaryAction, tertiaryA
24586
24647
  * @param {FileDownloaderProps} FileDownloaderProps - FileDownloader Props.
24587
24648
  * @param {ReactNostringde} FileDownloaderProps.title - text to show inside element.
24588
24649
  * @param {Function} FileDownloaderProps.isDisabled - to show styles disabled.
24650
+ * @param {string} InputTextProps.ariaLabel - Label to use in automatic tests
24589
24651
  * @returns {symbol} The component.
24590
24652
  */
24591
- const MAIN_CLASS$8 = 'FileDownloader';
24592
- const FileDownloader = ({ title = 'Download', isDisabled, onDownload, }) => {
24653
+ const MAIN_CLASS$9 = 'FileDownloader';
24654
+ const FileDownloader = ({ ariaLabel, title = 'Download', isDisabled, onDownload, }) => {
24593
24655
  const className = [
24594
- MAIN_CLASS$8,
24595
- isDisabled && `${MAIN_CLASS$8}--is-disabled`,
24656
+ MAIN_CLASS$9,
24657
+ isDisabled && `${MAIN_CLASS$9}--is-disabled`,
24596
24658
  ]
24597
24659
  .filter(Boolean)
24598
24660
  .join(' ');
24599
- return (jsxs("div", Object.assign({ className: className }, { children: [title, jsx("button", Object.assign({ onClick: isDisabled ? undefined : onDownload }, { children: jsx(Icon, { name: 'Download' }, void 0) }), void 0)] }), void 0));
24661
+ return (jsxs("div", Object.assign({ className: className }, { children: [title, jsx("button", Object.assign({ "aria-label": ariaLabel, onClick: isDisabled ? undefined : onDownload }, { children: jsx(Icon, { name: 'Download' }, void 0) }), void 0)] }), void 0));
24600
24662
  };
24601
24663
 
24602
- const MAIN_CLASS$7 = 'Label';
24664
+ const MAIN_CLASS$8 = 'Label';
24603
24665
  /**
24604
24666
  * Label component shows a Label inside a rounded border
24605
24667
  *
@@ -24613,8 +24675,8 @@ const Label = ({ color = 'primary', intensity = 500, children, }) => {
24613
24675
  const { theme } = useTheme();
24614
24676
  /** Check if every prop has been passed and asign the class name to the className const */
24615
24677
  const className = [
24616
- MAIN_CLASS$7,
24617
- color && intensity && `${MAIN_CLASS$7}--is-${color}-${intensity}`,
24678
+ MAIN_CLASS$8,
24679
+ color && intensity && `${MAIN_CLASS$8}--is-${color}-${intensity}`,
24618
24680
  theme && `is-${color} is--${theme}-${intensity}`,
24619
24681
  ]
24620
24682
  .filter(Boolean)
@@ -28019,7 +28081,7 @@ const FilterControl = ({ filters, filtersNested, sorts, appliedFilters = null, a
28019
28081
  */
28020
28082
  const Item$1 = ({ children }) => (jsx("div", Object.assign({ className: 'FormLayout__item' }, { children: children }), void 0));
28021
28083
 
28022
- const MAIN_CLASS$6 = 'FormLayout__items';
28084
+ const MAIN_CLASS$7 = 'FormLayout__items';
28023
28085
  /**
28024
28086
  *
28025
28087
  * @param {GroupProps} GroupProps - GroupProps
@@ -28034,9 +28096,9 @@ const Group = ({ children, condensed }) => {
28034
28096
  return jsx(Item$1, { children: child }, index);
28035
28097
  });
28036
28098
  const className = [
28037
- MAIN_CLASS$6,
28038
- !condensed && `${MAIN_CLASS$6}--grouped`,
28039
- condensed && `${MAIN_CLASS$6}--condensed`,
28099
+ MAIN_CLASS$7,
28100
+ !condensed && `${MAIN_CLASS$7}--grouped`,
28101
+ condensed && `${MAIN_CLASS$7}--condensed`,
28040
28102
  ]
28041
28103
  .filter(Boolean)
28042
28104
  .join(' ');
@@ -28214,7 +28276,7 @@ const Header$1 = ({ leftContent, rightContent, actions, userMenu, logo, extraAct
28214
28276
  : renderAction(item, i)), userMenu && (jsx(UserMenu, { onClick: userMenu.onClick, userName: userMenu.userName || '', picture: userMenu.picture, isOpen: userMenu.isOpen, items: userMenu.items, initials: userMenu.initials, onClose: userMenu.onClose }, void 0))] }), void 0)] }), void 0)] }), void 0), label && (jsx("div", Object.assign({ className: 'Header__label-container' }, { children: jsx(HeaderLabel, { label: label.label }, void 0) }), void 0))] }, void 0));
28215
28277
  };
28216
28278
 
28217
- const MAIN_CLASS$5 = 'IndexList';
28279
+ const MAIN_CLASS$6 = 'IndexList';
28218
28280
  /**
28219
28281
  * IndexList component is used to list a Index array to display as list
28220
28282
  *
@@ -28225,11 +28287,11 @@ const MAIN_CLASS$5 = 'IndexList';
28225
28287
  */
28226
28288
  const IndexList = ({ activeValue, indexes, onSelectIndex }) => {
28227
28289
  const { theme } = useTheme();
28228
- const className = [MAIN_CLASS$5, theme && `${MAIN_CLASS$5}--is-${theme}`]
28290
+ const className = [MAIN_CLASS$6, theme && `${MAIN_CLASS$6}--is-${theme}`]
28229
28291
  .filter(Boolean)
28230
28292
  .join(' ');
28231
28293
  return (jsx("ul", Object.assign({ className: className }, { children: indexes &&
28232
- indexes.map((indexObj) => (jsx("li", Object.assign({ className: `IndexList__label ${indexObj.value === activeValue
28294
+ indexes.map((indexObj) => (jsx("li", Object.assign({ "aria-label": indexObj.ariaLabel, className: `IndexList__label ${indexObj.value === activeValue
28233
28295
  ? `IndexList__label--is-active is--${theme}`
28234
28296
  : ''}
28235
28297
  ${indexObj.isDisabled ? 'IndexList__label--is-disabled' : ''}`, onClick: () => onSelectIndex && indexObj.isDisabled === false
@@ -28251,8 +28313,9 @@ const IndexList = ({ activeValue, indexes, onSelectIndex }) => {
28251
28313
  * @param {Function} InlineEditProps.onEdit - Function to execute when click Edit
28252
28314
  * @param {Function} InlineEditProps.onSave - Function to execut when click Save
28253
28315
  * @param {Function} InlineEditProps.onInputChange - Function to execut when input changes
28316
+ * @param {string} InputTextProps.ariaLabel - Label to use in automatic tests
28254
28317
  */
28255
- const InlineEdit = ({ editIcon = 'Edit3', isDisable = false, onChange, onEdit, onSave, saveIcon = 'Check', size = 'small', state = 'display', value = '', }) => (jsx("div", Object.assign({ className: `InlineEdit InlineEdit--is-${size}` }, { children: state === 'display' ? (jsxs(Fragment, { children: [jsx("label", { children: value }, void 0), jsx(IconButton, { onClick: () => (onEdit ? onEdit() : null), icon: editIcon, size: size, appearance: 'tertiary', isDisabled: isDisable, disabled: isDisable }, void 0)] }, void 0)) : (jsxs(Fragment, { children: [jsx("div", Object.assign({ className: 'InlineEdit__input' }, { children: jsx(InputText, { isFocused: true, value: value, readOnly: false, onChange: (value) => onChange(value), onBlur: () => (onSave ? onSave() : null) }, void 0) }), void 0), jsx(IconButton, { onClick: () => (onSave ? onSave() : null), icon: saveIcon, size: size, appearance: 'tertiary', isDisabled: isDisable, disabled: isDisable }, void 0)] }, void 0)) }), void 0));
28318
+ const InlineEdit = ({ ariaLabel, editIcon = 'Edit3', isDisable = false, onChange, onEdit, onSave, saveIcon = 'Check', size = 'small', state = 'display', value = '', }) => (jsx("div", Object.assign({ className: `InlineEdit InlineEdit--is-${size}` }, { children: state === 'display' ? (jsxs(Fragment, { children: [jsx("label", { children: value }, void 0), jsx(IconButton, { "aria-label": `${ariaLabel}-edit`, onClick: () => (onEdit ? onEdit() : null), icon: editIcon, size: size, appearance: 'tertiary', isDisabled: isDisable, disabled: isDisable }, void 0)] }, void 0)) : (jsxs(Fragment, { children: [jsx("div", Object.assign({ className: 'InlineEdit__input' }, { children: jsx(InputText, { ariaLabel: `inlineInput-${ariaLabel}`, isFocused: true, value: value, readOnly: false, onChange: (value) => onChange(value), onBlur: () => (onSave ? onSave() : null) }, void 0) }), void 0), jsx(IconButton, { "aria-label": `${ariaLabel}-save`, onClick: () => (onSave ? onSave() : null), icon: saveIcon, size: size, appearance: 'tertiary', isDisabled: isDisable, disabled: isDisable }, void 0)] }, void 0)) }), void 0));
28256
28319
 
28257
28320
  /**
28258
28321
  * InputTag component is used to display as a tag any word
@@ -28279,8 +28342,9 @@ const InlineEdit = ({ editIcon = 'Edit3', isDisable = false, onChange, onEdit, o
28279
28342
  * @param {TagPropsInputTag[]} PageActionsProps.tags - Array of string to preload tags
28280
28343
  * @param {Tooltip} PageActionsProps.tooltip - Array of objects to preload tags
28281
28344
  * @param {keyToAddTag[]} PageActionsProps.triggerKeys - Array of string to set keys to add tag
28345
+ * @param {string} InputTextProps.ariaLabel - Label to use in automatic tests
28282
28346
  */
28283
- const InputTag = ({ helperText, isDisabled = false, isDanger = false, isFocused = false, isHelperMode = false, isReadOnly = false, label, onAddTag, onBlur, onChange, onDeleteTag, onFocus, placeholder, tags = [], tooltip, triggerKeys = [' ', ','], value, isRequired, tooltipLabel, }) => {
28347
+ const InputTag = ({ ariaLabel, helperText, isDisabled = false, isDanger = false, isFocused = false, isHelperMode = false, isReadOnly = false, label, onAddTag, onBlur, onChange, onDeleteTag, onFocus, placeholder, tags = [], tooltip, triggerKeys = [' ', ','], value, isRequired, tooltipLabel, }) => {
28284
28348
  const [isBoxHover, setIsBoxHover] = useState(false);
28285
28349
  const hiddenSpan = useRef(null);
28286
28350
  const inputTagFocus = useRef(null);
@@ -28344,7 +28408,7 @@ const InputTag = ({ helperText, isDisabled = false, isDanger = false, isFocused
28344
28408
  .filter(Boolean)
28345
28409
  .join(' ');
28346
28410
  const renderInput = () => (jsx("div", Object.assign({ className: 'InputTag__body' }, { children: jsxs("div", Object.assign({ className: boxClassName, onClick: focusInputTag, onMouseEnter: () => setIsBoxHover(!isFocused), onMouseLeave: () => setIsBoxHover(false), onBlur: handleOnBlur, tabIndex: -1 }, { children: [tags &&
28347
- tags.map((tag, index) => (jsx(Tag, Object.assign({ onRemove: () => handleDeleteTag(tag.value), isDisabled: isDisabled, isDanger: tag.state === 'error' }, { children: tag.content }), `tag-${index}`))), jsx("span", Object.assign({ className: 'InputTag__hiddenValue', ref: hiddenSpan }, { children: value }), void 0), jsx("input", { className: `InputTag__input--is-hidden
28411
+ tags.map((tag, index) => (jsx(Tag, Object.assign({ onRemove: () => handleDeleteTag(tag.value), isDisabled: isDisabled, isDanger: tag.state === 'error' }, { children: tag.content }), `tag-${index}`))), jsx("span", Object.assign({ className: 'InputTag__hiddenValue', ref: hiddenSpan }, { children: value }), void 0), jsx("input", { "aria-label": ariaLabel, className: `InputTag__input--is-hidden
28348
28412
  ${isHelperMode ? 'InputTag__input--is-help' : ''}`, ref: inputTagFocus, type: 'text', placeholder: placeholder, onChange: handleInputChange, value: value, onKeyDown: handleKeyDown, disabled: isDisabled, readOnly: isReadOnly }, void 0)] }), void 0) }), void 0));
28349
28413
  const renderWithTooltip = () => (jsx(Tooltip, Object.assign({ isActive: isHelperMode || isDanger, position: tooltip === null || tooltip === void 0 ? void 0 : tooltip.position, text: tooltip && (tooltip === null || tooltip === void 0 ? void 0 : tooltip.text) ? tooltip === null || tooltip === void 0 ? void 0 : tooltip.text : '', id: tooltip && (tooltip === null || tooltip === void 0 ? void 0 : tooltip.id) ? tooltip === null || tooltip === void 0 ? void 0 : tooltip.id : '', toggleType: isDanger ? 'error' : 'primary' }, { children: renderInput() }), void 0));
28350
28414
  const tooltipLabelMarkup = useMemo(() => tooltipLabel ? (jsx(AlphaTooltip, Object.assign({ content: tooltipLabel.content, theme: tooltipLabel.theme, width: 'default', parentTooltip: parentCoord }, { children: jsx("span", Object.assign({ className: 'InputTag__container__TooltipLabelContainer' }, { children: jsx(Icon, { name: tooltipLabel.icon || 'Info' }, void 0) }), void 0) }), void 0)) : null, [tooltipLabel, parentCoord]);
@@ -28566,7 +28630,7 @@ const JsonViewer = ({ downloadFunction, downloadBtnIcon = 'Paperclip', downloadB
28566
28630
  const ListInfo = ({ items }) => (jsx("div", Object.assign({ className: 'ListInfo' }, { children: items &&
28567
28631
  items.map((item, index) => (jsxs("div", Object.assign({ className: 'ListInfo__item' }, { children: [jsxs("div", Object.assign({ className: 'ListInfo__item__title-container' }, { children: [item.icon && jsx(Icon, { name: item.icon }, void 0), jsx("label", { children: item === null || item === void 0 ? void 0 : item.title }, void 0)] }), void 0), jsx("div", Object.assign({ className: 'ListInfo__item__content-container' }, { children: item === null || item === void 0 ? void 0 : item.content }), void 0)] }), index))) }), void 0));
28568
28632
 
28569
- const MAIN_CLASS$4 = 'loader';
28633
+ const MAIN_CLASS$5 = 'loader';
28570
28634
  /**
28571
28635
  * Loader is mainly used to display a loading status.
28572
28636
  *
@@ -28581,18 +28645,18 @@ const MAIN_CLASS$4 = 'loader';
28581
28645
  const Loader = ({ icon, color = 'primary', size = 'medium' }) => {
28582
28646
  const { theme } = useTheme();
28583
28647
  const className = [
28584
- MAIN_CLASS$4,
28585
- `${MAIN_CLASS$4}--${theme}`,
28586
- color && `${MAIN_CLASS$4}--${color}`,
28648
+ MAIN_CLASS$5,
28649
+ `${MAIN_CLASS$5}--${theme}`,
28650
+ color && `${MAIN_CLASS$5}--${color}`,
28587
28651
  theme && `is--${theme}`,
28588
- size && `${MAIN_CLASS$4}--${size}`,
28652
+ size && `${MAIN_CLASS$5}--${size}`,
28589
28653
  ]
28590
28654
  .filter(Boolean)
28591
28655
  .join(' ');
28592
28656
  const classNameSvg = [
28593
- MAIN_CLASS$4,
28594
- `${MAIN_CLASS$4}__svg`,
28595
- color && `${MAIN_CLASS$4}__svg--${color}`,
28657
+ MAIN_CLASS$5,
28658
+ `${MAIN_CLASS$5}__svg`,
28659
+ color && `${MAIN_CLASS$5}__svg--${color}`,
28596
28660
  ]
28597
28661
  .filter(Boolean)
28598
28662
  .join(' ');
@@ -28609,11 +28673,12 @@ const Loader = ({ icon, color = 'primary', size = 'medium' }) => {
28609
28673
  * @param {Object} ModalProps.extraAction - Object to create extra button in footer
28610
28674
  */
28611
28675
  const Footer = ({ position = 'flex-end', primaryAction, secondaryActions, extraAction, hideFooter = false, }) => {
28612
- const getButton = (actionBtn, btnAppearance) => {
28613
- return (jsx(Button, Object.assign({ onClick: actionBtn === null || actionBtn === void 0 ? void 0 : actionBtn.onClick, appearance: (actionBtn === null || actionBtn === void 0 ? void 0 : actionBtn.isDanger) ? 'danger' : btnAppearance, disabled: actionBtn === null || actionBtn === void 0 ? void 0 : actionBtn.isDisabled }, { children: actionBtn === null || actionBtn === void 0 ? void 0 : actionBtn.text }), void 0));
28676
+ const getButton = (actionBtn, btnAppearance, ariaLabel) => {
28677
+ return (jsx(Button, Object.assign({ "aria-label": ariaLabel, onClick: actionBtn === null || actionBtn === void 0 ? void 0 : actionBtn.onClick, appearance: (actionBtn === null || actionBtn === void 0 ? void 0 : actionBtn.isDanger) ? 'danger' : btnAppearance, disabled: actionBtn === null || actionBtn === void 0 ? void 0 : actionBtn.isDisabled }, { children: actionBtn === null || actionBtn === void 0 ? void 0 : actionBtn.text }), void 0));
28614
28678
  };
28615
28679
  return (jsx(Fragment, { children: hideFooter === false && (jsxs("div", Object.assign({ className: `Modal__footer ${extraAction ? 'Modal__footer--is-space-between' : ''}` }, { children: [extraAction && jsx("div", { children: getButton(extraAction, 'secondary') }, void 0), jsxs("div", Object.assign({ className: `Modal__footer__button Modal__footer--is-${extraAction ? 'flex-end' : position}` }, { children: [secondaryActions &&
28616
- secondaryActions.map((btn, index) => (jsx("div", { children: getButton(btn, btn.appearance || 'secondary') }, `secondarBtn-${index}`))), primaryAction && getButton(primaryAction, 'primary')] }), void 0)] }), void 0)) }, void 0));
28680
+ secondaryActions.map((btn, index) => (jsx("div", { children: getButton(btn, btn.appearance || 'secondary', btn.ariaLabel) }, `secondarBtn-${index}`))), primaryAction &&
28681
+ getButton(primaryAction, 'primary', primaryAction.ariaLabel)] }), void 0)] }), void 0)) }, void 0));
28617
28682
  };
28618
28683
 
28619
28684
  /**
@@ -28624,8 +28689,8 @@ const Footer = ({ position = 'flex-end', primaryAction, secondaryActions, extraA
28624
28689
  * @param {string} ModalHeaderProps.media - Icon name to create a media component to display in header
28625
28690
  * @param {Function} ModalHeaderProps.onClose - Function to exeute when clic close icon modal
28626
28691
  */
28627
- const ModalHeader = ({ title, media, onClose, hideHeader = false, mediaTheme, }) => {
28628
- return (jsx(Fragment, { children: hideHeader === false && (jsxs("div", Object.assign({ className: 'Modal__header' }, { children: [jsxs("div", Object.assign({ className: 'Modal__header__title' }, { children: [media && (jsx(Media, { icon: media, size: 'large', appearance: 'info', themeAppearance: mediaTheme }, void 0)), title] }), void 0), jsx("div", Object.assign({ className: 'Modal__header__close' }, { children: onClose && (jsx("button", Object.assign({ onClick: onClose }, { children: jsx(Icon, { name: 'Close' }, void 0) }), void 0)) }), void 0)] }), void 0)) }, void 0));
28692
+ const ModalHeader = ({ ariaLabel, title, media, onClose, hideHeader = false, mediaTheme, }) => {
28693
+ return (jsx(Fragment, { children: hideHeader === false && (jsxs("div", Object.assign({ className: 'Modal__header' }, { children: [jsxs("div", Object.assign({ className: 'Modal__header__title' }, { children: [media && (jsx(Media, { icon: media, size: 'large', appearance: 'info', themeAppearance: mediaTheme }, void 0)), title] }), void 0), jsx("div", Object.assign({ className: 'Modal__header__close' }, { children: onClose && (jsx("button", Object.assign({ "aria-label": `${ariaLabel}--close`, onClick: onClose }, { children: jsx(Icon, { name: 'Close' }, void 0) }), void 0)) }), void 0)] }), void 0)) }, void 0));
28629
28694
  };
28630
28695
 
28631
28696
  /**
@@ -28666,7 +28731,14 @@ const Content = ({ children, hasPane = false, height }) => (jsx("div", Object.as
28666
28731
  * @param {string} ModalProps.title - Title to display in modal header
28667
28732
  * @param {boolean} ModalProps.hasPane - Validate if it has Pane
28668
28733
  */
28669
- const Modal = ({ children, isOpen, media, onClose, position, primaryAction, secondaryActions, extraAction, hideFooter = false, hideHeader = false, size = 'medium', title, hasPane = false, id, mediaTheme, height, }) => {
28734
+ const Modal = ({ ariaLabel, children, isOpen, media, onClose, position, primaryAction, secondaryActions, extraAction, hideFooter = false, hideHeader = false, size = 'medium', title, hasPane = false, id, mediaTheme, height, }) => {
28735
+ const handleOnKeyUp = (event) => {
28736
+ if (isOpen && event.key == 'Escape' && onClose)
28737
+ onClose();
28738
+ };
28739
+ useEffect(() => {
28740
+ document.addEventListener('keyup', handleOnKeyUp);
28741
+ });
28670
28742
  useEffect(() => {
28671
28743
  if (isOpen)
28672
28744
  document.body.style.overflow = 'hidden';
@@ -28674,7 +28746,7 @@ const Modal = ({ children, isOpen, media, onClose, position, primaryAction, seco
28674
28746
  document.body.removeAttribute('style');
28675
28747
  }, [isOpen]);
28676
28748
  return (jsx(Fragment, { children: isOpen &&
28677
- createPortal(jsx("div", Object.assign({ className: 'Modal__portal-container' }, { children: jsxs("div", Object.assign({ id: id, className: `Modal__container Modal__container--is-${size}` }, { children: [hideHeader === false && (jsx(Modal.Header, { title: title, media: media, onClose: onClose, mediaTheme: mediaTheme }, void 0)), jsx(Modal.Content, Object.assign({ hasPane: hasPane, height: height }, { children: children }), void 0), hideFooter === false && (jsx(Modal.Footer, { primaryAction: primaryAction, secondaryActions: secondaryActions, extraAction: extraAction, position: position }, void 0))] }), void 0) }), void 0), document.getElementsByTagName('body')[0]) }, void 0));
28749
+ createPortal(jsx("div", Object.assign({ className: 'Modal__portal-container' }, { children: jsxs("div", Object.assign({ id: id, className: `Modal__container Modal__container--is-${size}` }, { children: [hideHeader === false && (jsx(Modal.Header, { ariaLabel: ariaLabel, title: title, media: media, onClose: onClose, mediaTheme: mediaTheme }, void 0)), jsx(Modal.Content, Object.assign({ hasPane: hasPane, height: height }, { children: children }), void 0), hideFooter === false && (jsx(Modal.Footer, { primaryAction: primaryAction, secondaryActions: secondaryActions, extraAction: extraAction, position: position }, void 0))] }), void 0) }), void 0), document.getElementsByTagName('body')[0]) }, void 0));
28678
28750
  };
28679
28751
  Modal.Header = ModalHeader;
28680
28752
  Modal.Pane = Pane;
@@ -28691,7 +28763,7 @@ Modal.Footer = Footer;
28691
28763
  * @param {boolean} NipProps.nipLength - Nip length
28692
28764
  * @returns {symbol} - Returns the component
28693
28765
  */
28694
- const Nip = ({ onChange, isDisabled = false, nip = ['', '', '', ''], nipLength, }) => {
28766
+ const Nip = ({ ariaLabel, onChange, isDisabled = false, nip = ['', '', '', ''], nipLength, }) => {
28695
28767
  const { theme } = useTheme();
28696
28768
  const refsInputs = nipLength
28697
28769
  ? Array.from({ length: 10 }, () => useRef(null))
@@ -28736,7 +28808,7 @@ const Nip = ({ onChange, isDisabled = false, nip = ['', '', '', ''], nipLength,
28736
28808
  const renderInputs = useCallback(() => {
28737
28809
  const items = [];
28738
28810
  const itemsToMap = Array.from({ length: arrayLenght }, (_, i) => i + 1);
28739
- itemsToMap.map((_, index) => items.push(jsx("input", { className: `input-validation--${theme}`, maxLength: 1, id: `nip-${index}`, value: nip[index], onChange: (e) => handleNipChange(e.target.value, index), onPaste: handlePaste, onKeyUp: (e) => handleKeyUp(e, index), type: 'text', ref: refsInputs[index], disabled: isDisabled }, index)));
28811
+ itemsToMap.map((_, index) => items.push(jsx("input", { "aria-label": `${ariaLabel}-${index}`, className: `input-validation--${theme}`, maxLength: 1, id: `nip-${index}`, value: nip[index], onChange: (e) => handleNipChange(e.target.value, index), onPaste: handlePaste, onKeyUp: (e) => handleKeyUp(e, index), type: 'text', ref: refsInputs[index], disabled: isDisabled }, index)));
28740
28812
  return items;
28741
28813
  }, [nip]);
28742
28814
  return jsx("div", Object.assign({ className: 'Nip__card' }, { children: renderInputs() }), void 0);
@@ -28773,10 +28845,10 @@ const Header = ({ breadcrumb, className, hasDivider, primaryAction, secondaryAct
28773
28845
  .filter(Boolean)
28774
28846
  .join(' ');
28775
28847
  const titleIsString = typeof title === 'string';
28776
- return (jsxs("div", Object.assign({ className: headerClassName }, { children: [breadcrumb && (jsx("div", Object.assign({ className: `${BASE_CLASS$1}__ExtraActionsContainer` }, { children: breadcrumb && (jsx(Button, Object.assign({ appearance: 'secondary', onClick: breadcrumb.onClick, icon: 'ChevronLeft' }, { children: breadcrumb.text }), void 0)) }), void 0)), thumbnail && (jsx("div", Object.assign({ className: `${BASE_CLASS$1}__ThumbnailContainer` }, { children: jsx(Thumbnail, { alt: thumbnail.alt, source: thumbnail.source, icon: thumbnail.icon, fit: thumbnail.fit, isTransparent: thumbnail.isTransparent, hasShadow: thumbnail.hasShadow, size: 'huge' }, void 0) }), void 0)), jsxs("div", Object.assign({ className: `${BASE_CLASS$1}__HeaderDataContainer` }, { children: [((title !== null && title !== undefined) ||
28848
+ return (jsxs("div", Object.assign({ className: headerClassName }, { children: [breadcrumb && (jsx("div", Object.assign({ className: `${BASE_CLASS$1}__ExtraActionsContainer` }, { children: breadcrumb && (jsx(Button, Object.assign({ "aria-label": breadcrumb.ariaLabel, appearance: 'secondary', onClick: breadcrumb.onClick, icon: 'ChevronLeft' }, { children: breadcrumb.text }), void 0)) }), void 0)), thumbnail && (jsx("div", Object.assign({ className: `${BASE_CLASS$1}__ThumbnailContainer` }, { children: jsx(Thumbnail, { alt: thumbnail.alt, source: thumbnail.source, icon: thumbnail.icon, fit: thumbnail.fit, isTransparent: thumbnail.isTransparent, hasShadow: thumbnail.hasShadow, size: 'huge' }, void 0) }), void 0)), jsxs("div", Object.assign({ className: `${BASE_CLASS$1}__HeaderDataContainer` }, { children: [((title !== null && title !== undefined) ||
28777
28849
  primaryAction ||
28778
28850
  (secondaryActions && secondaryActions.length)) && (jsxs("div", Object.assign({ className: `${BASE_CLASS$1}__TitleActionsContainer` }, { children: [title && titleIsString && (jsx(Title, Object.assign({ appearence: 'subheading', size: 'large', element: 'h1' }, { children: title }), void 0)), title && !titleIsString && (jsx("div", Object.assign({ className: `${BASE_CLASS$1}__TitleNode` }, { children: title }), void 0)), jsxs("div", Object.assign({ className: `${BASE_CLASS$1}__ActionsContainer` }, { children: [addon && (jsx("div", Object.assign({ className: `${BASE_CLASS$1}__ActionsContainer__AddonContainer` }, { children: addon }), void 0)), secondaryActions &&
28779
- secondaryActions.map((action, i) => (jsx(Button, Object.assign({ appearance: action.isDanger ? 'danger' : 'secondary', disabled: action.isDisabled, onClick: action.onClick }, { children: action.text }), `Header-Secondary-Actions-${i}`))), primaryAction && (jsx(Button, Object.assign({ appearance: primaryAction.appearance
28851
+ secondaryActions.map((action, i) => (jsx(Button, Object.assign({ "aria-label": action.ariaLabel, appearance: action.isDanger ? 'danger' : 'secondary', disabled: action.isDisabled, onClick: action.onClick }, { children: action.text }), `Header-Secondary-Actions-${i}`))), primaryAction && (jsx(Button, Object.assign({ "aria-label": primaryAction.ariaLabel, appearance: primaryAction.appearance
28780
28852
  ? primaryAction.appearance
28781
28853
  : 'primary', isDanger: primaryAction.isDanger, disabled: primaryAction.isDisabled, onClick: primaryAction.onClick }, primaryAction, { children: primaryAction.text }), void 0))] }), void 0)] }), void 0)), titleMetaData && (jsx("div", Object.assign({ className: `${BASE_CLASS$1}__TitleMetaDataContainer` }, { children: titleMetaData }), void 0))] }), void 0)] }), void 0));
28782
28854
  };
@@ -28835,8 +28907,9 @@ Page.Header = Header;
28835
28907
  * @param {Function} PaginationProps.onNext - Acction to execute when click on next button
28836
28908
  * @param {hasPrevious} PaginationProps.hasPrevious - Flag to disable previous button
28837
28909
  * @param {hasNext} PaginationProps.hasNext - Flag to disable next button
28910
+ * @param {string} InputTextProps.ariaLabel - Label to use in automatic tests
28838
28911
  */
28839
- const Pagination = ({ previousButtonContent, nextButtonContent, onPrevious, onNext, hasPrevious = false, hasNext = false, }) => (jsxs("div", Object.assign({ className: 'Pagination__container' }, { children: [jsx("div", Object.assign({ className: 'Pagination__previous-button' }, { children: hasPrevious && (jsxs("button", Object.assign({ className: 'Pagination__button', onClick: onPrevious }, { children: [jsx(Icon, { name: 'ChevronLeft' }, void 0), previousButtonContent] }), void 0)) }), void 0), jsx("div", Object.assign({ className: 'Pagination__next-button' }, { children: hasNext && (jsxs("button", Object.assign({ className: 'Pagination__button', onClick: onNext }, { children: [nextButtonContent, jsx(Icon, { name: 'ChevronRight' }, void 0)] }), void 0)) }), void 0)] }), void 0));
28912
+ const Pagination = ({ ariaLabel, previousButtonContent, nextButtonContent, onPrevious, onNext, hasPrevious = false, hasNext = false, }) => (jsxs("div", Object.assign({ className: 'Pagination__container' }, { children: [jsx("div", Object.assign({ className: 'Pagination__previous-button' }, { children: hasPrevious && (jsxs("button", Object.assign({ "aria-label": `${ariaLabel}-prev`, className: 'Pagination__button', onClick: onPrevious }, { children: [jsx(Icon, { name: 'ChevronLeft' }, void 0), previousButtonContent] }), void 0)) }), void 0), jsx("div", Object.assign({ className: 'Pagination__next-button' }, { children: hasNext && (jsxs("button", Object.assign({ "aria-label": `${ariaLabel}-next`, className: 'Pagination__button', onClick: onNext }, { children: [nextButtonContent, jsx(Icon, { name: 'ChevronRight' }, void 0)] }), void 0)) }), void 0)] }), void 0));
28840
28913
 
28841
28914
  /**
28842
28915
  * PanelFooter component is used as footer in Panel component
@@ -28849,7 +28922,7 @@ const Pagination = ({ previousButtonContent, nextButtonContent, onPrevious, onNe
28849
28922
  */
28850
28923
  const PanelFooter = ({ positionButtons = 'flex-end', primaryAction, secondaryActions, extraAction, }) => {
28851
28924
  const getButton = (actionBtn, btnAppearance) => {
28852
- return (jsx(Button, Object.assign({ onClick: actionBtn === null || actionBtn === void 0 ? void 0 : actionBtn.onClick, appearance: (actionBtn === null || actionBtn === void 0 ? void 0 : actionBtn.isDanger) ? 'danger' : btnAppearance, disabled: actionBtn === null || actionBtn === void 0 ? void 0 : actionBtn.isDisabled }, { children: actionBtn === null || actionBtn === void 0 ? void 0 : actionBtn.text }), void 0));
28925
+ return (jsx(Button, Object.assign({ "aria-label": primaryAction === null || primaryAction === void 0 ? void 0 : primaryAction.ariaLabel, onClick: actionBtn === null || actionBtn === void 0 ? void 0 : actionBtn.onClick, appearance: (actionBtn === null || actionBtn === void 0 ? void 0 : actionBtn.isDanger) ? 'danger' : btnAppearance, disabled: actionBtn === null || actionBtn === void 0 ? void 0 : actionBtn.isDisabled }, { children: actionBtn === null || actionBtn === void 0 ? void 0 : actionBtn.text }), void 0));
28853
28926
  };
28854
28927
  return (jsxs("div", Object.assign({ className: `Panel__footer ${extraAction ? 'Panel__footer--is-space-between' : ''}` }, { children: [extraAction && jsx("div", { children: getButton(extraAction, 'secondary') }, void 0), jsxs("div", Object.assign({ className: `Panel__footer__button Panel__footer--is-${extraAction ? 'flex-end' : positionButtons}` }, { children: [secondaryActions &&
28855
28928
  secondaryActions.map((btn, index) => (jsx("div", { children: getButton(btn, btn.appearance || 'secondary') }, `secondarBtn-${index}`))), primaryAction && getButton(primaryAction, 'primary')] }), void 0)] }), void 0));
@@ -28868,25 +28941,27 @@ const PanelFooter = ({ positionButtons = 'flex-end', primaryAction, secondaryAct
28868
28941
  * @param {ThemeType} PanelHeaderProps.theme - Theme to display in Connector component
28869
28942
  */
28870
28943
  const PanelHeader = ({ alt = '', icon, image, title, onClose, headerExtraActions, theme = 'CLOUD', }) => {
28871
- return (jsxs("div", Object.assign({ className: 'Panel__header' }, { children: [jsxs("div", Object.assign({ className: 'Panel__header__title' }, { children: [(image || icon) && (jsx(Connector, { id: `Panel--${title}`, alt: alt, icon: icon, image: image, theme: theme }, void 0)), title] }), void 0), headerExtraActions && (jsx("div", Object.assign({ className: 'Panel__header__extra-actions' }, { children: headerExtraActions.map((action) => (jsx(IconButton, { appearance: 'secondary', icon: action.iconName, onClick: action.onClick }, void 0))) }), void 0)), jsx("div", Object.assign({ className: 'Panel__header__close' }, { children: onClose && (jsx("button", Object.assign({ onClick: onClose }, { children: jsx(Icon, { name: 'Close' }, void 0) }), void 0)) }), void 0)] }), void 0));
28944
+ return (jsxs("div", Object.assign({ className: 'Panel__header' }, { children: [jsxs("div", Object.assign({ className: 'Panel__header__title' }, { children: [(image || icon) && (jsx(Connector, { id: `Panel--${title}`, alt: alt, icon: icon, image: image, theme: theme }, void 0)), title] }), void 0), headerExtraActions && (jsx("div", Object.assign({ className: 'Panel__header__extra-actions' }, { children: headerExtraActions.map((action) => (jsx(IconButton, { "aria-label": action.ariaLabel, appearance: 'secondary', icon: action.iconName, onClick: action.onClick }, void 0))) }), void 0)), jsx("div", Object.assign({ className: 'Panel__header__close' }, { children: onClose && (jsx("button", Object.assign({ "aria-label": 'panel-close', onClick: onClose }, { children: jsx(Icon, { name: 'Close' }, void 0) }), void 0)) }), void 0)] }), void 0));
28872
28945
  };
28873
28946
 
28874
- const MAIN_CLASS$3 = 'Panel';
28947
+ const MAIN_CLASS$4 = 'Panel';
28875
28948
  const Panel = ({ children, position, height, isOpen, id, alt = '', icon, image, title, onClose, headerExtraActions, theme = 'CLOUD', positionButtons = 'flex-end', primaryAction, secondaryActions, extraAction, }) => {
28876
- const className = [
28877
- `${MAIN_CLASS$3}__container`,
28878
- position && `${MAIN_CLASS$3}__container--is-${position}`,
28879
- ]
28880
- .filter(Boolean)
28881
- .join(' ');
28949
+ const className = cssClassName(`${MAIN_CLASS$4}__container`, position && `is-${position}`);
28882
28950
  const maxHeightStyle = { height: height };
28951
+ const handleOnKeyUp = (event) => {
28952
+ if (isOpen && event.key == 'Escape' && onClose)
28953
+ onClose();
28954
+ };
28955
+ useEffect(() => {
28956
+ document.addEventListener('keyup', handleOnKeyUp);
28957
+ });
28883
28958
  return (jsx(Fragment, { children: isOpen &&
28884
- createPortal(jsxs("div", Object.assign({ id: id, className: className, style: maxHeightStyle }, { children: [jsx(PanelHeader, { alt: alt, icon: icon, image: image, title: title, onClose: onClose, theme: theme, headerExtraActions: headerExtraActions }, void 0), jsx("div", Object.assign({ className: `${MAIN_CLASS$3}__body` }, { children: children }), void 0), jsx(PanelFooter, { positionButtons: positionButtons, primaryAction: primaryAction, secondaryActions: secondaryActions, extraAction: extraAction }, void 0)] }), void 0), document.querySelector('body')) }, void 0));
28959
+ createPortal(jsxs("div", Object.assign({ id: id, className: className, style: maxHeightStyle }, { children: [jsx(PanelHeader, { alt: alt, icon: icon, image: image, title: title, onClose: onClose, theme: theme, headerExtraActions: headerExtraActions }, void 0), jsx("div", Object.assign({ className: `${MAIN_CLASS$4}__body` }, { children: children }), void 0), jsx(PanelFooter, { positionButtons: positionButtons, primaryAction: primaryAction, secondaryActions: secondaryActions, extraAction: extraAction }, void 0)] }), void 0), document.querySelector('body')) }, void 0));
28885
28960
  };
28886
28961
  Panel.Header = PanelHeader;
28887
28962
  Panel.Footer = PanelFooter;
28888
28963
 
28889
- const MAIN_CLASS$2 = 'Progress__item';
28964
+ const MAIN_CLASS$3 = 'Progress__item';
28890
28965
  /**
28891
28966
  * Component for showing ProgressBar.
28892
28967
  *
@@ -28900,8 +28975,8 @@ const Progress = ({ steps }) => {
28900
28975
  const { theme } = useTheme();
28901
28976
  return (jsx("div", Object.assign({ className: 'Progress' }, { children: steps === null || steps === void 0 ? void 0 : steps.map((step, i) => {
28902
28977
  const className = [
28903
- MAIN_CLASS$2,
28904
- (step === null || step === void 0 ? void 0 : step.status) && `${MAIN_CLASS$2}--is-${step === null || step === void 0 ? void 0 : step.status}`,
28978
+ MAIN_CLASS$3,
28979
+ (step === null || step === void 0 ? void 0 : step.status) && `${MAIN_CLASS$3}--is-${step === null || step === void 0 ? void 0 : step.status}`,
28905
28980
  ]
28906
28981
  .filter(Boolean)
28907
28982
  .join(' ');
@@ -29916,7 +29991,7 @@ const Section = ({ items, title, empty }) => {
29916
29991
  */
29917
29992
  const SideMenu = ({ children, secondaryActions }) => (jsx(BrowserRouter, { children: jsxs("div", Object.assign({ className: 'SideMenu' }, { children: [jsx("div", Object.assign({ className: 'SideMenu__body-container' }, { children: children }), void 0), jsx("div", Object.assign({ className: 'SideMenu__elements-footer' }, { children: secondaryActions &&
29918
29993
  secondaryActions.length > 0 &&
29919
- secondaryActions.map((item, i) => item.icon && (jsx(IconButton, { icon: item === null || item === void 0 ? void 0 : item.icon, onClick: item.onClick, isRound: true, appearance: 'secondary', size: 'medium' }, i))) }), void 0)] }), void 0) }, void 0));
29994
+ secondaryActions.map((item, i) => item.icon && (jsx(IconButton, { "aria-label": item.ariaLabel, icon: item === null || item === void 0 ? void 0 : item.icon, onClick: item.onClick, isRound: true, appearance: 'secondary', size: 'medium' }, i))) }), void 0)] }), void 0) }, void 0));
29920
29995
  SideMenu.Section = Section;
29921
29996
 
29922
29997
  /**
@@ -29993,7 +30068,7 @@ const Spinner = ({ isOpen = false, appearance = 'info', themeAppearance, }) => {
29993
30068
  */
29994
30069
  const Item = ({ children }) => (jsx("div", Object.assign({ className: 'Stack__item' }, { children: children }), void 0));
29995
30070
 
29996
- const MAIN_CLASS$1 = 'Stack';
30071
+ const MAIN_CLASS$2 = 'Stack';
29997
30072
  /**
29998
30073
  *
29999
30074
  * @param {StackProps} StackProps - StackProps
@@ -30002,7 +30077,7 @@ const MAIN_CLASS$1 = 'Stack';
30002
30077
  * @returns {symbol} - Element Cover
30003
30078
  */
30004
30079
  const Stack = ({ children, orientation }) => {
30005
- const className = [MAIN_CLASS$1, orientation && `${MAIN_CLASS$1}--${orientation}`]
30080
+ const className = [MAIN_CLASS$2, orientation && `${MAIN_CLASS$2}--${orientation}`]
30006
30081
  .filter(Boolean)
30007
30082
  .join(' ');
30008
30083
  const renderItems = (child, index) => (jsx(Item, { children: child }, index));
@@ -30067,7 +30142,7 @@ const Table = ({ headings, headingsTypes, children, id, onSelectAllRows, areAllR
30067
30142
  onSelectAllRows(!areAllRowsSelected);
30068
30143
  }
30069
30144
  };
30070
- const checkboxSelectAllRowsMarkup = onSelectAllRows ? (jsx("th", { children: jsx(Checkbox, { onChange: handleOnChangeAllSelected, isChecked: areAllRowsSelected, value: 'all', id: 'allSelected' }, void 0) }, void 0)) : null;
30145
+ const checkboxSelectAllRowsMarkup = onSelectAllRows ? (jsx("th", { children: jsx(Checkbox, { "aria-label": 'selectAllItems', onChange: handleOnChangeAllSelected, isChecked: areAllRowsSelected, value: 'all', id: 'allSelected' }, void 0) }, void 0)) : null;
30071
30146
  return (jsxs("table", Object.assign({ className: 'Table', id: id }, { children: [jsx("thead", { children: jsxs("tr", { children: [checkboxSelectAllRowsMarkup, headings === null || headings === void 0 ? void 0 : headings.map((head, i) => (jsx("th", Object.assign({ className: headingsTypes && headingsTypes[i] === 'numeric'
30072
30147
  ? 'Table__text-right'
30073
30148
  : '' }, { children: head }), i)))] }, void 0) }, void 0), jsx("tbody", Object.assign({ id: 'tbody' }, { children: children }), void 0)] }), void 0));
@@ -30088,10 +30163,10 @@ Table.Cell = Cell;
30088
30163
  */
30089
30164
  const ThreadItem = ({ mediaAppearance, mediaIcon, title, metaData, children, }) => (jsxs("div", Object.assign({ className: 'ThreadItem' }, { children: [jsxs("div", Object.assign({ className: 'ThreadItem__elements' }, { children: [jsx(Media, { icon: mediaIcon, appearance: mediaAppearance, size: 'medium' }, void 0), jsxs("div", Object.assign({ className: 'ThreadItem__information' }, { children: [jsx("span", Object.assign({ className: 'ThreadItem__information-title' }, { children: title }), void 0), jsx("span", Object.assign({ className: 'ThreadItem__information-metaData' }, { children: metaData }), void 0)] }), void 0)] }), void 0), jsx("div", Object.assign({ className: 'ThreadItem__children' }, { children: children }), void 0)] }), void 0));
30090
30165
 
30091
- const MAIN_CLASS = 'Tile';
30166
+ const MAIN_CLASS$1 = 'Tile';
30092
30167
  const Tile = ({ isSelected, media, onClick, title, value, subtitle = '', mediaSize = 'large', rightMedia, tags, }) => {
30093
30168
  const { theme } = useTheme();
30094
- const classes = cssClassName(`${MAIN_CLASS}__Container`, theme && `is--${theme}`, isSelected && 'is-selected');
30169
+ const classes = cssClassName(`${MAIN_CLASS$1}__Container`, theme && `is--${theme}`, isSelected && 'is-selected');
30095
30170
  const handleOnClick = () => {
30096
30171
  if (onClick && value)
30097
30172
  onClick(value);
@@ -30324,7 +30399,7 @@ const FilterField = ({ label, isRequired = false, field, onRemove, name, }) => {
30324
30399
  };
30325
30400
 
30326
30401
  const COMPONENT_NAME$1 = 'Filters';
30327
- const Filters = ({ filters = [], onApplyFilters, onRemoveFilter, appliedFilters, onCleanFilters, onAddFilter, addFilterButtonIcon, addFilterButtonLabel, clearButtonLabel, searchButtonLabel, extraActions, selectedFilters = [], }) => {
30402
+ const Filters = ({ ariaLabel, filters = [], onApplyFilters, onRemoveFilter, appliedFilters, onCleanFilters, onAddFilter, addFilterButtonIcon, addFilterButtonLabel, clearButtonLabel, searchButtonLabel, extraActions, selectedFilters = [], }) => {
30328
30403
  const [isPopoverOpen, setIsPopoverOpen] = useState(false);
30329
30404
  const mainContainerRef = useRef(null);
30330
30405
  const handleSelectFilter = (selected) => {
@@ -30336,7 +30411,7 @@ const Filters = ({ filters = [], onApplyFilters, onRemoveFilter, appliedFilters,
30336
30411
  }
30337
30412
  };
30338
30413
  const isAddFilterButtonDisabled = filters.length === selectedFilters.length;
30339
- const addFilterButtonMarkup = (jsx(AlphaButton, Object.assign({ isTertiary: true, onClick: () => setIsPopoverOpen(true), isDisabled: isAddFilterButtonDisabled, icon: addFilterButtonIcon }, { children: addFilterButtonLabel }), void 0));
30414
+ const addFilterButtonMarkup = (jsx(AlphaButton, Object.assign({ ariaLabel: `${ariaLabel}-addFilter`, isTertiary: true, onClick: () => setIsPopoverOpen(true), isDisabled: isAddFilterButtonDisabled, icon: addFilterButtonIcon }, { children: addFilterButtonLabel }), void 0));
30340
30415
  const optionListItems = filters
30341
30416
  .filter((filter) => !selectedFilters.includes(filter.key))
30342
30417
  .map((filter) => ({
@@ -30348,7 +30423,7 @@ const Filters = ({ filters = [], onApplyFilters, onRemoveFilter, appliedFilters,
30348
30423
  ? extraActions.map((extraAction, index) => (createElement(AlphaButton, Object.assign({}, extraAction, { key: `extra-action-${index}` }), extraAction.label)))
30349
30424
  : null;
30350
30425
  const secondaryActionsMarkup = (jsx("div", Object.assign({ className: `${COMPONENT_NAME$1}__SecondaryActionsWrapper` }, { children: availableFiltersPopoverMarkup }), void 0));
30351
- const mainActionsMarkup = (jsxs("div", Object.assign({ className: `${COMPONENT_NAME$1}__MainActionsWrapper` }, { children: [extraActionsMarkup, jsx(AlphaButton, Object.assign({ onClick: onCleanFilters, isDisabled: !appliedFilters.length && !selectedFilters.length }, { children: clearButtonLabel }), void 0), jsx(AlphaButton, Object.assign({ isDisabled: !appliedFilters.length && !selectedFilters.length, isPrimary: true, onClick: onApplyFilters }, { children: searchButtonLabel }), void 0)] }), void 0));
30426
+ const mainActionsMarkup = (jsxs("div", Object.assign({ className: `${COMPONENT_NAME$1}__MainActionsWrapper` }, { children: [extraActionsMarkup, jsx(AlphaButton, Object.assign({ ariaLabel: `${ariaLabel}-cleanFilters`, onClick: onCleanFilters, isDisabled: !appliedFilters.length && !selectedFilters.length }, { children: clearButtonLabel }), void 0), jsx(AlphaButton, Object.assign({ ariaLabel: `${ariaLabel}-searchFilters`, isDisabled: !appliedFilters.length && !selectedFilters.length, isPrimary: true, onClick: onApplyFilters }, { children: searchButtonLabel }), void 0)] }), void 0));
30352
30427
  const handleRemoveFilter = (filter) => {
30353
30428
  onRemoveFilter === null || onRemoveFilter === void 0 ? void 0 : onRemoveFilter(filter);
30354
30429
  };
@@ -30367,11 +30442,43 @@ const Filters = ({ filters = [], onApplyFilters, onRemoveFilter, appliedFilters,
30367
30442
  };
30368
30443
 
30369
30444
  const COMPONENT_NAME = 'Link';
30370
- const Link = ({ children, className: classNameProp, component, to, }) => {
30445
+ const Link = ({ children, className: classNameProp, component, to, target, }) => {
30371
30446
  const Component = component;
30372
30447
  const className = cssClassName(COMPONENT_NAME, classNameProp);
30373
- return (jsx(Component, Object.assign({ className: className, to: to }, { children: children }), void 0));
30448
+ return (jsx(Component, Object.assign({ className: className, to: to, target: target }, { children: children }), void 0));
30449
+ };
30450
+
30451
+ const MAIN_CLASS = 'AlphaGraphicCard';
30452
+ const AlphaGraphicCard = ({ data }) => {
30453
+ const renderGraphic = (dataGraphic, index) => {
30454
+ const { label, percent } = dataGraphic;
30455
+ return (jsxs("div", Object.assign({ className: `${MAIN_CLASS}__GraphicContainerWrapper` }, { children: [jsx("div", { className: `${MAIN_CLASS}__Graphic`, style: { width: `${percent}%` } }, void 0), jsx("span", Object.assign({ className: `${MAIN_CLASS}__GraphicLabel` }, { children: label }), void 0)] }), `graphic-item-${index}`));
30456
+ };
30457
+ const renderTotal = (dataGraphic, index, hidePercent) => {
30458
+ const { percent, total } = dataGraphic;
30459
+ return (jsxs("div", Object.assign({ className: `${MAIN_CLASS}__TotalContainer` }, { children: [!hidePercent ? (jsxs(Fragment, { children: [jsxs("span", { children: [percent, "%"] }, void 0), jsx("span", { className: `${MAIN_CLASS}__TotalDivider` }, void 0)] }, void 0)) : null, jsx("span", { children: total }, void 0)] }), `total-graphic-item-${index}`));
30460
+ };
30461
+ const renderContent = (dataCard) => {
30462
+ const { title, dataGraphics, variant, hidePercent } = dataCard;
30463
+ const classesGraphicWrapper = cssClassName(`${MAIN_CLASS}__GraphicWrapper`, variant || 'primary');
30464
+ const classesTotalWrapper = cssClassName(`${MAIN_CLASS}__TotalWrapper`, variant || 'primary');
30465
+ return (jsxs("div", Object.assign({ className: `${MAIN_CLASS}__DataContainer` }, { children: [jsx("div", Object.assign({ className: `${MAIN_CLASS}__TitleContainer` }, { children: title }), void 0), jsxs("div", Object.assign({ className: `${MAIN_CLASS}__GraphicTotalWrapper` }, { children: [jsx("div", Object.assign({ className: classesGraphicWrapper }, { children: dataGraphics.map(renderGraphic) }), void 0), jsx("div", Object.assign({ className: classesTotalWrapper }, { children: dataGraphics.map((item, index) => renderTotal(item, index, hidePercent)) }), void 0)] }), void 0)] }), void 0));
30466
+ };
30467
+ const renderContainer = (item, index, allItems) => {
30468
+ const totalItems = allItems.length - 1;
30469
+ const isFirst = index === 0;
30470
+ const isLast = index === totalItems;
30471
+ const isStartRow = isFirst || index % 4 === 0;
30472
+ const isEndRow = !isFirst && (index + 1) % 4 === 0;
30473
+ const isMiddle = !isFirst && !isStartRow && !isEndRow;
30474
+ const isOnlyRow = allItems.length <= 3;
30475
+ const haveItemTop = index > 3;
30476
+ const haveItemBottom = index + 4 <= totalItems;
30477
+ const classesContainer = cssClassName(`${MAIN_CLASS}__Container`, isFirst && 'isFirst', isLast && 'isLast', isStartRow && 'isStartRow', isEndRow && 'isEndRow', isMiddle && 'isMiddle', isOnlyRow && 'isOnlyRow', haveItemTop && 'haveItemTop', (isEndRow || isStartRow) && !haveItemBottom && 'haveNotItemBottom');
30478
+ return (jsx("div", Object.assign({ className: classesContainer }, { children: renderContent(item) }), `graphic-card-${index}`));
30479
+ };
30480
+ return jsx("div", Object.assign({ className: MAIN_CLASS }, { children: data.map(renderContainer) }), void 0);
30374
30481
  };
30375
30482
 
30376
- export { ActionList, Alert, AlertProvider, AlphaAttributeInput, AlphaBadge, AlphaButton, AlphaChip, AlphaFilterControl, AlphaIcon, AlphaInlineError, AlphaInputDate, InputTag$1 as AlphaInputTag, AlphaInputText, AlphaLabel, AlphaLabelledField, AlphaSpinner, AlphaStepper, AlphaTag, AlphaTile, AlphaTooltip, Totalizer as AlphaTotalizer, AnnotatedSection, Avatar, Badge, Banner, Button, CalendarPicker, Card, Checkbox, ChoiceList, Collapsible, Connector, Container, Cover, DataTable, DatePicker, DeletableSection, Divider, DynamicForm, EmptyState, ErrorIcon, FileDownloader, Filedrop, FilterControl, Filters, Footer, Form, FormField, FormLayout, Frame, Grid, GridItem, Header$1 as Header, Icon, IconButton, IndexList, InlineEdit, InputPhoneNumber, InputTag, InputText, JsonViewer, Label, Link, ListInfo, Loader, Logo, Media, Modal, ModalHeader, Nip, OptionList, Page, PageActions, Pagination, Pane, Panel, PanelFooter, PanelHeader, PendingIcon, Popover$1 as Popover, Progress, RadioButton, SectionForm, Select, SideMenu, SkeletonInput, SkeletonMedia, SkeletonTabs, SkeletonText, SkeletonTitle, SortableList, Spinner, Stack, StepDefault, SuccessIcon, Table, Tabs, Tag, ThemeProvider, ThreadItem, Thumbnail, Tile, TimeSelector, Title, Toggle, Tooltip, WarningIcon, capitalize, cssClassName, formatDate, isComponentTypeOf, isValidIcon, themeClassConverter, useShowAlert, useTheme };
30483
+ export { ActionList, Alert, AlertProvider, AlphaAttributeInput, AlphaBadge, AlphaButton, AlphaChip, AlphaFilterControl, AlphaGraphicCard, AlphaIcon, AlphaInlineError, AlphaInputDate, InputTag$1 as AlphaInputTag, AlphaInputText, AlphaLabel, AlphaLabelledField, AlphaSpinner, AlphaStepper, AlphaTag, AlphaTile, AlphaTooltip, Totalizer as AlphaTotalizer, AnnotatedSection, Avatar, Badge, Banner, Button, CalendarPicker, Card, Checkbox, ChoiceList, Collapsible, Connector, Container, Cover, DataTable, DatePicker, DeletableSection, Divider, DynamicForm, EmptyState, ErrorIcon, FileDownloader, Filedrop, FilterControl, Filters, Footer, Form, FormField, FormLayout, Frame, Grid, GridItem, Header$1 as Header, Icon, IconButton, IndexList, InlineEdit, InputPhoneNumber, InputTag, InputText, JsonViewer, Label, Link, ListInfo, Loader, Logo, Media, Modal, ModalHeader, Nip, OptionList, Page, PageActions, Pagination, Pane, Panel, PanelFooter, PanelHeader, PendingIcon, Popover$1 as Popover, Progress, RadioButton, SectionForm, Select, SideMenu, SkeletonInput, SkeletonMedia, SkeletonTabs, SkeletonText, SkeletonTitle, SortableList, Spinner, Stack, StepDefault, SuccessIcon, Table, Tabs, Tag, ThemeProvider, ThreadItem, Thumbnail, Tile, TimeSelector, Title, Toggle, Tooltip, WarningIcon, capitalize, cssClassName, formatDate, isComponentTypeOf, isValidIcon, themeClassConverter, useShowAlert, useTheme };
30377
30484
  //# sourceMappingURL=index.js.map