@dxc-technology/halstack-react 15.2.2 → 15.3.2
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/README.md +1 -1
- package/dist/index.d.mts +12 -2
- package/dist/index.d.ts +12 -2
- package/dist/index.js +515 -517
- package/dist/index.mjs +73 -75
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -41,7 +41,7 @@ __export(index_exports, {
|
|
|
41
41
|
DxcCard: () => Card_default,
|
|
42
42
|
DxcCheckbox: () => Checkbox_default,
|
|
43
43
|
DxcChip: () => Chip_default,
|
|
44
|
-
DxcContainer: () =>
|
|
44
|
+
DxcContainer: () => Container_default,
|
|
45
45
|
DxcContextualMenu: () => DxcContextualMenu,
|
|
46
46
|
DxcDataGrid: () => DataGrid_default,
|
|
47
47
|
DxcDateInput: () => DateInput_default,
|
|
@@ -112,7 +112,7 @@ function styleInject(css2, { insertAt } = {}) {
|
|
|
112
112
|
styleInject('@import "https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap&family=Material+Symbols+Outlined:FILL@0..1";\n');
|
|
113
113
|
|
|
114
114
|
// src/accordion/Accordion.tsx
|
|
115
|
-
var
|
|
115
|
+
var import_react6 = require("react");
|
|
116
116
|
var import_styled_components5 = __toESM(require("styled-components"));
|
|
117
117
|
|
|
118
118
|
// src/common/coreTokens.ts
|
|
@@ -1998,7 +1998,7 @@ var HalstackProvider = ({ theme, advancedTheme, labels, children }) => {
|
|
|
1998
1998
|
};
|
|
1999
1999
|
|
|
2000
2000
|
// src/accordion/AccordionItem.tsx
|
|
2001
|
-
var
|
|
2001
|
+
var import_react4 = require("react");
|
|
2002
2002
|
var import_styled_components4 = __toESM(require("styled-components"));
|
|
2003
2003
|
|
|
2004
2004
|
// src/icon/Icon.tsx
|
|
@@ -2047,6 +2047,7 @@ var Flex = import_styled_components2.default.div`
|
|
|
2047
2047
|
${typeof props.alignSelf === "string" ? `align-self: ${props.alignSelf};` : ""}
|
|
2048
2048
|
${typeof props.$basis === "string" ? `flex-basis: ${props.$basis};` : ""}
|
|
2049
2049
|
${typeof props.$direction === "string" ? `flex-direction: ${props.$direction};` : ""}
|
|
2050
|
+
${props.$fullHeight ? "height: 100%;" : ""}
|
|
2050
2051
|
${typeof props.$gap === "string" ? `gap: ${props.$gap};` : ""}
|
|
2051
2052
|
${typeof props.$gap === "object" ? `column-gap: ${props.$gap.columnGap}; row-gap: ${props.$gap.rowGap};` : ""}
|
|
2052
2053
|
${typeof props.$grow === "number" ? `flex-grow: ${props.$grow};` : ""}
|
|
@@ -2056,16 +2057,7 @@ var Flex = import_styled_components2.default.div`
|
|
|
2056
2057
|
${typeof props.$wrap === "string" ? `flex-wrap: ${props.$wrap};` : ""}
|
|
2057
2058
|
`}
|
|
2058
2059
|
`;
|
|
2059
|
-
var DxcFlex = ({
|
|
2060
|
-
basis,
|
|
2061
|
-
direction,
|
|
2062
|
-
gap,
|
|
2063
|
-
grow,
|
|
2064
|
-
order,
|
|
2065
|
-
shrink,
|
|
2066
|
-
wrap,
|
|
2067
|
-
...props
|
|
2068
|
-
}) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
2060
|
+
var DxcFlex = ({ basis, direction, fullHeight = false, gap, grow, order, shrink, wrap, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
2069
2061
|
Flex,
|
|
2070
2062
|
{
|
|
2071
2063
|
$basis: basis,
|
|
@@ -2075,6 +2067,7 @@ var DxcFlex = ({
|
|
|
2075
2067
|
$order: order,
|
|
2076
2068
|
$shrink: shrink,
|
|
2077
2069
|
$wrap: wrap,
|
|
2070
|
+
$fullHeight: fullHeight,
|
|
2078
2071
|
...props
|
|
2079
2072
|
}
|
|
2080
2073
|
);
|
|
@@ -2082,6 +2075,7 @@ var Flex_default = DxcFlex;
|
|
|
2082
2075
|
|
|
2083
2076
|
// src/container/Container.tsx
|
|
2084
2077
|
var import_styled_components3 = __toESM(require("styled-components"));
|
|
2078
|
+
var import_react3 = require("react");
|
|
2085
2079
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
2086
2080
|
var getBorderStyles = (direction, borderProperties) => `border-${direction}: ${borderProperties.width ?? ""} ${borderProperties.style ?? ""} ${borderProperties.color ? getCoreColorToken(borderProperties.color) : ""};`;
|
|
2087
2081
|
var Container = import_styled_components3.default.div`
|
|
@@ -2145,12 +2139,15 @@ var Container = import_styled_components3.default.div`
|
|
|
2145
2139
|
padding-bottom: ${({ padding }) => typeof padding === "object" && padding.bottom ? spaces[padding.bottom] : ""};
|
|
2146
2140
|
padding-left: ${({ padding }) => typeof padding === "object" && padding.left ? spaces[padding.left] : ""};
|
|
2147
2141
|
`;
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
}
|
|
2142
|
+
var DxcContainer = (0, import_react3.forwardRef)(
|
|
2143
|
+
({ display, width, height, overflow, ...props }, ref) => {
|
|
2144
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Container, { ref, $display: display, $width: width, $height: height, $overflow: overflow, ...props });
|
|
2145
|
+
}
|
|
2146
|
+
);
|
|
2147
|
+
var Container_default = DxcContainer;
|
|
2151
2148
|
|
|
2152
2149
|
// src/accordion/AccordionItem.tsx
|
|
2153
|
-
var
|
|
2150
|
+
var import_react5 = __toESM(require("react"));
|
|
2154
2151
|
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
2155
2152
|
var AccordionItem = ({
|
|
2156
2153
|
label = "",
|
|
@@ -2163,10 +2160,10 @@ var AccordionItem = ({
|
|
|
2163
2160
|
children,
|
|
2164
2161
|
tabIndex = 0
|
|
2165
2162
|
}) => {
|
|
2166
|
-
const id = (0,
|
|
2167
|
-
const colorsTheme = (0,
|
|
2168
|
-
const { activeIndex, handlerActiveChange, index, independent } = (0,
|
|
2169
|
-
const isItemExpanded = (0,
|
|
2163
|
+
const id = (0, import_react4.useId)();
|
|
2164
|
+
const colorsTheme = (0, import_react4.useContext)(HalstackContext);
|
|
2165
|
+
const { activeIndex, handlerActiveChange, index, independent } = (0, import_react4.useContext)(AccordionContext_default) ?? {};
|
|
2166
|
+
const isItemExpanded = (0, import_react4.useMemo)(() => {
|
|
2170
2167
|
return independent ? activeIndex === index : Array.isArray(activeIndex) && index !== void 0 && activeIndex.includes(index);
|
|
2171
2168
|
}, [independent, activeIndex, index]);
|
|
2172
2169
|
const handleAccordionState = () => {
|
|
@@ -2182,9 +2179,9 @@ var AccordionItem = ({
|
|
|
2182
2179
|
tabIndex: disabled ? -1 : tabIndex,
|
|
2183
2180
|
"aria-expanded": isItemExpanded,
|
|
2184
2181
|
"aria-controls": `accordion-panel-${id}`,
|
|
2185
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
2182
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Container_default, { width: "100%", height: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(Flex_default, { gap: "1.5rem", children: [
|
|
2186
2183
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(LeftSideContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(Flex_default, { gap: "0.75rem", children: [
|
|
2187
|
-
(icon || badge?.position === "before") && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(OptionalElement, { children: icon ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(IconContainer2, { disabled, children: typeof icon === "string" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Icon_default, { icon }) : icon }) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(StatusContainer, { subLabel, children: disabled ? (0,
|
|
2184
|
+
(icon || badge?.position === "before") && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(OptionalElement, { children: icon ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(IconContainer2, { disabled, children: typeof icon === "string" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Icon_default, { icon }) : icon }) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(StatusContainer, { subLabel, children: disabled ? (0, import_react4.cloneElement)(badge?.element, { color: "grey" }) : badge?.element }) }),
|
|
2188
2185
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(LabelsContainer, { children: [
|
|
2189
2186
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(AccordionLabel, { disabled, children: label }),
|
|
2190
2187
|
subLabel && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(SubLabel, { disabled, children: subLabel })
|
|
@@ -2192,8 +2189,8 @@ var AccordionItem = ({
|
|
|
2192
2189
|
] }) }),
|
|
2193
2190
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(RightSideContainer, { children: [
|
|
2194
2191
|
assistiveText && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(AssistiveText, { disabled, subLabel, children: assistiveText }),
|
|
2195
|
-
badge && badge?.position === "after" && !assistiveText && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(StatusContainer, { subLabel, children: disabled ?
|
|
2196
|
-
badge?.position !== "after" && statusLight && !assistiveText && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(StatusContainer, { subLabel, children: disabled ?
|
|
2192
|
+
badge && badge?.position === "after" && !assistiveText && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(StatusContainer, { subLabel, children: disabled ? import_react5.default.cloneElement(badge.element, { color: "grey" }) : badge.element }),
|
|
2193
|
+
badge?.position !== "after" && statusLight && !assistiveText && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(StatusContainer, { subLabel, children: disabled ? import_react5.default.cloneElement(statusLight, { mode: "default" }) : statusLight }),
|
|
2197
2194
|
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(CollapseIndicator, { disabled, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Icon_default, { icon: isItemExpanded ? "expand_less" : "expand_more" }) })
|
|
2198
2195
|
] })
|
|
2199
2196
|
] }) })
|
|
@@ -2331,11 +2328,11 @@ var AccordionItem_default = AccordionItem;
|
|
|
2331
2328
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
2332
2329
|
var DxcAccordion = (props) => {
|
|
2333
2330
|
const { children, margin, onActiveChange } = props;
|
|
2334
|
-
const colorsTheme = (0,
|
|
2335
|
-
const [innerIndexActive, setInnerIndexActive] = (0,
|
|
2331
|
+
const colorsTheme = (0, import_react6.useContext)(HalstackContext);
|
|
2332
|
+
const [innerIndexActive, setInnerIndexActive] = (0, import_react6.useState)(
|
|
2336
2333
|
props.independent ? props.defaultIndexActive ?? -1 : Array.isArray(props.defaultIndexActive) ? props.defaultIndexActive.filter((i) => i !== void 0) : []
|
|
2337
2334
|
);
|
|
2338
|
-
const handlerActiveChange = (0,
|
|
2335
|
+
const handlerActiveChange = (0, import_react6.useCallback)(
|
|
2339
2336
|
(index) => {
|
|
2340
2337
|
if (props.indexActive == null) {
|
|
2341
2338
|
setInnerIndexActive((prev) => {
|
|
@@ -2350,7 +2347,7 @@ var DxcAccordion = (props) => {
|
|
|
2350
2347
|
},
|
|
2351
2348
|
[props.indexActive, props.independent, onActiveChange, innerIndexActive]
|
|
2352
2349
|
);
|
|
2353
|
-
const contextValue = (0,
|
|
2350
|
+
const contextValue = (0, import_react6.useMemo)(
|
|
2354
2351
|
() => ({
|
|
2355
2352
|
activeIndex: props.indexActive ?? innerIndexActive,
|
|
2356
2353
|
handlerActiveChange,
|
|
@@ -2358,7 +2355,7 @@ var DxcAccordion = (props) => {
|
|
|
2358
2355
|
}),
|
|
2359
2356
|
[props.indexActive, innerIndexActive, handlerActiveChange, props.independent]
|
|
2360
2357
|
);
|
|
2361
|
-
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_styled_components5.ThemeProvider, { theme: colorsTheme.accordion, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(AccordionContainer2, { margin, children:
|
|
2358
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_styled_components5.ThemeProvider, { theme: colorsTheme.accordion, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(AccordionContainer2, { margin, children: import_react6.Children.map(children, (accordion, index) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(AccordionContext_default.Provider, { value: { index, ...contextValue }, children: accordion }, `accordion-${index}`)) }) });
|
|
2362
2359
|
};
|
|
2363
2360
|
DxcAccordion.AccordionItem = AccordionItem_default;
|
|
2364
2361
|
var calculateWidth = (margin) => `calc(100% - ${getMargin(margin, "left")} - ${getMargin(margin, "right")})`;
|
|
@@ -2438,21 +2435,21 @@ var Accordion_default = DxcAccordion;
|
|
|
2438
2435
|
|
|
2439
2436
|
// src/alert/Alert.tsx
|
|
2440
2437
|
var import_styled_components11 = __toESM(require("styled-components"));
|
|
2441
|
-
var
|
|
2438
|
+
var import_react13 = require("react");
|
|
2442
2439
|
|
|
2443
2440
|
// src/button/Button.tsx
|
|
2444
|
-
var
|
|
2441
|
+
var import_react9 = require("react");
|
|
2445
2442
|
var import_styled_components7 = __toESM(require("styled-components"));
|
|
2446
2443
|
|
|
2447
2444
|
// src/tooltip/Tooltip.tsx
|
|
2448
2445
|
var import_styled_components6 = __toESM(require("styled-components"));
|
|
2449
|
-
var
|
|
2446
|
+
var import_react8 = require("react");
|
|
2450
2447
|
var import_react_tooltip = require("@radix-ui/react-tooltip");
|
|
2451
2448
|
var import_react_tooltip2 = require("@radix-ui/react-tooltip");
|
|
2452
2449
|
|
|
2453
2450
|
// src/tooltip/TooltipContext.tsx
|
|
2454
|
-
var
|
|
2455
|
-
var TooltipContext = (0,
|
|
2451
|
+
var import_react7 = require("react");
|
|
2452
|
+
var TooltipContext = (0, import_react7.createContext)(false);
|
|
2456
2453
|
|
|
2457
2454
|
// src/tooltip/Tooltip.tsx
|
|
2458
2455
|
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
@@ -2559,7 +2556,7 @@ var Tooltip = ({
|
|
|
2559
2556
|
position = "bottom",
|
|
2560
2557
|
children
|
|
2561
2558
|
}) => {
|
|
2562
|
-
const hasTooltip = (0,
|
|
2559
|
+
const hasTooltip = (0, import_react8.useContext)(TooltipContext);
|
|
2563
2560
|
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(TooltipContext.Provider, { value: true, children: label && !hasTooltip ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_tooltip2.Provider, { delayDuration: 300, children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_react_tooltip.Root, { children: [
|
|
2564
2561
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_tooltip.Trigger, { asChild: true, children: hasAdditionalContainer ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(TooltipTriggerContainer, { children }) : children }),
|
|
2565
2562
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_tooltip.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(StyledTooltipContent, { side: position, sideOffset: 8, children: [
|
|
@@ -2590,7 +2587,7 @@ var DxcButton = ({
|
|
|
2590
2587
|
size = { height: "large", width: "fitContent" },
|
|
2591
2588
|
tabIndex = 0
|
|
2592
2589
|
}) => {
|
|
2593
|
-
const colorsTheme = (0,
|
|
2590
|
+
const colorsTheme = (0, import_react9.useContext)(HalstackContext);
|
|
2594
2591
|
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_styled_components7.ThemeProvider, { theme: colorsTheme.button, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Tooltip, { label: title, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
2595
2592
|
Button,
|
|
2596
2593
|
{
|
|
@@ -3016,7 +3013,7 @@ var StyledDivider = import_styled_components8.default.hr`
|
|
|
3016
3013
|
var Divider_default = DxcDivider;
|
|
3017
3014
|
|
|
3018
3015
|
// src/action-icon/ActionIcon.tsx
|
|
3019
|
-
var
|
|
3016
|
+
var import_react10 = require("react");
|
|
3020
3017
|
var import_styled_components9 = __toESM(require("styled-components"));
|
|
3021
3018
|
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
3022
3019
|
var ActionIcon = import_styled_components9.default.button`
|
|
@@ -3056,7 +3053,7 @@ var ActionIcon = import_styled_components9.default.button`
|
|
|
3056
3053
|
height: 16px;
|
|
3057
3054
|
}
|
|
3058
3055
|
`;
|
|
3059
|
-
var ActionIcon_default = (0,
|
|
3056
|
+
var ActionIcon_default = (0, import_react10.forwardRef)(
|
|
3060
3057
|
({ disabled = false, title, icon, onClick, tabIndex }, ref) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Tooltip, { label: title, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
3061
3058
|
ActionIcon,
|
|
3062
3059
|
{
|
|
@@ -3079,7 +3076,7 @@ var import_react_dom = require("react-dom");
|
|
|
3079
3076
|
var import_styled_components10 = __toESM(require("styled-components"));
|
|
3080
3077
|
|
|
3081
3078
|
// src/utils/FocusLock.tsx
|
|
3082
|
-
var
|
|
3079
|
+
var import_react11 = require("react");
|
|
3083
3080
|
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
3084
3081
|
var not = {
|
|
3085
3082
|
negTabIndex: ':not([tabindex^="-"])',
|
|
@@ -3112,8 +3109,8 @@ var radixPortalContains = (activeElement) => {
|
|
|
3112
3109
|
return Array.prototype.slice.call(radixPortals).some((portal) => portal.contains(activeElement)) || Array.prototype.slice.call(radixPoppers).some((popper) => popper.contains(activeElement));
|
|
3113
3110
|
};
|
|
3114
3111
|
var useFocusableElements = (ref) => {
|
|
3115
|
-
const [focusableElements, setFocusableElements] = (0,
|
|
3116
|
-
(0,
|
|
3112
|
+
const [focusableElements, setFocusableElements] = (0, import_react11.useState)(null);
|
|
3113
|
+
(0, import_react11.useEffect)(() => {
|
|
3117
3114
|
if (ref.current != null) {
|
|
3118
3115
|
setFocusableElements(getFocusableElements(ref.current));
|
|
3119
3116
|
const observer = new MutationObserver(() => {
|
|
@@ -3128,10 +3125,10 @@ var useFocusableElements = (ref) => {
|
|
|
3128
3125
|
return focusableElements;
|
|
3129
3126
|
};
|
|
3130
3127
|
var FocusLock = ({ children }) => {
|
|
3131
|
-
const childrenContainerRef = (0,
|
|
3128
|
+
const childrenContainerRef = (0, import_react11.useRef)(null);
|
|
3132
3129
|
const focusableElements = useFocusableElements(childrenContainerRef);
|
|
3133
|
-
const initialFocus = (0,
|
|
3134
|
-
const focusFirst = (0,
|
|
3130
|
+
const initialFocus = (0, import_react11.useRef)(false);
|
|
3131
|
+
const focusFirst = (0, import_react11.useCallback)(() => {
|
|
3135
3132
|
if (focusableElements != null) {
|
|
3136
3133
|
if (focusableElements.length === 0) childrenContainerRef.current?.focus();
|
|
3137
3134
|
else if (focusableElements.length > 0) focusableElements.some((element) => attemptFocus(element));
|
|
@@ -3143,13 +3140,13 @@ var FocusLock = ({ children }) => {
|
|
|
3143
3140
|
const focusLock = (event) => {
|
|
3144
3141
|
if (event.key === "Tab" && focusableElements?.length === 0) event.preventDefault();
|
|
3145
3142
|
};
|
|
3146
|
-
(0,
|
|
3143
|
+
(0, import_react11.useEffect)(() => {
|
|
3147
3144
|
if (focusableElements != null && !initialFocus.current) {
|
|
3148
3145
|
initialFocus.current = true;
|
|
3149
3146
|
focusFirst();
|
|
3150
3147
|
}
|
|
3151
3148
|
}, [focusableElements, focusFirst]);
|
|
3152
|
-
(0,
|
|
3149
|
+
(0, import_react11.useEffect)(() => {
|
|
3153
3150
|
const focusGuardHandler = (event) => {
|
|
3154
3151
|
const target = event.relatedTarget;
|
|
3155
3152
|
const container = childrenContainerRef.current;
|
|
@@ -3179,7 +3176,7 @@ var FocusLock = ({ children }) => {
|
|
|
3179
3176
|
var FocusLock_default = FocusLock;
|
|
3180
3177
|
|
|
3181
3178
|
// src/alert/ModalAlertWrapper.tsx
|
|
3182
|
-
var
|
|
3179
|
+
var import_react12 = require("react");
|
|
3183
3180
|
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
3184
3181
|
var BodyStyle = import_styled_components10.createGlobalStyle`
|
|
3185
3182
|
body {
|
|
@@ -3213,9 +3210,9 @@ var ModalAlertContainer = import_styled_components10.default.div`
|
|
|
3213
3210
|
}
|
|
3214
3211
|
`;
|
|
3215
3212
|
var ModalAlertWrapper = ({ condition, onClose, children }) => {
|
|
3216
|
-
const id = (0,
|
|
3217
|
-
const [portalContainer, setPortalContainer] = (0,
|
|
3218
|
-
(0,
|
|
3213
|
+
const id = (0, import_react12.useId)();
|
|
3214
|
+
const [portalContainer, setPortalContainer] = (0, import_react12.useState)(null);
|
|
3215
|
+
(0, import_react12.useEffect)(() => {
|
|
3219
3216
|
setPortalContainer(document.getElementById(`dialog-${id}-portal`));
|
|
3220
3217
|
}, []);
|
|
3221
3218
|
return condition ? /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
|
|
@@ -3279,7 +3276,7 @@ var NavigationText = import_styled_components11.default.span`
|
|
|
3279
3276
|
${typographyStyles}
|
|
3280
3277
|
white-space: nowrap;
|
|
3281
3278
|
`;
|
|
3282
|
-
var Actions = (0,
|
|
3279
|
+
var Actions = (0, import_react13.memo)(
|
|
3283
3280
|
({
|
|
3284
3281
|
mode,
|
|
3285
3282
|
primaryAction,
|
|
@@ -3330,15 +3327,15 @@ function DxcAlert({
|
|
|
3330
3327
|
semantic = "info",
|
|
3331
3328
|
title = ""
|
|
3332
3329
|
}) {
|
|
3333
|
-
const [messages, setMessages] = (0,
|
|
3334
|
-
const [currentIndex, setCurrentIndex] = (0,
|
|
3335
|
-
const id = (0,
|
|
3336
|
-
const colorsTheme = (0,
|
|
3337
|
-
const translatedLabels = (0,
|
|
3330
|
+
const [messages, setMessages] = (0, import_react13.useState)(Array.isArray(message) ? message : [message]);
|
|
3331
|
+
const [currentIndex, setCurrentIndex] = (0, import_react13.useState)(0);
|
|
3332
|
+
const id = (0, import_react13.useId)();
|
|
3333
|
+
const colorsTheme = (0, import_react13.useContext)(HalstackContext);
|
|
3334
|
+
const translatedLabels = (0, import_react13.useContext)(HalstackLanguageContext);
|
|
3338
3335
|
const handleNextOnClick = () => {
|
|
3339
3336
|
setCurrentIndex((prevIndex) => prevIndex < messages.length ? prevIndex + 1 : prevIndex);
|
|
3340
3337
|
};
|
|
3341
|
-
const handlePrevOnClick = (0,
|
|
3338
|
+
const handlePrevOnClick = (0, import_react13.useCallback)(() => {
|
|
3342
3339
|
setCurrentIndex((prevIndex) => prevIndex > 0 ? prevIndex - 1 : prevIndex);
|
|
3343
3340
|
}, []);
|
|
3344
3341
|
const handleOnClose = () => {
|
|
@@ -3347,7 +3344,7 @@ function DxcAlert({
|
|
|
3347
3344
|
setMessages((prevMessages) => prevMessages.filter((_, index) => index !== currentIndex));
|
|
3348
3345
|
}
|
|
3349
3346
|
};
|
|
3350
|
-
(0,
|
|
3347
|
+
(0, import_react13.useEffect)(() => {
|
|
3351
3348
|
if (currentIndex === messages.length) handlePrevOnClick();
|
|
3352
3349
|
}, [currentIndex, messages, handlePrevOnClick]);
|
|
3353
3350
|
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_styled_components11.ThemeProvider, { theme: colorsTheme.alert, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ModalAlertWrapper_default, { condition: mode === "modal", onClose: handleOnClose, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
@@ -3436,11 +3433,11 @@ function DxcAlert({
|
|
|
3436
3433
|
}
|
|
3437
3434
|
|
|
3438
3435
|
// src/layout/ApplicationLayout.tsx
|
|
3439
|
-
var
|
|
3436
|
+
var import_react24 = require("react");
|
|
3440
3437
|
var import_styled_components19 = __toESM(require("styled-components"));
|
|
3441
3438
|
|
|
3442
3439
|
// src/footer/Footer.tsx
|
|
3443
|
-
var
|
|
3440
|
+
var import_react14 = require("react");
|
|
3444
3441
|
var import_styled_components12 = __toESM(require("styled-components"));
|
|
3445
3442
|
|
|
3446
3443
|
// src/footer/Icons.tsx
|
|
@@ -3643,9 +3640,9 @@ var DxcFooter = ({
|
|
|
3643
3640
|
tabIndex = 0,
|
|
3644
3641
|
mode = "default"
|
|
3645
3642
|
}) => {
|
|
3646
|
-
const colorsTheme = (0,
|
|
3647
|
-
const translatedLabels = (0,
|
|
3648
|
-
const footerLogo = (0,
|
|
3643
|
+
const colorsTheme = (0, import_react14.useContext)(HalstackContext);
|
|
3644
|
+
const translatedLabels = (0, import_react14.useContext)(HalstackLanguageContext);
|
|
3645
|
+
const footerLogo = (0, import_react14.useMemo)(
|
|
3649
3646
|
() => !colorsTheme.footer.logo ? mode === "default" ? dxcLogo : dxcSmallLogo : typeof colorsTheme.footer.logo === "string" ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(LogoImg, { mode, alt: translatedLabels.formFields.logoAlternativeText, src: colorsTheme.footer.logo }) : colorsTheme.footer.logo,
|
|
3650
3647
|
[colorsTheme, translatedLabels]
|
|
3651
3648
|
);
|
|
@@ -3792,19 +3789,19 @@ var BottomLink = import_styled_components12.default.a`
|
|
|
3792
3789
|
var Footer_default = DxcFooter;
|
|
3793
3790
|
|
|
3794
3791
|
// src/header/Header.tsx
|
|
3795
|
-
var
|
|
3792
|
+
var import_react19 = require("react");
|
|
3796
3793
|
var import_styled_components16 = __toESM(require("styled-components"));
|
|
3797
3794
|
|
|
3798
3795
|
// src/dropdown/Dropdown.tsx
|
|
3799
3796
|
var Popover = __toESM(require("@radix-ui/react-popover"));
|
|
3800
|
-
var
|
|
3797
|
+
var import_react18 = require("react");
|
|
3801
3798
|
var import_styled_components15 = __toESM(require("styled-components"));
|
|
3802
3799
|
|
|
3803
3800
|
// src/utils/useWidth.tsx
|
|
3804
|
-
var
|
|
3801
|
+
var import_react15 = require("react");
|
|
3805
3802
|
var useWidth = (target) => {
|
|
3806
|
-
const [width, setWidth] = (0,
|
|
3807
|
-
(0,
|
|
3803
|
+
const [width, setWidth] = (0, import_react15.useState)(0);
|
|
3804
|
+
(0, import_react15.useLayoutEffect)(() => {
|
|
3808
3805
|
if (target != null) {
|
|
3809
3806
|
setWidth(target.getBoundingClientRect().width);
|
|
3810
3807
|
const triggerObserver = new ResizeObserver((entries) => {
|
|
@@ -3824,11 +3821,11 @@ var useWidth = (target) => {
|
|
|
3824
3821
|
var useWidth_default = useWidth;
|
|
3825
3822
|
|
|
3826
3823
|
// src/dropdown/DropdownMenu.tsx
|
|
3827
|
-
var
|
|
3824
|
+
var import_react17 = require("react");
|
|
3828
3825
|
var import_styled_components14 = __toESM(require("styled-components"));
|
|
3829
3826
|
|
|
3830
3827
|
// src/dropdown/DropdownMenuItem.tsx
|
|
3831
|
-
var
|
|
3828
|
+
var import_react16 = require("react");
|
|
3832
3829
|
var import_styled_components13 = __toESM(require("styled-components"));
|
|
3833
3830
|
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
3834
3831
|
var DropdownMenuItem = ({
|
|
@@ -3893,11 +3890,11 @@ var DropdownMenuItemIcon = import_styled_components13.default.div`
|
|
|
3893
3890
|
height: ${(props) => props.theme.optionIconSize};
|
|
3894
3891
|
}
|
|
3895
3892
|
`;
|
|
3896
|
-
var DropdownMenuItem_default = (0,
|
|
3893
|
+
var DropdownMenuItem_default = (0, import_react16.memo)(DropdownMenuItem);
|
|
3897
3894
|
|
|
3898
3895
|
// src/dropdown/DropdownMenu.tsx
|
|
3899
3896
|
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
3900
|
-
var DropdownMenu = (0,
|
|
3897
|
+
var DropdownMenu = (0, import_react17.forwardRef)(
|
|
3901
3898
|
({ id, dropdownTriggerId, iconsPosition, visualFocusIndex, menuItemOnClick, onKeyDown, options, styles }, ref) => /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
3902
3899
|
DropdownMenuContainer,
|
|
3903
3900
|
{
|
|
@@ -3957,7 +3954,7 @@ var DropdownMenuContainer = import_styled_components14.default.ul`
|
|
|
3957
3954
|
border-radius: 6px;
|
|
3958
3955
|
}
|
|
3959
3956
|
`;
|
|
3960
|
-
var DropdownMenu_default = (0,
|
|
3957
|
+
var DropdownMenu_default = (0, import_react17.memo)(DropdownMenu);
|
|
3961
3958
|
|
|
3962
3959
|
// src/dropdown/Dropdown.tsx
|
|
3963
3960
|
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
@@ -3976,14 +3973,14 @@ var DxcDropdown = ({
|
|
|
3976
3973
|
tabIndex = 0,
|
|
3977
3974
|
title
|
|
3978
3975
|
}) => {
|
|
3979
|
-
const id = (0,
|
|
3976
|
+
const id = (0, import_react18.useId)();
|
|
3980
3977
|
const triggerId = `trigger-${id}`;
|
|
3981
3978
|
const menuId = `menu-${id}`;
|
|
3982
|
-
const [isOpen, changeIsOpen] = (0,
|
|
3983
|
-
const [visualFocusIndex, setVisualFocusIndex] = (0,
|
|
3984
|
-
const colorsTheme = (0,
|
|
3985
|
-
const triggerRef = (0,
|
|
3986
|
-
const menuRef = (0,
|
|
3979
|
+
const [isOpen, changeIsOpen] = (0, import_react18.useState)(false);
|
|
3980
|
+
const [visualFocusIndex, setVisualFocusIndex] = (0, import_react18.useState)(0);
|
|
3981
|
+
const colorsTheme = (0, import_react18.useContext)(HalstackContext);
|
|
3982
|
+
const triggerRef = (0, import_react18.useRef)(null);
|
|
3983
|
+
const menuRef = (0, import_react18.useRef)(null);
|
|
3987
3984
|
const width = useWidth_default(triggerRef.current);
|
|
3988
3985
|
const handleOnOpenMenu = () => {
|
|
3989
3986
|
changeIsOpen(true);
|
|
@@ -3992,7 +3989,7 @@ var DxcDropdown = ({
|
|
|
3992
3989
|
changeIsOpen(false);
|
|
3993
3990
|
setVisualFocusIndex(0);
|
|
3994
3991
|
};
|
|
3995
|
-
const handleMenuItemOnClick = (0,
|
|
3992
|
+
const handleMenuItemOnClick = (0, import_react18.useCallback)(
|
|
3996
3993
|
(value) => {
|
|
3997
3994
|
if (value) onSelectOption(value);
|
|
3998
3995
|
handleOnCloseMenu();
|
|
@@ -4039,7 +4036,7 @@ var DxcDropdown = ({
|
|
|
4039
4036
|
return index;
|
|
4040
4037
|
});
|
|
4041
4038
|
};
|
|
4042
|
-
const handleMenuOnKeyDown = (0,
|
|
4039
|
+
const handleMenuOnKeyDown = (0, import_react18.useCallback)(
|
|
4043
4040
|
(event) => {
|
|
4044
4041
|
switch (event.key) {
|
|
4045
4042
|
case "Up":
|
|
@@ -4086,7 +4083,7 @@ var DxcDropdown = ({
|
|
|
4086
4083
|
},
|
|
4087
4084
|
[onSelectOption, visualFocusIndex, options]
|
|
4088
4085
|
);
|
|
4089
|
-
(0,
|
|
4086
|
+
(0, import_react18.useLayoutEffect)(() => {
|
|
4090
4087
|
const visualFocusedMenuItem = menuRef.current?.querySelectorAll("[role='menuitem']")[visualFocusIndex];
|
|
4091
4088
|
visualFocusedMenuItem?.scrollIntoView?.({
|
|
4092
4089
|
block: "nearest",
|
|
@@ -4252,7 +4249,7 @@ var CaretIcon = import_styled_components15.default.span`
|
|
|
4252
4249
|
var Dropdown_default = DxcDropdown;
|
|
4253
4250
|
|
|
4254
4251
|
// src/header/Header.tsx
|
|
4255
|
-
var
|
|
4252
|
+
var import_react20 = require("react");
|
|
4256
4253
|
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
4257
4254
|
var Dropdown = (props) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(HeaderDropdown, { children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Dropdown_default, { ...props }) });
|
|
4258
4255
|
var getLogoElement = (themeInput, logoLabel) => {
|
|
@@ -4290,11 +4287,11 @@ var DxcHeader = ({
|
|
|
4290
4287
|
margin,
|
|
4291
4288
|
tabIndex = 0
|
|
4292
4289
|
}) => {
|
|
4293
|
-
const [isResponsive, setIsResponsive] = (0,
|
|
4294
|
-
const [isMenuVisible, setIsMenuVisible] = (0,
|
|
4295
|
-
const colorsTheme = (0,
|
|
4296
|
-
const translatedLabels = (0,
|
|
4297
|
-
const ref = (0,
|
|
4290
|
+
const [isResponsive, setIsResponsive] = (0, import_react19.useState)(false);
|
|
4291
|
+
const [isMenuVisible, setIsMenuVisible] = (0, import_react19.useState)(false);
|
|
4292
|
+
const colorsTheme = (0, import_react20.useContext)(HalstackContext);
|
|
4293
|
+
const translatedLabels = (0, import_react20.useContext)(HalstackLanguageContext);
|
|
4294
|
+
const ref = (0, import_react19.useRef)(null);
|
|
4298
4295
|
const handleMenu = () => {
|
|
4299
4296
|
if (isResponsive && !isMenuVisible) {
|
|
4300
4297
|
setIsMenuVisible(!isMenuVisible);
|
|
@@ -4302,15 +4299,15 @@ var DxcHeader = ({
|
|
|
4302
4299
|
setIsMenuVisible(!isMenuVisible);
|
|
4303
4300
|
}
|
|
4304
4301
|
};
|
|
4305
|
-
const headerLogo = (0,
|
|
4302
|
+
const headerLogo = (0, import_react19.useMemo)(
|
|
4306
4303
|
() => getLogoElement(colorsTheme.header.logo, translatedLabels.formFields.logoAlternativeText),
|
|
4307
4304
|
[colorsTheme, translatedLabels]
|
|
4308
4305
|
);
|
|
4309
|
-
const headerResponsiveLogo = (0,
|
|
4306
|
+
const headerResponsiveLogo = (0, import_react19.useMemo)(
|
|
4310
4307
|
() => getLogoElement(colorsTheme.header.logoResponsive, translatedLabels.formFields.logoAlternativeText),
|
|
4311
4308
|
[colorsTheme, translatedLabels]
|
|
4312
4309
|
);
|
|
4313
|
-
(0,
|
|
4310
|
+
(0, import_react19.useEffect)(() => {
|
|
4314
4311
|
const handleResize = () => {
|
|
4315
4312
|
setIsResponsive(window.matchMedia(`(max-width: ${responsiveSizes.medium}rem)`).matches);
|
|
4316
4313
|
};
|
|
@@ -4320,7 +4317,7 @@ var DxcHeader = ({
|
|
|
4320
4317
|
window.removeEventListener("resize", handleResize);
|
|
4321
4318
|
};
|
|
4322
4319
|
}, []);
|
|
4323
|
-
(0,
|
|
4320
|
+
(0, import_react19.useEffect)(() => {
|
|
4324
4321
|
if (!isResponsive) {
|
|
4325
4322
|
setIsMenuVisible(false);
|
|
4326
4323
|
}
|
|
@@ -4517,7 +4514,7 @@ var Overlay2 = import_styled_components16.default.div`
|
|
|
4517
4514
|
var Header_default = DxcHeader;
|
|
4518
4515
|
|
|
4519
4516
|
// src/sidenav/Sidenav.tsx
|
|
4520
|
-
var
|
|
4517
|
+
var import_react22 = require("react");
|
|
4521
4518
|
var import_styled_components18 = __toESM(require("styled-components"));
|
|
4522
4519
|
|
|
4523
4520
|
// src/bleed/Bleed.tsx
|
|
@@ -4547,20 +4544,20 @@ var Bleed = ({ space, horizontal, vertical, top, right, bottom, left, children }
|
|
|
4547
4544
|
var Bleed_default = Bleed;
|
|
4548
4545
|
|
|
4549
4546
|
// src/sidenav/SidenavContext.tsx
|
|
4550
|
-
var
|
|
4551
|
-
var SidenavContext = (0,
|
|
4552
|
-
var GroupContext = (0,
|
|
4547
|
+
var import_react21 = require("react");
|
|
4548
|
+
var SidenavContext = (0, import_react21.createContext)(null);
|
|
4549
|
+
var GroupContext = (0, import_react21.createContext)(null);
|
|
4553
4550
|
var SidenavContextProvider = SidenavContext.Provider;
|
|
4554
4551
|
var GroupContextProvider = GroupContext.Provider;
|
|
4555
4552
|
var useResponsiveSidenavVisibility = () => {
|
|
4556
|
-
const changeResponsiveSidenavVisibility = (0,
|
|
4553
|
+
const changeResponsiveSidenavVisibility = (0, import_react21.useContext)(SidenavContext);
|
|
4557
4554
|
return changeResponsiveSidenavVisibility;
|
|
4558
4555
|
};
|
|
4559
4556
|
|
|
4560
4557
|
// src/sidenav/Sidenav.tsx
|
|
4561
4558
|
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
4562
4559
|
var DxcSidenav = ({ title, children }) => {
|
|
4563
|
-
const colorsTheme = (0,
|
|
4560
|
+
const colorsTheme = (0, import_react22.useContext)(HalstackContext);
|
|
4564
4561
|
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_styled_components18.ThemeProvider, { theme: colorsTheme.sidenav, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(SidenavContainer, { children: [
|
|
4565
4562
|
title,
|
|
4566
4563
|
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Flex_default, { direction: "column", gap: "1rem", children })
|
|
@@ -4572,8 +4569,8 @@ var Section = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(i
|
|
|
4572
4569
|
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Divider, {})
|
|
4573
4570
|
] });
|
|
4574
4571
|
var Group = ({ title, collapsable = false, icon, children }) => {
|
|
4575
|
-
const [collapsed, setCollapsed] = (0,
|
|
4576
|
-
const [isSelected, changeIsSelected] = (0,
|
|
4572
|
+
const [collapsed, setCollapsed] = (0, import_react22.useState)(false);
|
|
4573
|
+
const [isSelected, changeIsSelected] = (0, import_react22.useState)(false);
|
|
4577
4574
|
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(GroupContextProvider, { value: changeIsSelected, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(SidenavGroup, { children: [
|
|
4578
4575
|
collapsable && title ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
4579
4576
|
SidenavGroupTitleButton,
|
|
@@ -4596,15 +4593,15 @@ var Group = ({ title, collapsable = false, icon, children }) => {
|
|
|
4596
4593
|
!collapsed && children
|
|
4597
4594
|
] }) });
|
|
4598
4595
|
};
|
|
4599
|
-
var Link = (0,
|
|
4596
|
+
var Link = (0, import_react22.forwardRef)(
|
|
4600
4597
|
({ href, newWindow = false, selected = false, icon, onClick, tabIndex = 0, children, ...otherProps }, ref) => {
|
|
4601
|
-
const changeIsGroupSelected = (0,
|
|
4598
|
+
const changeIsGroupSelected = (0, import_react22.useContext)(GroupContext);
|
|
4602
4599
|
const setIsSidenavVisibleResponsive = useResponsiveSidenavVisibility();
|
|
4603
4600
|
const handleClick = ($event) => {
|
|
4604
4601
|
onClick?.($event);
|
|
4605
4602
|
setIsSidenavVisibleResponsive?.(false);
|
|
4606
4603
|
};
|
|
4607
|
-
(0,
|
|
4604
|
+
(0, import_react22.useEffect)(() => {
|
|
4608
4605
|
changeIsGroupSelected?.((isGroupSelected2) => !isGroupSelected2 ? selected : isGroupSelected2);
|
|
4609
4606
|
}, [selected, changeIsGroupSelected]);
|
|
4610
4607
|
return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
@@ -4778,7 +4775,7 @@ DxcSidenav.Title = Title2;
|
|
|
4778
4775
|
var Sidenav_default = DxcSidenav;
|
|
4779
4776
|
|
|
4780
4777
|
// src/layout/utils.tsx
|
|
4781
|
-
var
|
|
4778
|
+
var import_react23 = require("react");
|
|
4782
4779
|
|
|
4783
4780
|
// src/layout/Icons.tsx
|
|
4784
4781
|
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
@@ -4865,10 +4862,10 @@ var socialLinks = [
|
|
|
4865
4862
|
title: "Facebook"
|
|
4866
4863
|
}
|
|
4867
4864
|
];
|
|
4868
|
-
var findChildType = (children, childType) =>
|
|
4865
|
+
var findChildType = (children, childType) => import_react23.Children.toArray(children).find((child) => (0, import_react23.isValidElement)(child) && child.type === childType);
|
|
4869
4866
|
var useResponsive = (breakpoint) => {
|
|
4870
|
-
const [isResponsive, setIsResponsive] = (0,
|
|
4871
|
-
(0,
|
|
4867
|
+
const [isResponsive, setIsResponsive] = (0, import_react23.useState)(false);
|
|
4868
|
+
(0, import_react23.useEffect)(() => {
|
|
4872
4869
|
const handleResize = () => {
|
|
4873
4870
|
setIsResponsive(window.matchMedia(`(max-width: ${breakpoint}rem)`).matches);
|
|
4874
4871
|
};
|
|
@@ -4980,14 +4977,14 @@ var DxcApplicationLayout = ({
|
|
|
4980
4977
|
footer,
|
|
4981
4978
|
children
|
|
4982
4979
|
}) => {
|
|
4983
|
-
const [isSidenavVisibleResponsive, setIsSidenavVisibleResponsive] = (0,
|
|
4980
|
+
const [isSidenavVisibleResponsive, setIsSidenavVisibleResponsive] = (0, import_react24.useState)(false);
|
|
4984
4981
|
const isResponsive = useResponsive(responsiveSizes.large);
|
|
4985
|
-
const ref = (0,
|
|
4986
|
-
const translatedLabels = (0,
|
|
4982
|
+
const ref = (0, import_react24.useRef)(null);
|
|
4983
|
+
const translatedLabels = (0, import_react24.useContext)(HalstackLanguageContext);
|
|
4987
4984
|
const handleSidenavVisibility = () => {
|
|
4988
4985
|
setIsSidenavVisibleResponsive((currentIsSidenavVisibleResponsive) => !currentIsSidenavVisibleResponsive);
|
|
4989
4986
|
};
|
|
4990
|
-
(0,
|
|
4987
|
+
(0, import_react24.useEffect)(() => {
|
|
4991
4988
|
if (!isResponsive) {
|
|
4992
4989
|
setIsSidenavVisibleResponsive(false);
|
|
4993
4990
|
}
|
|
@@ -5156,7 +5153,7 @@ var Label = import_styled_components20.default.span`
|
|
|
5156
5153
|
var Badge_default = DxcBadge;
|
|
5157
5154
|
|
|
5158
5155
|
// src/breadcrumbs/Breadcrumbs.tsx
|
|
5159
|
-
var
|
|
5156
|
+
var import_react26 = require("react");
|
|
5160
5157
|
var import_styled_components22 = __toESM(require("styled-components"));
|
|
5161
5158
|
|
|
5162
5159
|
// src/breadcrumbs/dropdownTheme.ts
|
|
@@ -5216,11 +5213,11 @@ var dropdownTheme_default = {
|
|
|
5216
5213
|
};
|
|
5217
5214
|
|
|
5218
5215
|
// src/breadcrumbs/Item.tsx
|
|
5219
|
-
var
|
|
5216
|
+
var import_react25 = require("react");
|
|
5220
5217
|
var import_styled_components21 = __toESM(require("styled-components"));
|
|
5221
5218
|
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
5222
5219
|
var Item = ({ isCurrentPage = false, href, label, onClick }) => {
|
|
5223
|
-
const currentItemRef = (0,
|
|
5220
|
+
const currentItemRef = (0, import_react25.useRef)(null);
|
|
5224
5221
|
const handleOnMouseEnter = (event) => {
|
|
5225
5222
|
const labelContainer = event.currentTarget;
|
|
5226
5223
|
const optionElement = currentItemRef.current;
|
|
@@ -5281,7 +5278,7 @@ var DxcBreadcrumbs = ({
|
|
|
5281
5278
|
onItemClick,
|
|
5282
5279
|
showRoot = true
|
|
5283
5280
|
}) => {
|
|
5284
|
-
const handleOnSelectOption = (0,
|
|
5281
|
+
const handleOnSelectOption = (0, import_react26.useCallback)(
|
|
5285
5282
|
(href) => {
|
|
5286
5283
|
if (onItemClick) {
|
|
5287
5284
|
onItemClick(href);
|
|
@@ -5340,16 +5337,16 @@ var OrderedList = import_styled_components22.default.ol`
|
|
|
5340
5337
|
var Breadcrumbs_default = DxcBreadcrumbs;
|
|
5341
5338
|
|
|
5342
5339
|
// src/bulleted-list/BulletedList.tsx
|
|
5343
|
-
var
|
|
5340
|
+
var import_react29 = require("react");
|
|
5344
5341
|
var import_styled_components24 = __toESM(require("styled-components"));
|
|
5345
5342
|
|
|
5346
5343
|
// src/typography/Typography.tsx
|
|
5347
|
-
var
|
|
5344
|
+
var import_react28 = require("react");
|
|
5348
5345
|
var import_styled_components23 = __toESM(require("styled-components"));
|
|
5349
5346
|
|
|
5350
5347
|
// src/typography/TypographyContext.tsx
|
|
5351
|
-
var
|
|
5352
|
-
var TypographyContext_default = (0,
|
|
5348
|
+
var import_react27 = require("react");
|
|
5349
|
+
var TypographyContext_default = (0, import_react27.createContext)({
|
|
5353
5350
|
as: "span",
|
|
5354
5351
|
color: "#000000",
|
|
5355
5352
|
display: "inline",
|
|
@@ -5384,8 +5381,8 @@ var Typography = import_styled_components23.default.span`
|
|
|
5384
5381
|
overflow: ${({ textOverflow }) => textOverflow !== "unset" ? "hidden" : "visible"};
|
|
5385
5382
|
`;
|
|
5386
5383
|
function DxcTypography({ children, ...props }) {
|
|
5387
|
-
const componentContext = (0,
|
|
5388
|
-
const contextValue = (0,
|
|
5384
|
+
const componentContext = (0, import_react28.useContext)(TypographyContext_default);
|
|
5385
|
+
const contextValue = (0, import_react28.useMemo)(
|
|
5389
5386
|
() => ({
|
|
5390
5387
|
...componentContext,
|
|
5391
5388
|
...props
|
|
@@ -5399,8 +5396,8 @@ function DxcTypography({ children, ...props }) {
|
|
|
5399
5396
|
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
5400
5397
|
var BulletedListItem = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_jsx_runtime28.Fragment, { children });
|
|
5401
5398
|
var DxcBulletedList = ({ children, type = "disc", icon = "" }) => {
|
|
5402
|
-
const colorsTheme = (0,
|
|
5403
|
-
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_styled_components24.ThemeProvider, { theme: colorsTheme.bulletedList, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ListContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Flex_default, { direction: "column", as: type === "number" ? "ol" : "ul", gap: "0.125rem", children:
|
|
5399
|
+
const colorsTheme = (0, import_react29.useContext)(HalstackContext);
|
|
5400
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_styled_components24.ThemeProvider, { theme: colorsTheme.bulletedList, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ListContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Flex_default, { direction: "column", as: type === "number" ? "ol" : "ul", gap: "0.125rem", children: import_react29.Children.map(children, (child, index) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ListItem2, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(GeneralContent, { children: [
|
|
5404
5401
|
type === "number" ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Number2, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(DxcTypography, { color: colorsTheme.bulletedList.fontColor, children: [
|
|
5405
5402
|
index + 1,
|
|
5406
5403
|
"."
|
|
@@ -5479,7 +5476,7 @@ var ListItem2 = import_styled_components24.default.li`
|
|
|
5479
5476
|
var BulletedList_default = DxcBulletedList;
|
|
5480
5477
|
|
|
5481
5478
|
// src/card/Card.tsx
|
|
5482
|
-
var
|
|
5479
|
+
var import_react30 = require("react");
|
|
5483
5480
|
var import_styled_components25 = __toESM(require("styled-components"));
|
|
5484
5481
|
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
5485
5482
|
var DxcCard = ({
|
|
@@ -5495,8 +5492,8 @@ var DxcCard = ({
|
|
|
5495
5492
|
outlined = true,
|
|
5496
5493
|
children
|
|
5497
5494
|
}) => {
|
|
5498
|
-
const colorsTheme = (0,
|
|
5499
|
-
const [isHovered, changeIsHovered] = (0,
|
|
5495
|
+
const colorsTheme = (0, import_react30.useContext)(HalstackContext);
|
|
5496
|
+
const [isHovered, changeIsHovered] = (0, import_react30.useState)(false);
|
|
5500
5497
|
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_styled_components25.ThemeProvider, { theme: colorsTheme.card, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
5501
5498
|
Card,
|
|
5502
5499
|
{
|
|
@@ -5562,11 +5559,11 @@ var CardContent = import_styled_components25.default.div`
|
|
|
5562
5559
|
var Card_default = DxcCard;
|
|
5563
5560
|
|
|
5564
5561
|
// src/checkbox/Checkbox.tsx
|
|
5565
|
-
var
|
|
5562
|
+
var import_react31 = require("react");
|
|
5566
5563
|
var import_styled_components26 = __toESM(require("styled-components"));
|
|
5567
5564
|
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
5568
5565
|
var checkedIcon = /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("svg", { fill: "currentColor", focusable: "false", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("path", { d: "M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z" }) });
|
|
5569
|
-
var DxcCheckbox = (0,
|
|
5566
|
+
var DxcCheckbox = (0, import_react31.forwardRef)(
|
|
5570
5567
|
({
|
|
5571
5568
|
checked,
|
|
5572
5569
|
defaultChecked = false,
|
|
@@ -5583,11 +5580,11 @@ var DxcCheckbox = (0, import_react30.forwardRef)(
|
|
|
5583
5580
|
tabIndex = 0,
|
|
5584
5581
|
ariaLabel = "Checkbox"
|
|
5585
5582
|
}, ref) => {
|
|
5586
|
-
const labelId = `label-checkbox-${(0,
|
|
5587
|
-
const [innerChecked, setInnerChecked] = (0,
|
|
5588
|
-
const checkboxRef = (0,
|
|
5589
|
-
const colorsTheme = (0,
|
|
5590
|
-
const translatedLabels = (0,
|
|
5583
|
+
const labelId = `label-checkbox-${(0, import_react31.useId)()}`;
|
|
5584
|
+
const [innerChecked, setInnerChecked] = (0, import_react31.useState)(defaultChecked);
|
|
5585
|
+
const checkboxRef = (0, import_react31.useRef)(null);
|
|
5586
|
+
const colorsTheme = (0, import_react31.useContext)(HalstackContext);
|
|
5587
|
+
const translatedLabels = (0, import_react31.useContext)(HalstackLanguageContext);
|
|
5591
5588
|
const handleCheckboxChange = () => {
|
|
5592
5589
|
if (!disabled && !readOnly) {
|
|
5593
5590
|
if (document.activeElement !== checkboxRef.current) {
|
|
@@ -5784,7 +5781,7 @@ var MainContainer2 = import_styled_components26.default.div`
|
|
|
5784
5781
|
var Checkbox_default = DxcCheckbox;
|
|
5785
5782
|
|
|
5786
5783
|
// src/chip/Chip.tsx
|
|
5787
|
-
var
|
|
5784
|
+
var import_react32 = require("react");
|
|
5788
5785
|
var import_styled_components27 = __toESM(require("styled-components"));
|
|
5789
5786
|
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
5790
5787
|
var DxcChip = ({
|
|
@@ -5797,7 +5794,7 @@ var DxcChip = ({
|
|
|
5797
5794
|
margin,
|
|
5798
5795
|
tabIndex = 0
|
|
5799
5796
|
}) => {
|
|
5800
|
-
const colorsTheme = (0,
|
|
5797
|
+
const colorsTheme = (0, import_react32.useContext)(HalstackContext);
|
|
5801
5798
|
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_styled_components27.ThemeProvider, { theme: colorsTheme.chip, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(Chip, { disabled, margin, children: [
|
|
5802
5799
|
prefixIcon && /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
5803
5800
|
IconContainer5,
|
|
@@ -5889,22 +5886,22 @@ var IconContainer5 = import_styled_components27.default.div`
|
|
|
5889
5886
|
var Chip_default = DxcChip;
|
|
5890
5887
|
|
|
5891
5888
|
// src/contextual-menu/ContextualMenu.tsx
|
|
5892
|
-
var
|
|
5889
|
+
var import_react38 = require("react");
|
|
5893
5890
|
var import_styled_components31 = __toESM(require("styled-components"));
|
|
5894
5891
|
|
|
5895
5892
|
// src/contextual-menu/MenuItem.tsx
|
|
5896
5893
|
var import_styled_components29 = __toESM(require("styled-components"));
|
|
5897
5894
|
|
|
5898
5895
|
// src/contextual-menu/GroupItem.tsx
|
|
5899
|
-
var
|
|
5896
|
+
var import_react35 = require("react");
|
|
5900
5897
|
|
|
5901
5898
|
// src/contextual-menu/ItemAction.tsx
|
|
5902
|
-
var
|
|
5899
|
+
var import_react33 = require("react");
|
|
5903
5900
|
var import_styled_components28 = __toESM(require("styled-components"));
|
|
5904
5901
|
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
5905
5902
|
var ItemAction = ({ badge, collapseIcon, icon, label, depthLevel, ...props }) => {
|
|
5906
|
-
const [hasTooltip, setHasTooltip] = (0,
|
|
5907
|
-
const modifiedBadge = badge && (0,
|
|
5903
|
+
const [hasTooltip, setHasTooltip] = (0, import_react33.useState)(false);
|
|
5904
|
+
const modifiedBadge = badge && (0, import_react33.cloneElement)(badge, { size: "small" });
|
|
5908
5905
|
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(TooltipWrapper, { condition: hasTooltip, label, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(Action, { depthLevel, ...props, children: [
|
|
5909
5906
|
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(Label2, { children: [
|
|
5910
5907
|
collapseIcon && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Icon2, { children: collapseIcon }),
|
|
@@ -5980,8 +5977,8 @@ var Text2 = import_styled_components28.default.span`
|
|
|
5980
5977
|
var ItemAction_default = ItemAction;
|
|
5981
5978
|
|
|
5982
5979
|
// src/contextual-menu/ContextualMenuContext.tsx
|
|
5983
|
-
var
|
|
5984
|
-
var ContextualMenuContext_default = (0,
|
|
5980
|
+
var import_react34 = require("react");
|
|
5981
|
+
var ContextualMenuContext_default = (0, import_react34.createContext)(null);
|
|
5985
5982
|
|
|
5986
5983
|
// src/contextual-menu/GroupItem.tsx
|
|
5987
5984
|
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
@@ -5991,10 +5988,10 @@ var isGroupSelected = (items, selectedItemId) => items.some((item) => {
|
|
|
5991
5988
|
else return item.selectedByDefault;
|
|
5992
5989
|
});
|
|
5993
5990
|
var GroupItem = ({ items, ...props }) => {
|
|
5994
|
-
const groupMenuId = `group-menu-${(0,
|
|
5995
|
-
const { selectedItemId } = (0,
|
|
5996
|
-
const groupSelected = (0,
|
|
5997
|
-
const [isOpen, setIsOpen] = (0,
|
|
5991
|
+
const groupMenuId = `group-menu-${(0, import_react35.useId)()}`;
|
|
5992
|
+
const { selectedItemId } = (0, import_react35.useContext)(ContextualMenuContext_default) ?? {};
|
|
5993
|
+
const groupSelected = (0, import_react35.useMemo)(() => isGroupSelected(items, selectedItemId), [items, selectedItemId]);
|
|
5994
|
+
const [isOpen, setIsOpen] = (0, import_react35.useState)(groupSelected && selectedItemId === -1);
|
|
5998
5995
|
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_jsx_runtime33.Fragment, { children: [
|
|
5999
5996
|
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
6000
5997
|
ItemAction_default,
|
|
@@ -6013,18 +6010,18 @@ var GroupItem = ({ items, ...props }) => {
|
|
|
6013
6010
|
isOpen && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(SubMenu, { id: groupMenuId, children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(MenuItem_default, { item, depthLevel: props.depthLevel + 1 }, `${item.label}-${index}`)) })
|
|
6014
6011
|
] });
|
|
6015
6012
|
};
|
|
6016
|
-
var GroupItem_default = (0,
|
|
6013
|
+
var GroupItem_default = (0, import_react35.memo)(GroupItem);
|
|
6017
6014
|
|
|
6018
6015
|
// src/contextual-menu/SingleItem.tsx
|
|
6019
|
-
var
|
|
6016
|
+
var import_react36 = require("react");
|
|
6020
6017
|
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
6021
6018
|
var SingleItem = ({ id, onSelect, selectedByDefault = false, ...props }) => {
|
|
6022
|
-
const { selectedItemId, setSelectedItemId } = (0,
|
|
6019
|
+
const { selectedItemId, setSelectedItemId } = (0, import_react36.useContext)(ContextualMenuContext_default) ?? {};
|
|
6023
6020
|
const handleClick = () => {
|
|
6024
6021
|
setSelectedItemId?.(id);
|
|
6025
6022
|
onSelect?.();
|
|
6026
6023
|
};
|
|
6027
|
-
(0,
|
|
6024
|
+
(0, import_react36.useEffect)(() => {
|
|
6028
6025
|
if (selectedItemId === -1 && selectedByDefault) {
|
|
6029
6026
|
setSelectedItemId?.(id);
|
|
6030
6027
|
}
|
|
@@ -6052,10 +6049,10 @@ var MenuItem_default = MenuItem;
|
|
|
6052
6049
|
|
|
6053
6050
|
// src/contextual-menu/Section.tsx
|
|
6054
6051
|
var import_styled_components30 = __toESM(require("styled-components"));
|
|
6055
|
-
var
|
|
6052
|
+
var import_react37 = require("react");
|
|
6056
6053
|
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
6057
6054
|
var Section2 = ({ section, index, length }) => {
|
|
6058
|
-
const id = `section-${(0,
|
|
6055
|
+
const id = `section-${(0, import_react37.useId)()}`;
|
|
6059
6056
|
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("section", { "aria-label": section.title ?? id, "aria-labelledby": id, children: [
|
|
6060
6057
|
section.title && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Title3, { id, children: section.title }),
|
|
6061
6058
|
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(SubMenu, { children: section.items.map((item, index2) => /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(MenuItem_default, { item }, `${item.label}-${index2}`)) }),
|
|
@@ -6122,13 +6119,13 @@ var addIdToItems = (items) => {
|
|
|
6122
6119
|
};
|
|
6123
6120
|
var SubMenu = ({ children, id }) => /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(StyledSubMenu, { id, role: "menu", children });
|
|
6124
6121
|
function DxcContextualMenu({ items }) {
|
|
6125
|
-
const [selectedItemId, setSelectedItemId] = (0,
|
|
6126
|
-
const contextualMenuRef = (0,
|
|
6127
|
-
const itemsWithId = (0,
|
|
6128
|
-
const contextValue = (0,
|
|
6129
|
-
const colorsTheme = (0,
|
|
6130
|
-
const [firstUpdate, setFirstUpdate] = (0,
|
|
6131
|
-
(0,
|
|
6122
|
+
const [selectedItemId, setSelectedItemId] = (0, import_react38.useState)(-1);
|
|
6123
|
+
const contextualMenuRef = (0, import_react38.useRef)(null);
|
|
6124
|
+
const itemsWithId = (0, import_react38.useMemo)(() => addIdToItems(items), [items]);
|
|
6125
|
+
const contextValue = (0, import_react38.useMemo)(() => ({ selectedItemId, setSelectedItemId }), [selectedItemId, setSelectedItemId]);
|
|
6126
|
+
const colorsTheme = (0, import_react38.useContext)(HalstackContext);
|
|
6127
|
+
const [firstUpdate, setFirstUpdate] = (0, import_react38.useState)(true);
|
|
6128
|
+
(0, import_react38.useLayoutEffect)(() => {
|
|
6132
6129
|
if (selectedItemId !== -1 && firstUpdate) {
|
|
6133
6130
|
const contextualMenuEl = contextualMenuRef.current;
|
|
6134
6131
|
const selectedItemEl = contextualMenuEl?.querySelector("[aria-pressed='true']");
|
|
@@ -6142,17 +6139,17 @@ function DxcContextualMenu({ items }) {
|
|
|
6142
6139
|
}
|
|
6143
6140
|
|
|
6144
6141
|
// src/data-grid/DataGrid.tsx
|
|
6145
|
-
var
|
|
6142
|
+
var import_react46 = require("react");
|
|
6146
6143
|
var import_react_data_grid2 = __toESM(require("react-data-grid"));
|
|
6147
6144
|
var import_styled_components38 = __toESM(require("styled-components"));
|
|
6148
6145
|
var import_styles = require("react-data-grid/lib/styles.css");
|
|
6149
6146
|
|
|
6150
6147
|
// src/data-grid/utils.tsx
|
|
6151
|
-
var
|
|
6148
|
+
var import_react40 = require("react");
|
|
6152
6149
|
var import_react_data_grid = require("react-data-grid");
|
|
6153
6150
|
|
|
6154
6151
|
// src/spinner/Spinner.tsx
|
|
6155
|
-
var
|
|
6152
|
+
var import_react39 = require("react");
|
|
6156
6153
|
var import_styled_components32 = __toESM(require("styled-components"));
|
|
6157
6154
|
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
6158
6155
|
var DxcSpinner = ({
|
|
@@ -6163,9 +6160,9 @@ var DxcSpinner = ({
|
|
|
6163
6160
|
margin,
|
|
6164
6161
|
ariaLabel = "Spinner"
|
|
6165
6162
|
}) => {
|
|
6166
|
-
const labelId = (0,
|
|
6167
|
-
const colorsTheme = (0,
|
|
6168
|
-
const determinated = (0,
|
|
6163
|
+
const labelId = (0, import_react39.useId)();
|
|
6164
|
+
const colorsTheme = (0, import_react39.useContext)(HalstackContext);
|
|
6165
|
+
const determinated = (0, import_react39.useMemo)(() => value != null && value >= 0 && value <= 100, [value]);
|
|
6169
6166
|
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_styled_components32.ThemeProvider, { theme: colorsTheme.spinner, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(DXCSpinner, { margin, mode, children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(SpinnerContainer, { mode, children: [
|
|
6170
6167
|
mode === "overlay" && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(BackOverlay, {}),
|
|
6171
6168
|
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(BackgroundSpinner, { children: mode === "small" ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(SVGBackground, { viewBox: "0 0 16 16", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(CircleBackground, { cx: "8", cy: "8", r: "6", mode }) }) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(SVGBackground, { viewBox: "0 0 140 140", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(CircleBackground, { cx: "70", cy: "70", r: "65", mode }) }) }),
|
|
@@ -6423,7 +6420,7 @@ var renderExpandableTrigger = (row, rows, uniqueRowId, setRowsToRender) => /* @_
|
|
|
6423
6420
|
}
|
|
6424
6421
|
);
|
|
6425
6422
|
var renderHierarchyTrigger = (rows, triggerRow, uniqueRowId, columnKey, setRowsToRender, childrenTrigger) => {
|
|
6426
|
-
const [loading, setLoading] = (0,
|
|
6423
|
+
const [loading, setLoading] = (0, import_react40.useState)(false);
|
|
6427
6424
|
const onClick = async () => {
|
|
6428
6425
|
if (loading) return;
|
|
6429
6426
|
if (!triggerRow.visibleChildren) {
|
|
@@ -6702,21 +6699,21 @@ var getPaginatedNodes = (rows, uniqueRowId, start, end) => {
|
|
|
6702
6699
|
};
|
|
6703
6700
|
|
|
6704
6701
|
// src/paginator/Paginator.tsx
|
|
6705
|
-
var
|
|
6702
|
+
var import_react44 = require("react");
|
|
6706
6703
|
var import_styled_components36 = __toESM(require("styled-components"));
|
|
6707
6704
|
|
|
6708
6705
|
// src/select/Select.tsx
|
|
6709
6706
|
var Popover2 = __toESM(require("@radix-ui/react-popover"));
|
|
6710
|
-
var
|
|
6707
|
+
var import_react43 = require("react");
|
|
6711
6708
|
var import_styled_components35 = __toESM(require("styled-components"));
|
|
6712
6709
|
|
|
6713
6710
|
// src/select/Listbox.tsx
|
|
6714
|
-
var
|
|
6711
|
+
var import_react42 = require("react");
|
|
6715
6712
|
var import_styled_components34 = __toESM(require("styled-components"));
|
|
6716
6713
|
|
|
6717
6714
|
// src/select/ListOption.tsx
|
|
6718
6715
|
var import_styled_components33 = __toESM(require("styled-components"));
|
|
6719
|
-
var
|
|
6716
|
+
var import_react41 = require("react");
|
|
6720
6717
|
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
6721
6718
|
var ListOption = ({
|
|
6722
6719
|
id,
|
|
@@ -6728,7 +6725,7 @@ var ListOption = ({
|
|
|
6728
6725
|
isLastOption,
|
|
6729
6726
|
isSelected
|
|
6730
6727
|
}) => {
|
|
6731
|
-
const [hasTooltip, setHasTooltip] = (0,
|
|
6728
|
+
const [hasTooltip, setHasTooltip] = (0, import_react41.useState)(false);
|
|
6732
6729
|
const handleOnMouseEnter = (event) => {
|
|
6733
6730
|
const text = event.currentTarget;
|
|
6734
6731
|
setHasTooltip(text.scrollWidth > text.clientWidth);
|
|
@@ -6826,22 +6823,21 @@ var isOptionGroup = (option) => "options" in option && option.options != null;
|
|
|
6826
6823
|
var isArrayOfOptionGroups = (options) => options[0] != null && isOptionGroup(options[0]);
|
|
6827
6824
|
var groupsHaveOptions = (options) => isArrayOfOptionGroups(options) ? options.some((groupOption) => groupOption.options.length > 0) : true;
|
|
6828
6825
|
var canOpenListbox = (options, disabled) => !disabled && options.length > 0 && groupsHaveOptions(options);
|
|
6829
|
-
var filterOptionsBySearchValue = (options, searchValue) => {
|
|
6830
|
-
|
|
6831
|
-
|
|
6832
|
-
|
|
6833
|
-
|
|
6834
|
-
|
|
6835
|
-
|
|
6836
|
-
|
|
6837
|
-
|
|
6838
|
-
|
|
6839
|
-
|
|
6840
|
-
|
|
6841
|
-
|
|
6842
|
-
|
|
6843
|
-
|
|
6844
|
-
}
|
|
6826
|
+
var filterOptionsBySearchValue = (options, searchValue, searchByStartsWith = false) => {
|
|
6827
|
+
const matchesSearch = (label, search, searchByStartsWith2) => {
|
|
6828
|
+
const upperLabel = label.toUpperCase();
|
|
6829
|
+
const upperSearch = search.toUpperCase();
|
|
6830
|
+
return searchByStartsWith2 ? upperLabel.startsWith(upperSearch) : upperLabel.includes(upperSearch);
|
|
6831
|
+
};
|
|
6832
|
+
return options.length > 0 ? isArrayOfOptionGroups(options) ? options.map((optionGroup) => {
|
|
6833
|
+
const group = {
|
|
6834
|
+
label: optionGroup.label,
|
|
6835
|
+
options: optionGroup.options.filter(
|
|
6836
|
+
(option) => matchesSearch(option.label, searchValue, searchByStartsWith)
|
|
6837
|
+
)
|
|
6838
|
+
};
|
|
6839
|
+
return group;
|
|
6840
|
+
}) : options.filter((option) => matchesSearch(option.label, searchValue, searchByStartsWith)) : [];
|
|
6845
6841
|
};
|
|
6846
6842
|
var getLastOptionIndex = (options, filteredOptions, searchable, optional, multiple) => {
|
|
6847
6843
|
let last = 0;
|
|
@@ -6924,8 +6920,8 @@ var Listbox = ({
|
|
|
6924
6920
|
handleOptionOnClick,
|
|
6925
6921
|
styles
|
|
6926
6922
|
}) => {
|
|
6927
|
-
const translatedLabels = (0,
|
|
6928
|
-
const listboxRef = (0,
|
|
6923
|
+
const translatedLabels = (0, import_react42.useContext)(HalstackLanguageContext);
|
|
6924
|
+
const listboxRef = (0, import_react42.useRef)(null);
|
|
6929
6925
|
let globalIndex = optional && !multiple ? 0 : -1;
|
|
6930
6926
|
const mapOptionFunc = (option, mapIndex) => {
|
|
6931
6927
|
const groupId = `${id}-group-${mapIndex}`;
|
|
@@ -6967,7 +6963,7 @@ var Listbox = ({
|
|
|
6967
6963
|
);
|
|
6968
6964
|
}
|
|
6969
6965
|
};
|
|
6970
|
-
(0,
|
|
6966
|
+
(0, import_react42.useLayoutEffect)(() => {
|
|
6971
6967
|
if (currentValue && !multiple) {
|
|
6972
6968
|
const listEl = listboxRef?.current;
|
|
6973
6969
|
const selectedListOptionEl = listEl?.querySelector("[aria-selected='true']");
|
|
@@ -6976,7 +6972,7 @@ var Listbox = ({
|
|
|
6976
6972
|
});
|
|
6977
6973
|
}
|
|
6978
6974
|
}, [currentValue, multiple]);
|
|
6979
|
-
(0,
|
|
6975
|
+
(0, import_react42.useLayoutEffect)(() => {
|
|
6980
6976
|
const visualFocusedOptionEl = listboxRef.current?.querySelectorAll("[role='option']")[visualFocusIndex];
|
|
6981
6977
|
visualFocusedOptionEl?.scrollIntoView?.({
|
|
6982
6978
|
block: "nearest",
|
|
@@ -7066,7 +7062,7 @@ var Listbox_default = Listbox;
|
|
|
7066
7062
|
|
|
7067
7063
|
// src/select/Select.tsx
|
|
7068
7064
|
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
7069
|
-
var DxcSelect = (0,
|
|
7065
|
+
var DxcSelect = (0, import_react43.forwardRef)(
|
|
7070
7066
|
({
|
|
7071
7067
|
label,
|
|
7072
7068
|
name = "",
|
|
@@ -7079,6 +7075,7 @@ var DxcSelect = (0, import_react42.forwardRef)(
|
|
|
7079
7075
|
multiple = false,
|
|
7080
7076
|
optional = false,
|
|
7081
7077
|
searchable = false,
|
|
7078
|
+
searchByStartsWith = false,
|
|
7082
7079
|
onChange,
|
|
7083
7080
|
onBlur,
|
|
7084
7081
|
error,
|
|
@@ -7087,27 +7084,27 @@ var DxcSelect = (0, import_react42.forwardRef)(
|
|
|
7087
7084
|
tabIndex = 0,
|
|
7088
7085
|
ariaLabel = "Select"
|
|
7089
7086
|
}, ref) => {
|
|
7090
|
-
const selectId = `select-${(0,
|
|
7087
|
+
const selectId = `select-${(0, import_react43.useId)()}`;
|
|
7091
7088
|
const selectLabelId = `label-${selectId}`;
|
|
7092
7089
|
const errorId = `error-${selectId}`;
|
|
7093
7090
|
const listboxId = `${selectId}-listbox`;
|
|
7094
|
-
const [innerValue, setInnerValue] = (0,
|
|
7095
|
-
const [searchValue, setSearchValue] = (0,
|
|
7096
|
-
const [visualFocusIndex, changeVisualFocusIndex] = (0,
|
|
7097
|
-
const [isOpen, changeIsOpen] = (0,
|
|
7098
|
-
const [hasTooltip, setHasTooltip] = (0,
|
|
7099
|
-
const selectRef = (0,
|
|
7100
|
-
const selectSearchInputRef = (0,
|
|
7091
|
+
const [innerValue, setInnerValue] = (0, import_react43.useState)(defaultValue ?? (multiple ? [] : ""));
|
|
7092
|
+
const [searchValue, setSearchValue] = (0, import_react43.useState)("");
|
|
7093
|
+
const [visualFocusIndex, changeVisualFocusIndex] = (0, import_react43.useState)(-1);
|
|
7094
|
+
const [isOpen, changeIsOpen] = (0, import_react43.useState)(false);
|
|
7095
|
+
const [hasTooltip, setHasTooltip] = (0, import_react43.useState)(false);
|
|
7096
|
+
const selectRef = (0, import_react43.useRef)(null);
|
|
7097
|
+
const selectSearchInputRef = (0, import_react43.useRef)(null);
|
|
7101
7098
|
const width = useWidth_default(selectRef.current);
|
|
7102
|
-
const colorsTheme = (0,
|
|
7103
|
-
const translatedLabels = (0,
|
|
7099
|
+
const colorsTheme = (0, import_react43.useContext)(HalstackContext);
|
|
7100
|
+
const translatedLabels = (0, import_react43.useContext)(HalstackLanguageContext);
|
|
7104
7101
|
const optionalItem = { label: placeholder, value: "" };
|
|
7105
|
-
const filteredOptions = (0,
|
|
7106
|
-
const lastOptionIndex = (0,
|
|
7102
|
+
const filteredOptions = (0, import_react43.useMemo)(() => filterOptionsBySearchValue(options, searchValue, searchByStartsWith), [options, searchValue, searchByStartsWith]);
|
|
7103
|
+
const lastOptionIndex = (0, import_react43.useMemo)(
|
|
7107
7104
|
() => getLastOptionIndex(options, filteredOptions, searchable, optional, multiple),
|
|
7108
7105
|
[options, filteredOptions, searchable, optional, multiple]
|
|
7109
7106
|
);
|
|
7110
|
-
const { selectedOption, singleSelectionIndex } = (0,
|
|
7107
|
+
const { selectedOption, singleSelectionIndex } = (0, import_react43.useMemo)(
|
|
7111
7108
|
() => getSelectedOption(value ?? innerValue, options, multiple, optional, optionalItem),
|
|
7112
7109
|
[value, innerValue, options, multiple, optional, optionalItem]
|
|
7113
7110
|
);
|
|
@@ -7122,7 +7119,7 @@ var DxcSelect = (0, import_react42.forwardRef)(
|
|
|
7122
7119
|
changeVisualFocusIndex(-1);
|
|
7123
7120
|
}
|
|
7124
7121
|
};
|
|
7125
|
-
const handleSelectChangeValue = (0,
|
|
7122
|
+
const handleSelectChangeValue = (0, import_react43.useCallback)(
|
|
7126
7123
|
(newOption) => {
|
|
7127
7124
|
if (newOption) {
|
|
7128
7125
|
let newValue;
|
|
@@ -7279,7 +7276,7 @@ var DxcSelect = (0, import_react42.forwardRef)(
|
|
|
7279
7276
|
event.stopPropagation();
|
|
7280
7277
|
setSearchValue("");
|
|
7281
7278
|
};
|
|
7282
|
-
const handleOptionOnClick = (0,
|
|
7279
|
+
const handleOptionOnClick = (0, import_react43.useCallback)(
|
|
7283
7280
|
(option) => {
|
|
7284
7281
|
handleSelectChangeValue(option);
|
|
7285
7282
|
if (!multiple) {
|
|
@@ -7659,8 +7656,8 @@ var DxcPaginator = ({
|
|
|
7659
7656
|
const currentPageInternal = currentPage === -1 ? totalPages : currentPage;
|
|
7660
7657
|
const minItemsPerPage = currentPageInternal === 1 || currentPageInternal === 0 ? currentPageInternal : (currentPageInternal - 1) * itemsPerPage + 1;
|
|
7661
7658
|
const maxItemsPerPage = minItemsPerPage - 1 + itemsPerPage > totalItems ? totalItems : minItemsPerPage - 1 + itemsPerPage;
|
|
7662
|
-
const colorsTheme = (0,
|
|
7663
|
-
const translatedLabels = (0,
|
|
7659
|
+
const colorsTheme = (0, import_react44.useContext)(HalstackContext);
|
|
7660
|
+
const translatedLabels = (0, import_react44.useContext)(HalstackLanguageContext);
|
|
7664
7661
|
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_styled_components36.ThemeProvider, { theme: colorsTheme.paginator, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(DxcPaginatorContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(LabelsContainer3, { children: [
|
|
7665
7662
|
itemsPerPageOptions && /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(ItemsPageContainer, { children: [
|
|
7666
7663
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(ItemsLabel, { children: translatedLabels.paginator.itemsPerPageText }),
|
|
@@ -7809,7 +7806,7 @@ var PageToSelectContainer = import_styled_components36.default.span`
|
|
|
7809
7806
|
var Paginator_default = DxcPaginator;
|
|
7810
7807
|
|
|
7811
7808
|
// src/table/Table.tsx
|
|
7812
|
-
var
|
|
7809
|
+
var import_react45 = require("react");
|
|
7813
7810
|
var import_styled_components37 = __toESM(require("styled-components"));
|
|
7814
7811
|
|
|
7815
7812
|
// src/table/dropdownTheme.ts
|
|
@@ -7885,7 +7882,7 @@ var DxcActionsCell = ({ actions }) => {
|
|
|
7885
7882
|
const actionIcons = actions.filter((action) => !action.options);
|
|
7886
7883
|
const actionDropdown = actions.find((action) => action.options);
|
|
7887
7884
|
const maxNumberOfActions = actionDropdown ? 2 : 3;
|
|
7888
|
-
const colorsTheme = (0,
|
|
7885
|
+
const colorsTheme = (0, import_react45.useContext)(HalstackContext);
|
|
7889
7886
|
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Flex_default, { gap: "0.5rem", alignItems: "center", children: [
|
|
7890
7887
|
actionIcons.map(
|
|
7891
7888
|
(action, index) => index < maxNumberOfActions && /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
@@ -7914,7 +7911,7 @@ var DxcActionsCell = ({ actions }) => {
|
|
|
7914
7911
|
] });
|
|
7915
7912
|
};
|
|
7916
7913
|
var DxcTable = ({ children, margin, mode = "default" }) => {
|
|
7917
|
-
const colorsTheme = (0,
|
|
7914
|
+
const colorsTheme = (0, import_react45.useContext)(HalstackContext);
|
|
7918
7915
|
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_styled_components37.ThemeProvider, { theme: colorsTheme.table, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(DxcTableContainer, { margin, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(DxcTableContent, { mode, children }) }) });
|
|
7919
7916
|
};
|
|
7920
7917
|
var calculateWidth7 = (margin) => `calc(100% - ${getMargin(margin, "left")} - ${getMargin(margin, "right")})`;
|
|
@@ -8148,9 +8145,9 @@ var DxcDataGrid = ({
|
|
|
8148
8145
|
totalItems,
|
|
8149
8146
|
defaultPage = 1
|
|
8150
8147
|
}) => {
|
|
8151
|
-
const [rowsToRender, setRowsToRender] = (0,
|
|
8152
|
-
const colorsTheme = (0,
|
|
8153
|
-
const [page, changePage] = (0,
|
|
8148
|
+
const [rowsToRender, setRowsToRender] = (0, import_react46.useState)([...rows]);
|
|
8149
|
+
const colorsTheme = (0, import_react46.useContext)(HalstackContext);
|
|
8150
|
+
const [page, changePage] = (0, import_react46.useState)(defaultPage);
|
|
8154
8151
|
const goToPage = (newPage) => {
|
|
8155
8152
|
if (onPageChange) {
|
|
8156
8153
|
onPageChange(newPage);
|
|
@@ -8168,7 +8165,7 @@ var DxcDataGrid = ({
|
|
|
8168
8165
|
}
|
|
8169
8166
|
setSortColumns(newSortColumns);
|
|
8170
8167
|
};
|
|
8171
|
-
const columnsToRender = (0,
|
|
8168
|
+
const columnsToRender = (0, import_react46.useMemo)(() => {
|
|
8172
8169
|
let expectedColumns = columns.map((column) => convertToRDGColumns(column, summaryRow));
|
|
8173
8170
|
if (expandable) {
|
|
8174
8171
|
expectedColumns = [
|
|
@@ -8233,12 +8230,12 @@ var DxcDataGrid = ({
|
|
|
8233
8230
|
}
|
|
8234
8231
|
return expectedColumns;
|
|
8235
8232
|
}, [selectable, expandable, columns, rowsToRender, onSelectRows, rows, summaryRow, uniqueRowId, selectedRows]);
|
|
8236
|
-
const [columnsOrder, setColumnsOrder] = (0,
|
|
8237
|
-
const [sortColumns, setSortColumns] = (0,
|
|
8238
|
-
(0,
|
|
8233
|
+
const [columnsOrder, setColumnsOrder] = (0, import_react46.useState)(() => columnsToRender.map((_, index) => index));
|
|
8234
|
+
const [sortColumns, setSortColumns] = (0, import_react46.useState)([]);
|
|
8235
|
+
(0, import_react46.useEffect)(() => {
|
|
8239
8236
|
setColumnsOrder(Array.from({ length: columnsToRender.length }, (_, index) => index));
|
|
8240
8237
|
}, [columnsToRender.length]);
|
|
8241
|
-
(0,
|
|
8238
|
+
(0, import_react46.useEffect)(() => {
|
|
8242
8239
|
const finalRows = [...rows];
|
|
8243
8240
|
if (expandable) {
|
|
8244
8241
|
finalRows.filter((row) => {
|
|
@@ -8250,7 +8247,7 @@ var DxcDataGrid = ({
|
|
|
8250
8247
|
}
|
|
8251
8248
|
setRowsToRender(finalRows);
|
|
8252
8249
|
}, [rows]);
|
|
8253
|
-
const reorderedColumns = (0,
|
|
8250
|
+
const reorderedColumns = (0, import_react46.useMemo)(
|
|
8254
8251
|
() => (
|
|
8255
8252
|
// Array ordered by columnsOrder
|
|
8256
8253
|
columnsOrder.map((index) => columnsToRender[index])
|
|
@@ -8282,7 +8279,7 @@ var DxcDataGrid = ({
|
|
|
8282
8279
|
onGridRowsChange(newRows);
|
|
8283
8280
|
}
|
|
8284
8281
|
};
|
|
8285
|
-
const sortedRows = (0,
|
|
8282
|
+
const sortedRows = (0, import_react46.useMemo)(() => {
|
|
8286
8283
|
const sortFunctions = getCustomSortFn(columns);
|
|
8287
8284
|
if (!onSort) {
|
|
8288
8285
|
if (sortColumns.length > 0 && uniqueRowId) {
|
|
@@ -8311,12 +8308,12 @@ var DxcDataGrid = ({
|
|
|
8311
8308
|
}
|
|
8312
8309
|
return rowsToRender;
|
|
8313
8310
|
}, [expandable, rowsToRender, sortColumns, uniqueRowId]);
|
|
8314
|
-
const minItemsPerPageIndex = (0,
|
|
8315
|
-
const maxItemsPerPageIndex = (0,
|
|
8311
|
+
const minItemsPerPageIndex = (0, import_react46.useMemo)(() => getMinItemsPerPageIndex(page, itemsPerPage, page), [itemsPerPage, page]);
|
|
8312
|
+
const maxItemsPerPageIndex = (0, import_react46.useMemo)(
|
|
8316
8313
|
() => getMaxItemsPerPageIndex(minItemsPerPageIndex, itemsPerPage, rows, page),
|
|
8317
8314
|
[itemsPerPage, minItemsPerPageIndex, page, rows]
|
|
8318
8315
|
);
|
|
8319
|
-
const filteredRows = (0,
|
|
8316
|
+
const filteredRows = (0, import_react46.useMemo)(() => {
|
|
8320
8317
|
if (onSort && sortColumns?.length > 0) {
|
|
8321
8318
|
onSort?.(sortColumns?.[0]);
|
|
8322
8319
|
}
|
|
@@ -8360,19 +8357,19 @@ DxcDataGrid.ActionsCell = DxcActionsCell;
|
|
|
8360
8357
|
var DataGrid_default = DxcDataGrid;
|
|
8361
8358
|
|
|
8362
8359
|
// src/date-input/DateInput.tsx
|
|
8363
|
-
var
|
|
8360
|
+
var import_react54 = require("react");
|
|
8364
8361
|
var import_dayjs3 = __toESM(require("dayjs"));
|
|
8365
8362
|
var import_styled_components45 = __toESM(require("styled-components"));
|
|
8366
8363
|
var Popover4 = __toESM(require("@radix-ui/react-popover"));
|
|
8367
8364
|
var import_customParseFormat = __toESM(require("dayjs/plugin/customParseFormat"));
|
|
8368
8365
|
|
|
8369
8366
|
// src/date-input/DatePicker.tsx
|
|
8370
|
-
var
|
|
8367
|
+
var import_react49 = require("react");
|
|
8371
8368
|
var import_dayjs2 = __toESM(require("dayjs"));
|
|
8372
8369
|
var import_styled_components41 = __toESM(require("styled-components"));
|
|
8373
8370
|
|
|
8374
8371
|
// src/date-input/Calendar.tsx
|
|
8375
|
-
var
|
|
8372
|
+
var import_react47 = require("react");
|
|
8376
8373
|
var import_styled_components39 = __toESM(require("styled-components"));
|
|
8377
8374
|
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
8378
8375
|
var getDays = (innerDate) => {
|
|
@@ -8416,11 +8413,11 @@ var Calendar = ({
|
|
|
8416
8413
|
onDaySelect,
|
|
8417
8414
|
today: today2
|
|
8418
8415
|
}) => {
|
|
8419
|
-
const [dateToFocus, setDateToFocus] = (0,
|
|
8420
|
-
const [isFocusable, setIsFocusable] = (0,
|
|
8421
|
-
const id = (0,
|
|
8422
|
-
const translatedLabels = (0,
|
|
8423
|
-
const dayCells = (0,
|
|
8416
|
+
const [dateToFocus, setDateToFocus] = (0, import_react47.useState)(getDateToFocus(selectedDate, innerDate, today2));
|
|
8417
|
+
const [isFocusable, setIsFocusable] = (0, import_react47.useState)(false);
|
|
8418
|
+
const id = (0, import_react47.useId)();
|
|
8419
|
+
const translatedLabels = (0, import_react47.useContext)(HalstackLanguageContext);
|
|
8420
|
+
const dayCells = (0, import_react47.useMemo)(() => getDays(innerDate), [innerDate]);
|
|
8424
8421
|
const onDateClickHandler = (date) => {
|
|
8425
8422
|
const newDate = innerDate.set("month", date.month).set("date", date.day);
|
|
8426
8423
|
onDaySelect(newDate);
|
|
@@ -8438,13 +8435,13 @@ var Calendar = ({
|
|
|
8438
8435
|
setDateToFocus(date);
|
|
8439
8436
|
setIsFocusable(true);
|
|
8440
8437
|
};
|
|
8441
|
-
(0,
|
|
8438
|
+
(0, import_react47.useEffect)(() => {
|
|
8442
8439
|
if (isFocusable) {
|
|
8443
8440
|
document.getElementById(`${id}_day_${dateToFocus.get("date")}_month${dateToFocus.get("month")}`)?.focus();
|
|
8444
8441
|
setIsFocusable(false);
|
|
8445
8442
|
}
|
|
8446
8443
|
}, [dateToFocus, isFocusable]);
|
|
8447
|
-
(0,
|
|
8444
|
+
(0, import_react47.useEffect)(() => {
|
|
8448
8445
|
if (dateToFocus.get("month") !== innerDate.get("month") || dateToFocus.get("year") !== innerDate.get("year")) {
|
|
8449
8446
|
setDateToFocus(getDateToFocus(selectedDate, innerDate, today2));
|
|
8450
8447
|
}
|
|
@@ -8605,11 +8602,11 @@ var DayCellButton = import_styled_components39.default.button`
|
|
|
8605
8602
|
background-color: ${(props) => props.selected ? props.theme.dateInput.pickerSelectedBackgroundColor : "transparent"};
|
|
8606
8603
|
color: ${(props) => props.selected ? props.theme.dateInput.pickerSelectedFontColor : props.isCurrentDay ? props.theme.dateInput.pickerCurrentDateFontColor : !props.actualMonth ? props.theme.dateInput.pickerNonCurrentMonthFontColor : props.theme.dateInput.pickerFontColor};
|
|
8607
8604
|
`;
|
|
8608
|
-
var Calendar_default = (0,
|
|
8605
|
+
var Calendar_default = (0, import_react47.memo)(Calendar);
|
|
8609
8606
|
|
|
8610
8607
|
// src/date-input/YearPicker.tsx
|
|
8611
8608
|
var import_dayjs = __toESM(require("dayjs"));
|
|
8612
|
-
var
|
|
8609
|
+
var import_react48 = require("react");
|
|
8613
8610
|
var import_styled_components40 = __toESM(require("styled-components"));
|
|
8614
8611
|
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
8615
8612
|
var getYearsArray = () => {
|
|
@@ -8621,9 +8618,9 @@ var getYearsArray = () => {
|
|
|
8621
8618
|
};
|
|
8622
8619
|
var yearList = getYearsArray();
|
|
8623
8620
|
var YearPicker = ({ onYearSelect, selectedDate, today: today2 }) => {
|
|
8624
|
-
const id = (0,
|
|
8625
|
-
const [yearToFocus, setYearToFocus] = (0,
|
|
8626
|
-
(0,
|
|
8621
|
+
const id = (0, import_react48.useId)();
|
|
8622
|
+
const [yearToFocus, setYearToFocus] = (0, import_react48.useState)(selectedDate ? selectedDate.get("year") : (0, import_dayjs.default)().get("year"));
|
|
8623
|
+
(0, import_react48.useEffect)(() => {
|
|
8627
8624
|
const yearToFocusEl = document.getElementById(`${id}_year_${yearToFocus}`);
|
|
8628
8625
|
yearToFocusEl?.scrollIntoView?.({ block: "nearest", inline: "start" });
|
|
8629
8626
|
yearToFocusEl?.focus();
|
|
@@ -8710,16 +8707,16 @@ var YearPickerButton = import_styled_components40.default.button`
|
|
|
8710
8707
|
background-color: ${(props) => props.theme.dateInput.pickerActiveBackgroundColor} !important;
|
|
8711
8708
|
}
|
|
8712
8709
|
`;
|
|
8713
|
-
var YearPicker_default = (0,
|
|
8710
|
+
var YearPicker_default = (0, import_react48.memo)(YearPicker);
|
|
8714
8711
|
|
|
8715
8712
|
// src/date-input/DatePicker.tsx
|
|
8716
8713
|
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
8717
8714
|
var today = (0, import_dayjs2.default)();
|
|
8718
8715
|
var DatePicker = ({ date, onDateSelect, id }) => {
|
|
8719
|
-
const [innerDate, setInnerDate] = (0,
|
|
8720
|
-
const [content, setContent] = (0,
|
|
8716
|
+
const [innerDate, setInnerDate] = (0, import_react49.useState)(date?.isValid() ? date : (0, import_dayjs2.default)());
|
|
8717
|
+
const [content, setContent] = (0, import_react49.useState)("calendar");
|
|
8721
8718
|
const selectedDate = date?.isValid() ? date : (0, import_dayjs2.default)(null);
|
|
8722
|
-
const translatedLabels = (0,
|
|
8719
|
+
const translatedLabels = (0, import_react49.useContext)(HalstackLanguageContext);
|
|
8723
8720
|
const handleDateSelect = (chosenDate) => {
|
|
8724
8721
|
setInnerDate(chosenDate);
|
|
8725
8722
|
onDateSelect(chosenDate);
|
|
@@ -8845,23 +8842,23 @@ var HeaderYearTriggerLabel = import_styled_components41.default.span`
|
|
|
8845
8842
|
font-family: ${(props) => props.theme.dateInput.pickerFontFamily};
|
|
8846
8843
|
font-size: ${(props) => props.theme.dateInput.pickerHeaderFontSize};
|
|
8847
8844
|
`;
|
|
8848
|
-
var DatePicker_default = (0,
|
|
8845
|
+
var DatePicker_default = (0, import_react49.memo)(DatePicker);
|
|
8849
8846
|
|
|
8850
8847
|
// src/text-input/TextInput.tsx
|
|
8851
8848
|
var Popover3 = __toESM(require("@radix-ui/react-popover"));
|
|
8852
|
-
var
|
|
8849
|
+
var import_react53 = require("react");
|
|
8853
8850
|
var import_styled_components44 = __toESM(require("styled-components"));
|
|
8854
8851
|
|
|
8855
8852
|
// src/number-input/NumberInputContext.tsx
|
|
8856
|
-
var
|
|
8857
|
-
var NumberInputContext_default = (0,
|
|
8853
|
+
var import_react50 = require("react");
|
|
8854
|
+
var NumberInputContext_default = (0, import_react50.createContext)(null);
|
|
8858
8855
|
|
|
8859
8856
|
// src/text-input/Suggestions.tsx
|
|
8860
|
-
var
|
|
8857
|
+
var import_react52 = require("react");
|
|
8861
8858
|
var import_styled_components43 = __toESM(require("styled-components"));
|
|
8862
8859
|
|
|
8863
8860
|
// src/text-input/Suggestion.tsx
|
|
8864
|
-
var
|
|
8861
|
+
var import_react51 = require("react");
|
|
8865
8862
|
var import_styled_components42 = __toESM(require("styled-components"));
|
|
8866
8863
|
|
|
8867
8864
|
// src/text-input/utils.ts
|
|
@@ -8939,7 +8936,7 @@ var Suggestion = ({
|
|
|
8939
8936
|
visuallyFocused,
|
|
8940
8937
|
highlighted
|
|
8941
8938
|
}) => {
|
|
8942
|
-
const matchedSuggestion = (0,
|
|
8939
|
+
const matchedSuggestion = (0, import_react51.useMemo)(() => {
|
|
8943
8940
|
const regEx = new RegExp(transformSpecialChars(value), "i");
|
|
8944
8941
|
return { matchedWords: suggestion.match(regEx), noMatchedWords: suggestion.replace(regEx, "") };
|
|
8945
8942
|
}, [value, suggestion]);
|
|
@@ -8960,7 +8957,7 @@ var Suggestion = ({
|
|
|
8960
8957
|
}
|
|
8961
8958
|
);
|
|
8962
8959
|
};
|
|
8963
|
-
var Suggestion_default = (0,
|
|
8960
|
+
var Suggestion_default = (0, import_react51.memo)(Suggestion);
|
|
8964
8961
|
|
|
8965
8962
|
// src/text-input/Suggestions.tsx
|
|
8966
8963
|
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
@@ -9016,9 +9013,9 @@ var Suggestions = ({
|
|
|
9016
9013
|
suggestionOnClick,
|
|
9017
9014
|
styles
|
|
9018
9015
|
}) => {
|
|
9019
|
-
const translatedLabels = (0,
|
|
9020
|
-
const listboxRef = (0,
|
|
9021
|
-
(0,
|
|
9016
|
+
const translatedLabels = (0, import_react52.useContext)(HalstackLanguageContext);
|
|
9017
|
+
const listboxRef = (0, import_react52.useRef)(null);
|
|
9018
|
+
(0, import_react52.useEffect)(() => {
|
|
9022
9019
|
const visualFocusedOptionEl = listboxRef?.current?.querySelectorAll("[role='option']")[visualFocusIndex];
|
|
9023
9020
|
visualFocusedOptionEl?.scrollIntoView?.({
|
|
9024
9021
|
block: "nearest",
|
|
@@ -9060,7 +9057,7 @@ var Suggestions = ({
|
|
|
9060
9057
|
}
|
|
9061
9058
|
);
|
|
9062
9059
|
};
|
|
9063
|
-
var Suggestions_default = (0,
|
|
9060
|
+
var Suggestions_default = (0, import_react52.memo)(Suggestions);
|
|
9064
9061
|
|
|
9065
9062
|
// src/text-input/TextInput.tsx
|
|
9066
9063
|
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
@@ -9188,7 +9185,7 @@ var ErrorMessageContainer = import_styled_components44.default.span`
|
|
|
9188
9185
|
margin-top: 0.25rem;
|
|
9189
9186
|
`;
|
|
9190
9187
|
var AutosuggestWrapper = ({ condition, wrapper, children }) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_jsx_runtime51.Fragment, { children: condition ? wrapper(children) : children });
|
|
9191
|
-
var DxcTextInput = (0,
|
|
9188
|
+
var DxcTextInput = (0, import_react53.forwardRef)(
|
|
9192
9189
|
({
|
|
9193
9190
|
alignment = "left",
|
|
9194
9191
|
label,
|
|
@@ -9217,21 +9214,21 @@ var DxcTextInput = (0, import_react52.forwardRef)(
|
|
|
9217
9214
|
tabIndex = 0,
|
|
9218
9215
|
ariaLabel = "Text input"
|
|
9219
9216
|
}, ref) => {
|
|
9220
|
-
const inputId = `input-${(0,
|
|
9217
|
+
const inputId = `input-${(0, import_react53.useId)()}`;
|
|
9221
9218
|
const autosuggestId = `suggestions-${inputId}`;
|
|
9222
9219
|
const errorId = `error-${inputId}`;
|
|
9223
|
-
const colorsTheme = (0,
|
|
9224
|
-
const translatedLabels = (0,
|
|
9225
|
-
const numberInputContext = (0,
|
|
9226
|
-
const inputRef = (0,
|
|
9227
|
-
const inputContainerRef = (0,
|
|
9228
|
-
const actionRef = (0,
|
|
9229
|
-
const [innerValue, setInnerValue] = (0,
|
|
9230
|
-
const [isOpen, changeIsOpen] = (0,
|
|
9231
|
-
const [isSearching, changeIsSearching] = (0,
|
|
9232
|
-
const [isAutosuggestError, changeIsAutosuggestError] = (0,
|
|
9233
|
-
const [filteredSuggestions, changeFilteredSuggestions] = (0,
|
|
9234
|
-
const [visualFocusIndex, changeVisualFocusIndex] = (0,
|
|
9220
|
+
const colorsTheme = (0, import_react53.useContext)(HalstackContext);
|
|
9221
|
+
const translatedLabels = (0, import_react53.useContext)(HalstackLanguageContext);
|
|
9222
|
+
const numberInputContext = (0, import_react53.useContext)(NumberInputContext_default);
|
|
9223
|
+
const inputRef = (0, import_react53.useRef)(null);
|
|
9224
|
+
const inputContainerRef = (0, import_react53.useRef)(null);
|
|
9225
|
+
const actionRef = (0, import_react53.useRef)(null);
|
|
9226
|
+
const [innerValue, setInnerValue] = (0, import_react53.useState)(defaultValue);
|
|
9227
|
+
const [isOpen, changeIsOpen] = (0, import_react53.useState)(false);
|
|
9228
|
+
const [isSearching, changeIsSearching] = (0, import_react53.useState)(false);
|
|
9229
|
+
const [isAutosuggestError, changeIsAutosuggestError] = (0, import_react53.useState)(false);
|
|
9230
|
+
const [filteredSuggestions, changeFilteredSuggestions] = (0, import_react53.useState)([]);
|
|
9231
|
+
const [visualFocusIndex, changeVisualFocusIndex] = (0, import_react53.useState)(-1);
|
|
9235
9232
|
const width = useWidth_default(inputContainerRef.current);
|
|
9236
9233
|
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;
|
|
9237
9234
|
const openSuggestions = () => {
|
|
@@ -9441,7 +9438,7 @@ var DxcTextInput = (0, import_react52.forwardRef)(
|
|
|
9441
9438
|
inputRef.current?.setAttribute("type", type);
|
|
9442
9439
|
}
|
|
9443
9440
|
};
|
|
9444
|
-
(0,
|
|
9441
|
+
(0, import_react53.useEffect)(() => {
|
|
9445
9442
|
if (typeof suggestions === "function") {
|
|
9446
9443
|
changeIsSearching(true);
|
|
9447
9444
|
changeIsAutosuggestError(false);
|
|
@@ -9588,7 +9585,7 @@ var DxcTextInput = (0, import_react52.forwardRef)(
|
|
|
9588
9585
|
onClick: handleClearActionOnClick,
|
|
9589
9586
|
icon: "close",
|
|
9590
9587
|
tabIndex,
|
|
9591
|
-
title:
|
|
9588
|
+
title: translatedLabels.textInput.clearFieldActionTitle
|
|
9592
9589
|
}
|
|
9593
9590
|
),
|
|
9594
9591
|
numberInputContext?.typeNumber === "number" && numberInputContext?.showControls && /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_jsx_runtime51.Fragment, { children: [
|
|
@@ -9599,7 +9596,7 @@ var DxcTextInput = (0, import_react52.forwardRef)(
|
|
|
9599
9596
|
icon: "remove",
|
|
9600
9597
|
tabIndex,
|
|
9601
9598
|
ref: actionRef,
|
|
9602
|
-
title:
|
|
9599
|
+
title: translatedLabels.numberInput.decrementValueTitle,
|
|
9603
9600
|
disabled
|
|
9604
9601
|
}
|
|
9605
9602
|
),
|
|
@@ -9610,7 +9607,7 @@ var DxcTextInput = (0, import_react52.forwardRef)(
|
|
|
9610
9607
|
icon: "add",
|
|
9611
9608
|
tabIndex,
|
|
9612
9609
|
ref: actionRef,
|
|
9613
|
-
title:
|
|
9610
|
+
title: translatedLabels.numberInput.incrementValueTitle,
|
|
9614
9611
|
disabled
|
|
9615
9612
|
}
|
|
9616
9613
|
)
|
|
@@ -9622,7 +9619,7 @@ var DxcTextInput = (0, import_react52.forwardRef)(
|
|
|
9622
9619
|
icon: action.icon,
|
|
9623
9620
|
tabIndex,
|
|
9624
9621
|
ref: actionRef,
|
|
9625
|
-
title:
|
|
9622
|
+
title: action.title ?? void 0,
|
|
9626
9623
|
disabled
|
|
9627
9624
|
}
|
|
9628
9625
|
)
|
|
@@ -9664,7 +9661,7 @@ var getDate = (value, format, lastValidYear, setLastValidYear) => {
|
|
|
9664
9661
|
}
|
|
9665
9662
|
return newDate;
|
|
9666
9663
|
};
|
|
9667
|
-
var DxcDateInput = (0,
|
|
9664
|
+
var DxcDateInput = (0, import_react54.forwardRef)(
|
|
9668
9665
|
({
|
|
9669
9666
|
label,
|
|
9670
9667
|
name,
|
|
@@ -9686,18 +9683,18 @@ var DxcDateInput = (0, import_react53.forwardRef)(
|
|
|
9686
9683
|
tabIndex,
|
|
9687
9684
|
ariaLabel = "Date input"
|
|
9688
9685
|
}, ref) => {
|
|
9689
|
-
const [innerValue, setInnerValue] = (0,
|
|
9690
|
-
const [isOpen, setIsOpen] = (0,
|
|
9691
|
-
const calendarId = `date-picker-${(0,
|
|
9692
|
-
const [dayjsDate, setDayjsDate] = (0,
|
|
9693
|
-
const [lastValidYear, setLastValidYear] = (0,
|
|
9686
|
+
const [innerValue, setInnerValue] = (0, import_react54.useState)(defaultValue);
|
|
9687
|
+
const [isOpen, setIsOpen] = (0, import_react54.useState)(false);
|
|
9688
|
+
const calendarId = `date-picker-${(0, import_react54.useId)()}`;
|
|
9689
|
+
const [dayjsDate, setDayjsDate] = (0, import_react54.useState)(getValueForPicker(value ?? defaultValue ?? "", format));
|
|
9690
|
+
const [lastValidYear, setLastValidYear] = (0, import_react54.useState)(
|
|
9694
9691
|
innerValue || value ? !format.toUpperCase().includes("YYYY") && +getValueForPicker(value ?? innerValue, format).format("YY") < 68 ? 2e3 : 1900 : null
|
|
9695
9692
|
);
|
|
9696
|
-
const [sideOffset, setSideOffset] = (0,
|
|
9697
|
-
const colorsTheme = (0,
|
|
9698
|
-
const translatedLabels = (0,
|
|
9699
|
-
const dateRef = (0,
|
|
9700
|
-
const popoverContentRef = (0,
|
|
9693
|
+
const [sideOffset, setSideOffset] = (0, import_react54.useState)(SIDEOFFSET);
|
|
9694
|
+
const colorsTheme = (0, import_react54.useContext)(HalstackContext);
|
|
9695
|
+
const translatedLabels = (0, import_react54.useContext)(HalstackLanguageContext);
|
|
9696
|
+
const dateRef = (0, import_react54.useRef)(null);
|
|
9697
|
+
const popoverContentRef = (0, import_react54.useRef)(null);
|
|
9701
9698
|
const handleCalendarOnClick = (newDate) => {
|
|
9702
9699
|
const newValue = newDate.format(format.toUpperCase());
|
|
9703
9700
|
if (!value) {
|
|
@@ -9754,7 +9751,7 @@ var DxcDateInput = (0, import_react53.forwardRef)(
|
|
|
9754
9751
|
onBlur?.(callbackParams);
|
|
9755
9752
|
}
|
|
9756
9753
|
};
|
|
9757
|
-
const adjustSideOffset = (0,
|
|
9754
|
+
const adjustSideOffset = (0, import_react54.useCallback)(() => {
|
|
9758
9755
|
if (error != null) {
|
|
9759
9756
|
setTimeout(() => {
|
|
9760
9757
|
if (popoverContentRef.current && dateRef.current) {
|
|
@@ -9790,18 +9787,18 @@ var DxcDateInput = (0, import_react53.forwardRef)(
|
|
|
9790
9787
|
closeCalendar();
|
|
9791
9788
|
}
|
|
9792
9789
|
};
|
|
9793
|
-
(0,
|
|
9790
|
+
(0, import_react54.useEffect)(() => {
|
|
9794
9791
|
window.addEventListener("scroll", adjustSideOffset);
|
|
9795
9792
|
return () => {
|
|
9796
9793
|
window.removeEventListener("scroll", adjustSideOffset);
|
|
9797
9794
|
};
|
|
9798
9795
|
}, [adjustSideOffset]);
|
|
9799
|
-
(0,
|
|
9796
|
+
(0, import_react54.useEffect)(() => {
|
|
9800
9797
|
if (value || value === "") {
|
|
9801
9798
|
setDayjsDate(getDate(value, format, lastValidYear, setLastValidYear));
|
|
9802
9799
|
}
|
|
9803
9800
|
}, [value, format, lastValidYear]);
|
|
9804
|
-
(0,
|
|
9801
|
+
(0, import_react54.useEffect)(() => {
|
|
9805
9802
|
if (!disabled) {
|
|
9806
9803
|
const actionButtonElement = dateRef.current?.querySelector("[aria-label='Select date']");
|
|
9807
9804
|
actionButtonElement?.setAttribute("aria-haspopup", "true");
|
|
@@ -9922,7 +9919,7 @@ var StyledPopoverContent = (0, import_styled_components45.default)(Popover4.Cont
|
|
|
9922
9919
|
var DateInput_default = DxcDateInput;
|
|
9923
9920
|
|
|
9924
9921
|
// src/dialog/Dialog.tsx
|
|
9925
|
-
var
|
|
9922
|
+
var import_react55 = require("react");
|
|
9926
9923
|
var import_react_dom2 = require("react-dom");
|
|
9927
9924
|
var import_styled_components46 = __toESM(require("styled-components"));
|
|
9928
9925
|
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
@@ -9975,14 +9972,14 @@ var DxcDialog = ({
|
|
|
9975
9972
|
tabIndex = 0,
|
|
9976
9973
|
disableFocusLock = false
|
|
9977
9974
|
}) => {
|
|
9978
|
-
const id = (0,
|
|
9979
|
-
const colorsTheme = (0,
|
|
9980
|
-
const translatedLabels = (0,
|
|
9981
|
-
const [portalContainer, setPortalContainer] = (0,
|
|
9982
|
-
(0,
|
|
9975
|
+
const id = (0, import_react55.useId)();
|
|
9976
|
+
const colorsTheme = (0, import_react55.useContext)(HalstackContext);
|
|
9977
|
+
const translatedLabels = (0, import_react55.useContext)(HalstackLanguageContext);
|
|
9978
|
+
const [portalContainer, setPortalContainer] = (0, import_react55.useState)(null);
|
|
9979
|
+
(0, import_react55.useEffect)(() => {
|
|
9983
9980
|
setPortalContainer(document.getElementById(`dialog-${id}-portal`));
|
|
9984
9981
|
}, []);
|
|
9985
|
-
(0,
|
|
9982
|
+
(0, import_react55.useEffect)(() => {
|
|
9986
9983
|
const handleKeyDown = (event) => {
|
|
9987
9984
|
if (event.key === "Escape") {
|
|
9988
9985
|
event.preventDefault();
|
|
@@ -10031,11 +10028,11 @@ var DxcDialog = ({
|
|
|
10031
10028
|
var Dialog_default = DxcDialog;
|
|
10032
10029
|
|
|
10033
10030
|
// src/file-input/FileInput.tsx
|
|
10034
|
-
var
|
|
10031
|
+
var import_react57 = require("react");
|
|
10035
10032
|
var import_styled_components48 = __toESM(require("styled-components"));
|
|
10036
10033
|
|
|
10037
10034
|
// src/file-input/FileItem.tsx
|
|
10038
|
-
var
|
|
10035
|
+
var import_react56 = require("react");
|
|
10039
10036
|
var import_styled_components47 = __toESM(require("styled-components"));
|
|
10040
10037
|
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
10041
10038
|
var MainContainer3 = import_styled_components47.default.div`
|
|
@@ -10119,8 +10116,8 @@ var FileItem = ({
|
|
|
10119
10116
|
onDelete,
|
|
10120
10117
|
tabIndex
|
|
10121
10118
|
}) => {
|
|
10122
|
-
const translatedLabels = (0,
|
|
10123
|
-
const fileNameId = (0,
|
|
10119
|
+
const translatedLabels = (0, import_react56.useContext)(HalstackLanguageContext);
|
|
10120
|
+
const fileNameId = (0, import_react56.useId)();
|
|
10124
10121
|
return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(MainContainer3, { error, role: "listitem", singleFileMode, showPreview, children: [
|
|
10125
10122
|
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 }) })),
|
|
10126
10123
|
/* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(FileItemContent, { children: [
|
|
@@ -10141,7 +10138,7 @@ var FileItem = ({
|
|
|
10141
10138
|
] })
|
|
10142
10139
|
] });
|
|
10143
10140
|
};
|
|
10144
|
-
var FileItem_default = (0,
|
|
10141
|
+
var FileItem_default = (0, import_react56.memo)(FileItem);
|
|
10145
10142
|
|
|
10146
10143
|
// src/file-input/utils.ts
|
|
10147
10144
|
var getFilePreview = async (file) => {
|
|
@@ -10252,7 +10249,7 @@ var ErrorMessage2 = import_styled_components48.default.div`
|
|
|
10252
10249
|
line-height: ${(props) => props.theme.errorMessageLineHeight};
|
|
10253
10250
|
margin-top: 0.25rem;
|
|
10254
10251
|
`;
|
|
10255
|
-
var DxcFileInput = (0,
|
|
10252
|
+
var DxcFileInput = (0, import_react57.forwardRef)(
|
|
10256
10253
|
({
|
|
10257
10254
|
mode = "file",
|
|
10258
10255
|
label = "",
|
|
@@ -10270,11 +10267,11 @@ var DxcFileInput = (0, import_react56.forwardRef)(
|
|
|
10270
10267
|
margin,
|
|
10271
10268
|
tabIndex = 0
|
|
10272
10269
|
}, ref) => {
|
|
10273
|
-
const [isDragging, setIsDragging] = (0,
|
|
10274
|
-
const [files, setFiles] = (0,
|
|
10275
|
-
const fileInputId = `file-input-${(0,
|
|
10276
|
-
const colorsTheme = (0,
|
|
10277
|
-
const translatedLabels = (0,
|
|
10270
|
+
const [isDragging, setIsDragging] = (0, import_react57.useState)(false);
|
|
10271
|
+
const [files, setFiles] = (0, import_react57.useState)([]);
|
|
10272
|
+
const fileInputId = `file-input-${(0, import_react57.useId)()}`;
|
|
10273
|
+
const colorsTheme = (0, import_react57.useContext)(HalstackContext);
|
|
10274
|
+
const translatedLabels = (0, import_react57.useContext)(HalstackLanguageContext);
|
|
10278
10275
|
const checkFileSize = (file) => {
|
|
10279
10276
|
if (minSize && file.size < minSize) return translatedLabels.fileInput.fileSizeGreaterThanErrorMessage;
|
|
10280
10277
|
else if (maxSize && file.size > maxSize) return translatedLabels.fileInput.fileSizeLessThanErrorMessage;
|
|
@@ -10307,7 +10304,7 @@ var DxcFileInput = (0, import_react56.forwardRef)(
|
|
|
10307
10304
|
e.target.value = "";
|
|
10308
10305
|
}
|
|
10309
10306
|
};
|
|
10310
|
-
const onDelete = (0,
|
|
10307
|
+
const onDelete = (0, import_react57.useCallback)(
|
|
10311
10308
|
(fileName) => {
|
|
10312
10309
|
const filesCopy = [...files];
|
|
10313
10310
|
const fileToRemove = filesCopy.find((file) => file.file.name === fileName);
|
|
@@ -10346,7 +10343,7 @@ var DxcFileInput = (0, import_react56.forwardRef)(
|
|
|
10346
10343
|
addFile(filesArray);
|
|
10347
10344
|
}
|
|
10348
10345
|
};
|
|
10349
|
-
(0,
|
|
10346
|
+
(0, import_react57.useEffect)(() => {
|
|
10350
10347
|
const getFiles = async () => {
|
|
10351
10348
|
if (value) {
|
|
10352
10349
|
const valueFiles = await Promise.all(
|
|
@@ -10498,10 +10495,10 @@ var Grid_default = DxcGrid;
|
|
|
10498
10495
|
|
|
10499
10496
|
// src/heading/Heading.tsx
|
|
10500
10497
|
var import_styled_components50 = __toESM(require("styled-components"));
|
|
10501
|
-
var
|
|
10498
|
+
var import_react58 = require("react");
|
|
10502
10499
|
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
10503
10500
|
var DxcHeading = ({ level = 1, text = "", as, weight, margin }) => {
|
|
10504
|
-
const colorsTheme = (0,
|
|
10501
|
+
const colorsTheme = (0, import_react58.useContext)(HalstackContext);
|
|
10505
10502
|
const checkValidAs = () => {
|
|
10506
10503
|
if (as === "h1" || as === "h2" || as === "h3" || as === "h4" || as === "h5") return as;
|
|
10507
10504
|
};
|
|
@@ -10568,7 +10565,7 @@ var Heading_default = DxcHeading;
|
|
|
10568
10565
|
|
|
10569
10566
|
// src/image/Image.tsx
|
|
10570
10567
|
var import_styled_components51 = __toESM(require("styled-components"));
|
|
10571
|
-
var
|
|
10568
|
+
var import_react59 = require("react");
|
|
10572
10569
|
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
10573
10570
|
var Figure = import_styled_components51.default.figure`
|
|
10574
10571
|
display: flex;
|
|
@@ -10604,7 +10601,7 @@ function DxcImage({
|
|
|
10604
10601
|
onLoad,
|
|
10605
10602
|
onError
|
|
10606
10603
|
}) {
|
|
10607
|
-
const colorsTheme = (0,
|
|
10604
|
+
const colorsTheme = (0, import_react59.useContext)(HalstackContext);
|
|
10608
10605
|
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_styled_components51.ThemeProvider, { theme: colorsTheme.image, children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(CaptionWrapper, { caption, children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
10609
10606
|
"img",
|
|
10610
10607
|
{
|
|
@@ -10651,7 +10648,7 @@ var Inset = ({ space, horizontal, vertical, top, right, bottom, left, children }
|
|
|
10651
10648
|
var Inset_default = Inset;
|
|
10652
10649
|
|
|
10653
10650
|
// src/link/Link.tsx
|
|
10654
|
-
var
|
|
10651
|
+
var import_react60 = require("react");
|
|
10655
10652
|
var import_styled_components53 = __toESM(require("styled-components"));
|
|
10656
10653
|
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
10657
10654
|
var StyledLink = import_styled_components53.default.a`
|
|
@@ -10716,7 +10713,7 @@ var LinkIconContainer = import_styled_components53.default.div`
|
|
|
10716
10713
|
height: ${(props) => props.theme.iconSize};
|
|
10717
10714
|
}
|
|
10718
10715
|
`;
|
|
10719
|
-
var DxcLink = (0,
|
|
10716
|
+
var DxcLink = (0, import_react60.forwardRef)(
|
|
10720
10717
|
({
|
|
10721
10718
|
inheritColor = false,
|
|
10722
10719
|
disabled = false,
|
|
@@ -10730,7 +10727,7 @@ var DxcLink = (0, import_react59.forwardRef)(
|
|
|
10730
10727
|
children,
|
|
10731
10728
|
...otherProps
|
|
10732
10729
|
}, ref) => {
|
|
10733
|
-
const colorsTheme = (0,
|
|
10730
|
+
const colorsTheme = (0, import_react60.useContext)(HalstackContext);
|
|
10734
10731
|
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_styled_components53.ThemeProvider, { theme: colorsTheme.link, children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
10735
10732
|
StyledLink,
|
|
10736
10733
|
{
|
|
@@ -10755,20 +10752,20 @@ var DxcLink = (0, import_react59.forwardRef)(
|
|
|
10755
10752
|
var Link_default = DxcLink;
|
|
10756
10753
|
|
|
10757
10754
|
// src/nav-tabs/NavTabs.tsx
|
|
10758
|
-
var
|
|
10755
|
+
var import_react63 = require("react");
|
|
10759
10756
|
var import_styled_components55 = __toESM(require("styled-components"));
|
|
10760
10757
|
|
|
10761
10758
|
// src/nav-tabs/Tab.tsx
|
|
10762
|
-
var
|
|
10759
|
+
var import_react62 = require("react");
|
|
10763
10760
|
var import_styled_components54 = __toESM(require("styled-components"));
|
|
10764
10761
|
|
|
10765
10762
|
// src/nav-tabs/NavTabsContext.tsx
|
|
10766
|
-
var
|
|
10767
|
-
var NavTabsContext_default = (0,
|
|
10763
|
+
var import_react61 = require("react");
|
|
10764
|
+
var NavTabsContext_default = (0, import_react61.createContext)(null);
|
|
10768
10765
|
|
|
10769
10766
|
// src/nav-tabs/Tab.tsx
|
|
10770
10767
|
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
10771
|
-
var DxcTab = (0,
|
|
10768
|
+
var DxcTab = (0, import_react62.forwardRef)(
|
|
10772
10769
|
({
|
|
10773
10770
|
href,
|
|
10774
10771
|
active = false,
|
|
@@ -10779,11 +10776,11 @@ var DxcTab = (0, import_react61.forwardRef)(
|
|
|
10779
10776
|
children,
|
|
10780
10777
|
...otherProps
|
|
10781
10778
|
}, ref) => {
|
|
10782
|
-
const tabRef = (0,
|
|
10783
|
-
const { iconPosition, tabIndex, focusedLabel } = (0,
|
|
10784
|
-
const innerRef = (0,
|
|
10785
|
-
(0,
|
|
10786
|
-
(0,
|
|
10779
|
+
const tabRef = (0, import_react62.useRef)();
|
|
10780
|
+
const { iconPosition, tabIndex, focusedLabel } = (0, import_react62.useContext)(NavTabsContext_default) ?? {};
|
|
10781
|
+
const innerRef = (0, import_react62.useRef)(null);
|
|
10782
|
+
(0, import_react62.useImperativeHandle)(ref, () => innerRef.current, []);
|
|
10783
|
+
(0, import_react62.useEffect)(() => {
|
|
10787
10784
|
if (focusedLabel === children.toString()) {
|
|
10788
10785
|
tabRef?.current?.focus();
|
|
10789
10786
|
}
|
|
@@ -10943,17 +10940,17 @@ var getNextTabIndex = (array, initialIndex) => {
|
|
|
10943
10940
|
return index;
|
|
10944
10941
|
};
|
|
10945
10942
|
var DxcNavTabs = ({ iconPosition = "top", tabIndex = 0, children }) => {
|
|
10946
|
-
const [innerFocusIndex, setInnerFocusIndex] = (0,
|
|
10947
|
-
const [underlineWidth, setUnderlineWidth] = (0,
|
|
10948
|
-
const refNavTabList = (0,
|
|
10949
|
-
const colorsTheme = (0,
|
|
10950
|
-
const childArray =
|
|
10943
|
+
const [innerFocusIndex, setInnerFocusIndex] = (0, import_react63.useState)(null);
|
|
10944
|
+
const [underlineWidth, setUnderlineWidth] = (0, import_react63.useState)(null);
|
|
10945
|
+
const refNavTabList = (0, import_react63.useRef)(null);
|
|
10946
|
+
const colorsTheme = (0, import_react63.useContext)(HalstackContext);
|
|
10947
|
+
const childArray = import_react63.Children.toArray(children).filter(
|
|
10951
10948
|
(child) => typeof child === "object" && "props" in child
|
|
10952
10949
|
);
|
|
10953
|
-
(0,
|
|
10950
|
+
(0, import_react63.useEffect)(() => {
|
|
10954
10951
|
setUnderlineWidth(refNavTabList?.current?.scrollWidth ?? null);
|
|
10955
10952
|
}, [children]);
|
|
10956
|
-
const contextValue = (0,
|
|
10953
|
+
const contextValue = (0, import_react63.useMemo)(
|
|
10957
10954
|
() => ({
|
|
10958
10955
|
iconPosition,
|
|
10959
10956
|
tabIndex,
|
|
@@ -11002,10 +10999,10 @@ var NavTabsContainer = import_styled_components55.default.div`
|
|
|
11002
10999
|
var NavTabs_default = DxcNavTabs;
|
|
11003
11000
|
|
|
11004
11001
|
// src/number-input/NumberInput.tsx
|
|
11005
|
-
var
|
|
11002
|
+
var import_react64 = require("react");
|
|
11006
11003
|
var import_styled_components56 = __toESM(require("styled-components"));
|
|
11007
11004
|
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
11008
|
-
var DxcNumberInput = (0,
|
|
11005
|
+
var DxcNumberInput = (0, import_react64.forwardRef)(
|
|
11009
11006
|
({
|
|
11010
11007
|
label,
|
|
11011
11008
|
name,
|
|
@@ -11031,8 +11028,8 @@ var DxcNumberInput = (0, import_react63.forwardRef)(
|
|
|
11031
11028
|
ariaLabel = "Number input",
|
|
11032
11029
|
showControls = true
|
|
11033
11030
|
}, ref) => {
|
|
11034
|
-
const numberInputRef = (0,
|
|
11035
|
-
const contextValue = (0,
|
|
11031
|
+
const numberInputRef = (0, import_react64.useRef)(null);
|
|
11032
|
+
const contextValue = (0, import_react64.useMemo)(
|
|
11036
11033
|
() => ({
|
|
11037
11034
|
maxNumber: max,
|
|
11038
11035
|
minNumber: min,
|
|
@@ -11042,7 +11039,7 @@ var DxcNumberInput = (0, import_react63.forwardRef)(
|
|
|
11042
11039
|
}),
|
|
11043
11040
|
[max, min, showControls, step]
|
|
11044
11041
|
);
|
|
11045
|
-
(0,
|
|
11042
|
+
(0, import_react64.useEffect)(() => {
|
|
11046
11043
|
const input = numberInputRef.current?.getElementsByTagName("input")[0];
|
|
11047
11044
|
const preventDefault = (event) => {
|
|
11048
11045
|
event.preventDefault();
|
|
@@ -11096,7 +11093,7 @@ var NumberInputContainer = import_styled_components56.default.div`
|
|
|
11096
11093
|
var NumberInput_default = DxcNumberInput;
|
|
11097
11094
|
|
|
11098
11095
|
// src/paragraph/Paragraph.tsx
|
|
11099
|
-
var
|
|
11096
|
+
var import_react65 = require("react");
|
|
11100
11097
|
var import_styled_components57 = __toESM(require("styled-components"));
|
|
11101
11098
|
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
11102
11099
|
var Paragraph = import_styled_components57.default.p`
|
|
@@ -11115,12 +11112,12 @@ var Paragraph = import_styled_components57.default.p`
|
|
|
11115
11112
|
margin: 0;
|
|
11116
11113
|
`;
|
|
11117
11114
|
function DxcParagraph({ children }) {
|
|
11118
|
-
const colorsTheme = (0,
|
|
11115
|
+
const colorsTheme = (0, import_react65.useContext)(HalstackContext);
|
|
11119
11116
|
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_styled_components57.ThemeProvider, { theme: colorsTheme.paragraph, children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Paragraph, { children }) });
|
|
11120
11117
|
}
|
|
11121
11118
|
|
|
11122
11119
|
// src/password-input/PasswordInput.tsx
|
|
11123
|
-
var
|
|
11120
|
+
var import_react66 = require("react");
|
|
11124
11121
|
var import_styled_components58 = __toESM(require("styled-components"));
|
|
11125
11122
|
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
11126
11123
|
var setInputType = (type, element) => {
|
|
@@ -11130,7 +11127,7 @@ var setAriaAttributes = (ariaExpanded, element) => {
|
|
|
11130
11127
|
const buttonElement = element?.getElementsByTagName("button")[0];
|
|
11131
11128
|
buttonElement?.setAttribute("aria-expanded", ariaExpanded);
|
|
11132
11129
|
};
|
|
11133
|
-
var DxcPasswordInput = (0,
|
|
11130
|
+
var DxcPasswordInput = (0, import_react66.forwardRef)(
|
|
11134
11131
|
({
|
|
11135
11132
|
label,
|
|
11136
11133
|
name = "",
|
|
@@ -11149,10 +11146,10 @@ var DxcPasswordInput = (0, import_react65.forwardRef)(
|
|
|
11149
11146
|
tabIndex = 0,
|
|
11150
11147
|
ariaLabel = "Password input"
|
|
11151
11148
|
}, ref) => {
|
|
11152
|
-
const [isPasswordVisible, setIsPasswordVisible] = (0,
|
|
11153
|
-
const inputRef = (0,
|
|
11154
|
-
const { passwordInput } = (0,
|
|
11155
|
-
(0,
|
|
11149
|
+
const [isPasswordVisible, setIsPasswordVisible] = (0, import_react66.useState)(false);
|
|
11150
|
+
const inputRef = (0, import_react66.useRef)(null);
|
|
11151
|
+
const { passwordInput } = (0, import_react66.useContext)(HalstackLanguageContext);
|
|
11152
|
+
(0, import_react66.useEffect)(() => {
|
|
11156
11153
|
(() => {
|
|
11157
11154
|
if (isPasswordVisible) {
|
|
11158
11155
|
setInputType("text", inputRef.current);
|
|
@@ -11207,7 +11204,7 @@ var PasswordInput = import_styled_components58.default.div`
|
|
|
11207
11204
|
var PasswordInput_default = DxcPasswordInput;
|
|
11208
11205
|
|
|
11209
11206
|
// src/progress-bar/ProgressBar.tsx
|
|
11210
|
-
var
|
|
11207
|
+
var import_react67 = require("react");
|
|
11211
11208
|
var import_styled_components59 = __toESM(require("styled-components"));
|
|
11212
11209
|
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
11213
11210
|
var Overlay4 = import_styled_components59.default.div`
|
|
@@ -11327,10 +11324,10 @@ var DxcProgressBar = ({
|
|
|
11327
11324
|
margin,
|
|
11328
11325
|
ariaLabel = "Progress bar"
|
|
11329
11326
|
}) => {
|
|
11330
|
-
const colorsTheme = (0,
|
|
11331
|
-
const labelId = `label-${(0,
|
|
11332
|
-
const [innerValue, setInnerValue] = (0,
|
|
11333
|
-
(0,
|
|
11327
|
+
const colorsTheme = (0, import_react67.useContext)(HalstackContext);
|
|
11328
|
+
const labelId = `label-${(0, import_react67.useId)()}`;
|
|
11329
|
+
const [innerValue, setInnerValue] = (0, import_react67.useState)();
|
|
11330
|
+
(0, import_react67.useEffect)(() => {
|
|
11334
11331
|
if (value != null) setInnerValue(value < 0 ? 0 : value > 100 ? 100 : value);
|
|
11335
11332
|
}, [value]);
|
|
11336
11333
|
return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_styled_components59.ThemeProvider, { theme: colorsTheme.progressBar, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Overlay4, { overlay, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(MainContainer4, { overlay, margin, children: [
|
|
@@ -11360,13 +11357,13 @@ var DxcProgressBar = ({
|
|
|
11360
11357
|
var ProgressBar_default = DxcProgressBar;
|
|
11361
11358
|
|
|
11362
11359
|
// src/quick-nav/QuickNav.tsx
|
|
11363
|
-
var
|
|
11360
|
+
var import_react68 = require("react");
|
|
11364
11361
|
var import_slugify = __toESM(require("slugify"));
|
|
11365
11362
|
var import_styled_components60 = __toESM(require("styled-components"));
|
|
11366
11363
|
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
11367
11364
|
var DxcQuickNav = ({ title, links }) => {
|
|
11368
|
-
const translatedLabels = (0,
|
|
11369
|
-
const colorsTheme = (0,
|
|
11365
|
+
const translatedLabels = (0, import_react68.useContext)(HalstackLanguageContext);
|
|
11366
|
+
const colorsTheme = (0, import_react68.useContext)(HalstackContext);
|
|
11370
11367
|
const isHashRouter = () => {
|
|
11371
11368
|
if (typeof window === "undefined") return false;
|
|
11372
11369
|
return window.location.href.includes("/#/");
|
|
@@ -11452,11 +11449,11 @@ var Link3 = import_styled_components60.default.a`
|
|
|
11452
11449
|
var QuickNav_default = DxcQuickNav;
|
|
11453
11450
|
|
|
11454
11451
|
// src/radio-group/RadioGroup.tsx
|
|
11455
|
-
var
|
|
11452
|
+
var import_react70 = require("react");
|
|
11456
11453
|
var import_styled_components62 = __toESM(require("styled-components"));
|
|
11457
11454
|
|
|
11458
11455
|
// src/radio-group/Radio.tsx
|
|
11459
|
-
var
|
|
11456
|
+
var import_react69 = require("react");
|
|
11460
11457
|
var import_styled_components61 = __toESM(require("styled-components"));
|
|
11461
11458
|
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
11462
11459
|
var DxcRadio = ({
|
|
@@ -11469,15 +11466,15 @@ var DxcRadio = ({
|
|
|
11469
11466
|
readOnly,
|
|
11470
11467
|
tabIndex
|
|
11471
11468
|
}) => {
|
|
11472
|
-
const radioLabelId = `radio-${(0,
|
|
11473
|
-
const ref = (0,
|
|
11474
|
-
const colorsTheme = (0,
|
|
11469
|
+
const radioLabelId = `radio-${(0, import_react69.useId)()}`;
|
|
11470
|
+
const ref = (0, import_react69.useRef)(null);
|
|
11471
|
+
const colorsTheme = (0, import_react69.useContext)(HalstackContext);
|
|
11475
11472
|
const handleOnClick = () => {
|
|
11476
11473
|
onClick();
|
|
11477
11474
|
document.activeElement !== ref.current && ref.current?.focus();
|
|
11478
11475
|
};
|
|
11479
|
-
const [firstUpdate, setFirstUpdate] = (0,
|
|
11480
|
-
(0,
|
|
11476
|
+
const [firstUpdate, setFirstUpdate] = (0, import_react69.useState)(true);
|
|
11477
|
+
(0, import_react69.useEffect)(() => {
|
|
11481
11478
|
if (firstUpdate) {
|
|
11482
11479
|
setFirstUpdate(false);
|
|
11483
11480
|
return;
|
|
@@ -11582,7 +11579,7 @@ var RadioContainer = import_styled_components61.default.span`
|
|
|
11582
11579
|
}
|
|
11583
11580
|
}
|
|
11584
11581
|
`;
|
|
11585
|
-
var Radio_default = (0,
|
|
11582
|
+
var Radio_default = (0, import_react69.memo)(DxcRadio);
|
|
11586
11583
|
|
|
11587
11584
|
// src/radio-group/RadioGroup.tsx
|
|
11588
11585
|
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
@@ -11590,7 +11587,7 @@ var getInitialFocusIndex = (innerOptions, value) => {
|
|
|
11590
11587
|
const initialSelectedOptionIndex = innerOptions.findIndex((option) => option.value === value);
|
|
11591
11588
|
return initialSelectedOptionIndex !== -1 ? initialSelectedOptionIndex : 0;
|
|
11592
11589
|
};
|
|
11593
|
-
var DxcRadioGroup = (0,
|
|
11590
|
+
var DxcRadioGroup = (0, import_react70.forwardRef)(
|
|
11594
11591
|
({
|
|
11595
11592
|
label,
|
|
11596
11593
|
name,
|
|
@@ -11609,14 +11606,14 @@ var DxcRadioGroup = (0, import_react69.forwardRef)(
|
|
|
11609
11606
|
tabIndex = 0,
|
|
11610
11607
|
ariaLabel = "Radio group"
|
|
11611
11608
|
}, ref) => {
|
|
11612
|
-
const radioGroupId = `radio-group-${(0,
|
|
11609
|
+
const radioGroupId = `radio-group-${(0, import_react70.useId)()}`;
|
|
11613
11610
|
const radioGroupLabelId = `label-${radioGroupId}`;
|
|
11614
11611
|
const errorId = `error-${radioGroupId}`;
|
|
11615
|
-
const [innerValue, setInnerValue] = (0,
|
|
11616
|
-
const [firstTimeFocus, setFirstTimeFocus] = (0,
|
|
11617
|
-
const colorsTheme = (0,
|
|
11618
|
-
const translatedLabels = (0,
|
|
11619
|
-
const innerOptions = (0,
|
|
11612
|
+
const [innerValue, setInnerValue] = (0, import_react70.useState)(defaultValue);
|
|
11613
|
+
const [firstTimeFocus, setFirstTimeFocus] = (0, import_react70.useState)(true);
|
|
11614
|
+
const colorsTheme = (0, import_react70.useContext)(HalstackContext);
|
|
11615
|
+
const translatedLabels = (0, import_react70.useContext)(HalstackLanguageContext);
|
|
11616
|
+
const innerOptions = (0, import_react70.useMemo)(
|
|
11620
11617
|
() => optional ? [
|
|
11621
11618
|
...options,
|
|
11622
11619
|
{
|
|
@@ -11627,8 +11624,8 @@ var DxcRadioGroup = (0, import_react69.forwardRef)(
|
|
|
11627
11624
|
] : options,
|
|
11628
11625
|
[optional, options, optionalItemLabel, translatedLabels]
|
|
11629
11626
|
);
|
|
11630
|
-
const [currentFocusIndex, setCurrentFocusIndex] = (0,
|
|
11631
|
-
const handleOnChange = (0,
|
|
11627
|
+
const [currentFocusIndex, setCurrentFocusIndex] = (0, import_react70.useState)(getInitialFocusIndex(innerOptions, value ?? innerValue));
|
|
11628
|
+
const handleOnChange = (0, import_react70.useCallback)(
|
|
11632
11629
|
(newValue) => {
|
|
11633
11630
|
const currentValue = value ?? innerValue;
|
|
11634
11631
|
if (newValue !== currentValue && !readOnly) {
|
|
@@ -11807,7 +11804,7 @@ var ErrorMessageContainer2 = import_styled_components62.default.span`
|
|
|
11807
11804
|
var RadioGroup_default = DxcRadioGroup;
|
|
11808
11805
|
|
|
11809
11806
|
// src/resultset-table/ResultsetTable.tsx
|
|
11810
|
-
var
|
|
11807
|
+
var import_react71 = require("react");
|
|
11811
11808
|
var import_styled_components63 = __toESM(require("styled-components"));
|
|
11812
11809
|
|
|
11813
11810
|
// src/resultset-table/Icons.tsx
|
|
@@ -11863,22 +11860,22 @@ var DxcResultsetTable = ({
|
|
|
11863
11860
|
tabIndex = 0,
|
|
11864
11861
|
mode = "default"
|
|
11865
11862
|
}) => {
|
|
11866
|
-
const colorsTheme = (0,
|
|
11867
|
-
const [page, changePage] = (0,
|
|
11868
|
-
const [sortColumnIndex, changeSortColumnIndex] = (0,
|
|
11869
|
-
const [sortOrder, changeSortOrder] = (0,
|
|
11870
|
-
const prevRowCountRef = (0,
|
|
11871
|
-
const rowsWithIds = (0,
|
|
11872
|
-
const minItemsPerPageIndex = (0,
|
|
11873
|
-
const maxItemsPerPageIndex = (0,
|
|
11863
|
+
const colorsTheme = (0, import_react71.useContext)(HalstackContext);
|
|
11864
|
+
const [page, changePage] = (0, import_react71.useState)(1);
|
|
11865
|
+
const [sortColumnIndex, changeSortColumnIndex] = (0, import_react71.useState)(-1);
|
|
11866
|
+
const [sortOrder, changeSortOrder] = (0, import_react71.useState)("ascending");
|
|
11867
|
+
const prevRowCountRef = (0, import_react71.useRef)(rows.length);
|
|
11868
|
+
const rowsWithIds = (0, import_react71.useMemo)(() => assignIdsToRows(rows), [rows]);
|
|
11869
|
+
const minItemsPerPageIndex = (0, import_react71.useMemo)(() => getMinItemsPerPageIndex2(page, itemsPerPage, page), [itemsPerPage, page]);
|
|
11870
|
+
const maxItemsPerPageIndex = (0, import_react71.useMemo)(
|
|
11874
11871
|
() => getMaxItemsPerPageIndex2(minItemsPerPageIndex, itemsPerPage, rows, page),
|
|
11875
11872
|
[itemsPerPage, minItemsPerPageIndex, page, rows]
|
|
11876
11873
|
);
|
|
11877
|
-
const sortedResultset = (0,
|
|
11874
|
+
const sortedResultset = (0, import_react71.useMemo)(
|
|
11878
11875
|
() => sortColumnIndex !== -1 ? sortArray(sortColumnIndex, sortOrder, rowsWithIds) : rowsWithIds,
|
|
11879
11876
|
[sortColumnIndex, sortOrder, rowsWithIds]
|
|
11880
11877
|
);
|
|
11881
|
-
const filteredResultset = (0,
|
|
11878
|
+
const filteredResultset = (0, import_react71.useMemo)(
|
|
11882
11879
|
() => sortedResultset && sortedResultset.slice(minItemsPerPageIndex, maxItemsPerPageIndex + 1),
|
|
11883
11880
|
[sortedResultset, minItemsPerPageIndex, maxItemsPerPageIndex]
|
|
11884
11881
|
);
|
|
@@ -11892,7 +11889,7 @@ var DxcResultsetTable = ({
|
|
|
11892
11889
|
sortColumnIndex === -1 || sortColumnIndex !== columnIndex ? "ascending" : sortOrder === "ascending" ? "descending" : "ascending"
|
|
11893
11890
|
);
|
|
11894
11891
|
};
|
|
11895
|
-
(0,
|
|
11892
|
+
(0, import_react71.useEffect)(() => {
|
|
11896
11893
|
if (!hidePaginator) {
|
|
11897
11894
|
if (rows.length === 0) {
|
|
11898
11895
|
changePage(0);
|
|
@@ -11991,7 +11988,7 @@ DxcResultsetTable.ActionsCell = DxcActionsCell;
|
|
|
11991
11988
|
var ResultsetTable_default = DxcResultsetTable;
|
|
11992
11989
|
|
|
11993
11990
|
// src/slider/Slider.tsx
|
|
11994
|
-
var
|
|
11991
|
+
var import_react72 = require("react");
|
|
11995
11992
|
var import_styled_components64 = __toESM(require("styled-components"));
|
|
11996
11993
|
var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
11997
11994
|
var sizes6 = {
|
|
@@ -12162,7 +12159,7 @@ var TextInputContainer2 = import_styled_components64.default.div`
|
|
|
12162
12159
|
margin-left: ${(props) => props.theme.inputMarginLeft};
|
|
12163
12160
|
max-width: 70px;
|
|
12164
12161
|
`;
|
|
12165
|
-
var DxcSlider = (0,
|
|
12162
|
+
var DxcSlider = (0, import_react72.forwardRef)(
|
|
12166
12163
|
({
|
|
12167
12164
|
label = "",
|
|
12168
12165
|
name = "",
|
|
@@ -12183,20 +12180,20 @@ var DxcSlider = (0, import_react71.forwardRef)(
|
|
|
12183
12180
|
size = "fillParent",
|
|
12184
12181
|
ariaLabel = "Slider"
|
|
12185
12182
|
}, ref) => {
|
|
12186
|
-
const labelId = `label-${(0,
|
|
12187
|
-
const [innerValue, setInnerValue] = (0,
|
|
12188
|
-
const [dragging, setDragging] = (0,
|
|
12189
|
-
const colorsTheme = (0,
|
|
12183
|
+
const labelId = `label-${(0, import_react72.useId)()}`;
|
|
12184
|
+
const [innerValue, setInnerValue] = (0, import_react72.useState)(defaultValue ?? 0);
|
|
12185
|
+
const [dragging, setDragging] = (0, import_react72.useState)(false);
|
|
12186
|
+
const colorsTheme = (0, import_react72.useContext)(HalstackContext);
|
|
12190
12187
|
const isFirefox = navigator.userAgent.indexOf("Firefox") !== -1;
|
|
12191
|
-
const minLabel = (0,
|
|
12188
|
+
const minLabel = (0, import_react72.useMemo)(
|
|
12192
12189
|
() => labelFormatCallback ? labelFormatCallback(minValue) : minValue,
|
|
12193
12190
|
[labelFormatCallback, minValue]
|
|
12194
12191
|
);
|
|
12195
|
-
const maxLabel = (0,
|
|
12192
|
+
const maxLabel = (0, import_react72.useMemo)(
|
|
12196
12193
|
() => labelFormatCallback ? labelFormatCallback(maxValue) : maxValue,
|
|
12197
12194
|
[labelFormatCallback, maxValue]
|
|
12198
12195
|
);
|
|
12199
|
-
const tickMarks = (0,
|
|
12196
|
+
const tickMarks = (0, import_react72.useMemo)(() => {
|
|
12200
12197
|
const numberOfMarks = Math.floor(maxValue / step - minValue / step);
|
|
12201
12198
|
const range = maxValue - minValue;
|
|
12202
12199
|
const ticks = [];
|
|
@@ -12322,10 +12319,10 @@ var StatusLabel = import_styled_components65.default.span`
|
|
|
12322
12319
|
var StatusLight_default = DxcStatusLight;
|
|
12323
12320
|
|
|
12324
12321
|
// src/switch/Switch.tsx
|
|
12325
|
-
var
|
|
12322
|
+
var import_react73 = require("react");
|
|
12326
12323
|
var import_styled_components66 = __toESM(require("styled-components"));
|
|
12327
12324
|
var import_jsx_runtime74 = require("react/jsx-runtime");
|
|
12328
|
-
var DxcSwitch = (0,
|
|
12325
|
+
var DxcSwitch = (0, import_react73.forwardRef)(
|
|
12329
12326
|
({
|
|
12330
12327
|
defaultChecked = false,
|
|
12331
12328
|
checked,
|
|
@@ -12341,12 +12338,12 @@ var DxcSwitch = (0, import_react72.forwardRef)(
|
|
|
12341
12338
|
tabIndex = 0,
|
|
12342
12339
|
ariaLabel = "Switch"
|
|
12343
12340
|
}, ref) => {
|
|
12344
|
-
const switchId = `switch-${(0,
|
|
12341
|
+
const switchId = `switch-${(0, import_react73.useId)()}`;
|
|
12345
12342
|
const labelId = `label-${switchId}`;
|
|
12346
|
-
const [innerChecked, setInnerChecked] = (0,
|
|
12347
|
-
const colorsTheme = (0,
|
|
12348
|
-
const translatedLabels = (0,
|
|
12349
|
-
const refTrack = (0,
|
|
12343
|
+
const [innerChecked, setInnerChecked] = (0, import_react73.useState)(defaultChecked);
|
|
12344
|
+
const colorsTheme = (0, import_react73.useContext)(HalstackContext);
|
|
12345
|
+
const translatedLabels = (0, import_react73.useContext)(HalstackLanguageContext);
|
|
12346
|
+
const refTrack = (0, import_react73.useRef)(null);
|
|
12350
12347
|
const handleOnKeyDown = (event) => {
|
|
12351
12348
|
switch (event.key) {
|
|
12352
12349
|
case "Enter":
|
|
@@ -12564,18 +12561,18 @@ var SwitchTrack = import_styled_components66.default.span`
|
|
|
12564
12561
|
var Switch_default = DxcSwitch;
|
|
12565
12562
|
|
|
12566
12563
|
// src/tabs/Tabs.tsx
|
|
12567
|
-
var
|
|
12564
|
+
var import_react78 = require("react");
|
|
12568
12565
|
var import_styled_components70 = __toESM(require("styled-components"));
|
|
12569
12566
|
|
|
12570
12567
|
// src/tabs/TabsContext.tsx
|
|
12571
|
-
var
|
|
12572
|
-
var TabsContext_default = (0,
|
|
12568
|
+
var import_react74 = require("react");
|
|
12569
|
+
var TabsContext_default = (0, import_react74.createContext)(null);
|
|
12573
12570
|
|
|
12574
12571
|
// src/tabs/Tab.tsx
|
|
12575
|
-
var
|
|
12572
|
+
var import_react75 = require("react");
|
|
12576
12573
|
var import_styled_components67 = __toESM(require("styled-components"));
|
|
12577
12574
|
var import_jsx_runtime75 = require("react/jsx-runtime");
|
|
12578
|
-
var DxcTab2 = (0,
|
|
12575
|
+
var DxcTab2 = (0, import_react75.forwardRef)(
|
|
12579
12576
|
({
|
|
12580
12577
|
icon,
|
|
12581
12578
|
label,
|
|
@@ -12589,7 +12586,7 @@ var DxcTab2 = (0, import_react74.forwardRef)(
|
|
|
12589
12586
|
onHover = () => {
|
|
12590
12587
|
}
|
|
12591
12588
|
}, ref) => {
|
|
12592
|
-
const tabRef = (0,
|
|
12589
|
+
const tabRef = (0, import_react75.useRef)(null);
|
|
12593
12590
|
const {
|
|
12594
12591
|
iconPosition = "top",
|
|
12595
12592
|
tabIndex = 0,
|
|
@@ -12600,19 +12597,19 @@ var DxcTab2 = (0, import_react74.forwardRef)(
|
|
|
12600
12597
|
setActiveTab,
|
|
12601
12598
|
setActiveIndicatorWidth,
|
|
12602
12599
|
setActiveIndicatorLeft
|
|
12603
|
-
} = (0,
|
|
12604
|
-
(0,
|
|
12600
|
+
} = (0, import_react75.useContext)(TabsContext_default) ?? {};
|
|
12601
|
+
(0, import_react75.useEffect)(() => {
|
|
12605
12602
|
if (focusedTab === tabId) {
|
|
12606
12603
|
tabRef?.current?.focus();
|
|
12607
12604
|
}
|
|
12608
12605
|
}, [focusedTab, tabId]);
|
|
12609
|
-
(0,
|
|
12606
|
+
(0, import_react75.useEffect)(() => {
|
|
12610
12607
|
if (activeTab === tabId) {
|
|
12611
12608
|
setActiveIndicatorWidth?.(tabRef.current?.offsetWidth ?? 0);
|
|
12612
12609
|
setActiveIndicatorLeft?.(tabRef.current?.offsetLeft ?? 0);
|
|
12613
12610
|
}
|
|
12614
12611
|
}, [activeTab, tabId, setActiveIndicatorWidth, setActiveIndicatorLeft]);
|
|
12615
|
-
(0,
|
|
12612
|
+
(0, import_react75.useEffect)(() => {
|
|
12616
12613
|
if (active) {
|
|
12617
12614
|
setActiveTab?.(tabId ?? label ?? "");
|
|
12618
12615
|
}
|
|
@@ -12788,14 +12785,14 @@ var TabIconContainer2 = import_styled_components67.default.div`
|
|
|
12788
12785
|
var Tab_default2 = DxcTab2;
|
|
12789
12786
|
|
|
12790
12787
|
// src/tabs/TabsLegacy.tsx
|
|
12791
|
-
var
|
|
12788
|
+
var import_react77 = require("react");
|
|
12792
12789
|
var import_styled_components69 = __toESM(require("styled-components"));
|
|
12793
12790
|
|
|
12794
12791
|
// src/tabs/TabLegacy.tsx
|
|
12795
|
-
var
|
|
12792
|
+
var import_react76 = require("react");
|
|
12796
12793
|
var import_styled_components68 = __toESM(require("styled-components"));
|
|
12797
12794
|
var import_jsx_runtime76 = require("react/jsx-runtime");
|
|
12798
|
-
var Tab2 = (0,
|
|
12795
|
+
var Tab2 = (0, import_react76.forwardRef)(
|
|
12799
12796
|
({ active, tab, tabIndex, hasLabelAndIcon, iconPosition, onClick, onMouseEnter, onMouseLeave }, ref) => /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
|
|
12800
12797
|
TabContainer3,
|
|
12801
12798
|
{
|
|
@@ -12939,16 +12936,16 @@ var TabIconContainer3 = import_styled_components68.default.div`
|
|
|
12939
12936
|
width: 22px;
|
|
12940
12937
|
}
|
|
12941
12938
|
`;
|
|
12942
|
-
var TabLegacy_default = (0,
|
|
12939
|
+
var TabLegacy_default = (0, import_react76.memo)(Tab2);
|
|
12943
12940
|
|
|
12944
12941
|
// src/tabs/TabsLegacy.tsx
|
|
12945
12942
|
var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
12946
12943
|
var useResize = (refTabList) => {
|
|
12947
|
-
const [viewWidth, setViewWidth] = (0,
|
|
12948
|
-
const handleWindowSizeChange = (0,
|
|
12944
|
+
const [viewWidth, setViewWidth] = (0, import_react77.useState)(0);
|
|
12945
|
+
const handleWindowSizeChange = (0, import_react77.useCallback)(() => {
|
|
12949
12946
|
setViewWidth(refTabList.current?.offsetWidth ?? 0);
|
|
12950
12947
|
}, [refTabList]);
|
|
12951
|
-
(0,
|
|
12948
|
+
(0, import_react77.useEffect)(() => {
|
|
12952
12949
|
handleWindowSizeChange();
|
|
12953
12950
|
window.addEventListener("resize", handleWindowSizeChange);
|
|
12954
12951
|
return () => {
|
|
@@ -12967,28 +12964,28 @@ var DxcTabs = ({
|
|
|
12967
12964
|
iconPosition = "top",
|
|
12968
12965
|
tabIndex = 0
|
|
12969
12966
|
}) => {
|
|
12970
|
-
const colorsTheme = (0,
|
|
12967
|
+
const colorsTheme = (0, import_react77.useContext)(HalstackContext);
|
|
12971
12968
|
const hasLabelAndIcon = tabs != null && tabs.filter((tab) => tab.label && tab.icon).length > 0;
|
|
12972
12969
|
const firstFocus = tabs != null ? tabs.findIndex((tab) => !tab.isDisabled) : null;
|
|
12973
|
-
const [innerActiveTabIndex, setInnerActiveTabIndex] = (0,
|
|
12970
|
+
const [innerActiveTabIndex, setInnerActiveTabIndex] = (0, import_react77.useState)(
|
|
12974
12971
|
tabs != null && defaultActiveTabIndex && !tabs[defaultActiveTabIndex]?.isDisabled ? defaultActiveTabIndex : firstFocus
|
|
12975
12972
|
);
|
|
12976
|
-
const [activeIndicatorWidth, setActiveIndicatorWidth] = (0,
|
|
12977
|
-
const [activeIndicatorLeft, setActiveIndicatorLeft] = (0,
|
|
12978
|
-
const [translateScroll, setTranslateScroll] = (0,
|
|
12979
|
-
const [scrollRightEnabled, setScrollRightEnabled] = (0,
|
|
12980
|
-
const [scrollLeftEnabled, setScrollLeftEnabled] = (0,
|
|
12981
|
-
const [countClick, setCountClick] = (0,
|
|
12982
|
-
const [totalTabsWidth, setTotalTabsWidth] = (0,
|
|
12983
|
-
const [currentFocusIndex, setCurrentFocusIndex] = (0,
|
|
12984
|
-
const [temporalFocusIndex, setTemporalFocusIndex] = (0,
|
|
12985
|
-
const [minHeightTabs, setMinHeightTabs] = (0,
|
|
12986
|
-
const refTabs = (0,
|
|
12987
|
-
const refTabList = (0,
|
|
12973
|
+
const [activeIndicatorWidth, setActiveIndicatorWidth] = (0, import_react77.useState)(0);
|
|
12974
|
+
const [activeIndicatorLeft, setActiveIndicatorLeft] = (0, import_react77.useState)(0);
|
|
12975
|
+
const [translateScroll, setTranslateScroll] = (0, import_react77.useState)(0);
|
|
12976
|
+
const [scrollRightEnabled, setScrollRightEnabled] = (0, import_react77.useState)(true);
|
|
12977
|
+
const [scrollLeftEnabled, setScrollLeftEnabled] = (0, import_react77.useState)(false);
|
|
12978
|
+
const [countClick, setCountClick] = (0, import_react77.useState)(0);
|
|
12979
|
+
const [totalTabsWidth, setTotalTabsWidth] = (0, import_react77.useState)(0);
|
|
12980
|
+
const [currentFocusIndex, setCurrentFocusIndex] = (0, import_react77.useState)(activeTabIndex ?? innerActiveTabIndex);
|
|
12981
|
+
const [temporalFocusIndex, setTemporalFocusIndex] = (0, import_react77.useState)(activeTabIndex ?? innerActiveTabIndex);
|
|
12982
|
+
const [minHeightTabs, setMinHeightTabs] = (0, import_react77.useState)(0);
|
|
12983
|
+
const refTabs = (0, import_react77.useRef)([]);
|
|
12984
|
+
const refTabList = (0, import_react77.useRef)(null);
|
|
12988
12985
|
const viewWidth = useResize(refTabList);
|
|
12989
|
-
const translatedLabels = (0,
|
|
12990
|
-
const enabledIndicator = (0,
|
|
12991
|
-
(0,
|
|
12986
|
+
const translatedLabels = (0, import_react77.useContext)(HalstackLanguageContext);
|
|
12987
|
+
const enabledIndicator = (0, import_react77.useMemo)(() => viewWidth < totalTabsWidth, [viewWidth]);
|
|
12988
|
+
(0, import_react77.useEffect)(() => {
|
|
12992
12989
|
if (activeTabIndex != null || innerActiveTabIndex != null) {
|
|
12993
12990
|
const sumWidth = refTabs.current?.reduce((count, obj) => count + obj.offsetWidth, 0);
|
|
12994
12991
|
setTotalTabsWidth(sumWidth);
|
|
@@ -12996,10 +12993,10 @@ var DxcTabs = ({
|
|
|
12996
12993
|
setActiveIndicatorLeft(refTabs.current[activeTabIndex ?? innerActiveTabIndex]?.offsetLeft ?? 0);
|
|
12997
12994
|
}
|
|
12998
12995
|
}, [activeTabIndex, innerActiveTabIndex]);
|
|
12999
|
-
(0,
|
|
12996
|
+
(0, import_react77.useEffect)(() => {
|
|
13000
12997
|
setMinHeightTabs((refTabList.current?.offsetHeight ?? 0) + 1);
|
|
13001
12998
|
}, []);
|
|
13002
|
-
(0,
|
|
12999
|
+
(0, import_react77.useEffect)(() => {
|
|
13003
13000
|
if (activeTabIndex && activeTabIndex >= 0) {
|
|
13004
13001
|
setActiveIndicatorWidth(refTabs.current[activeTabIndex]?.offsetWidth ?? 0);
|
|
13005
13002
|
setActiveIndicatorLeft(refTabs.current[activeTabIndex]?.offsetLeft ?? 0);
|
|
@@ -13310,11 +13307,11 @@ var TabsLegacy_default = DxcTabs;
|
|
|
13310
13307
|
// src/tabs/Tabs.tsx
|
|
13311
13308
|
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
13312
13309
|
var useResize2 = (refTabList) => {
|
|
13313
|
-
const [viewWidth, setViewWidth] = (0,
|
|
13314
|
-
const handleWindowSizeChange = (0,
|
|
13310
|
+
const [viewWidth, setViewWidth] = (0, import_react78.useState)(0);
|
|
13311
|
+
const handleWindowSizeChange = (0, import_react78.useCallback)(() => {
|
|
13315
13312
|
setViewWidth(refTabList?.current?.offsetWidth ?? 0);
|
|
13316
13313
|
}, [refTabList]);
|
|
13317
|
-
(0,
|
|
13314
|
+
(0, import_react78.useEffect)(() => {
|
|
13318
13315
|
handleWindowSizeChange();
|
|
13319
13316
|
window.addEventListener("resize", handleWindowSizeChange);
|
|
13320
13317
|
return () => {
|
|
@@ -13348,51 +13345,50 @@ var DxcTabs2 = ({
|
|
|
13348
13345
|
tabIndex = 0,
|
|
13349
13346
|
children
|
|
13350
13347
|
}) => {
|
|
13351
|
-
const childrenArray = (0,
|
|
13352
|
-
() =>
|
|
13348
|
+
const childrenArray = (0, import_react78.useMemo)(
|
|
13349
|
+
() => import_react78.Children.toArray(children),
|
|
13353
13350
|
[children]
|
|
13354
13351
|
);
|
|
13355
|
-
const hasLabelAndIcon = (0,
|
|
13356
|
-
() => childrenArray.some((child) => (0,
|
|
13352
|
+
const hasLabelAndIcon = (0, import_react78.useMemo)(
|
|
13353
|
+
() => childrenArray.some((child) => (0, import_react78.isValidElement)(child) && child.props.icon && child.props.label),
|
|
13357
13354
|
[childrenArray]
|
|
13358
13355
|
);
|
|
13359
|
-
const [activeTab, setActiveTab] = (0,
|
|
13356
|
+
const [activeTab, setActiveTab] = (0, import_react78.useState)(() => {
|
|
13360
13357
|
const hasActiveChild = childrenArray.some(
|
|
13361
|
-
(child) => (0,
|
|
13358
|
+
(child) => (0, import_react78.isValidElement)(child) && (child.props.active || child.props.defaultActive) && !child.props.disabled
|
|
13362
13359
|
);
|
|
13363
13360
|
const initialActiveTab = hasActiveChild ? childrenArray.find(
|
|
13364
|
-
(child) => (0,
|
|
13365
|
-
) : childrenArray.find((child) => (0,
|
|
13366
|
-
return (0,
|
|
13361
|
+
(child) => (0, import_react78.isValidElement)(child) && (child.props.active || child.props.defaultActive) && !child.props.disabled
|
|
13362
|
+
) : childrenArray.find((child) => (0, import_react78.isValidElement)(child) && !child.props.disabled);
|
|
13363
|
+
return (0, import_react78.isValidElement)(initialActiveTab) ? initialActiveTab.props.label ?? initialActiveTab.props.tabId : "";
|
|
13367
13364
|
});
|
|
13368
|
-
const [innerFocusIndex, setInnerFocusIndex] = (0,
|
|
13369
|
-
const [activeIndicatorWidth, setActiveIndicatorWidth] = (0,
|
|
13370
|
-
const [activeIndicatorLeft, setActiveIndicatorLeft] = (0,
|
|
13371
|
-
const [
|
|
13372
|
-
const [
|
|
13373
|
-
const [
|
|
13374
|
-
const [
|
|
13375
|
-
const [
|
|
13376
|
-
const
|
|
13377
|
-
const
|
|
13378
|
-
const
|
|
13379
|
-
const colorsTheme = (0, import_react77.useContext)(HalstackContext);
|
|
13365
|
+
const [innerFocusIndex, setInnerFocusIndex] = (0, import_react78.useState)(null);
|
|
13366
|
+
const [activeIndicatorWidth, setActiveIndicatorWidth] = (0, import_react78.useState)(0);
|
|
13367
|
+
const [activeIndicatorLeft, setActiveIndicatorLeft] = (0, import_react78.useState)(0);
|
|
13368
|
+
const [totalTabsWidth, setTotalTabsWidth] = (0, import_react78.useState)(0);
|
|
13369
|
+
const [translateScroll, setTranslateScroll] = (0, import_react78.useState)(0);
|
|
13370
|
+
const [scrollRightEnabled, setScrollRightEnabled] = (0, import_react78.useState)(true);
|
|
13371
|
+
const [scrollLeftEnabled, setScrollLeftEnabled] = (0, import_react78.useState)(false);
|
|
13372
|
+
const [minHeightTabs, setMinHeightTabs] = (0, import_react78.useState)(0);
|
|
13373
|
+
const refTabList = (0, import_react78.useRef)(null);
|
|
13374
|
+
const refTabListContainer = (0, import_react78.useRef)(null);
|
|
13375
|
+
const colorsTheme = (0, import_react78.useContext)(HalstackContext);
|
|
13380
13376
|
const viewWidth = useResize2(refTabList);
|
|
13381
|
-
const translatedLabels = (0,
|
|
13382
|
-
const enabledIndicator = (0,
|
|
13383
|
-
(0,
|
|
13377
|
+
const translatedLabels = (0, import_react78.useContext)(HalstackLanguageContext);
|
|
13378
|
+
const enabledIndicator = (0, import_react78.useMemo)(() => viewWidth < totalTabsWidth, [viewWidth]);
|
|
13379
|
+
(0, import_react78.useEffect)(() => {
|
|
13384
13380
|
if (refTabList.current) {
|
|
13385
13381
|
setTotalTabsWidth(refTabList.current.firstElementChild?.offsetWidth);
|
|
13386
13382
|
setMinHeightTabs(refTabList.current.offsetHeight + 1);
|
|
13387
13383
|
}
|
|
13388
13384
|
}, []);
|
|
13389
|
-
const contextValue = (0,
|
|
13385
|
+
const contextValue = (0, import_react78.useMemo)(() => {
|
|
13390
13386
|
const focusedChild = innerFocusIndex != null ? childrenArray[innerFocusIndex] : null;
|
|
13391
13387
|
return {
|
|
13392
13388
|
iconPosition,
|
|
13393
13389
|
tabIndex,
|
|
13394
|
-
focusedTab: (0,
|
|
13395
|
-
isControlled: childrenArray.some((child) => (0,
|
|
13390
|
+
focusedTab: (0, import_react78.isValidElement)(focusedChild) ? focusedChild.props.label ?? focusedChild.props.tabId : "",
|
|
13391
|
+
isControlled: childrenArray.some((child) => (0, import_react78.isValidElement)(child) && typeof child.props.active !== "undefined"),
|
|
13396
13392
|
activeTab,
|
|
13397
13393
|
hasLabelAndIcon,
|
|
13398
13394
|
setActiveTab,
|
|
@@ -13453,7 +13449,7 @@ var DxcTabs2 = ({
|
|
|
13453
13449
|
scrollLimitCheck();
|
|
13454
13450
|
}, 0);
|
|
13455
13451
|
};
|
|
13456
|
-
(0,
|
|
13452
|
+
(0, import_react78.useEffect)(() => {
|
|
13457
13453
|
if (refTabList.current)
|
|
13458
13454
|
setTotalTabsWidth(() => {
|
|
13459
13455
|
let total = 0;
|
|
@@ -13465,8 +13461,10 @@ var DxcTabs2 = ({
|
|
|
13465
13461
|
});
|
|
13466
13462
|
return total;
|
|
13467
13463
|
});
|
|
13468
|
-
|
|
13469
|
-
|
|
13464
|
+
setTimeout(() => {
|
|
13465
|
+
scrollLimitCheck();
|
|
13466
|
+
}, 0);
|
|
13467
|
+
}, [viewWidth, totalTabsWidth, activeTab]);
|
|
13470
13468
|
return children ? /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(import_jsx_runtime78.Fragment, { children: [
|
|
13471
13469
|
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_styled_components70.ThemeProvider, { theme: colorsTheme.tabs, children: /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(TabsContainer2, { margin, children: [
|
|
13472
13470
|
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Underline3, {}),
|
|
@@ -13491,7 +13489,7 @@ var DxcTabs2 = ({
|
|
|
13491
13489
|
tabWidth: activeIndicatorWidth,
|
|
13492
13490
|
tabLeft: activeIndicatorLeft,
|
|
13493
13491
|
"aria-disabled": childrenArray.some(
|
|
13494
|
-
(child) => (0,
|
|
13492
|
+
(child) => (0, import_react78.isValidElement)(child) && activeTab === (child.props.label ?? child.props.tabId) && child.props.disabled
|
|
13495
13493
|
)
|
|
13496
13494
|
}
|
|
13497
13495
|
)
|
|
@@ -13510,8 +13508,8 @@ var DxcTabs2 = ({
|
|
|
13510
13508
|
)
|
|
13511
13509
|
] })
|
|
13512
13510
|
] }) }),
|
|
13513
|
-
|
|
13514
|
-
if ((0,
|
|
13511
|
+
import_react78.Children.map(children, (child) => {
|
|
13512
|
+
if ((0, import_react78.isValidElement)(child) && (child.props.label ?? child.props.tabId) === activeTab) {
|
|
13515
13513
|
return child.props.children;
|
|
13516
13514
|
}
|
|
13517
13515
|
return null;
|
|
@@ -13635,7 +13633,7 @@ DxcTabs2.Tab = Tab_default2;
|
|
|
13635
13633
|
var Tabs_default = DxcTabs2;
|
|
13636
13634
|
|
|
13637
13635
|
// src/tag/Tag.tsx
|
|
13638
|
-
var
|
|
13636
|
+
var import_react79 = require("react");
|
|
13639
13637
|
var import_styled_components71 = __toESM(require("styled-components"));
|
|
13640
13638
|
var import_jsx_runtime79 = require("react/jsx-runtime");
|
|
13641
13639
|
var TagWrapper = ({ condition, wrapper, children }) => /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_jsx_runtime79.Fragment, { children: condition ? wrapper(children) : children });
|
|
@@ -13651,8 +13649,8 @@ var DxcTag = ({
|
|
|
13651
13649
|
size = "fitContent",
|
|
13652
13650
|
tabIndex = 0
|
|
13653
13651
|
}) => {
|
|
13654
|
-
const colorsTheme = (0,
|
|
13655
|
-
const [isHovered, changeIsHovered] = (0,
|
|
13652
|
+
const colorsTheme = (0, import_react79.useContext)(HalstackContext);
|
|
13653
|
+
const [isHovered, changeIsHovered] = (0, import_react79.useState)(false);
|
|
13656
13654
|
return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_styled_components71.ThemeProvider, { theme: colorsTheme.tag, children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
13657
13655
|
StyledDxcTag,
|
|
13658
13656
|
{
|
|
@@ -13763,11 +13761,11 @@ var TagLabel = import_styled_components71.default.div`
|
|
|
13763
13761
|
var Tag_default = DxcTag;
|
|
13764
13762
|
|
|
13765
13763
|
// src/textarea/Textarea.tsx
|
|
13766
|
-
var
|
|
13764
|
+
var import_react80 = require("react");
|
|
13767
13765
|
var import_styled_components72 = __toESM(require("styled-components"));
|
|
13768
13766
|
var import_jsx_runtime80 = require("react/jsx-runtime");
|
|
13769
13767
|
var patternMatch = (pattern, value) => new RegExp(pattern).test(value);
|
|
13770
|
-
var DxcTextarea = (0,
|
|
13768
|
+
var DxcTextarea = (0, import_react80.forwardRef)(
|
|
13771
13769
|
({
|
|
13772
13770
|
label,
|
|
13773
13771
|
name = "",
|
|
@@ -13792,12 +13790,12 @@ var DxcTextarea = (0, import_react79.forwardRef)(
|
|
|
13792
13790
|
tabIndex = 0,
|
|
13793
13791
|
ariaLabel = "Text area"
|
|
13794
13792
|
}, ref) => {
|
|
13795
|
-
const [innerValue, setInnerValue] = (0,
|
|
13796
|
-
const textareaId = `textarea-${(0,
|
|
13797
|
-
const colorsTheme = (0,
|
|
13798
|
-
const translatedLabels = (0,
|
|
13799
|
-
const textareaRef = (0,
|
|
13800
|
-
const prevValueRef = (0,
|
|
13793
|
+
const [innerValue, setInnerValue] = (0, import_react80.useState)(defaultValue);
|
|
13794
|
+
const textareaId = `textarea-${(0, import_react80.useId)()}`;
|
|
13795
|
+
const colorsTheme = (0, import_react80.useContext)(HalstackContext);
|
|
13796
|
+
const translatedLabels = (0, import_react80.useContext)(HalstackLanguageContext);
|
|
13797
|
+
const textareaRef = (0, import_react80.useRef)(null);
|
|
13798
|
+
const prevValueRef = (0, import_react80.useRef)(null);
|
|
13801
13799
|
const errorId = `error-${textareaId}`;
|
|
13802
13800
|
const isNotOptional = (value2) => value2 === "" && !optional;
|
|
13803
13801
|
const isLengthIncorrect2 = (value2) => value2 !== "" && minLength && maxLength && (value2.length < minLength || value2.length > maxLength);
|
|
@@ -13847,7 +13845,7 @@ var DxcTextarea = (0, import_react79.forwardRef)(
|
|
|
13847
13845
|
const handleOnChange = (event) => {
|
|
13848
13846
|
changeValue(event.target.value);
|
|
13849
13847
|
};
|
|
13850
|
-
(0,
|
|
13848
|
+
(0, import_react80.useEffect)(() => {
|
|
13851
13849
|
if (verticalGrow === "auto" && prevValueRef.current !== (value ?? innerValue) && textareaRef.current) {
|
|
13852
13850
|
const computedStyle = window.getComputedStyle(textareaRef.current);
|
|
13853
13851
|
const textareaLineHeight = parseInt(computedStyle.lineHeight || "0", 10);
|
|
@@ -13991,24 +13989,24 @@ var ErrorMessageContainer3 = import_styled_components72.default.span`
|
|
|
13991
13989
|
var Textarea_default = DxcTextarea;
|
|
13992
13990
|
|
|
13993
13991
|
// src/toast/ToastsQueue.tsx
|
|
13994
|
-
var
|
|
13992
|
+
var import_react84 = require("react");
|
|
13995
13993
|
var import_react_dom3 = require("react-dom");
|
|
13996
13994
|
var import_styled_components74 = __toESM(require("styled-components"));
|
|
13997
13995
|
|
|
13998
13996
|
// src/toast/Toast.tsx
|
|
13999
|
-
var
|
|
13997
|
+
var import_react82 = require("react");
|
|
14000
13998
|
var import_styled_components73 = __toESM(require("styled-components"));
|
|
14001
13999
|
|
|
14002
14000
|
// src/utils/useTimeout.tsx
|
|
14003
|
-
var
|
|
14001
|
+
var import_react81 = require("react");
|
|
14004
14002
|
function useTimeout(callback, delay) {
|
|
14005
|
-
const savedCallback = (0,
|
|
14006
|
-
const timerRef = (0,
|
|
14007
|
-
const clearTimerCallback = (0,
|
|
14008
|
-
(0,
|
|
14003
|
+
const savedCallback = (0, import_react81.useRef)();
|
|
14004
|
+
const timerRef = (0, import_react81.useRef)();
|
|
14005
|
+
const clearTimerCallback = (0, import_react81.useCallback)(() => clearTimeout(timerRef.current), []);
|
|
14006
|
+
(0, import_react81.useEffect)(() => {
|
|
14009
14007
|
savedCallback.current = callback;
|
|
14010
14008
|
}, [callback]);
|
|
14011
|
-
(0,
|
|
14009
|
+
(0, import_react81.useEffect)(() => {
|
|
14012
14010
|
function tick() {
|
|
14013
14011
|
savedCallback.current?.();
|
|
14014
14012
|
}
|
|
@@ -14112,7 +14110,7 @@ var spinnerTheme = {
|
|
|
14112
14110
|
accentColor: getSemantic("info").primaryColor
|
|
14113
14111
|
}
|
|
14114
14112
|
};
|
|
14115
|
-
var ToastIcon = (0,
|
|
14113
|
+
var ToastIcon = (0, import_react82.memo)(
|
|
14116
14114
|
({
|
|
14117
14115
|
icon,
|
|
14118
14116
|
hideSemanticIcon,
|
|
@@ -14135,8 +14133,8 @@ var DxcToast = ({
|
|
|
14135
14133
|
onClear,
|
|
14136
14134
|
semantic
|
|
14137
14135
|
}) => {
|
|
14138
|
-
const [isClosing, setIsClosing] = (0,
|
|
14139
|
-
const translatedLabels = (0,
|
|
14136
|
+
const [isClosing, setIsClosing] = (0, import_react82.useState)(false);
|
|
14137
|
+
const translatedLabels = (0, import_react82.useContext)(HalstackLanguageContext);
|
|
14140
14138
|
const clearClosingAnimationTimer = useTimeout(
|
|
14141
14139
|
() => {
|
|
14142
14140
|
setIsClosing(true);
|
|
@@ -14186,11 +14184,11 @@ var DxcToast = ({
|
|
|
14186
14184
|
] })
|
|
14187
14185
|
] });
|
|
14188
14186
|
};
|
|
14189
|
-
var Toast_default = (0,
|
|
14187
|
+
var Toast_default = (0, import_react82.memo)(DxcToast);
|
|
14190
14188
|
|
|
14191
14189
|
// src/toast/ToastContext.tsx
|
|
14192
|
-
var
|
|
14193
|
-
var ToastContext_default = (0,
|
|
14190
|
+
var import_react83 = require("react");
|
|
14191
|
+
var ToastContext_default = (0, import_react83.createContext)(null);
|
|
14194
14192
|
|
|
14195
14193
|
// src/toast/ToastsQueue.tsx
|
|
14196
14194
|
var import_jsx_runtime82 = require("react/jsx-runtime");
|
|
@@ -14221,14 +14219,14 @@ var generateUniqueToastId = (toasts) => {
|
|
|
14221
14219
|
return id;
|
|
14222
14220
|
};
|
|
14223
14221
|
var DxcToastsQueue = ({ children, duration = 3e3 }) => {
|
|
14224
|
-
const [toasts, setToasts] = (0,
|
|
14225
|
-
const [isMounted, setIsMounted] = (0,
|
|
14226
|
-
const adjustedDuration = (0,
|
|
14227
|
-
const id = (0,
|
|
14228
|
-
const remove = (0,
|
|
14222
|
+
const [toasts, setToasts] = (0, import_react84.useState)([]);
|
|
14223
|
+
const [isMounted, setIsMounted] = (0, import_react84.useState)(false);
|
|
14224
|
+
const adjustedDuration = (0, import_react84.useMemo)(() => duration > 5e3 ? 5e3 : duration < 3e3 ? 3e3 : duration, [duration]);
|
|
14225
|
+
const id = (0, import_react84.useId)();
|
|
14226
|
+
const remove = (0, import_react84.useCallback)((id2) => {
|
|
14229
14227
|
setToasts((prevToasts) => prevToasts.filter((toast) => toast.id !== id2));
|
|
14230
14228
|
}, []);
|
|
14231
|
-
const add = (0,
|
|
14229
|
+
const add = (0, import_react84.useCallback)(
|
|
14232
14230
|
(toast, semantic) => {
|
|
14233
14231
|
const id2 = generateUniqueToastId(toasts);
|
|
14234
14232
|
setToasts((prevToasts) => [...prevToasts, { id: id2, semantic, ...toast }].slice(-5));
|
|
@@ -14236,7 +14234,7 @@ var DxcToastsQueue = ({ children, duration = 3e3 }) => {
|
|
|
14236
14234
|
},
|
|
14237
14235
|
[duration]
|
|
14238
14236
|
);
|
|
14239
|
-
(0,
|
|
14237
|
+
(0, import_react84.useEffect)(() => {
|
|
14240
14238
|
setIsMounted(true);
|
|
14241
14239
|
}, []);
|
|
14242
14240
|
return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(ToastContext_default.Provider, { value: add, children: [
|
|
@@ -14261,7 +14259,7 @@ var DxcToastsQueue = ({ children, duration = 3e3 }) => {
|
|
|
14261
14259
|
var ToastsQueue_default = DxcToastsQueue;
|
|
14262
14260
|
|
|
14263
14261
|
// src/toggle-group/ToggleGroup.tsx
|
|
14264
|
-
var
|
|
14262
|
+
var import_react85 = require("react");
|
|
14265
14263
|
var import_styled_components75 = __toESM(require("styled-components"));
|
|
14266
14264
|
var import_jsx_runtime83 = require("react/jsx-runtime");
|
|
14267
14265
|
var DxcToggleGroup = ({
|
|
@@ -14276,9 +14274,9 @@ var DxcToggleGroup = ({
|
|
|
14276
14274
|
multiple = false,
|
|
14277
14275
|
tabIndex = 0
|
|
14278
14276
|
}) => {
|
|
14279
|
-
const toggleGroupLabelId = `label-toggle-group-${(0,
|
|
14280
|
-
const [selectedValue, setSelectedValue] = (0,
|
|
14281
|
-
const colorsTheme = (0,
|
|
14277
|
+
const toggleGroupLabelId = `label-toggle-group-${(0, import_react85.useId)()}`;
|
|
14278
|
+
const [selectedValue, setSelectedValue] = (0, import_react85.useState)(defaultValue ?? (multiple ? [] : -1));
|
|
14279
|
+
const colorsTheme = (0, import_react85.useContext)(HalstackContext);
|
|
14282
14280
|
const handleToggleChange = (selectedOption) => {
|
|
14283
14281
|
let newSelectedOptions = [];
|
|
14284
14282
|
if (value == null) {
|
|
@@ -14430,7 +14428,7 @@ var IconContainer7 = import_styled_components75.default.div`
|
|
|
14430
14428
|
var ToggleGroup_default = DxcToggleGroup;
|
|
14431
14429
|
|
|
14432
14430
|
// src/wizard/Wizard.tsx
|
|
14433
|
-
var
|
|
14431
|
+
var import_react86 = require("react");
|
|
14434
14432
|
var import_styled_components76 = __toESM(require("styled-components"));
|
|
14435
14433
|
|
|
14436
14434
|
// src/wizard/Icons.tsx
|
|
@@ -14604,9 +14602,9 @@ var DxcWizard = ({
|
|
|
14604
14602
|
margin,
|
|
14605
14603
|
tabIndex = 0
|
|
14606
14604
|
}) => {
|
|
14607
|
-
const colorsTheme = (0,
|
|
14608
|
-
const [innerCurrent, setInnerCurrentStep] = (0,
|
|
14609
|
-
const renderedCurrent = (0,
|
|
14605
|
+
const colorsTheme = (0, import_react86.useContext)(HalstackContext);
|
|
14606
|
+
const [innerCurrent, setInnerCurrentStep] = (0, import_react86.useState)(defaultCurrentStep);
|
|
14607
|
+
const renderedCurrent = (0, import_react86.useMemo)(() => currentStep ?? innerCurrent, [currentStep, innerCurrent]);
|
|
14610
14608
|
const handleStepClick = (newValue) => {
|
|
14611
14609
|
setInnerCurrentStep(newValue);
|
|
14612
14610
|
onStepClick?.(newValue);
|
|
@@ -14642,10 +14640,10 @@ var DxcWizard = ({
|
|
|
14642
14640
|
var Wizard_default = DxcWizard;
|
|
14643
14641
|
|
|
14644
14642
|
// src/toast/useToast.tsx
|
|
14645
|
-
var
|
|
14643
|
+
var import_react87 = require("react");
|
|
14646
14644
|
var useToast = () => {
|
|
14647
|
-
const add = (0,
|
|
14648
|
-
const toast = (0,
|
|
14645
|
+
const add = (0, import_react87.useContext)(ToastContext_default);
|
|
14646
|
+
const toast = (0, import_react87.useMemo)(
|
|
14649
14647
|
() => ({
|
|
14650
14648
|
default: (toast2) => add?.(toast2, "default"),
|
|
14651
14649
|
success: (toast2) => add?.(toast2, "success"),
|