@digital-ai/dot-components 2.8.2 → 2.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGE_LOG.md +44 -17
- package/index.esm.js +144 -78
- package/index.umd.js +142 -74
- package/lib/components/accordion/Accordion.stories.d.ts +5 -5
- package/lib/components/accordion/Accordion.styles.d.ts +1 -2
- package/lib/components/app-switcher/AppSwitcher.d.ts +1 -1
- package/lib/components/app-switcher/AppSwitcher.stories.d.ts +5 -0
- package/lib/components/auto-complete/AutoComplete.d.ts +1 -16
- package/lib/components/auto-complete/AutoComplete.stories.d.ts +2 -1
- package/lib/components/auto-complete/Autocomplete.stories.data.d.ts +2 -1
- package/lib/components/auto-complete/index.d.ts +1 -0
- package/lib/components/auto-complete/utils/helpers.d.ts +1 -1
- package/lib/components/auto-complete/utils/interface.d.ts +17 -0
- package/lib/components/avatar/Avatar.d.ts +3 -1
- package/lib/components/avatar/Avatar.stories.d.ts +6 -5
- package/lib/components/badge/Badge.stories.d.ts +5 -5
- package/lib/components/checkbox/Checkbox.stories.d.ts +6 -6
- package/lib/components/checkbox/CheckboxGroup.stories.d.ts +3 -3
- package/lib/components/chip/Chip.stories.d.ts +5 -5
- package/lib/components/dynamic-form/utils/formHelpers.d.ts +1 -1
- package/lib/components/file-upload/FileListItem.styles.d.ts +7 -1
- package/lib/components/file-upload/FileUpload.stories.d.ts +5 -5
- package/lib/components/inline-edit/InlineEdit.d.ts +3 -1
- package/lib/components/inline-edit/InlineEdit.stories.d.ts +6 -6
- package/lib/components/inline-edit/InlineEdit.styles.d.ts +1 -0
- package/lib/components/input-form-fields/InputFormFields.styles.d.ts +2 -2
- package/lib/components/linear-progress/LinearProgress.stories.d.ts +2 -2
- package/lib/components/list/List.stories.d.ts +3 -3
- package/lib/components/list/ListItem.styles.d.ts +7 -1
- package/lib/components/menu/Menu.styles.d.ts +10 -1
- package/lib/components/popper/Popper.styles.d.ts +10 -1
- package/lib/components/progress/Progress.stories.d.ts +2 -2
- package/lib/components/radio/RadioGroup.stories.d.ts +2 -2
- package/lib/components/snackbar/Snackbar.stories.d.ts +3 -3
- package/lib/components/split-button/SplitButton.stories.d.ts +6 -6
- package/lib/components/stepper/Stepper.stories.d.ts +7 -7
- package/lib/components/switch/Switch.stories.d.ts +9 -9
- package/lib/components/table/Table.stories.d.ts +6 -6
- package/lib/components/table/TableCell.d.ts +3 -2
- package/lib/components/truncate-with-tooltip/TruncateWithTooltip.stories.d.ts +5 -5
- package/lib/components/typography/Typography.stories.d.ts +4 -4
- package/package.json +1 -1
package/index.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { jsx, jsxs, Fragment
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { useEffect, useState, useRef, useMemo, useContext, createContext, forwardRef,
|
|
3
|
+
import { useEffect, useState, useRef, useMemo, useContext, createContext, forwardRef, useCallback, createElement, Fragment as Fragment$1, useLayoutEffect } from 'react';
|
|
4
4
|
import { Tooltip, Icon, Typography, Accordion, AccordionSummary, AccordionDetails, AccordionActions, InputAdornment, InputLabel, TextField, Toolbar, Alert, Fade, StyledEngineProvider, Avatar, Button, Link, List, ListItem, CircularProgress, Popper, MenuList, MenuItem, Paper, ClickAwayListener, Drawer, IconButton, ListItemIcon, Collapse, ListSubheader, Divider, ListItemText, Badge, useMediaQuery, Autocomplete, Chip, AvatarGroup, Breadcrumbs, ToggleButtonGroup, ToggleButton, Card, CardContent, CardHeader, FormControlLabel, Checkbox, FormControl, FormGroup, FormLabel, FormHelperText, Dialog, DialogContent, DialogActions, useTheme as useTheme$1, RadioGroup, Radio, Switch, Skeleton, Snackbar, ButtonGroup, Stepper, Step, StepLabel, StepContent, TablePagination, TableContainer, TableCell, TableRow, TableBody, TableSortLabel, TableHead, Table, Tabs, Tab, LinearProgress } from '@mui/material';
|
|
5
5
|
import '@digital-ai/dot-icons';
|
|
6
6
|
import styled, { css, createGlobalStyle, ThemeProvider as ThemeProvider$1, keyframes } from 'styled-components';
|
|
@@ -33,6 +33,7 @@ const DotTooltip = ({
|
|
|
33
33
|
}) => {
|
|
34
34
|
const rootClasses = useStylesWithRootClass('dot-tooltip', className);
|
|
35
35
|
return title ? jsx(Tooltip, Object.assign({
|
|
36
|
+
"aria-hidden": open ? false : true,
|
|
36
37
|
"aria-label": ariaLabel,
|
|
37
38
|
className: rootClasses,
|
|
38
39
|
"data-testid": dataTestId,
|
|
@@ -70,7 +71,7 @@ const DotIcon = ({
|
|
|
70
71
|
}, {
|
|
71
72
|
children: jsx(StyledIcon, Object.assign({
|
|
72
73
|
"aria-hidden": "false",
|
|
73
|
-
"aria-label": ariaLabel
|
|
74
|
+
"aria-label": ariaLabel || `${iconId} icon`,
|
|
74
75
|
classes: {
|
|
75
76
|
root: rootClasses
|
|
76
77
|
},
|
|
@@ -79,6 +80,7 @@ const DotIcon = ({
|
|
|
79
80
|
role: _ariaRole
|
|
80
81
|
}, {
|
|
81
82
|
children: jsx("i", {
|
|
83
|
+
"aria-label": ariaLabel || `${iconId} icon}`,
|
|
82
84
|
className: `icon-${iconId} dot-i`,
|
|
83
85
|
"data-testid": dataTestId && `${dataTestId}-i`,
|
|
84
86
|
role: _ariaRole
|
|
@@ -170,13 +172,15 @@ const DotAccordion = ({
|
|
|
170
172
|
square: _square
|
|
171
173
|
}, {
|
|
172
174
|
children: [jsxs(AccordionSummary, Object.assign({
|
|
175
|
+
"aria-label": ariaLabel || summary,
|
|
173
176
|
classes: {
|
|
174
177
|
root: summaryClassName
|
|
175
178
|
},
|
|
176
179
|
"data-testid": `${dataTestId}-summary`,
|
|
177
180
|
expandIcon: jsx(DotIcon, {
|
|
178
181
|
iconId: "chevron-down"
|
|
179
|
-
}, void 0)
|
|
182
|
+
}, void 0),
|
|
183
|
+
role: "button"
|
|
180
184
|
}, {
|
|
181
185
|
children: [_startIcon, jsx(DotTooltip, Object.assign({
|
|
182
186
|
"data-testid": "accordion-tooltip",
|
|
@@ -1634,11 +1638,22 @@ const AvatarContent = ({
|
|
|
1634
1638
|
'data-testid': dataTestId,
|
|
1635
1639
|
iconId,
|
|
1636
1640
|
imageSrc,
|
|
1641
|
+
number,
|
|
1637
1642
|
size,
|
|
1638
1643
|
text,
|
|
1639
1644
|
type
|
|
1640
1645
|
}) => {
|
|
1646
|
+
const parsedNumber = () => {
|
|
1647
|
+
if (!isNumber(number)) return;
|
|
1648
|
+
const numberArray = number.toString().split('');
|
|
1649
|
+
if (numberArray.length > 1) {
|
|
1650
|
+
return `${numberArray[0]}${numberArray[1]}`;
|
|
1651
|
+
} else {
|
|
1652
|
+
return number;
|
|
1653
|
+
}
|
|
1654
|
+
};
|
|
1641
1655
|
const parsedText = () => {
|
|
1656
|
+
if (!isString$1(text)) return;
|
|
1642
1657
|
const textArray = text.split(' ');
|
|
1643
1658
|
if (textArray.length > 1) {
|
|
1644
1659
|
const firstInitial = textArray[0].slice(0, 1);
|
|
@@ -1661,7 +1676,7 @@ const AvatarContent = ({
|
|
|
1661
1676
|
return jsx(DotTypography, Object.assign({
|
|
1662
1677
|
variant: size === 'small' ? 'caption' : getHeadingFromAvatarSize()
|
|
1663
1678
|
}, {
|
|
1664
|
-
children: parsedText()
|
|
1679
|
+
children: parsedNumber() || parsedText()
|
|
1665
1680
|
}), void 0);
|
|
1666
1681
|
}
|
|
1667
1682
|
return null;
|
|
@@ -1677,6 +1692,7 @@ const DotAvatar = ({
|
|
|
1677
1692
|
iconId,
|
|
1678
1693
|
imageSrc,
|
|
1679
1694
|
onClick,
|
|
1695
|
+
number,
|
|
1680
1696
|
size: _size = 'medium',
|
|
1681
1697
|
tabIndex: _tabIndex = 0,
|
|
1682
1698
|
text: _text = alt,
|
|
@@ -1696,7 +1712,7 @@ const DotAvatar = ({
|
|
|
1696
1712
|
}, {
|
|
1697
1713
|
children: jsx(StyledAvatar, Object.assign({
|
|
1698
1714
|
alt: alt,
|
|
1699
|
-
"aria-label": ariaLabel,
|
|
1715
|
+
"aria-label": ariaLabel || alt,
|
|
1700
1716
|
className: _size,
|
|
1701
1717
|
classes: {
|
|
1702
1718
|
root: rootClasses,
|
|
@@ -1716,6 +1732,7 @@ const DotAvatar = ({
|
|
|
1716
1732
|
"data-testid": dataTestId,
|
|
1717
1733
|
iconId: iconId,
|
|
1718
1734
|
imageSrc: imageSrc,
|
|
1735
|
+
number: number,
|
|
1719
1736
|
size: _size,
|
|
1720
1737
|
text: _text,
|
|
1721
1738
|
type: _type
|
|
@@ -1919,6 +1936,7 @@ const DotProgress = ({
|
|
|
1919
1936
|
},
|
|
1920
1937
|
color: _color,
|
|
1921
1938
|
"data-testid": dataTestId,
|
|
1939
|
+
role: "progressbar",
|
|
1922
1940
|
size: _size,
|
|
1923
1941
|
thickness: _thickness,
|
|
1924
1942
|
value: value,
|
|
@@ -2310,7 +2328,7 @@ const DotIconButton = ({
|
|
|
2310
2328
|
title: tooltip
|
|
2311
2329
|
}, {
|
|
2312
2330
|
children: jsx(StyledIconButton, Object.assign({
|
|
2313
|
-
"aria-label": ariaLabel
|
|
2331
|
+
"aria-label": ariaLabel || tooltip || `${iconId} icon button`,
|
|
2314
2332
|
classes: {
|
|
2315
2333
|
root: rootClasses
|
|
2316
2334
|
},
|
|
@@ -2348,6 +2366,7 @@ const DotDrawerHeader = ({
|
|
|
2348
2366
|
role: "heading"
|
|
2349
2367
|
}, {
|
|
2350
2368
|
children: [children, variant !== 'permanent' && jsx(DotIconButton, {
|
|
2369
|
+
ariaLabel: "close drawer",
|
|
2351
2370
|
className: "close-button",
|
|
2352
2371
|
iconId: "close",
|
|
2353
2372
|
onClick: onClose
|
|
@@ -2379,6 +2398,7 @@ const DotDrawerBody = ({
|
|
|
2379
2398
|
role: _ariaRole
|
|
2380
2399
|
}, {
|
|
2381
2400
|
children: [children, !headerExists && variant !== 'permanent' && jsx(DotIconButton, {
|
|
2401
|
+
ariaLabel: "close drawer",
|
|
2382
2402
|
className: "dot-drawer-close-button",
|
|
2383
2403
|
iconId: "close",
|
|
2384
2404
|
onClick: onClose
|
|
@@ -2447,6 +2467,7 @@ const DotDrawer = ({
|
|
|
2447
2467
|
return jsxs(StyledDrawer, Object.assign({
|
|
2448
2468
|
ModalProps: ModalProps,
|
|
2449
2469
|
PaperProps: Object.assign(Object.assign({}, PaperProps), {
|
|
2470
|
+
'aria-label': ariaLabel,
|
|
2450
2471
|
role: _ariaRole
|
|
2451
2472
|
}),
|
|
2452
2473
|
anchor: _anchor,
|
|
@@ -2503,7 +2524,8 @@ const DotListDivider = ({
|
|
|
2503
2524
|
}) => {
|
|
2504
2525
|
if (item.text) {
|
|
2505
2526
|
return jsx(ListSubheader, Object.assign({
|
|
2506
|
-
disableSticky: true
|
|
2527
|
+
disableSticky: true,
|
|
2528
|
+
role: "heading"
|
|
2507
2529
|
}, {
|
|
2508
2530
|
children: jsx(DotTypography, Object.assign({
|
|
2509
2531
|
variant: "overline"
|
|
@@ -2514,7 +2536,8 @@ const DotListDivider = ({
|
|
|
2514
2536
|
}
|
|
2515
2537
|
return jsx(Divider, {
|
|
2516
2538
|
"aria-hidden": true,
|
|
2517
|
-
"data-testid": `divider-${index}
|
|
2539
|
+
"data-testid": `divider-${index}`,
|
|
2540
|
+
role: "separator"
|
|
2518
2541
|
}, void 0);
|
|
2519
2542
|
};
|
|
2520
2543
|
const DotList = ({
|
|
@@ -2569,9 +2592,11 @@ const DotList = ({
|
|
|
2569
2592
|
}
|
|
2570
2593
|
};
|
|
2571
2594
|
if (item.child) {
|
|
2572
|
-
return jsx(
|
|
2595
|
+
return jsx("div", Object.assign({
|
|
2596
|
+
role: "listitem"
|
|
2597
|
+
}, {
|
|
2573
2598
|
children: item.child
|
|
2574
|
-
}, `item-child-${index}`);
|
|
2599
|
+
}), `item-child-${index}`);
|
|
2575
2600
|
}
|
|
2576
2601
|
if (item.divider) {
|
|
2577
2602
|
return jsx(DotListDivider, {
|
|
@@ -2656,7 +2681,7 @@ const DotListItem = ({
|
|
|
2656
2681
|
}
|
|
2657
2682
|
return endIcon;
|
|
2658
2683
|
};
|
|
2659
|
-
return jsxs(Fragment
|
|
2684
|
+
return jsxs(Fragment, {
|
|
2660
2685
|
children: [jsx(DotTooltip, Object.assign({
|
|
2661
2686
|
"data-testid": `${dataTestId}-tooltip`,
|
|
2662
2687
|
placement: _tooltipPlacement,
|
|
@@ -2977,7 +3002,7 @@ const DotInputText = ({
|
|
|
2977
3002
|
startAdornment: startAdornmentIcon(),
|
|
2978
3003
|
endAdornment: endAdornmentIconOrText()
|
|
2979
3004
|
},
|
|
2980
|
-
"aria-label": name,
|
|
3005
|
+
"aria-label": name || label,
|
|
2981
3006
|
autoComplete: _autoComplete,
|
|
2982
3007
|
autoFocus: autoFocus,
|
|
2983
3008
|
classes: {
|
|
@@ -3000,6 +3025,8 @@ const DotInputText = ({
|
|
|
3000
3025
|
},
|
|
3001
3026
|
inputRef: inputRef,
|
|
3002
3027
|
label: persistentLabel ? null : label,
|
|
3028
|
+
maxRows: _multiline ? maxRows : null,
|
|
3029
|
+
minRows: _multiline ? minRows : null,
|
|
3003
3030
|
multiline: _multiline,
|
|
3004
3031
|
name: name,
|
|
3005
3032
|
onBlur: onBlur,
|
|
@@ -3009,9 +3036,9 @@ const DotInputText = ({
|
|
|
3009
3036
|
onMouseUp: onMouseUp,
|
|
3010
3037
|
placeholder: placeholder,
|
|
3011
3038
|
required: _required,
|
|
3012
|
-
|
|
3013
|
-
maxRows: _multiline ? maxRows : null,
|
|
3039
|
+
role: "textbox",
|
|
3014
3040
|
size: _size,
|
|
3041
|
+
tabIndex: 0,
|
|
3015
3042
|
type: _type,
|
|
3016
3043
|
value: inputTextValue,
|
|
3017
3044
|
variant: "outlined"
|
|
@@ -3059,6 +3086,7 @@ function SearchInput({
|
|
|
3059
3086
|
iconId: "search"
|
|
3060
3087
|
}, void 0);
|
|
3061
3088
|
const clearSearchIcon = jsx(DotIconButton, {
|
|
3089
|
+
ariaLabel: "clear search text",
|
|
3062
3090
|
iconId: "close",
|
|
3063
3091
|
onClick: handleClear,
|
|
3064
3092
|
size: "small",
|
|
@@ -3128,7 +3156,7 @@ const DotCopyButton = ({
|
|
|
3128
3156
|
"data-testid": dataTestId
|
|
3129
3157
|
}, {
|
|
3130
3158
|
children: [!showCopiedIcon && jsx(DotIconButton, {
|
|
3131
|
-
ariaLabel: _ariaLabel,
|
|
3159
|
+
ariaLabel: _ariaLabel || 'copy to clipboard',
|
|
3132
3160
|
"data-testid": `${dataTestId}-button`,
|
|
3133
3161
|
iconId: "duplicate",
|
|
3134
3162
|
onClick: copy,
|
|
@@ -3532,7 +3560,7 @@ const DotAppSwitcherView = ({
|
|
|
3532
3560
|
setRecentAppInstances(recentAppInstancesSetter(latestInstance, _maxRecentInstances));
|
|
3533
3561
|
}
|
|
3534
3562
|
}, [recentAppInstances]);
|
|
3535
|
-
const recentAppInstancesSection = jsxs(Fragment
|
|
3563
|
+
const recentAppInstancesSection = jsxs(Fragment, {
|
|
3536
3564
|
children: [sectionHeaderMenuItem('RECENT', recentAppInstances.length).children, jsx("div", Object.assign({
|
|
3537
3565
|
className: "product-applications"
|
|
3538
3566
|
}, {
|
|
@@ -3582,7 +3610,7 @@ const DotAppSwitcherView = ({
|
|
|
3582
3610
|
}, void 0)
|
|
3583
3611
|
}), void 0), jsx("div", Object.assign({
|
|
3584
3612
|
className: "product-applications",
|
|
3585
|
-
role: "
|
|
3613
|
+
role: "presentation"
|
|
3586
3614
|
}, {
|
|
3587
3615
|
children: filteredAppInstances()
|
|
3588
3616
|
}), void 0)]
|
|
@@ -3593,6 +3621,7 @@ const DotAppSwitcherView = ({
|
|
|
3593
3621
|
role: "contentinfo"
|
|
3594
3622
|
}, {
|
|
3595
3623
|
children: [jsx(DotList, {
|
|
3624
|
+
ariaRole: "presentation",
|
|
3596
3625
|
items: appTypeMenuItems === null || appTypeMenuItems === void 0 ? void 0 : appTypeMenuItems.map(item => ({
|
|
3597
3626
|
child: item.children
|
|
3598
3627
|
})),
|
|
@@ -3627,6 +3656,7 @@ const DotAppSwitcherView = ({
|
|
|
3627
3656
|
}), void 0)
|
|
3628
3657
|
};
|
|
3629
3658
|
return jsx(StyledAppSwitcher, Object.assign({
|
|
3659
|
+
ariaLabel: "App Switcher",
|
|
3630
3660
|
className: rootClasses,
|
|
3631
3661
|
ModalProps: {
|
|
3632
3662
|
style: {
|
|
@@ -3844,7 +3874,7 @@ const Brand = ({
|
|
|
3844
3874
|
}), void 0), jsx(DotTooltip, Object.assign({
|
|
3845
3875
|
title: "digital.ai"
|
|
3846
3876
|
}, {
|
|
3847
|
-
children: theme.palette.mode ===
|
|
3877
|
+
children: theme.palette.mode === 'light' ? jsx(ForwardRef$1, {
|
|
3848
3878
|
className: "company-name"
|
|
3849
3879
|
}, void 0) : jsx(ForwardRef, {
|
|
3850
3880
|
className: "company-name"
|
|
@@ -3875,7 +3905,7 @@ const Header = ({
|
|
|
3875
3905
|
appLogo: appLogo,
|
|
3876
3906
|
appLogoSmall: appLogoSmall,
|
|
3877
3907
|
smallOnly: !isOpen
|
|
3878
|
-
}, void 0) : jsxs(Fragment
|
|
3908
|
+
}, void 0) : jsxs(Fragment, {
|
|
3879
3909
|
children: [jsx(DotAvatar, Object.assign({}, titleAvatarProps), void 0), isOpen && jsx(DotTypography, Object.assign({
|
|
3880
3910
|
variant: "h4"
|
|
3881
3911
|
}, {
|
|
@@ -3950,6 +3980,7 @@ const DotSidebar = ({
|
|
|
3950
3980
|
className: "go-back"
|
|
3951
3981
|
}, {
|
|
3952
3982
|
children: [jsx(DotIconButton, {
|
|
3983
|
+
ariaLabel: "go back",
|
|
3953
3984
|
className: "go-back-button",
|
|
3954
3985
|
"data-testid": "back-button",
|
|
3955
3986
|
iconId: backItem.iconId || 'back',
|
|
@@ -4138,7 +4169,7 @@ const DotAppToolbar = ({
|
|
|
4138
4169
|
borderBottomColor: borderColor
|
|
4139
4170
|
}
|
|
4140
4171
|
}, {
|
|
4141
|
-
children: [showMainMenu && jsxs(Fragment
|
|
4172
|
+
children: [showMainMenu && jsxs(Fragment, {
|
|
4142
4173
|
children: [jsx("div", Object.assign({
|
|
4143
4174
|
className: "dot-main-menu-btn"
|
|
4144
4175
|
}, {
|
|
@@ -4325,7 +4356,9 @@ const getChipsFromAutocomplete = ({
|
|
|
4325
4356
|
isReadOnly: _isReadOnly = false,
|
|
4326
4357
|
values
|
|
4327
4358
|
}) => {
|
|
4359
|
+
if (values === undefined) return;
|
|
4328
4360
|
return values.map((option, index) => {
|
|
4361
|
+
if (!option) return null;
|
|
4329
4362
|
const hasStringValue = isString$1(option);
|
|
4330
4363
|
const optionAsString = option;
|
|
4331
4364
|
const optionAsObject = option;
|
|
@@ -4380,7 +4413,7 @@ const DotAutoComplete = ({
|
|
|
4380
4413
|
onInputChange,
|
|
4381
4414
|
onOpen,
|
|
4382
4415
|
open,
|
|
4383
|
-
options,
|
|
4416
|
+
options: _options = [],
|
|
4384
4417
|
persistentLabel,
|
|
4385
4418
|
placeholder,
|
|
4386
4419
|
readOnly: _readOnly = false,
|
|
@@ -4392,23 +4425,21 @@ const DotAutoComplete = ({
|
|
|
4392
4425
|
warning: _warning = false
|
|
4393
4426
|
}) => {
|
|
4394
4427
|
const [showPlaceholder, setShowPlaceholder] = useState(!value && !defaultValue);
|
|
4395
|
-
const {
|
|
4396
|
-
iconId: actionIconId = 'add',
|
|
4397
|
-
text: actionItemText,
|
|
4398
|
-
onClick: onActionItemClick,
|
|
4399
|
-
preventDuplicateInsertion
|
|
4400
|
-
} = actionItem || {};
|
|
4401
|
-
const isActionItemDefined = onActionItemClick !== undefined;
|
|
4402
|
-
let highlightedOption = null;
|
|
4403
4428
|
const [isOpened, setIsOpened] = useState(false);
|
|
4404
4429
|
const [inputText, setInputText] = useState('');
|
|
4430
|
+
// Used for focus management while popper is opened
|
|
4431
|
+
const actionItemRef = useRef();
|
|
4432
|
+
const onActionItemClick = actionItem === null || actionItem === void 0 ? void 0 : actionItem.onClick;
|
|
4433
|
+
const allowActionButtonClick = !_freesolo && onActionItemClick;
|
|
4434
|
+
const isActionItemDefined = onActionItemClick !== undefined;
|
|
4435
|
+
const popperOpen = !_readOnly && (open || isOpened);
|
|
4436
|
+
const preventDuplicateInsertion = actionItem === null || actionItem === void 0 ? void 0 : actionItem.preventDuplicateInsertion;
|
|
4405
4437
|
const textFieldWarningClassName = !_error && _warning && warningClassName;
|
|
4406
4438
|
const rootClasses = useStylesWithRootClass(rootClassName$I, _size === 'medium' && inputMediumClassName, className);
|
|
4407
|
-
const textFieldRootClasses = useStylesWithRootClass(rootClassName$13,
|
|
4439
|
+
const textFieldRootClasses = useStylesWithRootClass(rootClassName$13, _readOnly && 'read-only', textFieldWarningClassName);
|
|
4408
4440
|
const inputRootClasses = useStylesWithRootClass(inputRootClassName, !_dense && inputMediumClassName);
|
|
4441
|
+
let highlightedOption = null;
|
|
4409
4442
|
let textFieldInput;
|
|
4410
|
-
// Used for focus management while popper is opened
|
|
4411
|
-
const actionItemRef = useRef();
|
|
4412
4443
|
const textFieldRef = element => {
|
|
4413
4444
|
// We want to use this element in callback function
|
|
4414
4445
|
textFieldInput = element;
|
|
@@ -4432,11 +4463,11 @@ const DotAutoComplete = ({
|
|
|
4432
4463
|
setShowPlaceholder(parseAutoCompleteValue(val) === '');
|
|
4433
4464
|
};
|
|
4434
4465
|
const sortOptions = () => {
|
|
4435
|
-
return _group ?
|
|
4466
|
+
return _group ? _options.sort((a, b) => {
|
|
4436
4467
|
const aGroup = a.group ? a.group : '';
|
|
4437
4468
|
const bGroup = b.group ? b.group : '';
|
|
4438
4469
|
return -bGroup.localeCompare(aGroup);
|
|
4439
|
-
}) :
|
|
4470
|
+
}) : _options;
|
|
4440
4471
|
};
|
|
4441
4472
|
const handleBlur = event => {
|
|
4442
4473
|
event.relatedTarget !== actionItemRef.current && setIsOpened(false);
|
|
@@ -4456,16 +4487,15 @@ const DotAutoComplete = ({
|
|
|
4456
4487
|
}), void 0);
|
|
4457
4488
|
// Disable action if customer explicitly enabled duplicate
|
|
4458
4489
|
// item insertion and input text is found inside the 'options'
|
|
4459
|
-
const isActionDisabled = preventDuplicateInsertion && checkIfDuplicateItem(inputText,
|
|
4490
|
+
const isActionDisabled = preventDuplicateInsertion && checkIfDuplicateItem(inputText, _options);
|
|
4460
4491
|
// Display warning icon if disabled
|
|
4461
|
-
const actionStartIconId = isActionDisabled ? 'warning-solid' :
|
|
4492
|
+
const actionStartIconId = isActionDisabled ? 'warning-solid' : (actionItem === null || actionItem === void 0 ? void 0 : actionItem.iconId) || 'add';
|
|
4462
4493
|
const defaultText = inputText ? `Add "${inputText}"` : DEFAULT_ACTION_ITEM_TEXT;
|
|
4463
|
-
const nonDisabledText =
|
|
4494
|
+
const nonDisabledText = (actionItem === null || actionItem === void 0 ? void 0 : actionItem.text) || defaultText;
|
|
4464
4495
|
const itemText = isActionDisabled ? 'Value already exists' : nonDisabledText;
|
|
4465
|
-
// If simple text, we need to give it a class so that
|
|
4466
|
-
//
|
|
4467
|
-
//
|
|
4468
|
-
// consumer, then leave it as it is.
|
|
4496
|
+
// If simple text, we need to give it a class so that styling for
|
|
4497
|
+
// displaying ellipsis on a long text can be applied. If it is
|
|
4498
|
+
// custom node coming from the consumer, then leave it as it is.
|
|
4469
4499
|
const itemTextNode = isString$1(itemText) ? jsx("span", Object.assign({
|
|
4470
4500
|
className: "dot-action-item-text"
|
|
4471
4501
|
}, {
|
|
@@ -4531,10 +4561,11 @@ const DotAutoComplete = ({
|
|
|
4531
4561
|
}) || undefined;
|
|
4532
4562
|
// Create callback when action item click event handler is defined,
|
|
4533
4563
|
// free-solo mode is NOT set and 'Enter' key has been pressed
|
|
4534
|
-
const handleKeyDown =
|
|
4564
|
+
const handleKeyDown = allowActionButtonClick && (event => {
|
|
4535
4565
|
if (event.key === 'Enter') {
|
|
4566
|
+
const isDuplicate = checkIfDuplicateItem(inputText, _options);
|
|
4536
4567
|
// Do NOT execute callback if duplicate item or have selected an option from the dropdown
|
|
4537
|
-
if (preventDuplicateInsertion &&
|
|
4568
|
+
if (preventDuplicateInsertion && isDuplicate || highlightedOption) return;
|
|
4538
4569
|
onActionButtonClick();
|
|
4539
4570
|
}
|
|
4540
4571
|
}) || undefined;
|
|
@@ -4545,7 +4576,7 @@ const DotAutoComplete = ({
|
|
|
4545
4576
|
values
|
|
4546
4577
|
});
|
|
4547
4578
|
const handleTagsRender = () => {
|
|
4548
|
-
if (!_multiple) return;
|
|
4579
|
+
if (!_multiple || isString$1(defaultValue)) return;
|
|
4549
4580
|
return renderTags || handleRenderChips;
|
|
4550
4581
|
};
|
|
4551
4582
|
const renderErrorOrWarningIcon = () => {
|
|
@@ -4567,7 +4598,7 @@ const DotAutoComplete = ({
|
|
|
4567
4598
|
children: icon
|
|
4568
4599
|
}), void 0) : icon;
|
|
4569
4600
|
};
|
|
4570
|
-
return jsxs(Fragment
|
|
4601
|
+
return jsxs(Fragment, {
|
|
4571
4602
|
children: [loading && jsx(DotProgress, {
|
|
4572
4603
|
color: "inherit",
|
|
4573
4604
|
size: 20
|
|
@@ -4582,7 +4613,7 @@ const DotAutoComplete = ({
|
|
|
4582
4613
|
inputRoot: inputRootClasses
|
|
4583
4614
|
},
|
|
4584
4615
|
"data-testid": dataTestId,
|
|
4585
|
-
defaultValue: defaultValue,
|
|
4616
|
+
defaultValue: _multiple && isString$1(defaultValue) ? [defaultValue] : defaultValue,
|
|
4586
4617
|
disabled: _disabled,
|
|
4587
4618
|
filterOptions: filterOptions,
|
|
4588
4619
|
filterSelectedOptions: _filterSelectedOptions,
|
|
@@ -4610,7 +4641,7 @@ const DotAutoComplete = ({
|
|
|
4610
4641
|
onKeyDown: handleKeyDown,
|
|
4611
4642
|
// We want to close the popper each time focus is shifted from the autocomplete
|
|
4612
4643
|
onOpen: handleOpen,
|
|
4613
|
-
open:
|
|
4644
|
+
open: popperOpen,
|
|
4614
4645
|
options: sortOptions(),
|
|
4615
4646
|
renderInput: params => {
|
|
4616
4647
|
// InputBaseComponentProps is used here because that is the base
|
|
@@ -4628,7 +4659,7 @@ const DotAutoComplete = ({
|
|
|
4628
4659
|
// at least pick up any styling that is used there. Should additional
|
|
4629
4660
|
// functionality be added to DotInputText we will have to make a
|
|
4630
4661
|
// decision about if/how to expose it here.
|
|
4631
|
-
jsxs(Fragment
|
|
4662
|
+
jsxs(Fragment, {
|
|
4632
4663
|
children: [persistentLabel && jsx(DotInputLabel, Object.assign({
|
|
4633
4664
|
"data-testid": dataTestId && `${dataTestId}-persistent-label`,
|
|
4634
4665
|
id: inputId
|
|
@@ -4670,7 +4701,7 @@ const DotAutoComplete = ({
|
|
|
4670
4701
|
(_a = actionItemRef === null || actionItemRef === void 0 ? void 0 : actionItemRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
4671
4702
|
}
|
|
4672
4703
|
},
|
|
4673
|
-
placeholder: showPlaceholder
|
|
4704
|
+
placeholder: showPlaceholder && placeholder,
|
|
4674
4705
|
required: _required,
|
|
4675
4706
|
size: _size,
|
|
4676
4707
|
variant: "outlined"
|
|
@@ -4728,7 +4759,7 @@ const StyledBreadcrumbs = styled(Breadcrumbs).withConfig({
|
|
|
4728
4759
|
componentId: "sc-7cg374-1"
|
|
4729
4760
|
})(["", ""], ({
|
|
4730
4761
|
theme
|
|
4731
|
-
}) => css(["&.", "{margin-bottom:0;.MuiBreadcrumbs-ol{flex-wrap:nowrap;}.MuiBreadcrumbs-li,.separator{color:", ";margin:0;white-space:nowrap;}.separator{font-size:12px;width:20px;height:20px;padding:0;}.MuiBreadcrumbs-separator{margin:0;}.MuiLink-underlineHover{cursor:pointer;}.MuiBreadcrumbs-li:last-child{overflow:hidden;text-overflow:ellipsis;}.breadcrumb{padding:", ";}.current-page{color:", ";cursor:default;}}"], rootClassName$F, theme.palette.grey[300], theme.spacing(0.5, 2), theme.palette.grey[700]));
|
|
4762
|
+
}) => css(["&.", "{margin-bottom:0;.MuiBreadcrumbs-ol{flex-wrap:nowrap;}.MuiBreadcrumbs-li,.separator{color:", ";margin:0;white-space:nowrap;}.separator{font-size:12px;width:20px;height:20px;padding:0;i{line-height:20px;}}.MuiBreadcrumbs-separator{margin:0;}.MuiLink-underlineHover{cursor:pointer;}.MuiBreadcrumbs-li:last-child{overflow:hidden;text-overflow:ellipsis;}.breadcrumb{padding:", ";}.current-page{color:", ";cursor:default;}}"], rootClassName$F, theme.palette.grey[300], theme.spacing(0.5, 2), theme.palette.grey[700]));
|
|
4732
4763
|
|
|
4733
4764
|
const compareWidth = (parentEl, childEl) => {
|
|
4734
4765
|
return parentEl.getBoundingClientRect().width < childEl.getBoundingClientRect().width;
|
|
@@ -5092,7 +5123,7 @@ const DotButtonToggle = ({
|
|
|
5092
5123
|
key,
|
|
5093
5124
|
value: optionValue
|
|
5094
5125
|
};
|
|
5095
|
-
const children = jsxs(Fragment
|
|
5126
|
+
const children = jsxs(Fragment, {
|
|
5096
5127
|
children: [optionIconId && jsx(DotIcon, {
|
|
5097
5128
|
className: "dot-toggle-icon",
|
|
5098
5129
|
iconId: optionIconId
|
|
@@ -5108,6 +5139,8 @@ const DotButtonToggle = ({
|
|
|
5108
5139
|
}, {
|
|
5109
5140
|
children: children
|
|
5110
5141
|
}), void 0) : jsx(ToggleButton, Object.assign({}, commonProps, {
|
|
5142
|
+
role: "button"
|
|
5143
|
+
}, {
|
|
5111
5144
|
children: children
|
|
5112
5145
|
}), void 0);
|
|
5113
5146
|
};
|
|
@@ -5138,7 +5171,9 @@ const TooltipToggleButton = /*#__PURE__*/forwardRef((_a, ref) => {
|
|
|
5138
5171
|
return jsx(DotTooltip, Object.assign({}, CustomTooltipProps, {
|
|
5139
5172
|
children: jsx(ToggleButton, Object.assign({
|
|
5140
5173
|
ref: ref
|
|
5141
|
-
}, props
|
|
5174
|
+
}, props, {
|
|
5175
|
+
role: "button"
|
|
5176
|
+
}), void 0)
|
|
5142
5177
|
}), void 0);
|
|
5143
5178
|
});
|
|
5144
5179
|
|
|
@@ -5295,6 +5330,7 @@ function DotCheckbox({
|
|
|
5295
5330
|
onChange: handleChange,
|
|
5296
5331
|
required: required,
|
|
5297
5332
|
size: size,
|
|
5333
|
+
tabIndex: 0,
|
|
5298
5334
|
value: value
|
|
5299
5335
|
}, void 0);
|
|
5300
5336
|
return jsx(StyledFormControlLabel, {
|
|
@@ -5538,6 +5574,7 @@ const DotDialog = ({
|
|
|
5538
5574
|
className: "dot-dialog-title"
|
|
5539
5575
|
}, {
|
|
5540
5576
|
children: [renderNodeOrTypography(title, 'h2'), closeIconVisible && jsx(DotIconButton, {
|
|
5577
|
+
ariaLabel: "close dialog",
|
|
5541
5578
|
iconId: "close",
|
|
5542
5579
|
onClick: handleCancel,
|
|
5543
5580
|
size: "small"
|
|
@@ -6279,7 +6316,7 @@ const StyledRadioButton = styled(Radio).withConfig({
|
|
|
6279
6316
|
|
|
6280
6317
|
function DotRadioButton({
|
|
6281
6318
|
ariaLabel,
|
|
6282
|
-
checked,
|
|
6319
|
+
checked = false,
|
|
6283
6320
|
className,
|
|
6284
6321
|
'data-testid': dataTestId,
|
|
6285
6322
|
disabled,
|
|
@@ -6297,8 +6334,10 @@ function DotRadioButton({
|
|
|
6297
6334
|
const handleChange = event => {
|
|
6298
6335
|
onChange && onChange(event, event.target.value);
|
|
6299
6336
|
};
|
|
6337
|
+
// a11y: role doesn't need to be specified because it is done so automatically by the MUI component
|
|
6300
6338
|
const radioControl = jsx(StyledRadioButton, {
|
|
6301
|
-
"aria-
|
|
6339
|
+
"aria-checked": checked,
|
|
6340
|
+
"aria-label": ariaLabel || label,
|
|
6302
6341
|
checked: checked,
|
|
6303
6342
|
classes: {
|
|
6304
6343
|
root: rootClassName$r
|
|
@@ -6308,15 +6347,16 @@ function DotRadioButton({
|
|
|
6308
6347
|
disabled: disabled,
|
|
6309
6348
|
id: id,
|
|
6310
6349
|
inputRef: inputRef,
|
|
6311
|
-
name: name,
|
|
6350
|
+
name: name || value,
|
|
6312
6351
|
onChange: handleChange,
|
|
6313
6352
|
required: required,
|
|
6314
|
-
size: size
|
|
6353
|
+
size: size,
|
|
6354
|
+
tabIndex: 0
|
|
6315
6355
|
}, void 0);
|
|
6316
6356
|
return jsx(StyledFormControlLabel, {
|
|
6317
6357
|
className: rootClasses,
|
|
6318
6358
|
control: radioControl,
|
|
6319
|
-
"aria-label":
|
|
6359
|
+
"aria-label": ariaLabel || label,
|
|
6320
6360
|
label: label || radioControl,
|
|
6321
6361
|
labelPlacement: labelPlacement,
|
|
6322
6362
|
value: value
|
|
@@ -6398,7 +6438,7 @@ const DotRadioGroup = ({
|
|
|
6398
6438
|
children: endIcon
|
|
6399
6439
|
}), void 0)]
|
|
6400
6440
|
}), void 0), jsx(StyledRadioGroup, Object.assign({
|
|
6401
|
-
"aria-label": ariaLabel,
|
|
6441
|
+
"aria-label": ariaLabel || groupLabel,
|
|
6402
6442
|
className: groupClassName,
|
|
6403
6443
|
"data-testid": dataTestId,
|
|
6404
6444
|
defaultValue: defaultValue,
|
|
@@ -6456,7 +6496,8 @@ const DotSwitch = ({
|
|
|
6456
6496
|
},
|
|
6457
6497
|
inputRef: inputRef,
|
|
6458
6498
|
onChange: handleChange,
|
|
6459
|
-
size: _size
|
|
6499
|
+
size: _size,
|
|
6500
|
+
tabIndex: 0
|
|
6460
6501
|
}, void 0);
|
|
6461
6502
|
return jsx(StyledFormControlLabel, {
|
|
6462
6503
|
className: rootClassName$C,
|
|
@@ -6998,7 +7039,7 @@ const DotDynamicForm = ({
|
|
|
6998
7039
|
}
|
|
6999
7040
|
case 'custom-element':
|
|
7000
7041
|
{
|
|
7001
|
-
return jsx(Fragment, {
|
|
7042
|
+
return jsx(Fragment$1, {
|
|
7002
7043
|
children: customElement
|
|
7003
7044
|
}, elementIndex);
|
|
7004
7045
|
}
|
|
@@ -7033,6 +7074,7 @@ const DotDynamicForm = ({
|
|
|
7033
7074
|
const rootClassName$p = 'dot-inline-edit';
|
|
7034
7075
|
const editModeClassName = 'dot-edit-mode';
|
|
7035
7076
|
const viewModeClassName = 'dot-view-mode';
|
|
7077
|
+
const placeholderClassName = 'dot-placeholder';
|
|
7036
7078
|
const readOnlyClassName = 'dot-read-only';
|
|
7037
7079
|
const editActionsClassName = 'dot-edit-actions';
|
|
7038
7080
|
const editTextFieldClassName = 'dot-edit-text-field';
|
|
@@ -7042,7 +7084,7 @@ const StyledInlineEdit = styled.div.withConfig({
|
|
|
7042
7084
|
})(["", ""], ({
|
|
7043
7085
|
theme,
|
|
7044
7086
|
fullWidth
|
|
7045
|
-
}) => css(["&.", "{display:", ";align-items:center;color:", ";min-width:", ";&:not(.", "):focus-visible{border-radius:", ";background-color:", ";cursor:pointer;outline:0;.dot-edit-icon{display:block;}}.", "{display:flex;width:100%;position:relative;.dot-edit-icon{height:100%;position:absolute;right:0;width:40px;background-color:", ";border-radius:", ";display:none;.dot-i{margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}}&:not(.", "):hover{border-radius:", ";background-color:", ";cursor:pointer;.dot-edit-icon{display:block;}}.dot-view-mode-typography{padding:", ";margin-bottom:0;}}.dot-empty-value fieldset{border-color:", ";}.dot-adornment-error{color:", ";}.MuiInputBase-input{height:auto;}.MuiInputBase-root{margin-bottom:", ";}", " .", " .dot-input{padding-left:", ";}.MuiOutlinedInput-input:focus{cursor:auto;}.dot-counter-adornment{.dot-counter-max-length{color:", ";}.dot-counter-length,.dot-counter-max-length{&.dot-counter-limit{color:", ";}&:hover{background:", ";}.editing-actions{display:flex;justify-content:flex-end;margin-top:", ";}.dot-icon-btn{background:", ";border:1px solid ", ";color:", ";margin-left:", ";padding:", ";}}}.dot-read-only-adornment{display:none;}.", "{display:flex;align-items:center;margin:", ";.dot-button{padding:", ";margin-top:", ";margin-bottom:", ";}}}"], rootClassName$p, fullWidth ? 'flex' : 'inline-flex', theme.palette.grey[700], theme.spacing(32), readOnlyClassName, theme.spacing(0.5), theme.palette.layer.n50, viewModeClassName, theme.palette.layer.n50, theme.spacing(0, 0.5, 0.5, 0), readOnlyClassName, theme.spacing(0.5), theme.palette.layer.n50, theme.spacing(1.3125, 1), theme.palette.error[500], theme.palette.error[500], theme.spacing(0), ({
|
|
7087
|
+
}) => css(["&.", "{display:", ";align-items:center;color:", ";min-width:", ";&:not(.", "):focus-visible{border-radius:", ";background-color:", ";cursor:pointer;outline:0;.dot-edit-icon{display:block;}}.", "{display:flex;width:100%;position:relative;.dot-edit-icon{height:100%;position:absolute;right:0;width:40px;background-color:", ";border-radius:", ";display:none;.dot-i{margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}}&:not(.", "):hover{border-radius:", ";background-color:", ";cursor:pointer;.dot-edit-icon{display:block;}}.dot-view-mode-typography{padding:", ";margin-bottom:0;&.", "{color:", ";}}}.dot-empty-value fieldset{border-color:", ";}.dot-adornment-error{color:", ";}.MuiInputBase-input{height:auto;}.MuiInputBase-root{margin-bottom:", ";}", " .", " .dot-input{padding-left:", ";}.MuiOutlinedInput-input:focus{cursor:auto;}.dot-counter-adornment{.dot-counter-max-length{color:", ";}.dot-counter-length,.dot-counter-max-length{&.dot-counter-limit{color:", ";}&:hover{background:", ";}.editing-actions{display:flex;justify-content:flex-end;margin-top:", ";}.dot-icon-btn{background:", ";border:1px solid ", ";color:", ";margin-left:", ";padding:", ";}}}.dot-read-only-adornment{display:none;}.", "{display:flex;align-items:center;margin:", ";.dot-button{padding:", ";margin-top:", ";margin-bottom:", ";}}}"], rootClassName$p, fullWidth ? 'flex' : 'inline-flex', theme.palette.grey[700], theme.spacing(32), readOnlyClassName, theme.spacing(0.5), theme.palette.layer.n50, viewModeClassName, theme.palette.layer.n50, theme.spacing(0, 0.5, 0.5, 0), readOnlyClassName, theme.spacing(0.5), theme.palette.layer.n50, theme.spacing(1.3125, 1), placeholderClassName, theme.palette.grey[200], theme.palette.error[500], theme.palette.error[500], theme.spacing(0), ({
|
|
7046
7088
|
typography
|
|
7047
7089
|
}) => typography && `
|
|
7048
7090
|
.MuiInputBase-root {
|
|
@@ -7141,6 +7183,7 @@ const DotInlineEdit = ({
|
|
|
7141
7183
|
name,
|
|
7142
7184
|
onChange,
|
|
7143
7185
|
onEditStateChange,
|
|
7186
|
+
placeholder,
|
|
7144
7187
|
readOnly,
|
|
7145
7188
|
selectTextOnEdit,
|
|
7146
7189
|
startEditable: _startEditable = false,
|
|
@@ -7241,14 +7284,16 @@ const DotInlineEdit = ({
|
|
|
7241
7284
|
}
|
|
7242
7285
|
};
|
|
7243
7286
|
const renderViewMode = () => {
|
|
7244
|
-
const
|
|
7245
|
-
const
|
|
7287
|
+
const bindingsValue = bindings ? applyBindings(bindings, inputValue) : null;
|
|
7288
|
+
const typographyClasses = useStylesWithRootClass('dot-view-mode-typography', !inputValue && placeholderClassName);
|
|
7289
|
+
const viewModeClasses = useStylesWithRootClass(viewModeClassName, readOnly && readOnlyClassName);
|
|
7290
|
+
const viewModeChildren = jsxs(Fragment, {
|
|
7246
7291
|
children: [jsx(DotTypography, Object.assign({
|
|
7247
|
-
className:
|
|
7292
|
+
className: typographyClasses,
|
|
7248
7293
|
"data-testid": dataTestId && `${dataTestId}-view-mode-typography`,
|
|
7249
7294
|
variant: _typography
|
|
7250
7295
|
}, {
|
|
7251
|
-
children:
|
|
7296
|
+
children: bindingsValue || inputValue || placeholder
|
|
7252
7297
|
}), void 0), jsx(DotIcon, {
|
|
7253
7298
|
className: "dot-edit-icon",
|
|
7254
7299
|
"data-testid": dataTestId && `${dataTestId}-edit-icon`,
|
|
@@ -7272,7 +7317,7 @@ const DotInlineEdit = ({
|
|
|
7272
7317
|
};
|
|
7273
7318
|
const renderEditMode = () => {
|
|
7274
7319
|
const textFieldClasses = useStylesWithRootClass(editTextFieldClassName, isSaveDisabled ? 'dot-empty-value' : '');
|
|
7275
|
-
return jsxs(Fragment
|
|
7320
|
+
return jsxs(Fragment, {
|
|
7276
7321
|
children: [jsx(TextField, {
|
|
7277
7322
|
InputProps: {
|
|
7278
7323
|
endAdornment: renderEndAdornment()
|
|
@@ -7711,7 +7756,7 @@ const DotSplitButton = ({
|
|
|
7711
7756
|
setOpen(false);
|
|
7712
7757
|
onOptionClick(itemKey);
|
|
7713
7758
|
};
|
|
7714
|
-
return jsxs(Fragment
|
|
7759
|
+
return jsxs(Fragment, {
|
|
7715
7760
|
children: [jsxs(StyledSplitButtonGroup, Object.assign({
|
|
7716
7761
|
"aria-label": ariaLabel,
|
|
7717
7762
|
className: rootClasses,
|
|
@@ -7942,7 +7987,7 @@ const DotStepper = ({
|
|
|
7942
7987
|
span: 6
|
|
7943
7988
|
}
|
|
7944
7989
|
}, {
|
|
7945
|
-
children: jsxs(Fragment
|
|
7990
|
+
children: jsxs(Fragment, {
|
|
7946
7991
|
children: [displayCancelButton && jsx(DotButton, Object.assign({
|
|
7947
7992
|
className: "cancel-stepper",
|
|
7948
7993
|
onClick: onCancel,
|
|
@@ -8184,6 +8229,7 @@ const DotBodyCell = ({
|
|
|
8184
8229
|
'data-testid': dataTestId,
|
|
8185
8230
|
noWrap,
|
|
8186
8231
|
onActionMenuTrigger,
|
|
8232
|
+
style,
|
|
8187
8233
|
typography,
|
|
8188
8234
|
value
|
|
8189
8235
|
}) => {
|
|
@@ -8248,7 +8294,8 @@ const DotBodyCell = ({
|
|
|
8248
8294
|
root: rootClasses
|
|
8249
8295
|
},
|
|
8250
8296
|
colSpan: colspan,
|
|
8251
|
-
"data-testid": dataTestId
|
|
8297
|
+
"data-testid": dataTestId,
|
|
8298
|
+
style: style
|
|
8252
8299
|
}, {
|
|
8253
8300
|
children: getTableCellValue()
|
|
8254
8301
|
}), void 0);
|
|
@@ -8338,6 +8385,18 @@ const DotTableRow = ({
|
|
|
8338
8385
|
rowId: id
|
|
8339
8386
|
}, void 0);
|
|
8340
8387
|
};
|
|
8388
|
+
const parseMaxWidth = width => {
|
|
8389
|
+
if (!width) {
|
|
8390
|
+
return;
|
|
8391
|
+
}
|
|
8392
|
+
// if contains % then convert to % of viewport
|
|
8393
|
+
if (width.includes('%')) {
|
|
8394
|
+
const percent = Number.parseFloat(width) / 100;
|
|
8395
|
+
return `calc(100vw * ${percent})`;
|
|
8396
|
+
}
|
|
8397
|
+
// if contains 'px' or 'vw' then pass as is
|
|
8398
|
+
return `${width}`;
|
|
8399
|
+
};
|
|
8341
8400
|
return jsxs(StyledTableRowStyles, Object.assign({
|
|
8342
8401
|
classes: {
|
|
8343
8402
|
root: rootClasses
|
|
@@ -8353,6 +8412,9 @@ const DotTableRow = ({
|
|
|
8353
8412
|
className: rowData.className && `${rowData.className}-${column.id}`,
|
|
8354
8413
|
noWrap: column.truncate,
|
|
8355
8414
|
onActionMenuTrigger: (menuRef, menuItem) => onActionMenuTrigger(menuRef, menuItem),
|
|
8415
|
+
style: {
|
|
8416
|
+
maxWidth: parseMaxWidth(column.width)
|
|
8417
|
+
},
|
|
8356
8418
|
value: rowData[column.id]
|
|
8357
8419
|
}, index);
|
|
8358
8420
|
})]
|
|
@@ -8426,7 +8488,7 @@ const DotTableBody = ({
|
|
|
8426
8488
|
}, index);
|
|
8427
8489
|
});
|
|
8428
8490
|
};
|
|
8429
|
-
return jsxs(Fragment
|
|
8491
|
+
return jsxs(Fragment, {
|
|
8430
8492
|
children: [jsx(StyledTableBody, Object.assign({
|
|
8431
8493
|
classes: {
|
|
8432
8494
|
root: rootClassName$c
|
|
@@ -8655,7 +8717,7 @@ const DotTableSelectionToolbar = ({
|
|
|
8655
8717
|
variant: "h3"
|
|
8656
8718
|
}, {
|
|
8657
8719
|
children: [selectedRowsNumber, " selected"]
|
|
8658
|
-
}), void 0), onClearAll && jsxs(Fragment
|
|
8720
|
+
}), void 0), onClearAll && jsxs(Fragment, {
|
|
8659
8721
|
children: [jsx(DotTypography, Object.assign({
|
|
8660
8722
|
className: "dot-selected-rows-divider"
|
|
8661
8723
|
}, {
|
|
@@ -8987,12 +9049,13 @@ const DotTableActions = ({
|
|
|
8987
9049
|
onClick: action.onClick
|
|
8988
9050
|
}, `action-${index}`));
|
|
8989
9051
|
};
|
|
8990
|
-
return jsxs(Fragment
|
|
9052
|
+
return jsxs(Fragment, {
|
|
8991
9053
|
children: [jsxs(TableActionsContainer, Object.assign({
|
|
8992
9054
|
className: rootClassName$8,
|
|
8993
9055
|
ref: wrapperRef
|
|
8994
9056
|
}, {
|
|
8995
9057
|
children: [!showMenu && renderTableActions(), (showMenu || actions.length > 2) && jsx(DotIconButton, {
|
|
9058
|
+
ariaLabel: "more options",
|
|
8996
9059
|
className: "dot-table-action-icon",
|
|
8997
9060
|
iconId: "options",
|
|
8998
9061
|
iconSize: "small",
|
|
@@ -9155,6 +9218,7 @@ const DotFileListItem = ({
|
|
|
9155
9218
|
children: errorText
|
|
9156
9219
|
}), void 0)]
|
|
9157
9220
|
}), void 0), jsx(DotIconButton, {
|
|
9221
|
+
ariaLabel: "delete file",
|
|
9158
9222
|
className: `${rootClassName$5}-end-icon`,
|
|
9159
9223
|
"data-testid": dataTestId && `${dataTestId}-end-icon`,
|
|
9160
9224
|
disabled: disableDelete,
|
|
@@ -9181,7 +9245,7 @@ const renderSelectFilesButton = (isUploadDisabled, onButtonClick) => jsx(DotButt
|
|
|
9181
9245
|
}, {
|
|
9182
9246
|
children: "Select file(s)"
|
|
9183
9247
|
}), void 0);
|
|
9184
|
-
const renderActiveDragArea = () => jsxs(Fragment
|
|
9248
|
+
const renderActiveDragArea = () => jsxs(Fragment, {
|
|
9185
9249
|
children: [jsx(DotIcon, {
|
|
9186
9250
|
iconId: "upload-file"
|
|
9187
9251
|
}, void 0), jsx(DotTypography, Object.assign({
|
|
@@ -9190,7 +9254,7 @@ const renderActiveDragArea = () => jsxs(Fragment$1, {
|
|
|
9190
9254
|
children: "Drop the file(s) here ..."
|
|
9191
9255
|
}), void 0)]
|
|
9192
9256
|
}, void 0);
|
|
9193
|
-
const renderDragAndDropArea = (isUploadDisabled, onSelectButtonClick) => jsxs(Fragment
|
|
9257
|
+
const renderDragAndDropArea = (isUploadDisabled, onSelectButtonClick) => jsxs(Fragment, {
|
|
9194
9258
|
children: [jsx(DotIcon, {
|
|
9195
9259
|
iconId: "upload-file"
|
|
9196
9260
|
}, void 0), jsxs(DotTypography, Object.assign({
|
|
@@ -9348,7 +9412,7 @@ const DotFileUpload = ({
|
|
|
9348
9412
|
isUploadDisabled,
|
|
9349
9413
|
open
|
|
9350
9414
|
})]
|
|
9351
|
-
}), void 0), maxSize && renderMaxSizeMessage(maxSize), maxFiles && renderMaxFilesMessage(maxFiles, maxFilesClasses), !hideFilesList
|
|
9415
|
+
}), void 0), !!maxSize && renderMaxSizeMessage(maxSize), !!maxFiles && renderMaxFilesMessage(maxFiles, maxFilesClasses), !hideFilesList || jsx(DotList, {
|
|
9352
9416
|
"data-testid": dataTestId && `${dataTestId}-file-list`,
|
|
9353
9417
|
items: uploadedFilesList,
|
|
9354
9418
|
width: "100%"
|
|
@@ -9746,12 +9810,13 @@ const DotDatePicker = ({
|
|
|
9746
9810
|
open: open,
|
|
9747
9811
|
showDaysOutsideCurrentMonth: showDaysOutsideCurrentMonth,
|
|
9748
9812
|
slots: {
|
|
9749
|
-
openPickerButton: pickerButtonProps => jsxs(Fragment
|
|
9813
|
+
openPickerButton: pickerButtonProps => jsxs(Fragment, {
|
|
9750
9814
|
children: [error && jsx(DotIcon, {
|
|
9751
9815
|
className: "dot-error-icon",
|
|
9752
9816
|
"data-testid": "dot-error-icon",
|
|
9753
9817
|
iconId: "error-solid"
|
|
9754
9818
|
}, void 0), jsx(DotIconButton, {
|
|
9819
|
+
ariaLabel: "Open date picker",
|
|
9755
9820
|
"data-testid": "date-picker-open-btn",
|
|
9756
9821
|
iconId: "calendar",
|
|
9757
9822
|
onClick: pickerButtonProps.onClick,
|
|
@@ -10176,12 +10241,13 @@ const DotTimePicker = ({
|
|
|
10176
10241
|
error,
|
|
10177
10242
|
focused: isComponentReadOnly ? false : undefined,
|
|
10178
10243
|
InputProps: {
|
|
10179
|
-
endAdornment: jsxs(Fragment
|
|
10244
|
+
endAdornment: jsxs(Fragment, {
|
|
10180
10245
|
children: [error && jsx(DotIcon, {
|
|
10181
10246
|
className: "dot-error-icon",
|
|
10182
10247
|
"data-testid": dataTestId && `${dataTestId}-input-error-icon`,
|
|
10183
10248
|
iconId: "error-solid"
|
|
10184
10249
|
}, void 0), !_disableOpenPicker && !isComponentReadOnly && !disabled && jsx(DotIconButton, {
|
|
10250
|
+
ariaLabel: "Open time picker",
|
|
10185
10251
|
"data-testid": dataTestId && `${dataTestId}-open-btn`,
|
|
10186
10252
|
iconId: "pending-clock",
|
|
10187
10253
|
onClick: _event => handleTimePickerButtonClick(),
|