@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.d.mts +132 -36
- package/dist/index.d.ts +132 -36
- package/dist/index.js +792 -830
- package/dist/index.mjs +841 -879
- package/package.json +1 -1
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
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
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
|
-
|
|
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.
|
|
1825
|
-
headerTokens.
|
|
1826
|
-
headerTokens.
|
|
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.
|
|
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.
|
|
4298
|
+
background-color: ${(props) => props.theme.hamburgerHoverColor};
|
|
4307
4299
|
}
|
|
4308
4300
|
&:focus {
|
|
4309
|
-
outline: ${(props) => props.theme.
|
|
4301
|
+
outline: ${(props) => props.theme.hamburgerFocusColor} auto 1px;
|
|
4310
4302
|
}
|
|
4311
4303
|
& > svg {
|
|
4312
|
-
fill: ${(props) => props.theme.
|
|
4304
|
+
fill: ${(props) => props.theme.hamburgerIconColor};
|
|
4313
4305
|
}
|
|
4314
4306
|
& > span {
|
|
4315
4307
|
font-size: 24px;
|
|
4316
4308
|
}
|
|
4317
|
-
font-family: ${(props) => props.theme.
|
|
4318
|
-
font-style: ${(props) => props.theme.
|
|
4319
|
-
font-size: ${(props) => props.theme.
|
|
4320
|
-
text-transform: ${(props) => props.theme.
|
|
4321
|
-
font-weight: ${(props) => props.theme.
|
|
4322
|
-
color: ${(props) => props.theme.
|
|
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.
|
|
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 :
|
|
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
|
-
|
|
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
|
|
8697
|
-
|
|
8698
|
-
|
|
8699
|
-
|
|
8700
|
-
|
|
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
|
-
(
|
|
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
|
-
(
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
9644
|
+
import_styled_components45.ThemeProvider,
|
|
9678
9645
|
{
|
|
9679
|
-
|
|
9680
|
-
|
|
9646
|
+
theme: {
|
|
9647
|
+
actionBackgroundColor: colorsTheme.dialog.closeIconBackgroundColor,
|
|
9648
|
+
actionIconColor: colorsTheme.dialog.closeIconColor
|
|
9681
9649
|
},
|
|
9682
|
-
|
|
9683
|
-
|
|
9684
|
-
|
|
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/
|
|
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,
|
|
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",
|
|
10789
|
+
setAriaAttributes("true", inputRef.current);
|
|
10813
10790
|
}
|
|
10814
10791
|
} else {
|
|
10815
10792
|
setInputType("password", inputRef.current);
|
|
10816
10793
|
if (passwordInput.inputShowPasswordTitle) {
|
|
10817
|
-
setAriaAttributes("false",
|
|
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
|
-
|
|
10907
|
-
|
|
10908
|
-
|
|
10909
|
-
|
|
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:
|
|
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
|
|
10928
|
-
|
|
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:
|
|
10939
|
-
|
|
10940
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
10995
|
-
${(props) => props.variant === "indeterminate" ?
|
|
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
|
|
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 ?
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
14314
|
-
|
|
14315
|
-
|
|
14316
|
-
|
|
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
|