@dxc-technology/halstack-react 0.0.0-d004266 → 0.0.0-d016030

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -672,15 +672,8 @@ var componentTokens = {
672
672
  dialog: {
673
673
  overlayColor: coreTokens_default.color_grey_800_a,
674
674
  backgroundColor: coreTokens_default.color_white,
675
- closeIconSize: "24px",
676
- closeIconTopPosition: "20px",
677
- closeIconRightPosition: "20px",
678
675
  closeIconBackgroundColor: coreTokens_default.color_transparent,
679
- closeIconBorderColor: coreTokens_default.border_none,
680
676
  closeIconColor: coreTokens_default.color_black,
681
- closeIconBorderThickness: coreTokens_default.border_width_0,
682
- closeIconBorderStyle: coreTokens_default.border_solid,
683
- closeIconBorderRadius: "2px",
684
677
  boxShadowOffsetX: "0px",
685
678
  boxShadowOffsetY: "1px",
686
679
  boxShadowBlur: "3px",
@@ -815,15 +808,15 @@ var componentTokens = {
815
808
  },
816
809
  header: {
817
810
  backgroundColor: coreTokens_default.color_white,
818
- hamburguerFocusColor: coreTokens_default.color_blue_600,
819
- hamburguerFontFamily: coreTokens_default.type_sans,
820
- hamburguerFontStyle: coreTokens_default.type_normal,
821
- hamburguerFontColor: coreTokens_default.color_black,
822
- hamburguerFontSize: "10px",
823
- hamburguerFontWeight: coreTokens_default.type_semibold,
824
- hamburguerTextTransform: coreTokens_default.type_uppercase,
825
- hamburguerIconColor: coreTokens_default.color_black,
826
- hamburguerHoverColor: coreTokens_default.color_grey_200,
811
+ hamburgerFocusColor: coreTokens_default.color_blue_600,
812
+ hamburgerFontFamily: coreTokens_default.type_sans,
813
+ hamburgerFontStyle: coreTokens_default.type_normal,
814
+ hamburgerFontColor: coreTokens_default.color_black,
815
+ hamburgerFontSize: "10px",
816
+ hamburgerFontWeight: coreTokens_default.type_semibold,
817
+ hamburgerTextTransform: coreTokens_default.type_uppercase,
818
+ hamburgerIconColor: coreTokens_default.color_black,
819
+ hamburgerHoverColor: coreTokens_default.color_grey_200,
827
820
  logo: "",
828
821
  logoResponsive: "",
829
822
  logoHeight: "40px",
@@ -1643,7 +1636,7 @@ var defaultTranslatedComponentLabels = {
1643
1636
  },
1644
1637
  header: {
1645
1638
  closeIcon: "Close menu",
1646
- hamburguerTitle: "Menu"
1639
+ hamburgerTitle: "Menu"
1647
1640
  },
1648
1641
  numberInput: {
1649
1642
  valueGreaterThanOrEqualToErrorMessage: (value) => `Value must be greater than or equal to ${value}.`,
@@ -1821,9 +1814,9 @@ var parseTheme = (theme) => {
1821
1814
  headerTokens.backgroundColor = theme.header?.baseColor ?? headerTokens.backgroundColor;
1822
1815
  headerTokens.underlinedColor = theme.header?.accentColor ?? headerTokens.underlinedColor;
1823
1816
  headerTokens.menuBackgroundColor = theme.header?.menuBaseColor ?? headerTokens.menuBackgroundColor;
1824
- headerTokens.hamburguerFontColor = theme.header?.fontColor ?? headerTokens.hamburguerFontColor;
1825
- headerTokens.hamburguerIconColor = theme.header?.hamburguerColor ?? headerTokens.hamburguerIconColor;
1826
- headerTokens.hamburguerHoverColor = addLightness(90, theme.header?.hamburguerColor) ?? headerTokens.hamburguerHoverColor;
1817
+ headerTokens.hamburgerFontColor = theme.header?.fontColor ?? headerTokens.hamburgerFontColor;
1818
+ headerTokens.hamburgerIconColor = theme.header?.hamburgerColor ?? headerTokens.hamburgerIconColor;
1819
+ headerTokens.hamburgerHoverColor = addLightness(90, theme.header?.hamburgerColor) ?? headerTokens.hamburgerHoverColor;
1827
1820
  headerTokens.logo = theme.header?.logo ?? headerTokens.logo;
1828
1821
  headerTokens.logoResponsive = theme.header?.logoResponsive ?? headerTokens.logoResponsive;
1829
1822
  headerTokens.contentColor = theme.header?.contentColor ?? headerTokens.contentColor;
@@ -2005,7 +1998,6 @@ var DxcIcon = ({ icon }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
2005
1998
  IconContainer,
2006
1999
  {
2007
2000
  role: "img",
2008
- "aria-label": icon,
2009
2001
  filled: icon.startsWith("filled_"),
2010
2002
  icon: icon.startsWith("filled_") ? icon.replace(/filled_/g, "") : icon,
2011
2003
  "aria-hidden": "true"
@@ -2036,53 +2028,6 @@ var Icon_default = DxcIcon;
2036
2028
 
2037
2029
  // src/accordion/Accordion.tsx
2038
2030
  var import_jsx_runtime3 = require("react/jsx-runtime");
2039
- var DxcAccordion = ({
2040
- label = "",
2041
- defaultIsExpanded,
2042
- isExpanded,
2043
- icon,
2044
- assistiveText = "",
2045
- disabled = false,
2046
- onChange,
2047
- children,
2048
- margin,
2049
- tabIndex = 0
2050
- }) => {
2051
- const id = (0, import_react2.useId)();
2052
- const [innerIsExpanded, setInnerIsExpanded] = (0, import_react2.useState)(defaultIsExpanded ?? false);
2053
- const colorsTheme = (0, import_react2.useContext)(HalstackContext);
2054
- const handleAccordionState = () => {
2055
- if (isExpanded == null) {
2056
- setInnerIsExpanded((innerIsCurrentlyExpanded) => !innerIsCurrentlyExpanded);
2057
- }
2058
- onChange?.(isExpanded != null ? !isExpanded : !innerIsExpanded);
2059
- };
2060
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_styled_components2.ThemeProvider, { theme: colorsTheme.accordion, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(AccordionContainer, { isExpanded: isExpanded ?? innerIsExpanded, margin, children: [
2061
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(AccordionHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
2062
- AccordionTrigger,
2063
- {
2064
- id: `accordion-${id}`,
2065
- onClick: disabled ? void 0 : handleAccordionState,
2066
- disabled,
2067
- tabIndex: disabled ? -1 : tabIndex,
2068
- "aria-expanded": isExpanded ?? innerIsExpanded,
2069
- "aria-controls": `accordion-panel-${id}`,
2070
- isExpanded: isExpanded ?? innerIsExpanded,
2071
- children: [
2072
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(AccordionInfo, { children: [
2073
- /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(AccordionLabel, { disabled, children: [
2074
- icon && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(IconContainer2, { disabled, children: typeof icon === "string" ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Icon_default, { icon }) : icon }),
2075
- label
2076
- ] }),
2077
- assistiveText && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(AccordionAssistiveText, { disabled, children: assistiveText })
2078
- ] }),
2079
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(CollapseIndicator, { disabled, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Icon_default, { icon: isExpanded ?? innerIsExpanded ? "expand_less" : "expand_more" }) })
2080
- ]
2081
- }
2082
- ) }),
2083
- (isExpanded ?? innerIsExpanded) && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(AccordionPanel, { id: `accordion-panel-${id}`, role: "region", "aria-labelledby": `accordion-${id}`, children })
2084
- ] }) });
2085
- };
2086
2031
  var calculateWidth = (margin) => `calc(100% - ${getMargin(margin, "left")} - ${getMargin(margin, "right")})`;
2087
2032
  var AccordionContainer = import_styled_components2.default.div`
2088
2033
  display: flex;
@@ -2181,6 +2126,53 @@ var AccordionPanel = import_styled_components2.default.div`
2181
2126
  border-bottom-left-radius: ${(props) => props.theme.borderRadius};
2182
2127
  border-bottom-right-radius: ${(props) => props.theme.borderRadius};
2183
2128
  `;
2129
+ var DxcAccordion = ({
2130
+ label = "",
2131
+ defaultIsExpanded = false,
2132
+ isExpanded,
2133
+ icon,
2134
+ assistiveText = "",
2135
+ disabled = false,
2136
+ onChange,
2137
+ children,
2138
+ margin,
2139
+ tabIndex = 0
2140
+ }) => {
2141
+ const id = (0, import_react2.useId)();
2142
+ const [innerIsExpanded, setInnerIsExpanded] = (0, import_react2.useState)(defaultIsExpanded);
2143
+ const colorsTheme = (0, import_react2.useContext)(HalstackContext);
2144
+ const handleAccordionState = () => {
2145
+ if (isExpanded == null) {
2146
+ setInnerIsExpanded((innerIsCurrentlyExpanded) => !innerIsCurrentlyExpanded);
2147
+ }
2148
+ onChange?.(isExpanded != null ? !isExpanded : !innerIsExpanded);
2149
+ };
2150
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_styled_components2.ThemeProvider, { theme: colorsTheme.accordion, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(AccordionContainer, { isExpanded: isExpanded ?? innerIsExpanded, margin, children: [
2151
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(AccordionHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
2152
+ AccordionTrigger,
2153
+ {
2154
+ id: `accordion-${id}`,
2155
+ onClick: disabled ? void 0 : handleAccordionState,
2156
+ disabled,
2157
+ tabIndex: disabled ? -1 : tabIndex,
2158
+ "aria-expanded": isExpanded ?? innerIsExpanded,
2159
+ "aria-controls": `accordion-panel-${id}`,
2160
+ isExpanded: isExpanded ?? innerIsExpanded,
2161
+ children: [
2162
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(AccordionInfo, { children: [
2163
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(AccordionLabel, { disabled, children: [
2164
+ icon && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(IconContainer2, { disabled, children: typeof icon === "string" ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Icon_default, { icon }) : icon }),
2165
+ label
2166
+ ] }),
2167
+ assistiveText && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(AccordionAssistiveText, { disabled, children: assistiveText })
2168
+ ] }),
2169
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(CollapseIndicator, { disabled, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(Icon_default, { icon: isExpanded ?? innerIsExpanded ? "expand_less" : "expand_more" }) })
2170
+ ]
2171
+ }
2172
+ ) }),
2173
+ (isExpanded ?? innerIsExpanded) && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(AccordionPanel, { id: `accordion-panel-${id}`, role: "region", "aria-labelledby": `accordion-${id}`, children })
2174
+ ] }) });
2175
+ };
2184
2176
  var Accordion_default = DxcAccordion;
2185
2177
 
2186
2178
  // src/accordion-group/AccordionGroup.tsx
@@ -4213,7 +4205,7 @@ var DxcHeader = ({
4213
4205
  isResponsive && responsiveContent && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Flex_default, { grow: 1, children: [
4214
4206
  /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(ChildContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(HamburgerTrigger, { tabIndex, onClick: handleMenu, "aria-label": "Show options", children: [
4215
4207
  /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Icon_default, { icon: "menu" }),
4216
- translatedLabels.header.hamburguerTitle
4208
+ translatedLabels.header.hamburgerTitle
4217
4209
  ] }) }),
4218
4210
  /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(ResponsiveMenu, { hasVisibility: isMenuVisible, children: [
4219
4211
  /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Flex_default, { justifyContent: "space-between", alignItems: "center", children: [
@@ -4303,23 +4295,23 @@ var HamburgerTrigger = import_styled_components15.default.button`
4303
4295
  border-radius: 2px;
4304
4296
  background-color: transparent;
4305
4297
  :hover {
4306
- background-color: ${(props) => props.theme.hamburguerHoverColor};
4298
+ background-color: ${(props) => props.theme.hamburgerHoverColor};
4307
4299
  }
4308
4300
  &:focus {
4309
- outline: ${(props) => props.theme.hamburguerFocusColor} auto 1px;
4301
+ outline: ${(props) => props.theme.hamburgerFocusColor} auto 1px;
4310
4302
  }
4311
4303
  & > svg {
4312
- fill: ${(props) => props.theme.hamburguerIconColor};
4304
+ fill: ${(props) => props.theme.hamburgerIconColor};
4313
4305
  }
4314
4306
  & > span {
4315
4307
  font-size: 24px;
4316
4308
  }
4317
- font-family: ${(props) => props.theme.hamburguerFontFamily};
4318
- font-style: ${(props) => props.theme.hamburguerFontStyle};
4319
- font-size: ${(props) => props.theme.hamburguerFontSize};
4320
- text-transform: ${(props) => props.theme.hamburguerTextTransform};
4321
- font-weight: ${(props) => props.theme.hamburguerFontWeight};
4322
- color: ${(props) => props.theme.hamburguerFontColor};
4309
+ font-family: ${(props) => props.theme.hamburgerFontFamily};
4310
+ font-style: ${(props) => props.theme.hamburgerFontStyle};
4311
+ font-size: ${(props) => props.theme.hamburgerFontSize};
4312
+ text-transform: ${(props) => props.theme.hamburgerTextTransform};
4313
+ font-weight: ${(props) => props.theme.hamburgerFontWeight};
4314
+ color: ${(props) => props.theme.hamburgerFontColor};
4323
4315
  `;
4324
4316
  var ResponsiveMenu = import_styled_components15.default.div`
4325
4317
  display: flex;
@@ -4364,7 +4356,7 @@ var CloseAction = import_styled_components15.default.button`
4364
4356
 
4365
4357
  :focus,
4366
4358
  :focus-visible {
4367
- outline: ${(props) => props.theme.hamburguerFocusColor} auto 1px;
4359
+ outline: ${(props) => props.theme.hamburgerFocusColor} auto 1px;
4368
4360
  }
4369
4361
  font-size: 24px;
4370
4362
  svg {
@@ -5464,7 +5456,8 @@ var DxcCheckbox = (0, import_react29.forwardRef)(
5464
5456
  onChange,
5465
5457
  margin,
5466
5458
  size = "fitContent",
5467
- tabIndex = 0
5459
+ tabIndex = 0,
5460
+ ariaLabel = "Checkbox"
5468
5461
  }, ref) => {
5469
5462
  const labelId = `label-checkbox-${(0, import_react29.useId)()}`;
5470
5463
  const [innerChecked, setInnerChecked] = (0, import_react29.useState)(defaultChecked);
@@ -5529,7 +5522,7 @@ var DxcCheckbox = (0, import_react29.forwardRef)(
5529
5522
  "aria-readonly": readOnly,
5530
5523
  "aria-required": !disabled && !optional,
5531
5524
  "aria-labelledby": label ? labelId : void 0,
5532
- "aria-label": label ? void 0 : "Checkbox",
5525
+ "aria-label": label ? void 0 : ariaLabel,
5533
5526
  checked: checked ?? innerChecked,
5534
5527
  disabled,
5535
5528
  readOnly,
@@ -8523,7 +8516,35 @@ var import_styled_components42 = __toESM(require("styled-components"));
8523
8516
  // src/text-input/Suggestion.tsx
8524
8517
  var import_react47 = require("react");
8525
8518
  var import_styled_components41 = __toESM(require("styled-components"));
8526
- var import_jsx_runtime49 = require("react/jsx-runtime");
8519
+
8520
+ // src/text-input/utils.ts
8521
+ var sizes4 = {
8522
+ small: "240px",
8523
+ medium: "360px",
8524
+ large: "480px",
8525
+ fillParent: "100%"
8526
+ };
8527
+ var calculateWidth9 = (margin, size) => size === "fillParent" ? `calc(${sizes4[size]} - ${getMargin(margin, "left")} - ${getMargin(margin, "right")})` : size && sizes4[size];
8528
+ var makeCancelable = (promise) => {
8529
+ let hasCanceled_ = false;
8530
+ const wrappedPromise = new Promise((resolve, reject) => {
8531
+ promise.then(
8532
+ (val) => hasCanceled_ ? reject(Error("Is canceled")) : resolve(val),
8533
+ (promiseError) => hasCanceled_ ? reject(Error("Is canceled")) : reject(promiseError)
8534
+ );
8535
+ });
8536
+ return {
8537
+ promise: wrappedPromise,
8538
+ cancel() {
8539
+ hasCanceled_ = true;
8540
+ }
8541
+ };
8542
+ };
8543
+ var hasSuggestions = (suggestions) => typeof suggestions === "function" || (suggestions ? suggestions.length > 0 : false);
8544
+ var isRequired = (value, optional) => value === "" && !optional;
8545
+ var isLengthIncorrect = (value, minLength, maxLength) => value != null && (minLength != null && value.length < minLength || maxLength != null && value.length > maxLength);
8546
+ var isNumberIncorrect = (value, minNumber, maxNumber) => minNumber != null && value < minNumber || maxNumber != null && value > maxNumber;
8547
+ var patternMismatch = (pattern, value) => pattern != null && !new RegExp(pattern).test(value);
8527
8548
  var transformSpecialChars = (str) => {
8528
8549
  const specialCharsRegex = /[\\*()[\]{}+?/]/;
8529
8550
  let value = str;
@@ -8536,6 +8557,32 @@ var transformSpecialChars = (str) => {
8536
8557
  }
8537
8558
  return value;
8538
8559
  };
8560
+
8561
+ // src/text-input/Suggestion.tsx
8562
+ var import_jsx_runtime49 = require("react/jsx-runtime");
8563
+ var SuggestionContainer = import_styled_components41.default.li`
8564
+ display: flex;
8565
+ padding: 0 0.5rem;
8566
+ line-height: 1.715em;
8567
+ cursor: pointer;
8568
+ box-shadow: inset 0 0 0 2px
8569
+ ${(props) => props.visuallyFocused ? props.theme.focusListOptionBorderColor : "transparent"};
8570
+
8571
+ &:hover {
8572
+ background-color: ${(props) => props.theme.hoverListOptionBackgroundColor};
8573
+ }
8574
+ &:active {
8575
+ background-color: ${(props) => props.theme.activeListOptionBackgroundColor};
8576
+ }
8577
+ `;
8578
+ var StyledSuggestion = import_styled_components41.default.span`
8579
+ width: 100%;
8580
+ overflow: hidden;
8581
+ text-overflow: ellipsis;
8582
+ white-space: nowrap;
8583
+ padding: 0.25rem 0.5rem 0.188rem 0.5rem;
8584
+ ${(props) => props.isLast || props.visuallyFocused ? `border-bottom: 1px solid transparent` : `border-bottom: 1px solid ${props.theme.listOptionDividerColor}`};
8585
+ `;
8539
8586
  var Suggestion = ({
8540
8587
  id,
8541
8588
  value,
@@ -8566,33 +8613,51 @@ var Suggestion = ({
8566
8613
  }
8567
8614
  );
8568
8615
  };
8569
- var SuggestionContainer = import_styled_components41.default.li`
8570
- display: flex;
8571
- padding: 0 0.5rem;
8572
- line-height: 1.715em;
8573
- cursor: pointer;
8574
- box-shadow: inset 0 0 0 2px
8575
- ${(props) => props.visuallyFocused ? props.theme.focusListOptionBorderColor : "transparent"};
8576
-
8577
- &:hover {
8578
- background-color: ${(props) => props.theme.hoverListOptionBackgroundColor};
8579
- }
8580
- &:active {
8581
- background-color: ${(props) => props.theme.activeListOptionBackgroundColor};
8582
- }
8583
- `;
8584
- var StyledSuggestion = import_styled_components41.default.span`
8585
- width: 100%;
8586
- overflow: hidden;
8587
- text-overflow: ellipsis;
8588
- white-space: nowrap;
8589
- padding: 0.25rem 0.5rem 0.188rem 0.5rem;
8590
- ${(props) => props.isLast || props.visuallyFocused ? `border-bottom: 1px solid transparent` : `border-bottom: 1px solid ${props.theme.listOptionDividerColor}`};
8591
- `;
8592
8616
  var Suggestion_default = (0, import_react47.memo)(Suggestion);
8593
8617
 
8594
8618
  // src/text-input/Suggestions.tsx
8595
8619
  var import_jsx_runtime50 = require("react/jsx-runtime");
8620
+ var SuggestionsContainer = import_styled_components42.default.ul`
8621
+ box-sizing: border-box;
8622
+ max-height: 304px;
8623
+ overflow-y: auto;
8624
+ margin: 0;
8625
+ padding: 0.25rem 0;
8626
+ background-color: ${(props) => props.error ? props.theme.errorListDialogBackgroundColor : props.theme.listDialogBackgroundColor};
8627
+ border: 1px solid
8628
+ ${(props) => props.error ? props.theme.errorListDialogBorderColor : props.theme.listDialogBorderColor};
8629
+
8630
+ border-radius: 0.25rem;
8631
+ box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
8632
+ color: ${(props) => props.theme.listOptionFontColor};
8633
+ font-family: ${(props) => props.theme.fontFamily};
8634
+ font-size: ${(props) => props.theme.listOptionFontSize};
8635
+ font-style: ${(props) => props.theme.listOptionFontStyle};
8636
+ font-weight: ${(props) => props.theme.listOptionFontWeight};
8637
+ `;
8638
+ var SuggestionsSystemMessage = import_styled_components42.default.span`
8639
+ display: flex;
8640
+ padding: 0.25rem 1rem;
8641
+ color: ${(props) => props.theme.systemMessageFontColor};
8642
+ line-height: 1.715em;
8643
+ `;
8644
+ var SuggestionsErrorIcon = import_styled_components42.default.span`
8645
+ display: flex;
8646
+ flex-wrap: wrap;
8647
+ align-content: center;
8648
+ margin-right: 0.5rem;
8649
+ height: 18px;
8650
+ width: 18px;
8651
+ font-size: 18px;
8652
+ color: ${(props) => props.theme.errorIconColor};
8653
+ `;
8654
+ var SuggestionsError = import_styled_components42.default.span`
8655
+ display: flex;
8656
+ padding: 0.25rem 1rem;
8657
+ align-items: center;
8658
+ line-height: 1.715em;
8659
+ color: ${(props) => props.theme.errorListDialogFontColor};
8660
+ `;
8596
8661
  var Suggestions = ({
8597
8662
  id,
8598
8663
  value,
@@ -8648,79 +8713,133 @@ var Suggestions = ({
8648
8713
  }
8649
8714
  );
8650
8715
  };
8651
- var SuggestionsContainer = import_styled_components42.default.ul`
8652
- box-sizing: border-box;
8653
- max-height: 304px;
8654
- overflow-y: auto;
8655
- margin: 0;
8656
- padding: 0.25rem 0;
8657
- background-color: ${(props) => props.error ? props.theme.errorListDialogBackgroundColor : props.theme.listDialogBackgroundColor};
8658
- border: 1px solid
8659
- ${(props) => props.error ? props.theme.errorListDialogBorderColor : props.theme.listDialogBorderColor};
8660
-
8661
- border-radius: 0.25rem;
8662
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
8663
- color: ${(props) => props.theme.listOptionFontColor};
8664
- font-family: ${(props) => props.theme.fontFamily};
8665
- font-size: ${(props) => props.theme.listOptionFontSize};
8666
- font-style: ${(props) => props.theme.listOptionFontStyle};
8667
- font-weight: ${(props) => props.theme.listOptionFontWeight};
8668
- `;
8669
- var SuggestionsSystemMessage = import_styled_components42.default.span`
8670
- display: flex;
8671
- padding: 0.25rem 1rem;
8672
- color: ${(props) => props.theme.systemMessageFontColor};
8673
- line-height: 1.715em;
8674
- `;
8675
- var SuggestionsErrorIcon = import_styled_components42.default.span`
8676
- display: flex;
8677
- flex-wrap: wrap;
8678
- align-content: center;
8679
- margin-right: 0.5rem;
8680
- height: 18px;
8681
- width: 18px;
8682
- font-size: 18px;
8683
- color: ${(props) => props.theme.errorIconColor};
8684
- `;
8685
- var SuggestionsError = import_styled_components42.default.span`
8686
- display: flex;
8687
- padding: 0.25rem 1rem;
8688
- align-items: center;
8689
- line-height: 1.715em;
8690
- color: ${(props) => props.theme.errorListDialogFontColor};
8691
- `;
8692
8716
  var Suggestions_default = (0, import_react48.memo)(Suggestions);
8693
8717
 
8694
8718
  // src/text-input/TextInput.tsx
8695
8719
  var import_jsx_runtime51 = require("react/jsx-runtime");
8696
- var sizes4 = {
8697
- small: "240px",
8698
- medium: "360px",
8699
- large: "480px",
8700
- fillParent: "100%"
8701
- };
8720
+ var TextInputContainer = import_styled_components43.default.div`
8721
+ box-sizing: border-box;
8722
+ display: flex;
8723
+ flex-direction: column;
8724
+ width: ${(props) => calculateWidth9(props.margin, props.size)};
8725
+ ${(props) => props.size !== "fillParent" && `min-width:${calculateWidth9(props.margin, props.size)}`};
8726
+ margin: ${(props) => props.margin && typeof props.margin !== "object" ? spaces[props.margin] : "0px"};
8727
+ margin-top: ${(props) => props.margin && typeof props.margin === "object" && props.margin.top ? spaces[props.margin.top] : ""};
8728
+ margin-right: ${(props) => props.margin && typeof props.margin === "object" && props.margin.right ? spaces[props.margin.right] : ""};
8729
+ margin-bottom: ${(props) => props.margin && typeof props.margin === "object" && props.margin.bottom ? spaces[props.margin.bottom] : ""};
8730
+ margin-left: ${(props) => props.margin && typeof props.margin === "object" && props.margin.left ? spaces[props.margin.left] : ""};
8731
+ font-family: ${(props) => props.theme.fontFamily};
8732
+ `;
8733
+ var Label4 = import_styled_components43.default.label`
8734
+ color: ${(props) => props.disabled ? props.theme.disabledLabelFontColor : props.theme.labelFontColor};
8735
+ font-size: ${(props) => props.theme.labelFontSize};
8736
+ font-style: ${(props) => props.theme.labelFontStyle};
8737
+ font-weight: ${(props) => props.theme.labelFontWeight};
8738
+ line-height: ${(props) => props.theme.labelLineHeight};
8739
+ ${(props) => !props.hasHelperText && `margin-bottom: 0.25rem`}
8740
+ `;
8741
+ var OptionalLabel2 = import_styled_components43.default.span`
8742
+ font-weight: ${(props) => props.theme.optionalLabelFontWeight};
8743
+ `;
8744
+ var HelperText2 = import_styled_components43.default.span`
8745
+ color: ${(props) => props.disabled ? props.theme.disabledHelperTextFontColor : props.theme.helperTextFontColor};
8746
+ font-size: ${(props) => props.theme.helperTextFontSize};
8747
+ font-style: ${(props) => props.theme.helperTextFontStyle};
8748
+ font-weight: ${(props) => props.theme.helperTextFontWeight};
8749
+ line-height: ${(props) => props.theme.helperTextLineHeight};
8750
+ margin-bottom: 0.25rem;
8751
+ `;
8752
+ var InputContainer = import_styled_components43.default.div`
8753
+ position: relative;
8754
+ display: flex;
8755
+ align-items: center;
8756
+ height: calc(2.5rem - 2px);
8757
+ padding: 0 0.5rem;
8758
+
8759
+ ${(props) => props.disabled && `background-color: ${props.theme.disabledContainerFillColor};`}
8760
+ box-shadow: 0 0 0 2px transparent;
8761
+ border-radius: 4px;
8762
+ border: 1px solid
8763
+ ${(props) => props.disabled ? props.theme.disabledBorderColor : props.readOnly ? props.theme.readOnlyBorderColor : props.theme.enabledBorderColor};
8764
+ ${(props) => props.error && !props.disabled && `border-color: transparent;
8765
+ box-shadow: 0 0 0 2px ${props.theme.errorBorderColor};
8766
+ `}
8767
+ ${(props) => !props.disabled ? `
8768
+ &:hover {
8769
+ border-color: ${props.error ? "transparent" : props.readOnly ? props.theme.hoverReadOnlyBorderColor : props.theme.hoverBorderColor};
8770
+ ${props.error ? `box-shadow: 0 0 0 2px ${props.theme.hoverErrorBorderColor};` : ""}
8771
+ }
8772
+ &:focus-within {
8773
+ border-color: transparent;
8774
+ box-shadow: 0 0 0 2px ${props.theme.focusBorderColor};
8775
+ }
8776
+ ` : "cursor: not-allowed;"};
8777
+ `;
8778
+ var Input = import_styled_components43.default.input`
8779
+ height: calc(2.5rem - 2px);
8780
+ width: 100%;
8781
+ background: none;
8782
+ border: none;
8783
+ outline: none;
8784
+ padding: 0 0.5rem;
8785
+ overflow: hidden;
8786
+ text-overflow: ellipsis;
8787
+ white-space: nowrap;
8788
+ color: ${(props) => props.disabled ? props.theme.disabledValueFontColor : props.theme.valueFontColor};
8789
+ font-family: ${(props) => props.theme.fontFamily};
8790
+ font-size: ${(props) => props.theme.valueFontSize};
8791
+ font-style: ${(props) => props.theme.valueFontStyle};
8792
+ font-weight: ${(props) => props.theme.valueFontWeight};
8793
+ line-height: 1.5em;
8794
+ ${(props) => props.disabled && `cursor: not-allowed;`}
8795
+
8796
+ ::placeholder {
8797
+ color: ${(props) => props.disabled ? props.theme.disabledPlaceholderFontColor : props.theme.placeholderFontColor};
8798
+ }
8799
+ `;
8800
+ var Prefix = import_styled_components43.default.span`
8801
+ height: 1.5rem;
8802
+ margin-left: 0.25rem;
8803
+ padding-right: ${(props) => props.theme.prefixDividerPaddingRight};
8804
+ ${(props) => {
8805
+ const color = props.disabled ? props.theme.disabledPrefixColor : props.theme.prefixColor;
8806
+ return `color: ${color}; border-right: ${props.theme.prefixDividerBorderWidth} ${props.theme.prefixDividerBorderStyle} ${color};`;
8807
+ }};
8808
+ font-size: 1rem;
8809
+ line-height: 1.5rem;
8810
+ pointer-events: none;
8811
+ `;
8812
+ var Suffix = import_styled_components43.default.span`
8813
+ height: 1.5rem;
8814
+ margin: 0 0.25rem;
8815
+ padding-left: ${(props) => props.theme.suffixDividerPaddingLeft};
8816
+ ${(props) => {
8817
+ const color = props.disabled ? props.theme.disabledSuffixColor : props.theme.suffixColor;
8818
+ return `color: ${color}; border-left: ${props.theme.suffixDividerBorderWidth} ${props.theme.suffixDividerBorderStyle} ${color};`;
8819
+ }};
8820
+ font-size: 1rem;
8821
+ line-height: 1.5rem;
8822
+ pointer-events: none;
8823
+ `;
8824
+ var ErrorIcon2 = import_styled_components43.default.span`
8825
+ display: flex;
8826
+ flex-wrap: wrap;
8827
+ align-content: center;
8828
+ padding: 3px;
8829
+ height: 18px;
8830
+ width: 18px;
8831
+ font-size: 18px;
8832
+ color: ${(props) => props.theme.errorIconColor};
8833
+ `;
8834
+ var ErrorMessageContainer = import_styled_components43.default.span`
8835
+ min-height: 1.5em;
8836
+ color: ${(props) => props.theme.errorMessageColor};
8837
+ font-size: 0.75rem;
8838
+ font-weight: 400;
8839
+ line-height: 1.5em;
8840
+ margin-top: 0.25rem;
8841
+ `;
8702
8842
  var AutosuggestWrapper = ({ condition, wrapper, children }) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_jsx_runtime51.Fragment, { children: condition ? wrapper(children) : children });
8703
- var calculateWidth9 = (margin, size) => size === "fillParent" ? `calc(${sizes4[size]} - ${getMargin(margin, "left")} - ${getMargin(margin, "right")})` : size && sizes4[size];
8704
- var makeCancelable = (promise) => {
8705
- let hasCanceled_ = false;
8706
- const wrappedPromise = new Promise((resolve, reject) => {
8707
- promise.then(
8708
- (val) => hasCanceled_ ? reject(Error("Is canceled")) : resolve(val),
8709
- (promiseError) => hasCanceled_ ? reject(Error("Is canceled")) : reject(promiseError)
8710
- );
8711
- });
8712
- return {
8713
- promise: wrappedPromise,
8714
- cancel() {
8715
- hasCanceled_ = true;
8716
- }
8717
- };
8718
- };
8719
- var hasSuggestions = (suggestions) => typeof suggestions === "function" || (suggestions ? suggestions.length > 0 : false);
8720
- var isRequired = (value, optional) => value === "" && !optional;
8721
- var isLengthIncorrect = (value, minLength, maxLength) => value != null && (minLength != null && value.length < minLength || maxLength != null && value.length > maxLength);
8722
- var isNumberIncorrect = (value, minNumber, maxNumber) => minNumber != null && value < minNumber || maxNumber != null && value > maxNumber;
8723
- var patternMismatch = (pattern, value) => pattern != null && !new RegExp(pattern).test(value);
8724
8843
  var DxcTextInput = (0, import_react49.forwardRef)(
8725
8844
  ({
8726
8845
  label,
@@ -8746,24 +8865,25 @@ var DxcTextInput = (0, import_react49.forwardRef)(
8746
8865
  autocomplete = "off",
8747
8866
  margin,
8748
8867
  size = "medium",
8749
- tabIndex = 0
8868
+ tabIndex = 0,
8869
+ ariaLabel = "Text input"
8750
8870
  }, ref) => {
8751
8871
  const inputId = `input-${(0, import_react49.useId)()}`;
8752
8872
  const autosuggestId = `suggestions-${inputId}`;
8753
8873
  const errorId = `error-${inputId}`;
8874
+ const colorsTheme = (0, import_react49.useContext)(HalstackContext);
8875
+ const translatedLabels = (0, import_react49.useContext)(HalstackLanguageContext);
8876
+ const numberInputContext = (0, import_react49.useContext)(NumberInputContext_default);
8877
+ const inputRef = (0, import_react49.useRef)(null);
8878
+ const inputContainerRef = (0, import_react49.useRef)(null);
8879
+ const actionRef = (0, import_react49.useRef)(null);
8754
8880
  const [innerValue, setInnerValue] = (0, import_react49.useState)(defaultValue);
8755
8881
  const [isOpen, changeIsOpen] = (0, import_react49.useState)(false);
8756
8882
  const [isSearching, changeIsSearching] = (0, import_react49.useState)(false);
8757
8883
  const [isAutosuggestError, changeIsAutosuggestError] = (0, import_react49.useState)(false);
8758
8884
  const [filteredSuggestions, changeFilteredSuggestions] = (0, import_react49.useState)([]);
8759
8885
  const [visualFocusIndex, changeVisualFocusIndex] = (0, import_react49.useState)(-1);
8760
- const inputRef = (0, import_react49.useRef)(null);
8761
- const inputContainerRef = (0, import_react49.useRef)(null);
8762
- const actionRef = (0, import_react49.useRef)(null);
8763
8886
  const width = useWidth_default(inputContainerRef.current);
8764
- const colorsTheme = (0, import_react49.useContext)(HalstackContext);
8765
- const translatedLabels = (0, import_react49.useContext)(HalstackLanguageContext);
8766
- const numberInputContext = (0, import_react49.useContext)(NumberInputContext_default);
8767
8887
  const getNumberErrorMessage = (checkedValue) => numberInputContext?.minNumber != null && checkedValue < numberInputContext?.minNumber ? translatedLabels.numberInput.valueGreaterThanOrEqualToErrorMessage?.(numberInputContext.minNumber) : numberInputContext?.maxNumber != null && checkedValue > numberInputContext?.maxNumber ? translatedLabels.numberInput.valueLessThanOrEqualToErrorMessage?.(numberInputContext.maxNumber) : void 0;
8768
8888
  const openSuggestions = () => {
8769
8889
  if (hasSuggestions(suggestions)) {
@@ -8887,7 +9007,7 @@ var DxcTextInput = (0, import_react49.forwardRef)(
8887
9007
  openSuggestions();
8888
9008
  if (!isAutosuggestError && !isSearching && filteredSuggestions.length > 0) {
8889
9009
  changeVisualFocusIndex(
8890
- (visualFocusedSuggIndex) => visualFocusedSuggIndex < filteredSuggestions.length - 1 ? visualFocusedSuggIndex + 1 : visualFocusedSuggIndex === filteredSuggestions.length - 1 ? 0 : -1
9010
+ (visualFocusedSuggestionIndex) => visualFocusedSuggestionIndex < filteredSuggestions.length - 1 ? visualFocusedSuggestionIndex + 1 : visualFocusedSuggestionIndex === filteredSuggestions.length - 1 ? 0 : -1
8891
9011
  );
8892
9012
  }
8893
9013
  }
@@ -8901,7 +9021,7 @@ var DxcTextInput = (0, import_react49.forwardRef)(
8901
9021
  openSuggestions();
8902
9022
  if (!isAutosuggestError && !isSearching && filteredSuggestions.length > 0) {
8903
9023
  changeVisualFocusIndex(
8904
- (visualFocusedSuggIndex) => visualFocusedSuggIndex === 0 || visualFocusedSuggIndex === -1 ? filteredSuggestions.length > 0 ? filteredSuggestions.length - 1 : (suggestions?.length ?? 0) - 1 : visualFocusedSuggIndex - 1
9024
+ (visualFocusedSuggestionIndex) => visualFocusedSuggestionIndex === 0 || visualFocusedSuggestionIndex === -1 ? filteredSuggestions.length > 0 ? filteredSuggestions.length - 1 : (suggestions?.length ?? 0) - 1 : visualFocusedSuggestionIndex - 1
8905
9025
  );
8906
9026
  }
8907
9027
  }
@@ -9106,7 +9226,8 @@ var DxcTextInput = (0, import_react49.forwardRef)(
9106
9226
  "aria-activedescendant": hasSuggestions(suggestions) && isOpen && visualFocusIndex !== -1 ? `suggestion-${visualFocusIndex}` : void 0,
9107
9227
  "aria-invalid": !!error,
9108
9228
  "aria-errormessage": error ? errorId : void 0,
9109
- "aria-required": !disabled && !optional
9229
+ "aria-required": !disabled && !optional,
9230
+ "aria-label": label ? void 0 : ariaLabel
9110
9231
  }
9111
9232
  ),
9112
9233
  !disabled && error && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ErrorIcon2, { "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Icon_default, { icon: "filled_error" }) }),
@@ -9165,128 +9286,6 @@ var DxcTextInput = (0, import_react49.forwardRef)(
9165
9286
  ] }) });
9166
9287
  }
9167
9288
  );
9168
- var TextInputContainer = import_styled_components43.default.div`
9169
- box-sizing: border-box;
9170
- display: flex;
9171
- flex-direction: column;
9172
- width: ${(props) => calculateWidth9(props.margin, props.size)};
9173
- ${(props) => props.size !== "fillParent" && `min-width:${calculateWidth9(props.margin, props.size)}`};
9174
- margin: ${(props) => props.margin && typeof props.margin !== "object" ? spaces[props.margin] : "0px"};
9175
- margin-top: ${(props) => props.margin && typeof props.margin === "object" && props.margin.top ? spaces[props.margin.top] : ""};
9176
- margin-right: ${(props) => props.margin && typeof props.margin === "object" && props.margin.right ? spaces[props.margin.right] : ""};
9177
- margin-bottom: ${(props) => props.margin && typeof props.margin === "object" && props.margin.bottom ? spaces[props.margin.bottom] : ""};
9178
- margin-left: ${(props) => props.margin && typeof props.margin === "object" && props.margin.left ? spaces[props.margin.left] : ""};
9179
- font-family: ${(props) => props.theme.fontFamily};
9180
- `;
9181
- var Label4 = import_styled_components43.default.label`
9182
- color: ${(props) => props.disabled ? props.theme.disabledLabelFontColor : props.theme.labelFontColor};
9183
- font-size: ${(props) => props.theme.labelFontSize};
9184
- font-style: ${(props) => props.theme.labelFontStyle};
9185
- font-weight: ${(props) => props.theme.labelFontWeight};
9186
- line-height: ${(props) => props.theme.labelLineHeight};
9187
- ${(props) => !props.hasHelperText && `margin-bottom: 0.25rem`}
9188
- `;
9189
- var OptionalLabel2 = import_styled_components43.default.span`
9190
- font-weight: ${(props) => props.theme.optionalLabelFontWeight};
9191
- `;
9192
- var HelperText2 = import_styled_components43.default.span`
9193
- color: ${(props) => props.disabled ? props.theme.disabledHelperTextFontColor : props.theme.helperTextFontColor};
9194
- font-size: ${(props) => props.theme.helperTextFontSize};
9195
- font-style: ${(props) => props.theme.helperTextFontStyle};
9196
- font-weight: ${(props) => props.theme.helperTextFontWeight};
9197
- line-height: ${(props) => props.theme.helperTextLineHeight};
9198
- margin-bottom: 0.25rem;
9199
- `;
9200
- var InputContainer = import_styled_components43.default.div`
9201
- position: relative;
9202
- display: flex;
9203
- align-items: center;
9204
- height: calc(2.5rem - 2px);
9205
- padding: 0 0.5rem;
9206
-
9207
- ${(props) => props.disabled && `background-color: ${props.theme.disabledContainerFillColor};`}
9208
- box-shadow: 0 0 0 2px transparent;
9209
- border-radius: 4px;
9210
- border: 1px solid
9211
- ${(props) => props.disabled ? props.theme.disabledBorderColor : props.readOnly ? props.theme.readOnlyBorderColor : props.theme.enabledBorderColor};
9212
- ${(props) => props.error && !props.disabled && `border-color: transparent;
9213
- box-shadow: 0 0 0 2px ${props.theme.errorBorderColor};
9214
- `}
9215
- ${(props) => !props.disabled ? `
9216
- &:hover {
9217
- border-color: ${props.error ? "transparent" : props.readOnly ? props.theme.hoverReadOnlyBorderColor : props.theme.hoverBorderColor};
9218
- ${props.error ? `box-shadow: 0 0 0 2px ${props.theme.hoverErrorBorderColor};` : ""}
9219
- }
9220
- &:focus-within {
9221
- border-color: transparent;
9222
- box-shadow: 0 0 0 2px ${props.theme.focusBorderColor};
9223
- }
9224
- ` : "cursor: not-allowed;"};
9225
- `;
9226
- var Input = import_styled_components43.default.input`
9227
- height: calc(2.5rem - 2px);
9228
- width: 100%;
9229
- background: none;
9230
- border: none;
9231
- outline: none;
9232
- padding: 0 0.5rem;
9233
- overflow: hidden;
9234
- text-overflow: ellipsis;
9235
- white-space: nowrap;
9236
- color: ${(props) => props.disabled ? props.theme.disabledValueFontColor : props.theme.valueFontColor};
9237
- font-family: ${(props) => props.theme.fontFamily};
9238
- font-size: ${(props) => props.theme.valueFontSize};
9239
- font-style: ${(props) => props.theme.valueFontStyle};
9240
- font-weight: ${(props) => props.theme.valueFontWeight};
9241
- line-height: 1.5em;
9242
- ${(props) => props.disabled && `cursor: not-allowed;`}
9243
-
9244
- ::placeholder {
9245
- color: ${(props) => props.disabled ? props.theme.disabledPlaceholderFontColor : props.theme.placeholderFontColor};
9246
- }
9247
- `;
9248
- var Prefix = import_styled_components43.default.span`
9249
- height: 1.5rem;
9250
- margin-left: 0.25rem;
9251
- padding-right: ${(props) => props.theme.prefixDividerPaddingRight};
9252
- ${(props) => {
9253
- const color = props.disabled ? props.theme.disabledPrefixColor : props.theme.prefixColor;
9254
- return `color: ${color}; border-right: ${props.theme.prefixDividerBorderWidth} ${props.theme.prefixDividerBorderStyle} ${color};`;
9255
- }};
9256
- font-size: 1rem;
9257
- line-height: 1.5rem;
9258
- pointer-events: none;
9259
- `;
9260
- var Suffix = import_styled_components43.default.span`
9261
- height: 1.5rem;
9262
- margin: 0 0.25rem;
9263
- padding-left: ${(props) => props.theme.suffixDividerPaddingLeft};
9264
- ${(props) => {
9265
- const color = props.disabled ? props.theme.disabledSuffixColor : props.theme.suffixColor;
9266
- return `color: ${color}; border-left: ${props.theme.suffixDividerBorderWidth} ${props.theme.suffixDividerBorderStyle} ${color};`;
9267
- }};
9268
- font-size: 1rem;
9269
- line-height: 1.5rem;
9270
- pointer-events: none;
9271
- `;
9272
- var ErrorIcon2 = import_styled_components43.default.span`
9273
- display: flex;
9274
- flex-wrap: wrap;
9275
- align-content: center;
9276
- padding: 3px;
9277
- height: 18px;
9278
- width: 18px;
9279
- font-size: 18px;
9280
- color: ${(props) => props.theme.errorIconColor};
9281
- `;
9282
- var ErrorMessageContainer = import_styled_components43.default.span`
9283
- min-height: 1.5em;
9284
- color: ${(props) => props.theme.errorMessageColor};
9285
- font-size: 0.75rem;
9286
- font-weight: 400;
9287
- line-height: 1.5em;
9288
- margin-top: 0.25rem;
9289
- `;
9290
9289
  var TextInput_default = DxcTextInput;
9291
9290
 
9292
9291
  // src/date-input/DateInput.tsx
@@ -9331,7 +9330,8 @@ var DxcDateInput = (0, import_react50.forwardRef)(
9331
9330
  autocomplete,
9332
9331
  margin,
9333
9332
  size,
9334
- tabIndex
9333
+ tabIndex,
9334
+ ariaLabel = "Date input"
9335
9335
  }, ref) => {
9336
9336
  const [innerValue, setInnerValue] = (0, import_react50.useState)(defaultValue);
9337
9337
  const [isOpen, setIsOpen] = (0, import_react50.useState)(false);
@@ -9498,7 +9498,8 @@ var DxcDateInput = (0, import_react50.forwardRef)(
9498
9498
  autocomplete,
9499
9499
  size,
9500
9500
  tabIndex,
9501
- ref: dateRef
9501
+ ref: dateRef,
9502
+ ariaLabel
9502
9503
  }
9503
9504
  ) }),
9504
9505
  /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Popover4.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
@@ -9605,44 +9606,17 @@ var Dialog = import_styled_components45.default.div`
9605
9606
  min-width: 92%;
9606
9607
  }
9607
9608
  `;
9608
- var CloseIconAction = import_styled_components45.default.button`
9609
- all: unset;
9609
+ var CloseIconActionContainer = import_styled_components45.default.div`
9610
9610
  position: absolute;
9611
9611
  top: 24px;
9612
9612
  right: 24px;
9613
- display: flex;
9614
- align-items: center;
9615
- justify-content: center;
9616
- background-color: ${(props) => props.theme.closeIconBackgroundColor};
9617
- box-shadow: 0 0 0 2px transparent;
9618
- color: ${(props) => props.theme.closeIconColor};
9619
- border-radius: ${(props) => props.theme.closeIconBorderRadius};
9620
- border-width: ${(props) => props.theme.closeIconBorderThickness};
9621
- border-style: ${(props) => props.theme.closeIconBorderStyle};
9622
- border-color: ${(props) => props.theme.closeIconBorderColor};
9623
- cursor: pointer;
9624
- z-index: 1;
9625
-
9626
- &:focus {
9627
- outline: none;
9628
- box-shadow: 0 0 0 2px #0095ff;
9629
- }
9630
- &:hover {
9631
- background-color: #f2f2f2;
9632
- }
9633
- &:active {
9634
- background-color: #cccccc;
9635
- }
9636
- span {
9637
- font-size: ${(props) => props.theme.closeIconSize};
9638
- }
9639
9613
  `;
9640
9614
  var DxcDialog = ({
9615
+ children,
9641
9616
  closable = true,
9617
+ onBackgroundClick,
9642
9618
  onCloseClick,
9643
- children,
9644
9619
  overlay = true,
9645
- onBackgroundClick,
9646
9620
  tabIndex = 0
9647
9621
  }) => {
9648
9622
  const colorsTheme = (0, import_react51.useContext)(HalstackContext);
@@ -9663,25 +9637,25 @@ var DxcDialog = ({
9663
9637
  /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(BodyStyle2, {}),
9664
9638
  (0, import_react_dom2.createPortal)(
9665
9639
  /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(DialogContainer, { children: [
9666
- overlay && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
9667
- Overlay3,
9668
- {
9669
- onClick: () => {
9670
- onBackgroundClick?.();
9671
- }
9672
- }
9673
- ),
9674
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Dialog, { role: "dialog", "aria-modal": overlay, closable, "aria-label": "Dialog", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(FocusLock_default, { children: [
9640
+ overlay && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Overlay3, { onClick: onBackgroundClick }),
9641
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Dialog, { "aria-label": "Dialog", "aria-modal": overlay, closable, role: "dialog", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(FocusLock_default, { children: [
9675
9642
  children,
9676
9643
  closable && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
9677
- CloseIconAction,
9644
+ import_styled_components45.ThemeProvider,
9678
9645
  {
9679
- onClick: () => {
9680
- onCloseClick?.();
9646
+ theme: {
9647
+ actionBackgroundColor: colorsTheme.dialog.closeIconBackgroundColor,
9648
+ actionIconColor: colorsTheme.dialog.closeIconColor
9681
9649
  },
9682
- "aria-label": translatedLabels.dialog.closeIconAriaLabel,
9683
- tabIndex,
9684
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Icon_default, { icon: "close" })
9650
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(CloseIconActionContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
9651
+ ActionIcon_default,
9652
+ {
9653
+ icon: "close",
9654
+ onClick: onCloseClick,
9655
+ tabIndex,
9656
+ title: translatedLabels.dialog.closeIconAriaLabel
9657
+ }
9658
+ ) })
9685
9659
  }
9686
9660
  )
9687
9661
  ] }) })
@@ -9700,39 +9674,6 @@ var import_styled_components47 = __toESM(require("styled-components"));
9700
9674
  var import_react52 = require("react");
9701
9675
  var import_styled_components46 = __toESM(require("styled-components"));
9702
9676
  var import_jsx_runtime54 = require("react/jsx-runtime");
9703
- var FileItem = ({
9704
- fileName = "",
9705
- error = "",
9706
- singleFileMode,
9707
- showPreview,
9708
- preview,
9709
- type,
9710
- onDelete,
9711
- tabIndex
9712
- }) => {
9713
- const colorsTheme = (0, import_react52.useContext)(HalstackContext);
9714
- const translatedLabels = (0, import_react52.useContext)(HalstackLanguageContext);
9715
- const getIconAriaLabel = () => type.includes("video") ? "video" : type.includes("audio") ? "audio" : "file";
9716
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_styled_components46.ThemeProvider, { theme: colorsTheme.fileInput, children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(MainContainer3, { error, singleFileMode, showPreview, children: [
9717
- showPreview && (type.includes("image") ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ImagePreview, { src: preview, alt: fileName }) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(IconPreview, { error, role: "document", "aria-label": getIconAriaLabel(), children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Icon_default, { icon: preview }) })),
9718
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(FileItemContent, { children: [
9719
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(FileName, { children: fileName }),
9720
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Flex_default, { gap: "0.25rem", children: [
9721
- error && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ErrorIcon3, { children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Icon_default, { icon: "filled_error" }) }),
9722
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
9723
- ActionIcon_default,
9724
- {
9725
- onClick: () => onDelete(fileName),
9726
- icon: "close",
9727
- tabIndex,
9728
- title: translatedLabels.fileInput.deleteFileActionTitle
9729
- }
9730
- )
9731
- ] }),
9732
- error && !singleFileMode && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ErrorMessage, { role: "alert", "aria-live": "assertive", children: error })
9733
- ] })
9734
- ] }) });
9735
- };
9736
9677
  var MainContainer3 = import_styled_components46.default.div`
9737
9678
  box-sizing: border-box;
9738
9679
  display: flex;
@@ -9804,10 +9745,41 @@ var ErrorMessage = import_styled_components46.default.span`
9804
9745
  font-weight: ${(props) => props.theme.errorMessageFontWeight};
9805
9746
  line-height: ${(props) => props.theme.errorMessageLineHeight};
9806
9747
  `;
9748
+ var FileItem = ({
9749
+ fileName = "",
9750
+ error = "",
9751
+ singleFileMode,
9752
+ showPreview,
9753
+ preview,
9754
+ type,
9755
+ onDelete,
9756
+ tabIndex
9757
+ }) => {
9758
+ const translatedLabels = (0, import_react52.useContext)(HalstackLanguageContext);
9759
+ const fileNameId = (0, import_react52.useId)();
9760
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(MainContainer3, { error, role: "listitem", singleFileMode, showPreview, children: [
9761
+ showPreview && (type.includes("image") ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ImagePreview, { src: preview, alt: fileName }) : /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(IconPreview, { "aria-labelledby": fileNameId, error, role: "img", children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Icon_default, { icon: preview }) })),
9762
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(FileItemContent, { children: [
9763
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(FileName, { id: fileNameId, children: fileName }),
9764
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Flex_default, { gap: "0.25rem", children: [
9765
+ error && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ErrorIcon3, { children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Icon_default, { icon: "filled_error" }) }),
9766
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
9767
+ ActionIcon_default,
9768
+ {
9769
+ onClick: () => onDelete(fileName),
9770
+ icon: "close",
9771
+ tabIndex,
9772
+ title: translatedLabels.fileInput.deleteFileActionTitle
9773
+ }
9774
+ )
9775
+ ] }),
9776
+ error && !singleFileMode && /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(ErrorMessage, { role: "alert", "aria-live": "assertive", children: error })
9777
+ ] })
9778
+ ] });
9779
+ };
9807
9780
  var FileItem_default = (0, import_react52.memo)(FileItem);
9808
9781
 
9809
- // src/file-input/FileInput.tsx
9810
- var import_jsx_runtime55 = require("react/jsx-runtime");
9782
+ // src/file-input/utils.ts
9811
9783
  var getFilePreview = async (file) => {
9812
9784
  if (file.type.includes("video")) return "filled_movie";
9813
9785
  else if (file.type.includes("audio")) return "music_video";
@@ -9827,6 +9799,101 @@ var isFileIncluded = (file, fileList) => {
9827
9799
  ({ name, size, type, lastModified, webkitRelativePath }) => name === file.file.name && size === file.file.size && type === file.file.type && lastModified === file.file.lastModified && webkitRelativePath === file.file.webkitRelativePath
9828
9800
  );
9829
9801
  };
9802
+
9803
+ // src/file-input/FileInput.tsx
9804
+ var import_jsx_runtime55 = require("react/jsx-runtime");
9805
+ var FileInputContainer = import_styled_components47.default.div`
9806
+ display: flex;
9807
+ flex-direction: column;
9808
+ margin: ${(props) => props.margin && typeof props.margin !== "object" ? spaces[props.margin] : "0px"};
9809
+ margin-top: ${(props) => props.margin && typeof props.margin === "object" && props.margin.top ? spaces[props.margin.top] : ""};
9810
+ margin-right: ${(props) => props.margin && typeof props.margin === "object" && props.margin.right ? spaces[props.margin.right] : ""};
9811
+ margin-bottom: ${(props) => props.margin && typeof props.margin === "object" && props.margin.bottom ? spaces[props.margin.bottom] : ""};
9812
+ margin-left: ${(props) => props.margin && typeof props.margin === "object" && props.margin.left ? spaces[props.margin.left] : ""};
9813
+ width: fit-content;
9814
+ `;
9815
+ var Label6 = import_styled_components47.default.label`
9816
+ color: ${(props) => props.disabled ? props.theme.disabledLabelFontColor : props.theme.labelFontColor};
9817
+ font-family: ${(props) => props.theme.labelFontFamily};
9818
+ font-size: ${(props) => props.theme.labelFontSize};
9819
+ font-weight: ${(props) => props.theme.labelFontWeight};
9820
+ line-height: ${(props) => props.theme.labelLineHeight};
9821
+ `;
9822
+ var HelperText4 = import_styled_components47.default.span`
9823
+ color: ${(props) => props.disabled ? props.theme.disabledHelperTextFontColor : props.theme.helperTextFontColor};
9824
+ font-family: ${(props) => props.theme.helperTextFontFamily};
9825
+ font-size: ${(props) => props.theme.helperTextFontSize};
9826
+ font-weight: ${(props) => props.theme.helperTextFontWeight};
9827
+ line-height: ${(props) => props.theme.helperTextLineHeight};
9828
+ `;
9829
+ var FileContainer = import_styled_components47.default.div`
9830
+ display: flex;
9831
+ ${(props) => props.singleFileMode ? "flex-direction: row; column-gap: 0.25rem;" : "flex-direction: column; row-gap: 0.25rem;"}
9832
+ margin-top: 0.25rem;
9833
+ `;
9834
+ var ValueInput2 = import_styled_components47.default.input`
9835
+ display: none;
9836
+ `;
9837
+ var FileItemListContainer = import_styled_components47.default.div`
9838
+ display: flex;
9839
+ flex-direction: column;
9840
+ row-gap: 0.25rem;
9841
+ `;
9842
+ var Container2 = import_styled_components47.default.div`
9843
+ display: flex;
9844
+ flex-direction: column;
9845
+ row-gap: 0.25rem;
9846
+ margin-top: 0.25rem;
9847
+ `;
9848
+ var DragDropArea = import_styled_components47.default.div`
9849
+ box-sizing: border-box;
9850
+ display: flex;
9851
+ ${(props) => props.mode === "filedrop" ? "flex-direction: row; column-gap: 0.75rem; height: 48px;" : "justify-content: center; flex-direction: column; row-gap: 0.5rem; height: 160px;"}
9852
+ align-items: center;
9853
+ width: 320px;
9854
+ padding: ${(props) => props.mode === "filedrop" ? `calc(4px - ${props.theme.dropBorderThickness}) 1rem calc(4px - ${props.theme.dropBorderThickness}) calc(4px - ${props.theme.dropBorderThickness})` : "1rem"};
9855
+ overflow: hidden;
9856
+ box-shadow: 0 0 0 2px transparent;
9857
+ border-radius: ${(props) => props.theme.dropBorderRadius};
9858
+ border-width: ${(props) => props.theme.dropBorderThickness};
9859
+ border-style: ${(props) => props.theme.dropBorderStyle};
9860
+ border-color: ${(props) => props.disabled ? props.theme.disabledDropBorderColor : props.theme.dropBorderColor};
9861
+ ${(props) => props.isDragging && `
9862
+ background-color: ${props.theme.dragoverDropBackgroundColor};
9863
+ border-color: transparent;
9864
+ box-shadow: 0 0 0 2px ${props.theme.focusDropBorderColor};
9865
+ `}
9866
+ cursor: ${(props) => props.disabled && "not-allowed"};
9867
+ `;
9868
+ var DropzoneLabel = import_styled_components47.default.div`
9869
+ display: -webkit-box;
9870
+ -webkit-box-orient: vertical;
9871
+ overflow: hidden;
9872
+ text-overflow: ellipsis;
9873
+ -webkit-line-clamp: 3;
9874
+ text-align: center;
9875
+ color: ${(props) => props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor};
9876
+ font-family: ${(props) => props.theme.dropLabelFontFamily};
9877
+ font-size: ${(props) => props.theme.dropLabelFontSize};
9878
+ font-weight: ${(props) => props.theme.dropLabelFontWeight};
9879
+ `;
9880
+ var FiledropLabel = import_styled_components47.default.span`
9881
+ overflow: hidden;
9882
+ white-space: nowrap;
9883
+ text-overflow: ellipsis;
9884
+ color: ${(props) => props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor};
9885
+ font-family: ${(props) => props.theme.dropLabelFontFamily};
9886
+ font-size: ${(props) => props.theme.dropLabelFontSize};
9887
+ font-weight: ${(props) => props.theme.dropLabelFontWeight};
9888
+ `;
9889
+ var ErrorMessage2 = import_styled_components47.default.div`
9890
+ color: ${(props) => props.theme.errorMessageFontColor};
9891
+ font-family: ${(props) => props.theme.errorMessageFontFamily};
9892
+ font-size: ${(props) => props.theme.errorMessageFontSize};
9893
+ font-weight: ${(props) => props.theme.errorMessageFontWeight};
9894
+ line-height: ${(props) => props.theme.errorMessageLineHeight};
9895
+ margin-top: 0.25rem;
9896
+ `;
9830
9897
  var DxcFileInput = (0, import_react53.forwardRef)(
9831
9898
  ({
9832
9899
  mode = "file",
@@ -9965,7 +10032,7 @@ var DxcFileInput = (0, import_react53.forwardRef)(
9965
10032
  tabIndex
9966
10033
  }
9967
10034
  ),
9968
- files.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(FileItemListContainer, { children: files.map((file, index) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
10035
+ files.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(FileItemListContainer, { role: "list", children: files.map((file, index) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
9969
10036
  FileItem_default,
9970
10037
  {
9971
10038
  fileName: file.file.name,
@@ -10017,7 +10084,7 @@ var DxcFileInput = (0, import_react53.forwardRef)(
10017
10084
  ]
10018
10085
  }
10019
10086
  ),
10020
- files.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(FileItemListContainer, { children: files.map((file, index) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
10087
+ files.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(FileItemListContainer, { role: "list", children: files.map((file, index) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
10021
10088
  FileItem_default,
10022
10089
  {
10023
10090
  fileName: file.file.name,
@@ -10036,98 +10103,6 @@ var DxcFileInput = (0, import_react53.forwardRef)(
10036
10103
  ] }) });
10037
10104
  }
10038
10105
  );
10039
- var FileInputContainer = import_styled_components47.default.div`
10040
- display: flex;
10041
- flex-direction: column;
10042
- margin: ${(props) => props.margin && typeof props.margin !== "object" ? spaces[props.margin] : "0px"};
10043
- margin-top: ${(props) => props.margin && typeof props.margin === "object" && props.margin.top ? spaces[props.margin.top] : ""};
10044
- margin-right: ${(props) => props.margin && typeof props.margin === "object" && props.margin.right ? spaces[props.margin.right] : ""};
10045
- margin-bottom: ${(props) => props.margin && typeof props.margin === "object" && props.margin.bottom ? spaces[props.margin.bottom] : ""};
10046
- margin-left: ${(props) => props.margin && typeof props.margin === "object" && props.margin.left ? spaces[props.margin.left] : ""};
10047
- width: fit-content;
10048
- `;
10049
- var Label6 = import_styled_components47.default.label`
10050
- color: ${(props) => props.disabled ? props.theme.disabledLabelFontColor : props.theme.labelFontColor};
10051
- font-family: ${(props) => props.theme.labelFontFamily};
10052
- font-size: ${(props) => props.theme.labelFontSize};
10053
- font-weight: ${(props) => props.theme.labelFontWeight};
10054
- line-height: ${(props) => props.theme.labelLineHeight};
10055
- `;
10056
- var HelperText4 = import_styled_components47.default.span`
10057
- color: ${(props) => props.disabled ? props.theme.disabledHelperTextFontColor : props.theme.helperTextFontColor};
10058
- font-family: ${(props) => props.theme.helperTextFontFamily};
10059
- font-size: ${(props) => props.theme.helperTextFontSize};
10060
- font-weight: ${(props) => props.theme.helperTextFontWeight};
10061
- line-height: ${(props) => props.theme.helperTextLineHeight};
10062
- `;
10063
- var FileContainer = import_styled_components47.default.div`
10064
- display: flex;
10065
- ${(props) => props.singleFileMode ? "flex-direction: row; column-gap: 0.25rem;" : "flex-direction: column; row-gap: 0.25rem;"}
10066
- margin-top: 0.25rem;
10067
- `;
10068
- var ValueInput2 = import_styled_components47.default.input`
10069
- display: none;
10070
- `;
10071
- var FileItemListContainer = import_styled_components47.default.div`
10072
- display: flex;
10073
- flex-direction: column;
10074
- row-gap: 0.25rem;
10075
- `;
10076
- var Container2 = import_styled_components47.default.div`
10077
- display: flex;
10078
- flex-direction: column;
10079
- row-gap: 0.25rem;
10080
- margin-top: 0.25rem;
10081
- `;
10082
- var DragDropArea = import_styled_components47.default.div`
10083
- box-sizing: border-box;
10084
- display: flex;
10085
- ${(props) => props.mode === "filedrop" ? "flex-direction: row; column-gap: 0.75rem; height: 48px;" : "justify-content: center; flex-direction: column; row-gap: 0.5rem; height: 160px;"}
10086
- align-items: center;
10087
- width: 320px;
10088
- padding: ${(props) => props.mode === "filedrop" ? `calc(4px - ${props.theme.dropBorderThickness}) 1rem calc(4px - ${props.theme.dropBorderThickness}) calc(4px - ${props.theme.dropBorderThickness})` : "1rem"};
10089
- overflow: hidden;
10090
- box-shadow: 0 0 0 2px transparent;
10091
- border-radius: ${(props) => props.theme.dropBorderRadius};
10092
- border-width: ${(props) => props.theme.dropBorderThickness};
10093
- border-style: ${(props) => props.theme.dropBorderStyle};
10094
- border-color: ${(props) => props.disabled ? props.theme.disabledDropBorderColor : props.theme.dropBorderColor};
10095
- ${(props) => props.isDragging && `
10096
- background-color: ${props.theme.dragoverDropBackgroundColor};
10097
- border-color: transparent;
10098
- box-shadow: 0 0 0 2px ${props.theme.focusDropBorderColor};
10099
- `}
10100
- cursor: ${(props) => props.disabled && "not-allowed"};
10101
- `;
10102
- var DropzoneLabel = import_styled_components47.default.div`
10103
- display: -webkit-box;
10104
- -webkit-box-orient: vertical;
10105
- overflow: hidden;
10106
- text-overflow: ellipsis;
10107
- -webkit-line-clamp: 3;
10108
- text-align: center;
10109
- color: ${(props) => props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor};
10110
- font-family: ${(props) => props.theme.dropLabelFontFamily};
10111
- font-size: ${(props) => props.theme.dropLabelFontSize};
10112
- font-weight: ${(props) => props.theme.dropLabelFontWeight};
10113
- `;
10114
- var FiledropLabel = import_styled_components47.default.span`
10115
- overflow: hidden;
10116
- white-space: nowrap;
10117
- text-overflow: ellipsis;
10118
- color: ${(props) => props.disabled ? props.theme.disabledDropLabelFontColor : props.theme.dropLabelFontColor};
10119
- font-family: ${(props) => props.theme.dropLabelFontFamily};
10120
- font-size: ${(props) => props.theme.dropLabelFontSize};
10121
- font-weight: ${(props) => props.theme.dropLabelFontWeight};
10122
- `;
10123
- var ErrorMessage2 = import_styled_components47.default.div`
10124
- color: ${(props) => props.theme.errorMessageFontColor};
10125
- font-family: ${(props) => props.theme.errorMessageFontFamily};
10126
- font-size: ${(props) => props.theme.errorMessageFontSize};
10127
- font-weight: ${(props) => props.theme.errorMessageFontWeight};
10128
- line-height: ${(props) => props.theme.errorMessageLineHeight};
10129
- margin-top: 0.25rem;
10130
- `;
10131
10106
  var FileInput_default = DxcFileInput;
10132
10107
 
10133
10108
  // src/grid/Grid.tsx
@@ -10683,7 +10658,8 @@ var DxcNumberInput = (0, import_react60.forwardRef)(
10683
10658
  autocomplete,
10684
10659
  margin,
10685
10660
  size,
10686
- tabIndex
10661
+ tabIndex,
10662
+ ariaLabel = "Number input"
10687
10663
  }, ref) => {
10688
10664
  const numberInputRef = (0, import_react60.useRef)(null);
10689
10665
  const contextValue = (0, import_react60.useMemo)(
@@ -10726,7 +10702,8 @@ var DxcNumberInput = (0, import_react60.forwardRef)(
10726
10702
  margin,
10727
10703
  size,
10728
10704
  tabIndex,
10729
- ref
10705
+ ref,
10706
+ ariaLabel
10730
10707
  }
10731
10708
  ) }) });
10732
10709
  }
@@ -10778,10 +10755,9 @@ var import_jsx_runtime65 = require("react/jsx-runtime");
10778
10755
  var setInputType = (type, element) => {
10779
10756
  element?.getElementsByTagName("input")[0]?.setAttribute("type", type);
10780
10757
  };
10781
- var setAriaAttributes = (ariaExpanded, ariaLabel, element) => {
10758
+ var setAriaAttributes = (ariaExpanded, element) => {
10782
10759
  const buttonElement = element?.getElementsByTagName("button")[0];
10783
10760
  buttonElement?.setAttribute("aria-expanded", ariaExpanded);
10784
- buttonElement?.setAttribute("aria-label", ariaLabel);
10785
10761
  };
10786
10762
  var DxcPasswordInput = (0, import_react62.forwardRef)(
10787
10763
  ({
@@ -10799,7 +10775,8 @@ var DxcPasswordInput = (0, import_react62.forwardRef)(
10799
10775
  autocomplete = "off",
10800
10776
  margin,
10801
10777
  size = "medium",
10802
- tabIndex = 0
10778
+ tabIndex = 0,
10779
+ ariaLabel = "Password input"
10803
10780
  }, ref) => {
10804
10781
  const [isPasswordVisible, setIsPasswordVisible] = (0, import_react62.useState)(false);
10805
10782
  const inputRef = (0, import_react62.useRef)(null);
@@ -10809,12 +10786,12 @@ var DxcPasswordInput = (0, import_react62.forwardRef)(
10809
10786
  if (isPasswordVisible) {
10810
10787
  setInputType("text", inputRef.current);
10811
10788
  if (passwordInput.inputHidePasswordTitle) {
10812
- setAriaAttributes("true", passwordInput.inputHidePasswordTitle, inputRef.current);
10789
+ setAriaAttributes("true", inputRef.current);
10813
10790
  }
10814
10791
  } else {
10815
10792
  setInputType("password", inputRef.current);
10816
10793
  if (passwordInput.inputShowPasswordTitle) {
10817
- setAriaAttributes("false", passwordInput.inputShowPasswordTitle, inputRef.current);
10794
+ setAriaAttributes("false", inputRef.current);
10818
10795
  }
10819
10796
  }
10820
10797
  })();
@@ -10838,75 +10815,31 @@ var DxcPasswordInput = (0, import_react62.forwardRef)(
10838
10815
  onChange,
10839
10816
  onBlur,
10840
10817
  margin,
10841
- size,
10842
- pattern,
10843
- minLength,
10844
- maxLength,
10845
- autocomplete,
10846
- ref: inputRef,
10847
- tabIndex
10848
- }
10849
- ) });
10850
- }
10851
- );
10852
- var PasswordInput = import_styled_components57.default.div`
10853
- ${(props) => props.size === "fillParent" && "width: 100%;"}
10854
- & ::-ms-reveal {
10855
- display: none;
10856
- }
10857
- `;
10858
- var PasswordInput_default = DxcPasswordInput;
10859
-
10860
- // src/progress-bar/ProgressBar.tsx
10861
- var import_react63 = require("react");
10862
- var import_styled_components58 = __toESM(require("styled-components"));
10863
- var import_jsx_runtime66 = require("react/jsx-runtime");
10864
- var DxcProgressBar = ({
10865
- label = "",
10866
- helperText = "",
10867
- overlay = false,
10868
- value,
10869
- showValue = false,
10870
- margin
10871
- }) => {
10872
- const colorsTheme = (0, import_react63.useContext)(HalstackContext);
10873
- const [valueProgressBar, setValueProgressBar] = (0, import_react63.useState)(0);
10874
- (0, import_react63.useEffect)(() => {
10875
- setValueProgressBar(
10876
- value === null || value === void 0 || value < 0 ? 0 : value >= 0 && value <= 100 ? value : 100
10877
- );
10878
- }, [value]);
10879
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_styled_components58.ThemeProvider, { theme: colorsTheme.progressBar, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(BackgroundProgressBar, { overlay, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(ProgressBarContainer, { overlay, margin, children: [
10880
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(InfoProgressBar, { children: [
10881
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ProgressBarLabel, { overlay, children: label }),
10882
- /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(ProgressBarProgress, { overlay, showValue, value: valueProgressBar, children: [
10883
- valueProgressBar,
10884
- " %"
10885
- ] })
10886
- ] }),
10887
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
10888
- LinearProgress,
10889
- {
10890
- role: "progressbar",
10891
- helperText,
10892
- "aria-valuenow": showValue ? valueProgressBar : void 0,
10893
- "aria-valuemin": 0,
10894
- "aria-valuemax": 100,
10895
- "aria-label": label || "Progress Bar",
10896
- children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
10897
- LinearProgressBar,
10898
- {
10899
- variant: value === null || value === void 0 ? "indeterminate" : "determinate",
10900
- container: "first",
10901
- value: valueProgressBar
10902
- }
10903
- )
10818
+ size,
10819
+ pattern,
10820
+ minLength,
10821
+ maxLength,
10822
+ autocomplete,
10823
+ ref: inputRef,
10824
+ tabIndex,
10825
+ ariaLabel
10904
10826
  }
10905
- ),
10906
- helperText && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(HelperText5, { overlay, children: helperText })
10907
- ] }) }) });
10908
- };
10909
- var BackgroundProgressBar = import_styled_components58.default.div`
10827
+ ) });
10828
+ }
10829
+ );
10830
+ var PasswordInput = import_styled_components57.default.div`
10831
+ ${(props) => props.size === "fillParent" && "width: 100%;"}
10832
+ & ::-ms-reveal {
10833
+ display: none;
10834
+ }
10835
+ `;
10836
+ var PasswordInput_default = DxcPasswordInput;
10837
+
10838
+ // src/progress-bar/ProgressBar.tsx
10839
+ var import_react63 = require("react");
10840
+ var import_styled_components58 = __toESM(require("styled-components"));
10841
+ var import_jsx_runtime66 = require("react/jsx-runtime");
10842
+ var Overlay4 = import_styled_components58.default.div`
10910
10843
  ${({ overlay, theme }) => overlay ? `background-color: ${theme.overlayColor};
10911
10844
  width: 100%;
10912
10845
  justify-content: center;
@@ -10918,30 +10851,23 @@ var BackgroundProgressBar = import_styled_components58.default.div`
10918
10851
  bottom: 0;
10919
10852
  left: 0;
10920
10853
  right: 0;
10921
- z-index: 1300;` : `background-color: "transparent";`}
10854
+ z-index: 1300;` : `background-color: transparent;`}
10922
10855
  display: flex;
10923
10856
  flex-wrap: wrap;
10924
10857
  min-width: 100px;
10925
10858
  width: 100%;
10926
10859
  `;
10927
- var ProgressBarContainer = import_styled_components58.default.div`
10928
- z-index: ${(props) => props.overlay === true && "100" || "0"};
10929
- width: ${(props) => props.overlay === true ? "80%" : "100%"};
10860
+ var MainContainer4 = import_styled_components58.default.div`
10861
+ width: ${(props) => props.overlay ? "80%" : "100%"};
10930
10862
  margin: ${(props) => props.margin && typeof props.margin !== "object" ? spaces[props.margin] : "0px"};
10931
10863
  margin-top: ${(props) => props.margin && typeof props.margin === "object" && props.margin.top ? spaces[props.margin.top] : ""};
10932
10864
  margin-right: ${(props) => props.margin && typeof props.margin === "object" && props.margin.right ? spaces[props.margin.right] : ""};
10933
10865
  margin-bottom: ${(props) => props.margin && typeof props.margin === "object" && props.margin.bottom ? spaces[props.margin.bottom] : ""};
10934
10866
  margin-left: ${(props) => props.margin && typeof props.margin === "object" && props.margin.left ? spaces[props.margin.left] : ""};
10935
- `;
10936
- var InfoProgressBar = import_styled_components58.default.div`
10937
10867
  display: flex;
10938
- flex-direction: row;
10939
- width: 685px;
10940
- flex-wrap: wrap;
10941
- width: 100%;
10942
- margin-bottom: 8px;
10943
- align-items: baseline;
10944
- justify-content: space-between;
10868
+ flex-direction: column;
10869
+ gap: 0.5rem;
10870
+ z-index: ${(props) => props.overlay ? "100" : "0"};
10945
10871
  `;
10946
10872
  var ProgressBarLabel = import_styled_components58.default.div`
10947
10873
  font-family: ${(props) => props.theme.labelFontFamily};
@@ -10949,24 +10875,23 @@ var ProgressBarLabel = import_styled_components58.default.div`
10949
10875
  font-size: ${(props) => props.theme.labelFontSize};
10950
10876
  font-weight: ${(props) => props.theme.labelFontWeight};
10951
10877
  text-transform: ${(props) => props.theme.labelFontTextTransform};
10952
- color: ${(props) => props.overlay === true ? props.theme.overlayFontColor : props.theme.labelFontColor};
10878
+ color: ${(props) => props.overlay ? props.theme.overlayFontColor : props.theme.labelFontColor};
10953
10879
  overflow: hidden;
10954
10880
  text-overflow: ellipsis;
10955
10881
  white-space: nowrap;
10956
10882
  text-overflow: ellipsis;
10957
10883
  `;
10958
10884
  var ProgressBarProgress = import_styled_components58.default.div`
10885
+ flex-shrink: 0;
10886
+ color: ${(props) => props.overlay ? props.theme.overlayFontColor : props.theme.valueFontColor};
10959
10887
  font-family: ${(props) => props.theme.valueFontFamily};
10960
10888
  font-style: ${(props) => props.theme.valueFontStyle};
10961
10889
  font-size: ${(props) => props.theme.valueFontSize};
10962
10890
  font-weight: ${(props) => props.theme.valueFontWeight};
10963
10891
  text-transform: ${(props) => props.theme.valueFontTextTransform};
10964
- color: ${(props) => props.overlay === true ? props.theme.overlayFontColor : props.theme.valueFontColor};
10965
- display: ${(props) => props.value !== void 0 && props.value !== null && props.showValue === true && "block" || "none"};
10966
- flex-shrink: 0;
10967
10892
  `;
10968
10893
  var HelperText5 = import_styled_components58.default.span`
10969
- color: ${(props) => props.overlay === true ? props.theme.overlayFontColor : props.theme.helperTextFontColor};
10894
+ color: ${(props) => props.overlay ? props.theme.overlayFontColor : props.theme.helperTextFontColor};
10970
10895
  font-family: ${(props) => props.theme.helperTextFontFamily};
10971
10896
  font-size: ${(props) => props.theme.helperTextFontSize};
10972
10897
  font-style: ${(props) => props.theme.helperTextFontStyle};
@@ -10974,25 +10899,23 @@ var HelperText5 = import_styled_components58.default.span`
10974
10899
  line-height: 1.5em;
10975
10900
  `;
10976
10901
  var LinearProgress = import_styled_components58.default.div`
10902
+ position: relative;
10903
+ border-radius: ${(props) => props.theme.borderRadius};
10977
10904
  height: ${(props) => props.theme.thickness};
10978
10905
  background-color: ${(props) => props.theme.totalLineColor};
10979
- border-radius: ${(props) => props.theme.borderRadius};
10980
- margin-bottom: ${(props) => props.helperText !== "" && "8px"};
10981
10906
  overflow: hidden;
10982
- position: relative;
10983
10907
  `;
10984
10908
  var LinearProgressBar = import_styled_components58.default.span`
10985
- background-color: ${(props) => props.theme.trackLineColor};
10986
- transform: ${(props) => `translateX(-${props.variant === "determinate" ? 100 - (props.value ?? 0) : 0}%)`};
10909
+ position: absolute;
10987
10910
  top: 0;
10988
- left: 0;
10989
- width: 100%;
10990
10911
  bottom: 0;
10991
- position: absolute;
10912
+ left: 0;
10913
+ width: ${(props) => props.variant === "indeterminate" ? "auto" : "100%"};
10914
+ transform: ${(props) => `translateX(-${props.variant === "determinate" ? 100 - (props.value ?? 0) : 0}%)`};
10992
10915
  transition: ${(props) => props.variant === "determinate" ? "transform .4s linear" : "transform 0.2s linear"};
10993
10916
  transform-origin: left;
10994
- ${(props) => props.variant === "indeterminate" && "width: auto;"};
10995
- ${(props) => props.variant === "indeterminate" ? props.container === "first" ? "animation: keyframes-indeterminate-first 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;" : "animation: keyframes-indeterminate-second 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;" : ""};
10917
+ background-color: ${(props) => props.theme.trackLineColor};
10918
+ ${(props) => props.variant === "indeterminate" ? "animation: keyframes-indeterminate-first 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;" : ""};
10996
10919
 
10997
10920
  @keyframes keyframes-indeterminate-first {
10998
10921
  0% {
@@ -11024,6 +10947,44 @@ var LinearProgressBar = import_styled_components58.default.span`
11024
10947
  }
11025
10948
  }
11026
10949
  `;
10950
+ var DxcProgressBar = ({
10951
+ label,
10952
+ helperText,
10953
+ overlay,
10954
+ value,
10955
+ showValue,
10956
+ margin
10957
+ }) => {
10958
+ const colorsTheme = (0, import_react63.useContext)(HalstackContext);
10959
+ const labelId = `label-${(0, import_react63.useId)()}`;
10960
+ const [innerValue, setInnerValue] = (0, import_react63.useState)();
10961
+ (0, import_react63.useEffect)(() => {
10962
+ if (value != null) setInnerValue(value < 0 ? 0 : value > 100 ? 100 : value);
10963
+ }, [value]);
10964
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_styled_components58.ThemeProvider, { theme: colorsTheme.progressBar, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Overlay4, { overlay, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(MainContainer4, { overlay, margin, children: [
10965
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(Flex_default, { justifyContent: "space-between", gap: "0.5rem", children: [
10966
+ label && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(ProgressBarLabel, { id: labelId, overlay, children: label }),
10967
+ innerValue != null && showValue && /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(ProgressBarProgress, { overlay, children: [
10968
+ innerValue,
10969
+ " %"
10970
+ ] })
10971
+ ] }),
10972
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
10973
+ LinearProgress,
10974
+ {
10975
+ role: "progressbar",
10976
+ helperText,
10977
+ "aria-label": "Progress bar",
10978
+ "aria-labelledby": labelId,
10979
+ "aria-valuenow": innerValue,
10980
+ "aria-valuemin": 0,
10981
+ "aria-valuemax": 100,
10982
+ children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(LinearProgressBar, { variant: innerValue == null ? "indeterminate" : "determinate", value: innerValue })
10983
+ }
10984
+ ),
10985
+ helperText && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(HelperText5, { overlay, children: helperText })
10986
+ ] }) }) });
10987
+ };
11027
10988
  var ProgressBar_default = DxcProgressBar;
11028
10989
 
11029
10990
  // src/quick-nav/QuickNav.tsx
@@ -11585,195 +11546,69 @@ var DxcResultsetTable = ({
11585
11546
  /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("span", { children: column.displayValue }),
11586
11547
  column.isSortable && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(SortIcon, { children: sortColumnIndex === index ? sortOrder === "ascending" ? Icons_default2.arrowUp : Icons_default2.arrowDown : Icons_default2.bothArrows })
11587
11548
  ]
11588
- }
11589
- )
11590
- },
11591
- `tableHeader_${index}`
11592
- )) }) }),
11593
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("tbody", { children: filteredResultset.map((row) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("tr", { children: row.cells.map((cellContent, cellIndex) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("td", { children: cellContent.displayValue }, `resultSetTableCellContent_${cellIndex}`)) }, `resultSetTableCell_${row.id}`)) })
11594
- ] }),
11595
- !hidePaginator && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
11596
- Paginator_default,
11597
- {
11598
- totalItems: rows.length,
11599
- itemsPerPage,
11600
- itemsPerPageOptions,
11601
- itemsPerPageFunction,
11602
- currentPage: page,
11603
- showGoToPage,
11604
- onPageChange: goToPage,
11605
- tabIndex
11606
- }
11607
- )
11608
- ] }) });
11609
- };
11610
- var calculateWidth11 = (margin) => `calc(100% - ${getMargin(margin, "left")} - ${getMargin(margin, "right")})`;
11611
- var DxcResultsetTableContainer = import_styled_components62.default.div`
11612
- width: ${(props) => calculateWidth11(props.margin)};
11613
- margin: ${(props) => props.margin && typeof props.margin !== "object" ? spaces[props.margin] : "0px"};
11614
- margin-top: ${(props) => props.margin && typeof props.margin === "object" && props.margin.top ? spaces[props.margin.top] : ""};
11615
- margin-right: ${(props) => props.margin && typeof props.margin === "object" && props.margin.right ? spaces[props.margin.right] : ""};
11616
- margin-bottom: ${(props) => props.margin && typeof props.margin === "object" && props.margin.bottom ? spaces[props.margin.bottom] : ""};
11617
- margin-left: ${(props) => props.margin && typeof props.margin === "object" && props.margin.left ? spaces[props.margin.left] : ""};
11618
- `;
11619
- var HeaderContainer3 = import_styled_components62.default.span`
11620
- display: flex;
11621
- align-items: center;
11622
- justify-content: ${(props) => props.theme.headerTextAlign === "center" ? "center" : props.theme.headerTextAlign === "right" ? "flex-end" : "flex-start"};
11623
- gap: ${coreTokens_default.spacing_8};
11624
- width: fit-content;
11625
- border: 1px solid transparent;
11626
- border-radius: 2px;
11627
- cursor: ${(props) => props.isSortable ? "pointer" : "default"};
11628
-
11629
- ${(props) => props.isSortable && `&:focus {
11630
- outline: #0095ff solid 2px;
11631
- }`}
11632
- `;
11633
- var SortIcon = import_styled_components62.default.span`
11634
- display: flex;
11635
- height: 14px;
11636
- width: 14px;
11637
- color: ${(props) => props.theme.sortIconColor};
11638
-
11639
- svg {
11640
- height: 100%;
11641
- width: 100%;
11642
- }
11643
- `;
11644
- DxcResultsetTable.ActionsCell = DxcActionsCell;
11645
- var ResultsetTable_default = DxcResultsetTable;
11646
-
11647
- // src/slider/Slider.tsx
11648
- var import_react68 = require("react");
11649
- var import_styled_components63 = __toESM(require("styled-components"));
11650
- var import_jsx_runtime72 = require("react/jsx-runtime");
11651
- var DxcSlider = (0, import_react68.forwardRef)(
11652
- ({
11653
- label = "",
11654
- name = "",
11655
- defaultValue,
11656
- value,
11657
- helperText = "",
11658
- minValue = 0,
11659
- maxValue = 100,
11660
- step = 1,
11661
- showLimitsValues = false,
11662
- showInput = false,
11663
- disabled = false,
11664
- marks = false,
11665
- onChange,
11666
- onDragEnd,
11667
- labelFormatCallback,
11668
- margin,
11669
- size = "fillParent"
11670
- }, ref) => {
11671
- const labelId = `label-${(0, import_react68.useId)()}`;
11672
- const [innerValue, setInnerValue] = (0, import_react68.useState)(defaultValue ?? 0);
11673
- const [dragging, setDragging] = (0, import_react68.useState)(false);
11674
- const colorsTheme = (0, import_react68.useContext)(HalstackContext);
11675
- const isFirefox = navigator.userAgent.indexOf("Firefox") !== -1;
11676
- const minLabel = (0, import_react68.useMemo)(
11677
- () => labelFormatCallback ? labelFormatCallback(minValue) : minValue,
11678
- [labelFormatCallback, minValue]
11679
- );
11680
- const maxLabel = (0, import_react68.useMemo)(
11681
- () => labelFormatCallback ? labelFormatCallback(maxValue) : maxValue,
11682
- [labelFormatCallback, maxValue]
11683
- );
11684
- const tickMarks = (0, import_react68.useMemo)(() => {
11685
- const numberOfMarks = Math.floor(maxValue / step - minValue / step);
11686
- const range = maxValue - minValue;
11687
- const ticks = [];
11688
- if (marks) {
11689
- for (let index = 0; index <= numberOfMarks; index++) {
11690
- ticks.push(
11691
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
11692
- TickMark,
11693
- {
11694
- disabled,
11695
- stepPosition: step * index / range,
11696
- stepValue: (value ?? innerValue) / maxValue
11697
- },
11698
- `tickmark-${index}-${labelId}`
11699
- )
11700
- );
11701
- }
11702
- return ticks;
11703
- }
11704
- return null;
11705
- }, [minValue, maxValue, step, value, innerValue]);
11706
- const handleSliderChange = (event) => {
11707
- const intValue = parseInt(event.target.value, 10);
11708
- if (intValue !== value || intValue !== innerValue) {
11709
- setInnerValue(intValue);
11710
- }
11711
- onChange?.(intValue);
11712
- };
11713
- const handleSliderDragging = () => {
11714
- setDragging(true);
11715
- };
11716
- const handleSliderOnChangeCommitted = (event) => {
11717
- const intValue = parseInt(event.target.value, 10);
11718
- if (dragging) {
11719
- setDragging(false);
11720
- onDragEnd?.(intValue);
11721
- }
11722
- };
11723
- const handlerInputChange = (event) => {
11724
- const intValue = parseInt(event.value, 10);
11725
- if (value == null) {
11726
- if (!Number.isNaN(intValue)) {
11727
- setInnerValue(intValue > maxValue ? maxValue : intValue);
11728
- }
11729
- }
11730
- if (!Number.isNaN(intValue)) {
11731
- onChange?.(intValue > maxValue ? maxValue : intValue);
11732
- }
11733
- };
11734
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_styled_components63.ThemeProvider, { theme: colorsTheme.slider, children: /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(Container3, { margin, size, ref, children: [
11735
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Label10, { id: labelId, disabled, children: label }),
11736
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(HelperText7, { disabled, children: helperText }),
11737
- /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(SliderContainer, { children: [
11738
- showLimitsValues && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(MinLabelContainer, { disabled, children: minLabel }),
11739
- /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(SliderInputContainer, { children: [
11740
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
11741
- SliderInput,
11742
- {
11743
- role: "slider",
11744
- type: "range",
11745
- value: value != null && value >= 0 ? value : innerValue,
11746
- min: minValue,
11747
- max: maxValue,
11748
- step,
11749
- disabled,
11750
- "aria-labelledby": labelId,
11751
- "aria-orientation": "horizontal",
11752
- "aria-valuemax": maxValue,
11753
- "aria-valuemin": minValue,
11754
- "aria-valuenow": value != null && value >= 0 ? value : innerValue,
11755
- onChange: handleSliderChange,
11756
- onMouseUp: handleSliderOnChangeCommitted,
11757
- onMouseDown: handleSliderDragging
11758
- }
11759
- ),
11760
- marks && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(MarksContainer, { isFirefox, children: tickMarks })
11761
- ] }),
11762
- showLimitsValues && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(MaxLabelContainer, { disabled, step, children: maxLabel }),
11763
- showInput && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(StyledTextInput, { children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
11764
- TextInput_default,
11765
- {
11766
- name,
11767
- value: value != null && value >= 0 ? value.toString() : innerValue.toString(),
11768
- disabled,
11769
- onChange: handlerInputChange,
11770
- size: "fillParent"
11771
- }
11772
- ) })
11773
- ] })
11774
- ] }) });
11549
+ }
11550
+ )
11551
+ },
11552
+ `tableHeader_${index}`
11553
+ )) }) }),
11554
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("tbody", { children: filteredResultset.map((row) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("tr", { children: row.cells.map((cellContent, cellIndex) => /* @__PURE__ */ (0, import_jsx_runtime71.jsx)("td", { children: cellContent.displayValue }, `resultSetTableCellContent_${cellIndex}`)) }, `resultSetTableCell_${row.id}`)) })
11555
+ ] }),
11556
+ !hidePaginator && /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
11557
+ Paginator_default,
11558
+ {
11559
+ totalItems: rows.length,
11560
+ itemsPerPage,
11561
+ itemsPerPageOptions,
11562
+ itemsPerPageFunction,
11563
+ currentPage: page,
11564
+ showGoToPage,
11565
+ onPageChange: goToPage,
11566
+ tabIndex
11567
+ }
11568
+ )
11569
+ ] }) });
11570
+ };
11571
+ var calculateWidth11 = (margin) => `calc(100% - ${getMargin(margin, "left")} - ${getMargin(margin, "right")})`;
11572
+ var DxcResultsetTableContainer = import_styled_components62.default.div`
11573
+ width: ${(props) => calculateWidth11(props.margin)};
11574
+ margin: ${(props) => props.margin && typeof props.margin !== "object" ? spaces[props.margin] : "0px"};
11575
+ margin-top: ${(props) => props.margin && typeof props.margin === "object" && props.margin.top ? spaces[props.margin.top] : ""};
11576
+ margin-right: ${(props) => props.margin && typeof props.margin === "object" && props.margin.right ? spaces[props.margin.right] : ""};
11577
+ margin-bottom: ${(props) => props.margin && typeof props.margin === "object" && props.margin.bottom ? spaces[props.margin.bottom] : ""};
11578
+ margin-left: ${(props) => props.margin && typeof props.margin === "object" && props.margin.left ? spaces[props.margin.left] : ""};
11579
+ `;
11580
+ var HeaderContainer3 = import_styled_components62.default.span`
11581
+ display: flex;
11582
+ align-items: center;
11583
+ justify-content: ${(props) => props.theme.headerTextAlign === "center" ? "center" : props.theme.headerTextAlign === "right" ? "flex-end" : "flex-start"};
11584
+ gap: ${coreTokens_default.spacing_8};
11585
+ width: fit-content;
11586
+ border: 1px solid transparent;
11587
+ border-radius: 2px;
11588
+ cursor: ${(props) => props.isSortable ? "pointer" : "default"};
11589
+
11590
+ ${(props) => props.isSortable && `&:focus {
11591
+ outline: #0095ff solid 2px;
11592
+ }`}
11593
+ `;
11594
+ var SortIcon = import_styled_components62.default.span`
11595
+ display: flex;
11596
+ height: 14px;
11597
+ width: 14px;
11598
+ color: ${(props) => props.theme.sortIconColor};
11599
+
11600
+ svg {
11601
+ height: 100%;
11602
+ width: 100%;
11775
11603
  }
11776
- );
11604
+ `;
11605
+ DxcResultsetTable.ActionsCell = DxcActionsCell;
11606
+ var ResultsetTable_default = DxcResultsetTable;
11607
+
11608
+ // src/slider/Slider.tsx
11609
+ var import_react68 = require("react");
11610
+ var import_styled_components63 = __toESM(require("styled-components"));
11611
+ var import_jsx_runtime72 = require("react/jsx-runtime");
11777
11612
  var sizes6 = {
11778
11613
  medium: "360px",
11779
11614
  large: "480px",
@@ -11783,7 +11618,7 @@ var calculateWidth12 = (margin, size) => size === "fillParent" ? `calc(${sizes6[
11783
11618
  var getChromeStyles = () => `
11784
11619
  width: 100%;
11785
11620
  margin-right: 4px;`;
11786
- var getFireFoxStyles = () => `
11621
+ var getFirefoxStyles = () => `
11787
11622
  width: calc(100% - 16px);
11788
11623
  margin-right: 3px;`;
11789
11624
  var Container3 = import_styled_components63.default.div`
@@ -11897,7 +11732,6 @@ var SliderContainer = import_styled_components63.default.div`
11897
11732
  `;
11898
11733
  var LimitLabelContainer = import_styled_components63.default.span`
11899
11734
  color: ${(props) => props.disabled ? props.theme.disabledLimitValuesFontColor : props.theme.limitValuesFontColor};
11900
-
11901
11735
  font-family: ${(props) => props.theme.fontFamily};
11902
11736
  font-size: ${(props) => props.theme.limitValuesFontSize};
11903
11737
  font-style: ${(props) => props.theme.limitValuesFontStyle};
@@ -11923,7 +11757,7 @@ var SliderInputContainer = import_styled_components63.default.div`
11923
11757
  z-index: 0;
11924
11758
  `;
11925
11759
  var MarksContainer = import_styled_components63.default.div`
11926
- ${(props) => props.isFirefox ? getFireFoxStyles() : getChromeStyles()}
11760
+ ${(props) => props.isFirefox ? getFirefoxStyles() : getChromeStyles()}
11927
11761
  position: absolute;
11928
11762
  pointer-events: none;
11929
11763
  height: 100%;
@@ -11939,10 +11773,132 @@ var TickMark = import_styled_components63.default.span`
11939
11773
  left: ${(props) => `calc(${props.stepPosition} * 100%)`};
11940
11774
  z-index: ${(props) => props.stepValue != null && `${props.stepPosition <= props.stepValue ? "-1" : "0"}`};
11941
11775
  `;
11942
- var StyledTextInput = import_styled_components63.default.div`
11776
+ var TextInputContainer2 = import_styled_components63.default.div`
11943
11777
  margin-left: ${(props) => props.theme.inputMarginLeft};
11944
11778
  max-width: 70px;
11945
11779
  `;
11780
+ var DxcSlider = (0, import_react68.forwardRef)(
11781
+ ({
11782
+ label = "",
11783
+ name = "",
11784
+ defaultValue,
11785
+ value,
11786
+ helperText = "",
11787
+ minValue = 0,
11788
+ maxValue = 100,
11789
+ step = 1,
11790
+ showLimitsValues = false,
11791
+ showInput = false,
11792
+ disabled = false,
11793
+ marks = false,
11794
+ onChange,
11795
+ onDragEnd,
11796
+ labelFormatCallback,
11797
+ margin,
11798
+ size = "fillParent"
11799
+ }, ref) => {
11800
+ const labelId = `label-${(0, import_react68.useId)()}`;
11801
+ const [innerValue, setInnerValue] = (0, import_react68.useState)(defaultValue ?? 0);
11802
+ const [dragging, setDragging] = (0, import_react68.useState)(false);
11803
+ const colorsTheme = (0, import_react68.useContext)(HalstackContext);
11804
+ const isFirefox = navigator.userAgent.indexOf("Firefox") !== -1;
11805
+ const minLabel = (0, import_react68.useMemo)(
11806
+ () => labelFormatCallback ? labelFormatCallback(minValue) : minValue,
11807
+ [labelFormatCallback, minValue]
11808
+ );
11809
+ const maxLabel = (0, import_react68.useMemo)(
11810
+ () => labelFormatCallback ? labelFormatCallback(maxValue) : maxValue,
11811
+ [labelFormatCallback, maxValue]
11812
+ );
11813
+ const tickMarks = (0, import_react68.useMemo)(() => {
11814
+ const numberOfMarks = Math.floor(maxValue / step - minValue / step);
11815
+ const range = maxValue - minValue;
11816
+ const ticks = [];
11817
+ if (marks) {
11818
+ for (let index = 0; index <= numberOfMarks; index++) {
11819
+ ticks.push(
11820
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
11821
+ TickMark,
11822
+ {
11823
+ disabled,
11824
+ stepPosition: step * index / range,
11825
+ stepValue: (value ?? innerValue) / maxValue
11826
+ },
11827
+ `tickmark-${index}`
11828
+ )
11829
+ );
11830
+ }
11831
+ return ticks;
11832
+ }
11833
+ return null;
11834
+ }, [minValue, maxValue, step, value, innerValue]);
11835
+ const handleSliderChange = (event) => {
11836
+ const intValue = parseInt(event.target.value, 10);
11837
+ if (intValue !== value || intValue !== innerValue) {
11838
+ setInnerValue(intValue);
11839
+ }
11840
+ onChange?.(intValue);
11841
+ };
11842
+ const handleSliderDragging = () => {
11843
+ setDragging(true);
11844
+ };
11845
+ const handleSliderOnChangeCommitted = (event) => {
11846
+ const intValue = parseInt(event.target.value, 10);
11847
+ if (dragging) {
11848
+ setDragging(false);
11849
+ onDragEnd?.(intValue);
11850
+ }
11851
+ };
11852
+ const handlerInputChange = (event) => {
11853
+ const intValue = parseInt(event.value, 10);
11854
+ if (!Number.isNaN(intValue)) {
11855
+ if (value == null) setInnerValue(intValue > maxValue ? maxValue : intValue);
11856
+ onChange?.(intValue > maxValue ? maxValue : intValue);
11857
+ }
11858
+ };
11859
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_styled_components63.ThemeProvider, { theme: colorsTheme.slider, children: /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(Container3, { margin, size, ref, children: [
11860
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Label10, { id: labelId, disabled, children: label }),
11861
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(HelperText7, { disabled, children: helperText }),
11862
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(SliderContainer, { children: [
11863
+ showLimitsValues && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(MinLabelContainer, { disabled, children: minLabel }),
11864
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(SliderInputContainer, { children: [
11865
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
11866
+ SliderInput,
11867
+ {
11868
+ role: "slider",
11869
+ type: "range",
11870
+ value: value != null && value >= 0 ? value : innerValue,
11871
+ min: minValue,
11872
+ max: maxValue,
11873
+ step,
11874
+ disabled,
11875
+ "aria-labelledby": labelId,
11876
+ "aria-orientation": "horizontal",
11877
+ "aria-valuemax": maxValue,
11878
+ "aria-valuemin": minValue,
11879
+ "aria-valuenow": value != null && value >= 0 ? value : innerValue,
11880
+ onChange: handleSliderChange,
11881
+ onMouseUp: handleSliderOnChangeCommitted,
11882
+ onMouseDown: handleSliderDragging
11883
+ }
11884
+ ),
11885
+ marks && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(MarksContainer, { isFirefox, children: tickMarks })
11886
+ ] }),
11887
+ showLimitsValues && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(MaxLabelContainer, { disabled, step, children: maxLabel }),
11888
+ showInput && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(TextInputContainer2, { children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
11889
+ TextInput_default,
11890
+ {
11891
+ name,
11892
+ value: value != null && value >= 0 ? value.toString() : innerValue.toString(),
11893
+ disabled,
11894
+ onChange: handlerInputChange,
11895
+ size: "fillParent"
11896
+ }
11897
+ ) })
11898
+ ] })
11899
+ ] }) });
11900
+ }
11901
+ );
11946
11902
  var Slider_default = DxcSlider;
11947
11903
 
11948
11904
  // src/spinner/Spinner.tsx
@@ -12183,7 +12139,7 @@ var import_styled_components66 = __toESM(require("styled-components"));
12183
12139
  var import_jsx_runtime75 = require("react/jsx-runtime");
12184
12140
  var DxcSwitch = (0, import_react70.forwardRef)(
12185
12141
  ({
12186
- defaultChecked,
12142
+ defaultChecked = false,
12187
12143
  checked,
12188
12144
  value,
12189
12145
  label = "",
@@ -12198,7 +12154,7 @@ var DxcSwitch = (0, import_react70.forwardRef)(
12198
12154
  }, ref) => {
12199
12155
  const switchId = `switch-${(0, import_react70.useId)()}`;
12200
12156
  const labelId = `label-${switchId}`;
12201
- const [innerChecked, setInnerChecked] = (0, import_react70.useState)(defaultChecked ?? false);
12157
+ const [innerChecked, setInnerChecked] = (0, import_react70.useState)(defaultChecked);
12202
12158
  const colorsTheme = (0, import_react70.useContext)(HalstackContext);
12203
12159
  const translatedLabels = (0, import_react70.useContext)(HalstackLanguageContext);
12204
12160
  const refTrack = (0, import_react70.useRef)(null);
@@ -13625,7 +13581,8 @@ var DxcTextarea = (0, import_react77.forwardRef)(
13625
13581
  autocomplete = "off",
13626
13582
  margin,
13627
13583
  size = "medium",
13628
- tabIndex = 0
13584
+ tabIndex = 0,
13585
+ ariaLabel = "Text area"
13629
13586
  }, ref) => {
13630
13587
  const [innerValue, setInnerValue] = (0, import_react77.useState)(defaultValue);
13631
13588
  const textareaId = `textarea-${(0, import_react77.useId)()}`;
@@ -13721,7 +13678,8 @@ var DxcTextarea = (0, import_react77.forwardRef)(
13721
13678
  tabIndex,
13722
13679
  "aria-invalid": !!error,
13723
13680
  "aria-errormessage": error ? errorId : void 0,
13724
- "aria-required": !disabled && !optional
13681
+ "aria-required": !disabled && !optional,
13682
+ "aria-label": label ? void 0 : ariaLabel
13725
13683
  }
13726
13684
  ),
13727
13685
  !disabled && typeof error === "string" && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(ErrorMessageContainer3, { id: errorId, role: "alert", "aria-live": error ? "assertive" : "off", children: error })
@@ -13786,7 +13744,7 @@ var Textarea = import_styled_components72.default.textarea`
13786
13744
  if (props.disabled) return props.theme.disabledBorderColor;
13787
13745
  else if (props.error) return "transparent";
13788
13746
  else if (props.readOnly) return props.theme.readOnlyBorderColor;
13789
- else props.theme.enabledBorderColor;
13747
+ else return props.theme.enabledBorderColor;
13790
13748
  }};
13791
13749
 
13792
13750
  ${(props) => props.error && !props.disabled && `box-shadow: 0 0 0 2px ${props.theme.errorBorderColor};
@@ -14264,9 +14222,11 @@ var ToggleGroup_default = DxcToggleGroup;
14264
14222
  // src/wizard/Wizard.tsx
14265
14223
  var import_react83 = require("react");
14266
14224
  var import_styled_components76 = __toESM(require("styled-components"));
14225
+
14226
+ // src/wizard/Icons.tsx
14267
14227
  var import_jsx_runtime85 = require("react/jsx-runtime");
14268
14228
  var icons2 = {
14269
- validIcon: /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 18 18", children: [
14229
+ valid: /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 18 18", children: [
14270
14230
  /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("path", { "data-name": "Path 2946", d: "M0,0H18V18H0Z", fill: "none" }),
14271
14231
  /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
14272
14232
  "path",
@@ -14288,7 +14248,7 @@ var icons2 = {
14288
14248
  }
14289
14249
  )
14290
14250
  ] }),
14291
- invalidIcon: /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 18 18", children: [
14251
+ invalid: /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "18", height: "18", viewBox: "0 0 18 18", children: [
14292
14252
  /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("path", { "data-name": "Path 2943", d: "M0,0H18V18H0Z", fill: "none" }),
14293
14253
  /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
14294
14254
  "path",
@@ -14310,50 +14270,10 @@ var icons2 = {
14310
14270
  )
14311
14271
  ] })
14312
14272
  };
14313
- var DxcWizard = ({
14314
- mode = "horizontal",
14315
- defaultCurrentStep,
14316
- currentStep,
14317
- onStepClick,
14318
- steps,
14319
- margin,
14320
- tabIndex = 0
14321
- }) => {
14322
- const [innerCurrent, setInnerCurrentStep] = (0, import_react83.useState)(currentStep ?? defaultCurrentStep ?? 0);
14323
- const renderedCurrent = currentStep ?? innerCurrent;
14324
- const colorsTheme = (0, import_react83.useContext)(HalstackContext);
14325
- const handleStepClick = (newValue) => {
14326
- setInnerCurrentStep(newValue);
14327
- onStepClick?.(newValue);
14328
- };
14329
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_styled_components76.ThemeProvider, { theme: colorsTheme.wizard, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(StepsContainer, { mode, margin, role: "group", children: steps.map((step, i) => /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(StepContainer, { mode, lastStep: i === steps.length - 1, children: [
14330
- /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(
14331
- Step,
14332
- {
14333
- onClick: () => {
14334
- handleStepClick(i);
14335
- },
14336
- disabled: step.disabled,
14337
- mode,
14338
- first: i === 0,
14339
- last: i === steps.length - 1,
14340
- "aria-current": renderedCurrent === i ? "step" : "false",
14341
- tabIndex,
14342
- children: [
14343
- /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(StepHeader, { validityIcon: step.valid !== void 0, children: [
14344
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(IconContainer8, { current: i === renderedCurrent, visited: i < renderedCurrent, disabled: step.disabled, children: step.icon ? typeof step.icon === "string" ? /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Icon_default, { icon: step.icon }) : step.icon : /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Number3, { children: i + 1 }) }),
14345
- step.valid !== void 0 && (step.valid ? /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(ValidityIconContainer, { children: icons2.validIcon }) : /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(ValidityIconContainer, { children: icons2.invalidIcon }))
14346
- ] }),
14347
- (step.label || step.description) && /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(InfoContainer, { children: [
14348
- step.label && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Label14, { current: i === renderedCurrent, disabled: step.disabled, visited: i <= innerCurrent, children: step.label }),
14349
- step.description && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Description, { current: i === renderedCurrent, disabled: step.disabled, visited: i <= innerCurrent, children: step.description })
14350
- ] })
14351
- ]
14352
- }
14353
- ),
14354
- i === steps.length - 1 ? "" : /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(StepSeparator, { mode })
14355
- ] }, `step${i}`)) }) });
14356
- };
14273
+ var Icons_default3 = icons2;
14274
+
14275
+ // src/wizard/Wizard.tsx
14276
+ var import_jsx_runtime86 = require("react/jsx-runtime");
14357
14277
  var StepsContainer = import_styled_components76.default.div`
14358
14278
  display: flex;
14359
14279
  flex-direction: ${(props) => props.mode === "vertical" ? "column" : "row"};
@@ -14377,6 +14297,7 @@ var Step = import_styled_components76.default.button`
14377
14297
  display: flex;
14378
14298
  justify-content: flex-start;
14379
14299
  align-items: center;
14300
+ gap: 0.75rem;
14380
14301
  border: none;
14381
14302
  border-radius: 0.25rem;
14382
14303
  background: inherit;
@@ -14435,9 +14356,6 @@ var ValidityIconContainer = import_styled_components76.default.div`
14435
14356
  top: 22.5px;
14436
14357
  left: 22.5px;
14437
14358
  `;
14438
- var InfoContainer = import_styled_components76.default.div`
14439
- margin-left: 12px;
14440
- `;
14441
14359
  var Label14 = import_styled_components76.default.p`
14442
14360
  text-align: ${(props) => props.theme.labelTextAlign};
14443
14361
  font-family: ${(props) => props.theme.labelFontFamily};
@@ -14467,6 +14385,50 @@ var StepSeparator = import_styled_components76.default.div`
14467
14385
  opacity: 1;
14468
14386
  flex-grow: 1;
14469
14387
  `;
14388
+ var DxcWizard = ({
14389
+ mode = "horizontal",
14390
+ defaultCurrentStep = 0,
14391
+ currentStep,
14392
+ onStepClick,
14393
+ steps,
14394
+ margin,
14395
+ tabIndex = 0
14396
+ }) => {
14397
+ const colorsTheme = (0, import_react83.useContext)(HalstackContext);
14398
+ const [innerCurrent, setInnerCurrentStep] = (0, import_react83.useState)(defaultCurrentStep);
14399
+ const renderedCurrent = (0, import_react83.useMemo)(() => currentStep ?? innerCurrent, [currentStep, innerCurrent]);
14400
+ const handleStepClick = (newValue) => {
14401
+ setInnerCurrentStep(newValue);
14402
+ onStepClick?.(newValue);
14403
+ };
14404
+ return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(import_styled_components76.ThemeProvider, { theme: colorsTheme.wizard, children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(StepsContainer, { mode, margin, role: "group", children: steps.map((step, i) => /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(StepContainer, { mode, lastStep: i === steps.length - 1, children: [
14405
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(
14406
+ Step,
14407
+ {
14408
+ onClick: () => {
14409
+ handleStepClick(i);
14410
+ },
14411
+ disabled: step.disabled,
14412
+ mode,
14413
+ first: i === 0,
14414
+ last: i === steps.length - 1,
14415
+ "aria-current": renderedCurrent === i ? "step" : "false",
14416
+ tabIndex,
14417
+ children: [
14418
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(StepHeader, { validityIcon: step.valid != null, children: [
14419
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(IconContainer8, { current: i === renderedCurrent, visited: i < renderedCurrent, disabled: step.disabled, children: step.icon ? typeof step.icon === "string" ? /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Icon_default, { icon: step.icon }) : step.icon : /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Number3, { children: i + 1 }) }),
14420
+ step.valid != null && /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(ValidityIconContainer, { children: step.valid ? Icons_default3.valid : Icons_default3.invalid })
14421
+ ] }),
14422
+ (step.label || step.description) && /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { children: [
14423
+ step.label && /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Label14, { current: i === renderedCurrent, disabled: step.disabled, visited: i <= innerCurrent, children: step.label }),
14424
+ step.description && /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Description, { current: i === renderedCurrent, disabled: step.disabled, visited: i <= innerCurrent, children: step.description })
14425
+ ] })
14426
+ ]
14427
+ }
14428
+ ),
14429
+ i === steps.length - 1 ? "" : /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(StepSeparator, { mode })
14430
+ ] }, `step${i}`)) }) });
14431
+ };
14470
14432
  var Wizard_default = DxcWizard;
14471
14433
 
14472
14434
  // src/toast/useToast.tsx