@digital-ai/dot-components 2.9.0 → 2.10.1

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 CHANGED
@@ -1,5 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.10.1](https://www.npmjs.com/package/@digital-ai/dot-components) (06/29/2023)
4
+
5
+ [Full Changelog](https://digital-ai.github.io/dot-components/?path=/story/introduction--page/digital-ai/dot-components/compare/2.10.0...2.10.1)
6
+
7
+ **Fixed bugs:**
8
+
9
+ - D-25690: DotRadioButtons missing name prop [\#1530](https://github.com/digital-ai/dot-components/pull/1530) ([ryangamble](https://github.com/ryangamble))
10
+
11
+ ## [2.10.0](https://www.npmjs.com/package/@digital-ai/dot-components) (06/22/2023)
12
+
13
+ [Full Changelog](https://digital-ai.github.io/dot-components/?path=/story/introduction--page/digital-ai/dot-components/compare/2.9.0...2.10.0)
14
+
15
+ **Features:**
16
+
17
+ - S-92995: Add placeholder prop to inline edit [\#1519](https://github.com/digital-ai/dot-components/pull/1519) ([CWSites](https://github.com/CWSites))
18
+
19
+ **Fixed bugs:**
20
+
21
+ - S-91947: Fix table truncation defect [\#1526](https://github.com/digital-ai/dot-components/pull/1526) ([CWSites](https://github.com/CWSites))
22
+
23
+ **Misc:**
24
+
25
+ - S-91982: update keyboard functions [\#1524](https://github.com/digital-ai/dot-components/pull/1524) ([CWSites](https://github.com/CWSites))
26
+
3
27
  ## [2.9.0](https://www.npmjs.com/package/@digital-ai/dot-components) (06/07/2023)
4
28
 
5
29
  [Full Changelog](https://digital-ai.github.io/dot-components/?path=/story/introduction--page/digital-ai/dot-components/compare/2.8.2...2.9.0)
@@ -151,6 +175,7 @@
151
175
  **Fixed bugs:**
152
176
 
153
177
  - D-24672: update icon alignment in sidebar [\#1436](https://github.com/digital-ai/dot-components/pull/1436) ([CWSites](https://github.com/CWSites))
178
+ - D-24483: Do not hide the backdrop [\#1423](https://github.com/digital-ai/dot-components/pull/1423) ([jmcnally](https://github.com/jmcnally))
154
179
 
155
180
  ## [2.6.0](https://www.npmjs.com/package/@digital-ai/dot-components) (04/05/2023)
156
181
 
@@ -178,10 +203,6 @@
178
203
 
179
204
  - S-90953: `DatePicker` component [\#1411](https://github.com/digital-ai/dot-components/pull/1411) ([dmiletic85](https://github.com/dmiletic85))
180
205
 
181
- **Fixed bugs:**
182
-
183
- - D-24483: Do not hide the backdrop [\#1423](https://github.com/digital-ai/dot-components/pull/1423) ([jmcnally](https://github.com/jmcnally))
184
-
185
206
  **Misc:**
186
207
 
187
208
  - resolve build issues with vsm-hub demo [\#1424](https://github.com/digital-ai/dot-components/pull/1424) ([CWSites](https://github.com/CWSites))
@@ -215,6 +236,7 @@
215
236
 
216
237
  - D-24317 Fix height on InlineEdit [\#1414](https://github.com/digital-ai/dot-components/pull/1414) ([angel-git](https://github.com/angel-git))
217
238
  - D-24419 `InlineEdit` show tooltip on readonly as well [\#1413](https://github.com/digital-ai/dot-components/pull/1413) ([angel-git](https://github.com/angel-git))
239
+ - D-24235: Empty table pagination [\#1402](https://github.com/digital-ai/dot-components/pull/1402) ([ryangamble](https://github.com/ryangamble))
218
240
 
219
241
  ## [2.5.1](https://www.npmjs.com/package/@digital-ai/dot-components) (03/14/2023)
220
242
 
@@ -235,7 +257,6 @@
235
257
 
236
258
  **Fixed bugs:**
237
259
 
238
- - D-24235: Empty table pagination [\#1402](https://github.com/digital-ai/dot-components/pull/1402) ([ryangamble](https://github.com/ryangamble))
239
260
  - D-24216: A few minor app-switcher display changes [\#1400](https://github.com/digital-ai/dot-components/pull/1400) ([jmcnally](https://github.com/jmcnally))
240
261
  - Issue \#1271: Updates to `AutoComplete` sizing with `dense` and `size` props [\#1395](https://github.com/digital-ai/dot-components/pull/1395) ([CWSites](https://github.com/CWSites))
241
262
 
@@ -495,7 +516,6 @@
495
516
 
496
517
  **Fixed bugs:**
497
518
 
498
- - S-86692: component cleanup [\#1238](https://github.com/digital-ai/dot-components/pull/1238) ([CWSites](https://github.com/CWSites))
499
519
  - S-84151: fix e2e tests for Release 2.0 [\#1146](https://github.com/digital-ai/dot-components/pull/1146) ([CWSites](https://github.com/CWSites))
500
520
 
501
521
  **Misc:**
@@ -526,6 +546,7 @@
526
546
 
527
547
  **Fixed bugs:**
528
548
 
549
+ - S-86692: component cleanup [\#1238](https://github.com/digital-ai/dot-components/pull/1238) ([CWSites](https://github.com/CWSites))
529
550
  - D-20931: `DotAccordion` - display top border correctly when expanded [\#1232](https://github.com/digital-ai/dot-components/pull/1232) ([CWSites](https://github.com/CWSites))
530
551
  - D-22087: `DotRadioGroup` / `DotCheckboxGroup` helper texts do not follow the same styles as other helper texts [\#1225](https://github.com/digital-ai/dot-components/pull/1225) ([dmiletic85](https://github.com/dmiletic85))
531
552
 
@@ -916,7 +937,6 @@
916
937
 
917
938
  **Fixed bugs:**
918
939
 
919
- - D-19415: `1.6.0` - Sidebar links broken, import was moved [\#926](https://github.com/digital-ai/dot-components/pull/926) ([dmiletic85](https://github.com/dmiletic85))
920
940
  - D-19390: `Autocomplete` doesn't have `dot-input` class [\#924](https://github.com/digital-ai/dot-components/pull/924) ([dmiletic85](https://github.com/dmiletic85))
921
941
 
922
942
  ## [1.6.0](https://www.npmjs.com/package/@digital-ai/dot-components) (01/03/2022)
@@ -929,6 +949,7 @@
929
949
 
930
950
  **Fixed bugs:**
931
951
 
952
+ - D-19415: `1.6.0` - Sidebar links broken, import was moved [\#926](https://github.com/digital-ai/dot-components/pull/926) ([dmiletic85](https://github.com/dmiletic85))
932
953
  - D-19382: `DynamicForm`: `isRequired` with value of `false` is not respected [\#919](https://github.com/digital-ai/dot-components/pull/919) ([dmiletic85](https://github.com/dmiletic85))
933
954
  - D-19381: `Storybook`: issue while clicking on `Docs` page of `Menu` component [\#917](https://github.com/digital-ai/dot-components/pull/917) ([dmiletic85](https://github.com/dmiletic85))
934
955
  - D-19379: `DynamicForm` doesn't export all types [\#915](https://github.com/digital-ai/dot-components/pull/915) ([dmiletic85](https://github.com/dmiletic85))
@@ -1071,7 +1092,6 @@
1071
1092
  - S-80369: Create `ProgressButton` component [\#822](https://github.com/digital-ai/dot-components/pull/822) ([dmiletic85](https://github.com/dmiletic85))
1072
1093
  - S-79696: change size of collapse icon button, add tooltip [\#819](https://github.com/digital-ai/dot-components/pull/819) ([CWSites](https://github.com/CWSites))
1073
1094
  - S-80264: Agility wrapper sandbox documentation [\#810](https://github.com/digital-ai/dot-components/pull/810) ([CWSites](https://github.com/CWSites))
1074
- - S-79569: `DotTable` - ability to add classes to rows & cells [\#799](https://github.com/digital-ai/dot-components/pull/799) ([monapatel91](https://github.com/monapatel91))
1075
1095
 
1076
1096
  **Fixed bugs:**
1077
1097
 
@@ -1089,6 +1109,10 @@
1089
1109
 
1090
1110
  [Full Changelog](https://digital-ai.github.io/dot-components/?path=/story/introduction--page/digital-ai/dot-components/compare/1.3.2...1.3.3)
1091
1111
 
1112
+ **Features:**
1113
+
1114
+ - S-79569: `DotTable` - ability to add classes to rows & cells [\#799](https://github.com/digital-ai/dot-components/pull/799) ([monapatel91](https://github.com/monapatel91))
1115
+
1092
1116
  **Fixed bugs:**
1093
1117
 
1094
1118
  - D-19069: `AutoComplete` z-index not behaving as expected [\#793](https://github.com/digital-ai/dot-components/pull/793) ([CWSites](https://github.com/CWSites))
package/index.esm.js CHANGED
@@ -1,6 +1,6 @@
1
- import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
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, Fragment, useCallback, createElement, useLayoutEffect } from 'react';
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",
@@ -1708,7 +1712,7 @@ const DotAvatar = ({
1708
1712
  }, {
1709
1713
  children: jsx(StyledAvatar, Object.assign({
1710
1714
  alt: alt,
1711
- "aria-label": ariaLabel,
1715
+ "aria-label": ariaLabel || alt,
1712
1716
  className: _size,
1713
1717
  classes: {
1714
1718
  root: rootClasses,
@@ -1932,6 +1936,7 @@ const DotProgress = ({
1932
1936
  },
1933
1937
  color: _color,
1934
1938
  "data-testid": dataTestId,
1939
+ role: "progressbar",
1935
1940
  size: _size,
1936
1941
  thickness: _thickness,
1937
1942
  value: value,
@@ -2462,6 +2467,7 @@ const DotDrawer = ({
2462
2467
  return jsxs(StyledDrawer, Object.assign({
2463
2468
  ModalProps: ModalProps,
2464
2469
  PaperProps: Object.assign(Object.assign({}, PaperProps), {
2470
+ 'aria-label': ariaLabel,
2465
2471
  role: _ariaRole
2466
2472
  }),
2467
2473
  anchor: _anchor,
@@ -2518,7 +2524,8 @@ const DotListDivider = ({
2518
2524
  }) => {
2519
2525
  if (item.text) {
2520
2526
  return jsx(ListSubheader, Object.assign({
2521
- disableSticky: true
2527
+ disableSticky: true,
2528
+ role: "heading"
2522
2529
  }, {
2523
2530
  children: jsx(DotTypography, Object.assign({
2524
2531
  variant: "overline"
@@ -2529,7 +2536,8 @@ const DotListDivider = ({
2529
2536
  }
2530
2537
  return jsx(Divider, {
2531
2538
  "aria-hidden": true,
2532
- "data-testid": `divider-${index}`
2539
+ "data-testid": `divider-${index}`,
2540
+ role: "separator"
2533
2541
  }, void 0);
2534
2542
  };
2535
2543
  const DotList = ({
@@ -2584,9 +2592,11 @@ const DotList = ({
2584
2592
  }
2585
2593
  };
2586
2594
  if (item.child) {
2587
- return jsx(Fragment, {
2595
+ return jsx("div", Object.assign({
2596
+ role: "listitem"
2597
+ }, {
2588
2598
  children: item.child
2589
- }, `item-child-${index}`);
2599
+ }), `item-child-${index}`);
2590
2600
  }
2591
2601
  if (item.divider) {
2592
2602
  return jsx(DotListDivider, {
@@ -2671,7 +2681,7 @@ const DotListItem = ({
2671
2681
  }
2672
2682
  return endIcon;
2673
2683
  };
2674
- return jsxs(Fragment$1, {
2684
+ return jsxs(Fragment, {
2675
2685
  children: [jsx(DotTooltip, Object.assign({
2676
2686
  "data-testid": `${dataTestId}-tooltip`,
2677
2687
  placement: _tooltipPlacement,
@@ -2992,7 +3002,7 @@ const DotInputText = ({
2992
3002
  startAdornment: startAdornmentIcon(),
2993
3003
  endAdornment: endAdornmentIconOrText()
2994
3004
  },
2995
- "aria-label": name,
3005
+ "aria-label": name || label,
2996
3006
  autoComplete: _autoComplete,
2997
3007
  autoFocus: autoFocus,
2998
3008
  classes: {
@@ -3015,6 +3025,8 @@ const DotInputText = ({
3015
3025
  },
3016
3026
  inputRef: inputRef,
3017
3027
  label: persistentLabel ? null : label,
3028
+ maxRows: _multiline ? maxRows : null,
3029
+ minRows: _multiline ? minRows : null,
3018
3030
  multiline: _multiline,
3019
3031
  name: name,
3020
3032
  onBlur: onBlur,
@@ -3024,9 +3036,9 @@ const DotInputText = ({
3024
3036
  onMouseUp: onMouseUp,
3025
3037
  placeholder: placeholder,
3026
3038
  required: _required,
3027
- minRows: _multiline ? minRows : null,
3028
- maxRows: _multiline ? maxRows : null,
3039
+ role: "textbox",
3029
3040
  size: _size,
3041
+ tabIndex: 0,
3030
3042
  type: _type,
3031
3043
  value: inputTextValue,
3032
3044
  variant: "outlined"
@@ -3548,7 +3560,7 @@ const DotAppSwitcherView = ({
3548
3560
  setRecentAppInstances(recentAppInstancesSetter(latestInstance, _maxRecentInstances));
3549
3561
  }
3550
3562
  }, [recentAppInstances]);
3551
- const recentAppInstancesSection = jsxs(Fragment$1, {
3563
+ const recentAppInstancesSection = jsxs(Fragment, {
3552
3564
  children: [sectionHeaderMenuItem('RECENT', recentAppInstances.length).children, jsx("div", Object.assign({
3553
3565
  className: "product-applications"
3554
3566
  }, {
@@ -3598,7 +3610,7 @@ const DotAppSwitcherView = ({
3598
3610
  }, void 0)
3599
3611
  }), void 0), jsx("div", Object.assign({
3600
3612
  className: "product-applications",
3601
- role: "list"
3613
+ role: "presentation"
3602
3614
  }, {
3603
3615
  children: filteredAppInstances()
3604
3616
  }), void 0)]
@@ -3609,6 +3621,7 @@ const DotAppSwitcherView = ({
3609
3621
  role: "contentinfo"
3610
3622
  }, {
3611
3623
  children: [jsx(DotList, {
3624
+ ariaRole: "presentation",
3612
3625
  items: appTypeMenuItems === null || appTypeMenuItems === void 0 ? void 0 : appTypeMenuItems.map(item => ({
3613
3626
  child: item.children
3614
3627
  })),
@@ -3643,6 +3656,7 @@ const DotAppSwitcherView = ({
3643
3656
  }), void 0)
3644
3657
  };
3645
3658
  return jsx(StyledAppSwitcher, Object.assign({
3659
+ ariaLabel: "App Switcher",
3646
3660
  className: rootClasses,
3647
3661
  ModalProps: {
3648
3662
  style: {
@@ -3891,7 +3905,7 @@ const Header = ({
3891
3905
  appLogo: appLogo,
3892
3906
  appLogoSmall: appLogoSmall,
3893
3907
  smallOnly: !isOpen
3894
- }, void 0) : jsxs(Fragment$1, {
3908
+ }, void 0) : jsxs(Fragment, {
3895
3909
  children: [jsx(DotAvatar, Object.assign({}, titleAvatarProps), void 0), isOpen && jsx(DotTypography, Object.assign({
3896
3910
  variant: "h4"
3897
3911
  }, {
@@ -4155,7 +4169,7 @@ const DotAppToolbar = ({
4155
4169
  borderBottomColor: borderColor
4156
4170
  }
4157
4171
  }, {
4158
- children: [showMainMenu && jsxs(Fragment$1, {
4172
+ children: [showMainMenu && jsxs(Fragment, {
4159
4173
  children: [jsx("div", Object.assign({
4160
4174
  className: "dot-main-menu-btn"
4161
4175
  }, {
@@ -4584,7 +4598,7 @@ const DotAutoComplete = ({
4584
4598
  children: icon
4585
4599
  }), void 0) : icon;
4586
4600
  };
4587
- return jsxs(Fragment$1, {
4601
+ return jsxs(Fragment, {
4588
4602
  children: [loading && jsx(DotProgress, {
4589
4603
  color: "inherit",
4590
4604
  size: 20
@@ -4645,7 +4659,7 @@ const DotAutoComplete = ({
4645
4659
  // at least pick up any styling that is used there. Should additional
4646
4660
  // functionality be added to DotInputText we will have to make a
4647
4661
  // decision about if/how to expose it here.
4648
- jsxs(Fragment$1, {
4662
+ jsxs(Fragment, {
4649
4663
  children: [persistentLabel && jsx(DotInputLabel, Object.assign({
4650
4664
  "data-testid": dataTestId && `${dataTestId}-persistent-label`,
4651
4665
  id: inputId
@@ -5109,7 +5123,7 @@ const DotButtonToggle = ({
5109
5123
  key,
5110
5124
  value: optionValue
5111
5125
  };
5112
- const children = jsxs(Fragment$1, {
5126
+ const children = jsxs(Fragment, {
5113
5127
  children: [optionIconId && jsx(DotIcon, {
5114
5128
  className: "dot-toggle-icon",
5115
5129
  iconId: optionIconId
@@ -5125,6 +5139,8 @@ const DotButtonToggle = ({
5125
5139
  }, {
5126
5140
  children: children
5127
5141
  }), void 0) : jsx(ToggleButton, Object.assign({}, commonProps, {
5142
+ role: "button"
5143
+ }, {
5128
5144
  children: children
5129
5145
  }), void 0);
5130
5146
  };
@@ -5155,7 +5171,9 @@ const TooltipToggleButton = /*#__PURE__*/forwardRef((_a, ref) => {
5155
5171
  return jsx(DotTooltip, Object.assign({}, CustomTooltipProps, {
5156
5172
  children: jsx(ToggleButton, Object.assign({
5157
5173
  ref: ref
5158
- }, props), void 0)
5174
+ }, props, {
5175
+ role: "button"
5176
+ }), void 0)
5159
5177
  }), void 0);
5160
5178
  });
5161
5179
 
@@ -5312,6 +5330,7 @@ function DotCheckbox({
5312
5330
  onChange: handleChange,
5313
5331
  required: required,
5314
5332
  size: size,
5333
+ tabIndex: 0,
5315
5334
  value: value
5316
5335
  }, void 0);
5317
5336
  return jsx(StyledFormControlLabel, {
@@ -6297,7 +6316,7 @@ const StyledRadioButton = styled(Radio).withConfig({
6297
6316
 
6298
6317
  function DotRadioButton({
6299
6318
  ariaLabel,
6300
- checked,
6319
+ checked = false,
6301
6320
  className,
6302
6321
  'data-testid': dataTestId,
6303
6322
  disabled,
@@ -6315,8 +6334,10 @@ function DotRadioButton({
6315
6334
  const handleChange = event => {
6316
6335
  onChange && onChange(event, event.target.value);
6317
6336
  };
6337
+ // a11y: role doesn't need to be specified because it is done so automatically by the MUI component
6318
6338
  const radioControl = jsx(StyledRadioButton, {
6319
- "aria-label": ariaLabel,
6339
+ "aria-checked": checked,
6340
+ "aria-label": ariaLabel || label,
6320
6341
  checked: checked,
6321
6342
  classes: {
6322
6343
  root: rootClassName$r
@@ -6326,15 +6347,16 @@ function DotRadioButton({
6326
6347
  disabled: disabled,
6327
6348
  id: id,
6328
6349
  inputRef: inputRef,
6329
- name: name,
6350
+ name: name || value,
6330
6351
  onChange: handleChange,
6331
6352
  required: required,
6332
- size: size
6353
+ size: size,
6354
+ tabIndex: 0
6333
6355
  }, void 0);
6334
6356
  return jsx(StyledFormControlLabel, {
6335
6357
  className: rootClasses,
6336
6358
  control: radioControl,
6337
- "aria-label": value,
6359
+ "aria-label": ariaLabel || label,
6338
6360
  label: label || radioControl,
6339
6361
  labelPlacement: labelPlacement,
6340
6362
  value: value
@@ -6384,6 +6406,7 @@ const DotRadioGroup = ({
6384
6406
  disabled: optionDisabled || disableGroup,
6385
6407
  label: optionLabel,
6386
6408
  labelPlacement: _labelPlacement,
6409
+ name: name,
6387
6410
  size: _size,
6388
6411
  value: optionValue
6389
6412
  }, optionValue);
@@ -6416,7 +6439,7 @@ const DotRadioGroup = ({
6416
6439
  children: endIcon
6417
6440
  }), void 0)]
6418
6441
  }), void 0), jsx(StyledRadioGroup, Object.assign({
6419
- "aria-label": ariaLabel,
6442
+ "aria-label": ariaLabel || groupLabel,
6420
6443
  className: groupClassName,
6421
6444
  "data-testid": dataTestId,
6422
6445
  defaultValue: defaultValue,
@@ -6474,7 +6497,8 @@ const DotSwitch = ({
6474
6497
  },
6475
6498
  inputRef: inputRef,
6476
6499
  onChange: handleChange,
6477
- size: _size
6500
+ size: _size,
6501
+ tabIndex: 0
6478
6502
  }, void 0);
6479
6503
  return jsx(StyledFormControlLabel, {
6480
6504
  className: rootClassName$C,
@@ -7016,7 +7040,7 @@ const DotDynamicForm = ({
7016
7040
  }
7017
7041
  case 'custom-element':
7018
7042
  {
7019
- return jsx(Fragment, {
7043
+ return jsx(Fragment$1, {
7020
7044
  children: customElement
7021
7045
  }, elementIndex);
7022
7046
  }
@@ -7051,6 +7075,7 @@ const DotDynamicForm = ({
7051
7075
  const rootClassName$p = 'dot-inline-edit';
7052
7076
  const editModeClassName = 'dot-edit-mode';
7053
7077
  const viewModeClassName = 'dot-view-mode';
7078
+ const placeholderClassName = 'dot-placeholder';
7054
7079
  const readOnlyClassName = 'dot-read-only';
7055
7080
  const editActionsClassName = 'dot-edit-actions';
7056
7081
  const editTextFieldClassName = 'dot-edit-text-field';
@@ -7060,7 +7085,7 @@ const StyledInlineEdit = styled.div.withConfig({
7060
7085
  })(["", ""], ({
7061
7086
  theme,
7062
7087
  fullWidth
7063
- }) => 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), ({
7088
+ }) => 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), ({
7064
7089
  typography
7065
7090
  }) => typography && `
7066
7091
  .MuiInputBase-root {
@@ -7159,6 +7184,7 @@ const DotInlineEdit = ({
7159
7184
  name,
7160
7185
  onChange,
7161
7186
  onEditStateChange,
7187
+ placeholder,
7162
7188
  readOnly,
7163
7189
  selectTextOnEdit,
7164
7190
  startEditable: _startEditable = false,
@@ -7259,14 +7285,16 @@ const DotInlineEdit = ({
7259
7285
  }
7260
7286
  };
7261
7287
  const renderViewMode = () => {
7262
- const viewModeClasses = useStylesWithRootClass(viewModeClassName, readOnly ? readOnlyClassName : '');
7263
- const viewModeChildren = jsxs(Fragment$1, {
7288
+ const bindingsValue = bindings ? applyBindings(bindings, inputValue) : null;
7289
+ const typographyClasses = useStylesWithRootClass('dot-view-mode-typography', !inputValue && placeholderClassName);
7290
+ const viewModeClasses = useStylesWithRootClass(viewModeClassName, readOnly && readOnlyClassName);
7291
+ const viewModeChildren = jsxs(Fragment, {
7264
7292
  children: [jsx(DotTypography, Object.assign({
7265
- className: "dot-view-mode-typography",
7293
+ className: typographyClasses,
7266
7294
  "data-testid": dataTestId && `${dataTestId}-view-mode-typography`,
7267
7295
  variant: _typography
7268
7296
  }, {
7269
- children: bindings ? applyBindings(bindings, inputValue) : inputValue
7297
+ children: bindingsValue || inputValue || placeholder
7270
7298
  }), void 0), jsx(DotIcon, {
7271
7299
  className: "dot-edit-icon",
7272
7300
  "data-testid": dataTestId && `${dataTestId}-edit-icon`,
@@ -7290,7 +7318,7 @@ const DotInlineEdit = ({
7290
7318
  };
7291
7319
  const renderEditMode = () => {
7292
7320
  const textFieldClasses = useStylesWithRootClass(editTextFieldClassName, isSaveDisabled ? 'dot-empty-value' : '');
7293
- return jsxs(Fragment$1, {
7321
+ return jsxs(Fragment, {
7294
7322
  children: [jsx(TextField, {
7295
7323
  InputProps: {
7296
7324
  endAdornment: renderEndAdornment()
@@ -7729,7 +7757,7 @@ const DotSplitButton = ({
7729
7757
  setOpen(false);
7730
7758
  onOptionClick(itemKey);
7731
7759
  };
7732
- return jsxs(Fragment$1, {
7760
+ return jsxs(Fragment, {
7733
7761
  children: [jsxs(StyledSplitButtonGroup, Object.assign({
7734
7762
  "aria-label": ariaLabel,
7735
7763
  className: rootClasses,
@@ -7960,7 +7988,7 @@ const DotStepper = ({
7960
7988
  span: 6
7961
7989
  }
7962
7990
  }, {
7963
- children: jsxs(Fragment$1, {
7991
+ children: jsxs(Fragment, {
7964
7992
  children: [displayCancelButton && jsx(DotButton, Object.assign({
7965
7993
  className: "cancel-stepper",
7966
7994
  onClick: onCancel,
@@ -8202,6 +8230,7 @@ const DotBodyCell = ({
8202
8230
  'data-testid': dataTestId,
8203
8231
  noWrap,
8204
8232
  onActionMenuTrigger,
8233
+ style,
8205
8234
  typography,
8206
8235
  value
8207
8236
  }) => {
@@ -8266,7 +8295,8 @@ const DotBodyCell = ({
8266
8295
  root: rootClasses
8267
8296
  },
8268
8297
  colSpan: colspan,
8269
- "data-testid": dataTestId
8298
+ "data-testid": dataTestId,
8299
+ style: style
8270
8300
  }, {
8271
8301
  children: getTableCellValue()
8272
8302
  }), void 0);
@@ -8356,6 +8386,18 @@ const DotTableRow = ({
8356
8386
  rowId: id
8357
8387
  }, void 0);
8358
8388
  };
8389
+ const parseMaxWidth = width => {
8390
+ if (!width) {
8391
+ return;
8392
+ }
8393
+ // if contains % then convert to % of viewport
8394
+ if (width.includes('%')) {
8395
+ const percent = Number.parseFloat(width) / 100;
8396
+ return `calc(100vw * ${percent})`;
8397
+ }
8398
+ // if contains 'px' or 'vw' then pass as is
8399
+ return `${width}`;
8400
+ };
8359
8401
  return jsxs(StyledTableRowStyles, Object.assign({
8360
8402
  classes: {
8361
8403
  root: rootClasses
@@ -8371,6 +8413,9 @@ const DotTableRow = ({
8371
8413
  className: rowData.className && `${rowData.className}-${column.id}`,
8372
8414
  noWrap: column.truncate,
8373
8415
  onActionMenuTrigger: (menuRef, menuItem) => onActionMenuTrigger(menuRef, menuItem),
8416
+ style: {
8417
+ maxWidth: parseMaxWidth(column.width)
8418
+ },
8374
8419
  value: rowData[column.id]
8375
8420
  }, index);
8376
8421
  })]
@@ -8444,7 +8489,7 @@ const DotTableBody = ({
8444
8489
  }, index);
8445
8490
  });
8446
8491
  };
8447
- return jsxs(Fragment$1, {
8492
+ return jsxs(Fragment, {
8448
8493
  children: [jsx(StyledTableBody, Object.assign({
8449
8494
  classes: {
8450
8495
  root: rootClassName$c
@@ -8673,7 +8718,7 @@ const DotTableSelectionToolbar = ({
8673
8718
  variant: "h3"
8674
8719
  }, {
8675
8720
  children: [selectedRowsNumber, " selected"]
8676
- }), void 0), onClearAll && jsxs(Fragment$1, {
8721
+ }), void 0), onClearAll && jsxs(Fragment, {
8677
8722
  children: [jsx(DotTypography, Object.assign({
8678
8723
  className: "dot-selected-rows-divider"
8679
8724
  }, {
@@ -9005,7 +9050,7 @@ const DotTableActions = ({
9005
9050
  onClick: action.onClick
9006
9051
  }, `action-${index}`));
9007
9052
  };
9008
- return jsxs(Fragment$1, {
9053
+ return jsxs(Fragment, {
9009
9054
  children: [jsxs(TableActionsContainer, Object.assign({
9010
9055
  className: rootClassName$8,
9011
9056
  ref: wrapperRef
@@ -9201,7 +9246,7 @@ const renderSelectFilesButton = (isUploadDisabled, onButtonClick) => jsx(DotButt
9201
9246
  }, {
9202
9247
  children: "Select file(s)"
9203
9248
  }), void 0);
9204
- const renderActiveDragArea = () => jsxs(Fragment$1, {
9249
+ const renderActiveDragArea = () => jsxs(Fragment, {
9205
9250
  children: [jsx(DotIcon, {
9206
9251
  iconId: "upload-file"
9207
9252
  }, void 0), jsx(DotTypography, Object.assign({
@@ -9210,7 +9255,7 @@ const renderActiveDragArea = () => jsxs(Fragment$1, {
9210
9255
  children: "Drop the file(s) here ..."
9211
9256
  }), void 0)]
9212
9257
  }, void 0);
9213
- const renderDragAndDropArea = (isUploadDisabled, onSelectButtonClick) => jsxs(Fragment$1, {
9258
+ const renderDragAndDropArea = (isUploadDisabled, onSelectButtonClick) => jsxs(Fragment, {
9214
9259
  children: [jsx(DotIcon, {
9215
9260
  iconId: "upload-file"
9216
9261
  }, void 0), jsxs(DotTypography, Object.assign({
@@ -9368,7 +9413,7 @@ const DotFileUpload = ({
9368
9413
  isUploadDisabled,
9369
9414
  open
9370
9415
  })]
9371
- }), void 0), maxSize && renderMaxSizeMessage(maxSize), maxFiles && renderMaxFilesMessage(maxFiles, maxFilesClasses), !hideFilesList && jsx(DotList, {
9416
+ }), void 0), !!maxSize && renderMaxSizeMessage(maxSize), !!maxFiles && renderMaxFilesMessage(maxFiles, maxFilesClasses), !hideFilesList || jsx(DotList, {
9372
9417
  "data-testid": dataTestId && `${dataTestId}-file-list`,
9373
9418
  items: uploadedFilesList,
9374
9419
  width: "100%"
@@ -9766,7 +9811,7 @@ const DotDatePicker = ({
9766
9811
  open: open,
9767
9812
  showDaysOutsideCurrentMonth: showDaysOutsideCurrentMonth,
9768
9813
  slots: {
9769
- openPickerButton: pickerButtonProps => jsxs(Fragment$1, {
9814
+ openPickerButton: pickerButtonProps => jsxs(Fragment, {
9770
9815
  children: [error && jsx(DotIcon, {
9771
9816
  className: "dot-error-icon",
9772
9817
  "data-testid": "dot-error-icon",
@@ -10197,7 +10242,7 @@ const DotTimePicker = ({
10197
10242
  error,
10198
10243
  focused: isComponentReadOnly ? false : undefined,
10199
10244
  InputProps: {
10200
- endAdornment: jsxs(Fragment$1, {
10245
+ endAdornment: jsxs(Fragment, {
10201
10246
  children: [error && jsx(DotIcon, {
10202
10247
  className: "dot-error-icon",
10203
10248
  "data-testid": dataTestId && `${dataTestId}-input-error-icon`,
package/index.umd.js CHANGED
@@ -163,6 +163,7 @@
163
163
  title = _a.title;
164
164
  var rootClasses = useStylesWithRootClass('dot-tooltip', className);
165
165
  return title ? jsxRuntime.jsx(material.Tooltip, __assign({
166
+ "aria-hidden": open ? false : true,
166
167
  "aria-label": ariaLabel,
167
168
  className: rootClasses,
168
169
  "data-testid": dataTestId,
@@ -204,7 +205,7 @@
204
205
  }, {
205
206
  children: jsxRuntime.jsx(StyledIcon, __assign({
206
207
  "aria-hidden": "false",
207
- "aria-label": ariaLabel,
208
+ "aria-label": ariaLabel || iconId + " icon",
208
209
  classes: {
209
210
  root: rootClasses
210
211
  },
@@ -213,6 +214,7 @@
213
214
  role: ariaRole
214
215
  }, {
215
216
  children: jsxRuntime.jsx("i", {
217
+ "aria-label": ariaLabel || iconId + " icon}",
216
218
  className: "icon-" + iconId + " dot-i",
217
219
  "data-testid": dataTestId && dataTestId + "-i",
218
220
  role: ariaRole
@@ -312,13 +314,15 @@
312
314
  square: square
313
315
  }, {
314
316
  children: [jsxRuntime.jsxs(material.AccordionSummary, __assign({
317
+ "aria-label": ariaLabel || summary,
315
318
  classes: {
316
319
  root: summaryClassName
317
320
  },
318
321
  "data-testid": dataTestId + "-summary",
319
322
  expandIcon: jsxRuntime.jsx(DotIcon, {
320
323
  iconId: "chevron-down"
321
- }, void 0)
324
+ }, void 0),
325
+ role: "button"
322
326
  }, {
323
327
  children: [startIcon, jsxRuntime.jsx(DotTooltip, __assign({
324
328
  "data-testid": "accordion-tooltip",
@@ -1933,7 +1937,7 @@
1933
1937
  }, {
1934
1938
  children: jsxRuntime.jsx(StyledAvatar, __assign({
1935
1939
  alt: alt,
1936
- "aria-label": ariaLabel,
1940
+ "aria-label": ariaLabel || alt,
1937
1941
  className: size,
1938
1942
  classes: {
1939
1943
  root: rootClasses,
@@ -2185,6 +2189,7 @@
2185
2189
  },
2186
2190
  color: color,
2187
2191
  "data-testid": dataTestId,
2192
+ role: "progressbar",
2188
2193
  size: size,
2189
2194
  thickness: thickness,
2190
2195
  value: value,
@@ -2762,6 +2767,7 @@
2762
2767
  return jsxRuntime.jsxs(StyledDrawer, __assign({
2763
2768
  ModalProps: ModalProps,
2764
2769
  PaperProps: __assign(__assign({}, PaperProps), {
2770
+ 'aria-label': ariaLabel,
2765
2771
  role: ariaRole
2766
2772
  }),
2767
2773
  anchor: anchor,
@@ -2819,7 +2825,8 @@
2819
2825
  index = _a.index;
2820
2826
  if (item.text) {
2821
2827
  return jsxRuntime.jsx(material.ListSubheader, __assign({
2822
- disableSticky: true
2828
+ disableSticky: true,
2829
+ role: "heading"
2823
2830
  }, {
2824
2831
  children: jsxRuntime.jsx(DotTypography, __assign({
2825
2832
  variant: "overline"
@@ -2830,7 +2837,8 @@
2830
2837
  }
2831
2838
  return jsxRuntime.jsx(material.Divider, {
2832
2839
  "aria-hidden": true,
2833
- "data-testid": "divider-" + index
2840
+ "data-testid": "divider-" + index,
2841
+ role: "separator"
2834
2842
  }, void 0);
2835
2843
  };
2836
2844
  var DotList = function DotList(_a) {
@@ -2895,9 +2903,11 @@
2895
2903
  }
2896
2904
  };
2897
2905
  if (item.child) {
2898
- return jsxRuntime.jsx(React.Fragment, {
2906
+ return jsxRuntime.jsx("div", __assign({
2907
+ role: "listitem"
2908
+ }, {
2899
2909
  children: item.child
2900
- }, "item-child-" + index);
2910
+ }), "item-child-" + index);
2901
2911
  }
2902
2912
  if (item.divider) {
2903
2913
  return jsxRuntime.jsx(DotListDivider, {
@@ -3330,7 +3340,7 @@
3330
3340
  startAdornment: startAdornmentIcon(),
3331
3341
  endAdornment: endAdornmentIconOrText()
3332
3342
  },
3333
- "aria-label": name,
3343
+ "aria-label": name || label,
3334
3344
  autoComplete: autoComplete,
3335
3345
  autoFocus: autoFocus,
3336
3346
  classes: {
@@ -3353,6 +3363,8 @@
3353
3363
  },
3354
3364
  inputRef: inputRef,
3355
3365
  label: persistentLabel ? null : label,
3366
+ maxRows: multiline ? maxRows : null,
3367
+ minRows: multiline ? minRows : null,
3356
3368
  multiline: multiline,
3357
3369
  name: name,
3358
3370
  onBlur: onBlur,
@@ -3362,9 +3374,9 @@
3362
3374
  onMouseUp: onMouseUp,
3363
3375
  placeholder: placeholder,
3364
3376
  required: required,
3365
- minRows: multiline ? minRows : null,
3366
- maxRows: multiline ? maxRows : null,
3377
+ role: "textbox",
3367
3378
  size: size,
3379
+ tabIndex: 0,
3368
3380
  type: type,
3369
3381
  value: inputTextValue,
3370
3382
  variant: "outlined"
@@ -3989,7 +4001,7 @@
3989
4001
  }, void 0)
3990
4002
  }), void 0), jsxRuntime.jsx("div", __assign({
3991
4003
  className: "product-applications",
3992
- role: "list"
4004
+ role: "presentation"
3993
4005
  }, {
3994
4006
  children: filteredAppInstances()
3995
4007
  }), void 0)]
@@ -4000,6 +4012,7 @@
4000
4012
  role: "contentinfo"
4001
4013
  }, {
4002
4014
  children: [jsxRuntime.jsx(DotList, {
4015
+ ariaRole: "presentation",
4003
4016
  items: appTypeMenuItems === null || appTypeMenuItems === void 0 ? void 0 : appTypeMenuItems.map(function (item) {
4004
4017
  return {
4005
4018
  child: item.children
@@ -4036,6 +4049,7 @@
4036
4049
  }), void 0)
4037
4050
  };
4038
4051
  return jsxRuntime.jsx(StyledAppSwitcher, __assign({
4052
+ ariaLabel: "App Switcher",
4039
4053
  className: rootClasses,
4040
4054
  ModalProps: {
4041
4055
  style: {
@@ -5622,6 +5636,8 @@
5622
5636
  }, {
5623
5637
  children: children
5624
5638
  }), void 0) : jsxRuntime.jsx(material.ToggleButton, __assign({}, commonProps, {
5639
+ role: "button"
5640
+ }, {
5625
5641
  children: children
5626
5642
  }), void 0);
5627
5643
  };
@@ -5650,7 +5666,9 @@
5650
5666
  return jsxRuntime.jsx(DotTooltip, __assign({}, CustomTooltipProps, {
5651
5667
  children: jsxRuntime.jsx(material.ToggleButton, __assign({
5652
5668
  ref: ref
5653
- }, props), void 0)
5669
+ }, props, {
5670
+ role: "button"
5671
+ }), void 0)
5654
5672
  }), void 0);
5655
5673
  });
5656
5674
 
@@ -5810,6 +5828,7 @@
5810
5828
  onChange: handleChange,
5811
5829
  required: required,
5812
5830
  size: size,
5831
+ tabIndex: 0,
5813
5832
  value: value
5814
5833
  }, void 0);
5815
5834
  return jsxRuntime.jsx(StyledFormControlLabel, {
@@ -6857,27 +6876,30 @@
6857
6876
 
6858
6877
  function DotRadioButton(_a) {
6859
6878
  var ariaLabel = _a.ariaLabel,
6860
- checked = _a.checked,
6879
+ _b = _a.checked,
6880
+ checked = _b === void 0 ? false : _b,
6861
6881
  className = _a.className,
6862
6882
  dataTestId = _a["data-testid"],
6863
6883
  disabled = _a.disabled,
6864
6884
  id = _a.id,
6865
6885
  inputRef = _a.inputRef,
6866
6886
  label = _a.label,
6867
- _b = _a.labelPlacement,
6868
- labelPlacement = _b === void 0 ? 'end' : _b,
6887
+ _c = _a.labelPlacement,
6888
+ labelPlacement = _c === void 0 ? 'end' : _c,
6869
6889
  name = _a.name,
6870
6890
  onChange = _a.onChange,
6871
6891
  required = _a.required,
6872
- _c = _a.size,
6873
- size = _c === void 0 ? 'medium' : _c,
6892
+ _d = _a.size,
6893
+ size = _d === void 0 ? 'medium' : _d,
6874
6894
  value = _a.value;
6875
6895
  var rootClasses = useStylesWithRootClass(rootClassName$C, className);
6876
6896
  var handleChange = function handleChange(event) {
6877
6897
  onChange && onChange(event, event.target.value);
6878
6898
  };
6899
+ // a11y: role doesn't need to be specified because it is done so automatically by the MUI component
6879
6900
  var radioControl = jsxRuntime.jsx(StyledRadioButton, {
6880
- "aria-label": ariaLabel,
6901
+ "aria-checked": checked,
6902
+ "aria-label": ariaLabel || label,
6881
6903
  checked: checked,
6882
6904
  classes: {
6883
6905
  root: rootClassName$r
@@ -6887,15 +6909,16 @@
6887
6909
  disabled: disabled,
6888
6910
  id: id,
6889
6911
  inputRef: inputRef,
6890
- name: name,
6912
+ name: name || value,
6891
6913
  onChange: handleChange,
6892
6914
  required: required,
6893
- size: size
6915
+ size: size,
6916
+ tabIndex: 0
6894
6917
  }, void 0);
6895
6918
  return jsxRuntime.jsx(StyledFormControlLabel, {
6896
6919
  className: rootClasses,
6897
6920
  control: radioControl,
6898
- "aria-label": value,
6921
+ "aria-label": ariaLabel || label,
6899
6922
  label: label || radioControl,
6900
6923
  labelPlacement: labelPlacement,
6901
6924
  value: value
@@ -6948,6 +6971,7 @@
6948
6971
  disabled: optionDisabled || disableGroup,
6949
6972
  label: optionLabel,
6950
6973
  labelPlacement: labelPlacement,
6974
+ name: name,
6951
6975
  size: size,
6952
6976
  value: optionValue
6953
6977
  }, optionValue);
@@ -6980,7 +7004,7 @@
6980
7004
  children: endIcon
6981
7005
  }), void 0)]
6982
7006
  }), void 0), jsxRuntime.jsx(StyledRadioGroup, __assign({
6983
- "aria-label": ariaLabel,
7007
+ "aria-label": ariaLabel || groupLabel,
6984
7008
  className: groupClassName,
6985
7009
  "data-testid": dataTestId,
6986
7010
  defaultValue: defaultValue,
@@ -7042,7 +7066,8 @@
7042
7066
  },
7043
7067
  inputRef: inputRef,
7044
7068
  onChange: handleChange,
7045
- size: size
7069
+ size: size,
7070
+ tabIndex: 0
7046
7071
  }, void 0);
7047
7072
  return jsxRuntime.jsx(StyledFormControlLabel, {
7048
7073
  className: rootClassName$C,
@@ -7618,6 +7643,7 @@
7618
7643
  var rootClassName$p = 'dot-inline-edit';
7619
7644
  var editModeClassName = 'dot-edit-mode';
7620
7645
  var viewModeClassName = 'dot-view-mode';
7646
+ var placeholderClassName = 'dot-placeholder';
7621
7647
  var readOnlyClassName = 'dot-read-only';
7622
7648
  var editActionsClassName = 'dot-edit-actions';
7623
7649
  var editTextFieldClassName = 'dot-edit-text-field';
@@ -7627,7 +7653,7 @@
7627
7653
  })(templateObject_2$o || (templateObject_2$o = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
7628
7654
  var theme = _a.theme,
7629
7655
  fullWidth = _a.fullWidth;
7630
- return styled.css(templateObject_1$p || (templateObject_1$p = __makeTemplateObject(["\n &.", " {\n display: ", ";\n align-items: center;\n color: ", ";\n min-width: ", ";\n\n &:not(.", "):focus-visible {\n border-radius: ", ";\n background-color: ", ";\n cursor: pointer;\n outline: 0;\n\n .dot-edit-icon {\n display: block;\n }\n }\n\n .", " {\n display: flex;\n width: 100%;\n position: relative;\n\n .dot-edit-icon {\n height: 100%;\n position: absolute;\n right: 0;\n width: 40px;\n background-color: ", ";\n border-radius: ", ";\n display: none;\n\n .dot-i {\n margin: 0;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n }\n\n // Display pointer and edit icon only when NOT in read only mode\n &:not(.", "):hover {\n border-radius: ", ";\n background-color: ", ";\n cursor: pointer;\n\n .dot-edit-icon {\n display: block;\n }\n }\n\n .dot-view-mode-typography {\n padding: ", ";\n margin-bottom: 0;\n }\n }\n\n .dot-empty-value fieldset {\n border-color: ", ";\n }\n\n .dot-adornment-error {\n color: ", ";\n }\n\n .MuiInputBase-input {\n height: auto;\n }\n\n .MuiInputBase-root {\n margin-bottom: ", ";\n }\n\n /* Conditionally setting font related props */\n ", "\n\n .", " .dot-input {\n padding-left: ", ";\n }\n\n .MuiOutlinedInput-input:focus {\n cursor: auto;\n }\n\n .dot-counter-adornment {\n .dot-counter-max-length {\n color: ", ";\n }\n\n .dot-counter-length,\n .dot-counter-max-length {\n &.dot-counter-limit {\n color: ", ";\n }\n\n &:hover {\n background: ", ";\n }\n\n .editing-actions {\n display: flex;\n justify-content: flex-end;\n margin-top: ", ";\n }\n\n .dot-icon-btn {\n background: ", ";\n border: 1px solid ", ";\n color: ", ";\n margin-left: ", ";\n padding: ", ";\n }\n }\n }\n\n .dot-read-only-adornment {\n display: none;\n }\n\n .", " {\n display: flex;\n align-items: center;\n margin: ", ";\n\n .dot-button {\n padding: ", ";\n margin-top: ", ";\n margin-bottom: ", ";\n }\n }\n }\n "], ["\n &.", " {\n display: ", ";\n align-items: center;\n color: ", ";\n min-width: ", ";\n\n &:not(.", "):focus-visible {\n border-radius: ", ";\n background-color: ", ";\n cursor: pointer;\n outline: 0;\n\n .dot-edit-icon {\n display: block;\n }\n }\n\n .", " {\n display: flex;\n width: 100%;\n position: relative;\n\n .dot-edit-icon {\n height: 100%;\n position: absolute;\n right: 0;\n width: 40px;\n background-color: ", ";\n border-radius: ", ";\n display: none;\n\n .dot-i {\n margin: 0;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n }\n\n // Display pointer and edit icon only when NOT in read only mode\n &:not(.", "):hover {\n border-radius: ", ";\n background-color: ", ";\n cursor: pointer;\n\n .dot-edit-icon {\n display: block;\n }\n }\n\n .dot-view-mode-typography {\n padding: ", ";\n margin-bottom: 0;\n }\n }\n\n .dot-empty-value fieldset {\n border-color: ", ";\n }\n\n .dot-adornment-error {\n color: ", ";\n }\n\n .MuiInputBase-input {\n height: auto;\n }\n\n .MuiInputBase-root {\n margin-bottom: ", ";\n }\n\n /* Conditionally setting font related props */\n ", "\n\n .", " .dot-input {\n padding-left: ", ";\n }\n\n .MuiOutlinedInput-input:focus {\n cursor: auto;\n }\n\n .dot-counter-adornment {\n .dot-counter-max-length {\n color: ", ";\n }\n\n .dot-counter-length,\n .dot-counter-max-length {\n &.dot-counter-limit {\n color: ", ";\n }\n\n &:hover {\n background: ", ";\n }\n\n .editing-actions {\n display: flex;\n justify-content: flex-end;\n margin-top: ", ";\n }\n\n .dot-icon-btn {\n background: ", ";\n border: 1px solid ", ";\n color: ", ";\n margin-left: ", ";\n padding: ", ";\n }\n }\n }\n\n .dot-read-only-adornment {\n display: none;\n }\n\n .", " {\n display: flex;\n align-items: center;\n margin: ", ";\n\n .dot-button {\n padding: ", ";\n margin-top: ", ";\n margin-bottom: ", ";\n }\n }\n }\n "])), 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), function (_a) {
7656
+ return styled.css(templateObject_1$p || (templateObject_1$p = __makeTemplateObject(["\n &.", " {\n display: ", ";\n align-items: center;\n color: ", ";\n min-width: ", ";\n\n &:not(.", "):focus-visible {\n border-radius: ", ";\n background-color: ", ";\n cursor: pointer;\n outline: 0;\n\n .dot-edit-icon {\n display: block;\n }\n }\n\n .", " {\n display: flex;\n width: 100%;\n position: relative;\n\n .dot-edit-icon {\n height: 100%;\n position: absolute;\n right: 0;\n width: 40px;\n background-color: ", ";\n border-radius: ", ";\n display: none;\n\n .dot-i {\n margin: 0;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n }\n\n // Display pointer and edit icon only when NOT in read only mode\n &:not(.", "):hover {\n border-radius: ", ";\n background-color: ", ";\n cursor: pointer;\n\n .dot-edit-icon {\n display: block;\n }\n }\n\n .dot-view-mode-typography {\n padding: ", ";\n margin-bottom: 0;\n\n &.", " {\n color: ", ";\n }\n }\n }\n\n .dot-empty-value fieldset {\n border-color: ", ";\n }\n\n .dot-adornment-error {\n color: ", ";\n }\n\n .MuiInputBase-input {\n height: auto;\n }\n\n .MuiInputBase-root {\n margin-bottom: ", ";\n }\n\n /* Conditionally setting font related props */\n ", "\n\n .", " .dot-input {\n padding-left: ", ";\n }\n\n .MuiOutlinedInput-input:focus {\n cursor: auto;\n }\n\n .dot-counter-adornment {\n .dot-counter-max-length {\n color: ", ";\n }\n\n .dot-counter-length,\n .dot-counter-max-length {\n &.dot-counter-limit {\n color: ", ";\n }\n\n &:hover {\n background: ", ";\n }\n\n .editing-actions {\n display: flex;\n justify-content: flex-end;\n margin-top: ", ";\n }\n\n .dot-icon-btn {\n background: ", ";\n border: 1px solid ", ";\n color: ", ";\n margin-left: ", ";\n padding: ", ";\n }\n }\n }\n\n .dot-read-only-adornment {\n display: none;\n }\n\n .", " {\n display: flex;\n align-items: center;\n margin: ", ";\n\n .dot-button {\n padding: ", ";\n margin-top: ", ";\n margin-bottom: ", ";\n }\n }\n }\n "], ["\n &.", " {\n display: ", ";\n align-items: center;\n color: ", ";\n min-width: ", ";\n\n &:not(.", "):focus-visible {\n border-radius: ", ";\n background-color: ", ";\n cursor: pointer;\n outline: 0;\n\n .dot-edit-icon {\n display: block;\n }\n }\n\n .", " {\n display: flex;\n width: 100%;\n position: relative;\n\n .dot-edit-icon {\n height: 100%;\n position: absolute;\n right: 0;\n width: 40px;\n background-color: ", ";\n border-radius: ", ";\n display: none;\n\n .dot-i {\n margin: 0;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n }\n }\n\n // Display pointer and edit icon only when NOT in read only mode\n &:not(.", "):hover {\n border-radius: ", ";\n background-color: ", ";\n cursor: pointer;\n\n .dot-edit-icon {\n display: block;\n }\n }\n\n .dot-view-mode-typography {\n padding: ", ";\n margin-bottom: 0;\n\n &.", " {\n color: ", ";\n }\n }\n }\n\n .dot-empty-value fieldset {\n border-color: ", ";\n }\n\n .dot-adornment-error {\n color: ", ";\n }\n\n .MuiInputBase-input {\n height: auto;\n }\n\n .MuiInputBase-root {\n margin-bottom: ", ";\n }\n\n /* Conditionally setting font related props */\n ", "\n\n .", " .dot-input {\n padding-left: ", ";\n }\n\n .MuiOutlinedInput-input:focus {\n cursor: auto;\n }\n\n .dot-counter-adornment {\n .dot-counter-max-length {\n color: ", ";\n }\n\n .dot-counter-length,\n .dot-counter-max-length {\n &.dot-counter-limit {\n color: ", ";\n }\n\n &:hover {\n background: ", ";\n }\n\n .editing-actions {\n display: flex;\n justify-content: flex-end;\n margin-top: ", ";\n }\n\n .dot-icon-btn {\n background: ", ";\n border: 1px solid ", ";\n color: ", ";\n margin-left: ", ";\n padding: ", ";\n }\n }\n }\n\n .dot-read-only-adornment {\n display: none;\n }\n\n .", " {\n display: flex;\n align-items: center;\n margin: ", ";\n\n .dot-button {\n padding: ", ";\n margin-top: ", ";\n margin-bottom: ", ";\n }\n }\n }\n "])), 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), function (_a) {
7631
7657
  var typography = _a.typography;
7632
7658
  return typography && "\n .MuiInputBase-root {\n font-family: " + (theme.typography[typography].fontFamily || 'inherit') + ";\n font-size: " + theme.typography[typography].fontSize + ";\n line-height: " + (theme.typography[typography].lineHeight || 'normal') + ";\n letter-spacing: " + (theme.typography[typography].letterSpacing || 'normal') + ";\n text-transform: " + (theme.typography[typography].textTransform || 'none') + ";\n }\n ";
7633
7659
  }, editTextFieldClassName, theme.spacing(1), theme.palette.layer.n400, theme.palette.error[500], theme.palette.grey[50], theme.spacing(0.5), theme.palette.grey[0], theme.palette.grey[300], theme.palette.grey[700], theme.spacing(1), theme.spacing(0.25), editActionsClassName, theme.spacing(0, 0, 0, 0.5), theme.spacing(0.75), theme.spacing(0), theme.spacing(0));
@@ -7724,6 +7750,7 @@
7724
7750
  name = _a.name,
7725
7751
  onChange = _a.onChange,
7726
7752
  onEditStateChange = _a.onEditStateChange,
7753
+ placeholder = _a.placeholder,
7727
7754
  readOnly = _a.readOnly,
7728
7755
  selectTextOnEdit = _a.selectTextOnEdit,
7729
7756
  _d = _a.startEditable,
@@ -7880,14 +7907,16 @@
7880
7907
  }
7881
7908
  };
7882
7909
  var renderViewMode = function renderViewMode() {
7883
- var viewModeClasses = useStylesWithRootClass(viewModeClassName, readOnly ? readOnlyClassName : '');
7910
+ var bindingsValue = bindings ? applyBindings(bindings, inputValue) : null;
7911
+ var typographyClasses = useStylesWithRootClass('dot-view-mode-typography', !inputValue && placeholderClassName);
7912
+ var viewModeClasses = useStylesWithRootClass(viewModeClassName, readOnly && readOnlyClassName);
7884
7913
  var viewModeChildren = jsxRuntime.jsxs(jsxRuntime.Fragment, {
7885
7914
  children: [jsxRuntime.jsx(DotTypography, __assign({
7886
- className: "dot-view-mode-typography",
7915
+ className: typographyClasses,
7887
7916
  "data-testid": dataTestId && dataTestId + "-view-mode-typography",
7888
7917
  variant: typography
7889
7918
  }, {
7890
- children: bindings ? applyBindings(bindings, inputValue) : inputValue
7919
+ children: bindingsValue || inputValue || placeholder
7891
7920
  }), void 0), jsxRuntime.jsx(DotIcon, {
7892
7921
  className: "dot-edit-icon",
7893
7922
  "data-testid": dataTestId && dataTestId + "-edit-icon",
@@ -8918,6 +8947,7 @@
8918
8947
  dataTestId = _a["data-testid"],
8919
8948
  noWrap = _a.noWrap,
8920
8949
  onActionMenuTrigger = _a.onActionMenuTrigger,
8950
+ style = _a.style,
8921
8951
  typography = _a.typography,
8922
8952
  value = _a.value;
8923
8953
  var _b = React.useState(false),
@@ -8987,7 +9017,8 @@
8987
9017
  root: rootClasses
8988
9018
  },
8989
9019
  colSpan: colspan,
8990
- "data-testid": dataTestId
9020
+ "data-testid": dataTestId,
9021
+ style: style
8991
9022
  }, {
8992
9023
  children: getTableCellValue()
8993
9024
  }), void 0);
@@ -9080,6 +9111,18 @@
9080
9111
  rowId: id
9081
9112
  }, void 0);
9082
9113
  };
9114
+ var parseMaxWidth = function parseMaxWidth(width) {
9115
+ if (!width) {
9116
+ return;
9117
+ }
9118
+ // if contains % then convert to % of viewport
9119
+ if (width.includes('%')) {
9120
+ var percent = Number.parseFloat(width) / 100;
9121
+ return "calc(100vw * " + percent + ")";
9122
+ }
9123
+ // if contains 'px' or 'vw' then pass as is
9124
+ return "" + width;
9125
+ };
9083
9126
  return jsxRuntime.jsxs(StyledTableRowStyles, __assign({
9084
9127
  classes: {
9085
9128
  root: rootClasses
@@ -9097,6 +9140,9 @@
9097
9140
  onActionMenuTrigger: function (menuRef, menuItem) {
9098
9141
  return onActionMenuTrigger(menuRef, menuItem);
9099
9142
  },
9143
+ style: {
9144
+ maxWidth: parseMaxWidth(column.width)
9145
+ },
9100
9146
  value: rowData[column.id]
9101
9147
  }, index);
9102
9148
  })]
@@ -10200,7 +10246,7 @@
10200
10246
  isUploadDisabled: isUploadDisabled,
10201
10247
  open: open
10202
10248
  })]
10203
- }), void 0), maxSize && renderMaxSizeMessage(maxSize), maxFiles && renderMaxFilesMessage(maxFiles, maxFilesClasses), !hideFilesList && jsxRuntime.jsx(DotList, {
10249
+ }), void 0), !!maxSize && renderMaxSizeMessage(maxSize), !!maxFiles && renderMaxFilesMessage(maxFiles, maxFilesClasses), !hideFilesList || jsxRuntime.jsx(DotList, {
10204
10250
  "data-testid": dataTestId && dataTestId + "-file-list",
10205
10251
  items: uploadedFilesList,
10206
10252
  width: "100%"
@@ -1,5 +1,4 @@
1
- import { Accordion } from '@mui/material';
2
1
  export declare const rootClassName = "dot-accordion";
3
2
  export declare const summaryClassName = "dot-accordion-summary";
4
3
  export declare const detailClassName = "dot-accordion-details";
5
- export declare const StyledAccordion: import("styled-components").StyledComponent<typeof Accordion, any, {}, never>;
4
+ export declare const StyledAccordion: import("styled-components").StyledComponent<import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").AccordionTypeMap<{}, "div">>, any, {}, never>;
@@ -21,7 +21,7 @@ interface AppSwitcherViewProps extends CommonAppSwitcherProps {
21
21
  selectedAppType: string;
22
22
  }
23
23
  export declare const DotAppSwitcherView: ({ activeApp, apps, className, maxRecentInstances, noAppTypeLabel, platformConsoleUrl, onClose, open, searchInstancesThreshold, selectedAppType, yOffset, zIndex, }: AppSwitcherViewProps) => JSX.Element;
24
- interface AppSwitcherProps extends CommonAppSwitcherProps {
24
+ export interface AppSwitcherProps extends CommonAppSwitcherProps {
25
25
  accountId?: string;
26
26
  includePlatformConsole?: boolean;
27
27
  }
@@ -0,0 +1,5 @@
1
+ import { Story, ComponentMeta } from '@storybook/react';
2
+ import { AppSwitcherProps } from './AppSwitcher';
3
+ declare const _default: ComponentMeta<({ accountId, includePlatformConsole, onClose, ...commonProps }: AppSwitcherProps) => JSX.Element>;
4
+ export default _default;
5
+ export declare const Default: Story<AppSwitcherProps>;
@@ -11,6 +11,12 @@ export declare const StyledFileListItem: ((props: {
11
11
  componentsProps?: {
12
12
  root?: import("react").HTMLAttributes<HTMLDivElement> & import("@mui/material").ListItemComponentsPropsOverrides;
13
13
  };
14
+ slotProps?: {
15
+ root?: import("react").HTMLAttributes<HTMLDivElement> & import("@mui/material").ListItemComponentsPropsOverrides;
16
+ };
17
+ slots?: {
18
+ root?: import("react").ElementType<any>;
19
+ };
14
20
  } & Omit<{
15
21
  action?: import("react").Ref<import("@mui/material").ButtonBaseActions>;
16
22
  centerRipple?: boolean;
@@ -29,7 +35,7 @@ export declare const StyledFileListItem: ((props: {
29
35
  touchRippleRef?: import("react").Ref<import("@mui/material/ButtonBase/TouchRipple").TouchRippleActions>;
30
36
  }, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "key" | keyof import("react").AnchorHTMLAttributes<HTMLAnchorElement>> & {
31
37
  ref?: import("react").Ref<HTMLAnchorElement>;
32
- }, "button" | "style" | "className" | "classes" | "tabIndex" | "children" | "action" | "centerRipple" | "disabled" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "sx" | "TouchRippleProps" | "touchRippleRef" | "alignItems" | "autoFocus" | "ContainerComponent" | "ContainerProps" | "dense" | "disableGutters" | "disablePadding" | "divider" | "secondaryAction" | "selected" | "components" | "componentsProps">) => JSX.Element) & import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").ExtendButtonBaseTypeMap<import("@mui/material").ListItemTypeMap<{
38
+ }, "button" | "style" | "className" | "classes" | "tabIndex" | "children" | "action" | "centerRipple" | "disabled" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "sx" | "TouchRippleProps" | "touchRippleRef" | "alignItems" | "autoFocus" | "ContainerComponent" | "ContainerProps" | "dense" | "disableGutters" | "disablePadding" | "divider" | "secondaryAction" | "selected" | "components" | "componentsProps" | "slotProps" | "slots">) => JSX.Element) & import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").ExtendButtonBaseTypeMap<import("@mui/material").ListItemTypeMap<{
33
39
  button: true;
34
40
  }, "div">>> & import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").ListItemTypeMap<{
35
41
  button?: false;
@@ -16,6 +16,8 @@ export interface InlineEditProps extends CommonProps {
16
16
  onChange?: (value: string) => Promise<boolean>;
17
17
  /** A function that informs the parent of current editing state */
18
18
  onEditStateChange?: (editing: boolean) => void;
19
+ /** If provided will display placeholder text when field is empty */
20
+ placeholder?: string;
19
21
  /** If true, component will behave like a regular text (editing functionality will be disabled). */
20
22
  readOnly?: boolean;
21
23
  /** If true, when starting edit it will select all text in the input */
@@ -34,4 +36,4 @@ export interface InlineEditProps extends CommonProps {
34
36
  /**
35
37
  * @experimental This component is still in development
36
38
  */
37
- export declare const DotInlineEdit: ({ ariaLabel, ariaRole, bindings, charactersLimit, className, "data-testid": dataTestId, fullWidth, hideActionButtons, name, onChange, onEditStateChange, readOnly, selectTextOnEdit, startEditable, tabIndex, tooltip, typography, value, }: InlineEditProps) => JSX.Element;
39
+ export declare const DotInlineEdit: ({ ariaLabel, ariaRole, bindings, charactersLimit, className, "data-testid": dataTestId, fullWidth, hideActionButtons, name, onChange, onEditStateChange, placeholder, readOnly, selectTextOnEdit, startEditable, tabIndex, tooltip, typography, value, }: InlineEditProps) => JSX.Element;
@@ -1,9 +1,10 @@
1
1
  import { ComponentMeta } from '@storybook/react';
2
2
  import { InlineEditProps } from './InlineEdit';
3
- declare const _default: ComponentMeta<({ ariaLabel, ariaRole, bindings, charactersLimit, className, "data-testid": dataTestId, fullWidth, hideActionButtons, name, onChange, onEditStateChange, readOnly, selectTextOnEdit, startEditable, tabIndex, tooltip, typography, value, }: InlineEditProps) => JSX.Element>;
3
+ declare const _default: ComponentMeta<({ ariaLabel, ariaRole, bindings, charactersLimit, className, "data-testid": dataTestId, fullWidth, hideActionButtons, name, onChange, onEditStateChange, placeholder, readOnly, selectTextOnEdit, startEditable, tabIndex, tooltip, typography, value, }: InlineEditProps) => JSX.Element>;
4
4
  export default _default;
5
5
  export declare const Default: any;
6
6
  export declare const WithCharactersLimit: any;
7
+ export declare const WithPlaceholder: any;
7
8
  export declare const WithMultipleLines: any;
8
9
  export declare const WithReadOnlyMode: any;
9
10
  export declare const WithoutActionButtons: any;
@@ -2,6 +2,7 @@ import { TypographyVariant } from '../typography/Typography';
2
2
  export declare const rootClassName = "dot-inline-edit";
3
3
  export declare const editModeClassName = "dot-edit-mode";
4
4
  export declare const viewModeClassName = "dot-view-mode";
5
+ export declare const placeholderClassName = "dot-placeholder";
5
6
  export declare const readOnlyClassName = "dot-read-only";
6
7
  export declare const editActionsClassName = "dot-edit-actions";
7
8
  export declare const editTextFieldClassName = "dot-edit-text-field";
@@ -1,4 +1,4 @@
1
- import { TextField, InputLabel } from '@mui/material';
1
+ import { TextField } from '@mui/material';
2
2
  export declare const rootClassName = "dot-text-field";
3
3
  export declare const rootSelectClassName = "dot-select-field";
4
4
  export declare const labelClassName = "dot-input-label";
@@ -8,6 +8,6 @@ export declare const successClassName = "dot-success";
8
8
  export declare const adornmentIconClassName = "dot-adornment-icon";
9
9
  export declare const fieldsetClassName = "MuiOutlinedInput-notchedOutline";
10
10
  export declare const StyledAdornment: import("styled-components").StyledComponent<import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").InputAdornmentTypeMap<{}, "div">>, any, {}, never>;
11
- export declare const StyledInputLabel: import("styled-components").StyledComponent<typeof InputLabel, any, {}, never>;
11
+ export declare const StyledInputLabel: import("styled-components").StyledComponent<import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").InputLabelTypeMap<{}, "label">>, any, {}, never>;
12
12
  export declare const StyledTextFieldContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
13
13
  export declare const StyledTextField: import("styled-components").StyledComponent<typeof TextField, any, {}, never>;
@@ -13,6 +13,12 @@ export declare const StyledListItem: ((props: {
13
13
  componentsProps?: {
14
14
  root?: import("react").HTMLAttributes<HTMLDivElement> & import("@mui/material").ListItemComponentsPropsOverrides;
15
15
  };
16
+ slotProps?: {
17
+ root?: import("react").HTMLAttributes<HTMLDivElement> & import("@mui/material").ListItemComponentsPropsOverrides;
18
+ };
19
+ slots?: {
20
+ root?: import("react").ElementType<any>;
21
+ };
16
22
  } & Omit<{
17
23
  action?: import("react").Ref<import("@mui/material").ButtonBaseActions>;
18
24
  centerRipple?: boolean;
@@ -31,7 +37,7 @@ export declare const StyledListItem: ((props: {
31
37
  touchRippleRef?: import("react").Ref<import("@mui/material/ButtonBase/TouchRipple").TouchRippleActions>;
32
38
  }, "classes"> & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<import("react").DetailedHTMLProps<import("react").AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "key" | keyof import("react").AnchorHTMLAttributes<HTMLAnchorElement>> & {
33
39
  ref?: import("react").Ref<HTMLAnchorElement>;
34
- }, "button" | "style" | "className" | "classes" | "tabIndex" | "children" | "action" | "centerRipple" | "disabled" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "sx" | "TouchRippleProps" | "touchRippleRef" | "alignItems" | "autoFocus" | "ContainerComponent" | "ContainerProps" | "dense" | "disableGutters" | "disablePadding" | "divider" | "secondaryAction" | "selected" | "components" | "componentsProps">) => JSX.Element) & import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").ExtendButtonBaseTypeMap<import("@mui/material").ListItemTypeMap<{
40
+ }, "button" | "style" | "className" | "classes" | "tabIndex" | "children" | "action" | "centerRipple" | "disabled" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "sx" | "TouchRippleProps" | "touchRippleRef" | "alignItems" | "autoFocus" | "ContainerComponent" | "ContainerProps" | "dense" | "disableGutters" | "disablePadding" | "divider" | "secondaryAction" | "selected" | "components" | "componentsProps" | "slotProps" | "slots">) => JSX.Element) & import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").ExtendButtonBaseTypeMap<import("@mui/material").ListItemTypeMap<{
35
41
  button: true;
36
42
  }, "div">>> & import("@mui/material/OverridableComponent").OverridableComponent<import("@mui/material").ListItemTypeMap<{
37
43
  button?: false;
@@ -5,5 +5,14 @@ interface StyledPopperArgs {
5
5
  $maxHeight?: number | string;
6
6
  }
7
7
  export declare const getListMaxHeight: (maxHeight: string | number) => string;
8
- export declare const StyledPopper: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Pick<import("@mui/material").PopperProps, "slot" | "style" | "title" | "anchorEl" | "children" | "container" | "disablePortal" | "keepMounted" | "modifiers" | "open" | "placement" | "popperOptions" | "popperRef" | "slotProps" | "slots" | "transition" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "component" | "sx" | "components" | "componentsProps"> & import("react").RefAttributes<HTMLDivElement>>, any, StyledPopperArgs, never>;
8
+ export declare const StyledPopper: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Omit<import("@mui/base").PopperProps<"div">, "direction"> & {
9
+ component?: import("react").ElementType<any>;
10
+ components?: {
11
+ Root?: import("react").ElementType<any>;
12
+ };
13
+ componentsProps?: {
14
+ root?: import("@mui/base").SlotComponentProps<"div", import("@mui/base").PopperRootSlotPropsOverrides, import("@mui/base").PopperOwnProps>;
15
+ };
16
+ sx?: import("@mui/material").SxProps<import("@mui/material").Theme>;
17
+ } & import("react").RefAttributes<HTMLDivElement>>, any, StyledPopperArgs, never>;
9
18
  export {};
@@ -1,3 +1,12 @@
1
1
  /// <reference types="react" />
2
2
  export declare const rootClassName = "dot-popper";
3
- export declare const StyledPopper: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Pick<import("@mui/material").PopperProps, "slot" | "style" | "title" | "anchorEl" | "children" | "container" | "disablePortal" | "keepMounted" | "modifiers" | "open" | "placement" | "popperOptions" | "popperRef" | "slotProps" | "slots" | "transition" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "component" | "sx" | "components" | "componentsProps"> & import("react").RefAttributes<HTMLDivElement>>, any, {}, never>;
3
+ export declare const StyledPopper: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Omit<import("@mui/base").PopperProps<"div">, "direction"> & {
4
+ component?: import("react").ElementType<any>;
5
+ components?: {
6
+ Root?: import("react").ElementType<any>;
7
+ };
8
+ componentsProps?: {
9
+ root?: import("@mui/base").SlotComponentProps<"div", import("@mui/base").PopperRootSlotPropsOverrides, import("@mui/base").PopperOwnProps>;
10
+ };
11
+ sx?: import("@mui/material").SxProps<import("@mui/material").Theme>;
12
+ } & import("react").RefAttributes<HTMLDivElement>>, any, {}, never>;
@@ -2,9 +2,9 @@ import { Story, ComponentMeta } from '@storybook/react';
2
2
  import { TableProps } from './Table';
3
3
  declare const _default: ComponentMeta<({ ariaLabel, bodyTypography, className, columns, count, data, "data-testid": dataTestId, emptyMessage, footerTypography, headerTypography, loading, maxHeight, multiSelect, order, orderBy, onRowClick, onUpdateData, page, rowsPerPage, stickyHeader, sortable, toolbar, }: TableProps) => JSX.Element>;
4
4
  export default _default;
5
- export declare const Default: Story<TableProps>;
6
- export declare const LocallyPaginatedTable: Story<TableProps>;
7
- export declare const RemotelyPaginatedTable: Story<TableProps>;
8
- export declare const WithActionMenu: Story<TableProps>;
9
- export declare const WithCheckboxSelection: Story<TableProps>;
10
- export declare const EmptyTable: Story<TableProps>;
5
+ export declare const Default: Story;
6
+ export declare const LocallyPaginatedTable: Story;
7
+ export declare const RemotelyPaginatedTable: Story;
8
+ export declare const WithActionMenu: Story;
9
+ export declare const WithCheckboxSelection: Story;
10
+ export declare const EmptyTable: Story;
@@ -1,4 +1,4 @@
1
- import { ReactNode } from 'react';
1
+ import { CSSProperties, ReactNode } from 'react';
2
2
  import { CommonProps } from '../CommonProps';
3
3
  import { TypographyVariant } from '../typography/Typography';
4
4
  export declare type TextAlignment = 'center' | 'inherit' | 'justify' | 'left' | 'right';
@@ -9,10 +9,11 @@ export interface CellProps extends CommonProps {
9
9
  id?: string;
10
10
  noWrap?: boolean;
11
11
  onActionMenuTrigger?: (el: HTMLElement, menuItem: Array<ReactNode>) => void;
12
+ style?: CSSProperties;
12
13
  typography: TypographyVariant;
13
14
  value?: unknown;
14
15
  }
15
16
  /**
16
17
  * A wrapper component around the TableCell component from @material-ui.
17
18
  */
18
- export declare const DotBodyCell: ({ ariaLabel, align, cellKey, className, colspan, "data-testid": dataTestId, noWrap, onActionMenuTrigger, typography, value, }: CellProps) => JSX.Element;
19
+ export declare const DotBodyCell: ({ ariaLabel, align, cellKey, className, colspan, "data-testid": dataTestId, noWrap, onActionMenuTrigger, style, typography, value, }: CellProps) => JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digital-ai/dot-components",
3
- "version": "2.9.0",
3
+ "version": "2.10.1",
4
4
  "private": false,
5
5
  "license": "SEE LICENSE IN <LICENSE.md>",
6
6
  "contributors": [