@digital-ai/dot-components 1.12.0 → 1.14.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,58 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.14.1](https://github.com/digital-ai/dot-components/tree/1.14.1) (04/07/2022)
4
+
5
+ [Full Changelog](https://github.com/digital-ai/dot-components/compare/1.14.0...1.14.1)
6
+
7
+ **Features:**
8
+
9
+ - `DotSwitch`: Add more Storybook examples [\#1113](https://github.com/digital-ai/dot-components/issues/1113)
10
+ - `Button`: Add more Storybook examples [\#1109](https://github.com/digital-ai/dot-components/issues/1109)
11
+
12
+ **Fixed bugs:**
13
+
14
+ - Corner radius is missing for bulk action bar [\#1117](https://github.com/digital-ai/dot-components/issues/1117)
15
+ - Text is not centered in avatar circle [\#1115](https://github.com/digital-ai/dot-components/issues/1115)
16
+ - Checkbox column takes up to much space in a multi-select table [\#1111](https://github.com/digital-ai/dot-components/issues/1111)
17
+ - `DotNavigationRail` Should be able to update the selected rail [\#1104](https://github.com/digital-ai/dot-components/issues/1104)
18
+ - D-20763: Fix bulk action toolbar upper corners [\#1118](https://github.com/digital-ai/dot-components/pull/1118) ([selsemore](https://github.com/selsemore))
19
+ - D-20736: Fix text alignment for small DotAvatar [\#1116](https://github.com/digital-ai/dot-components/pull/1116) ([selsemore](https://github.com/selsemore))
20
+ - D-20719: `DotTable`: Checkbox column takes up to much space in a multi-select table [\#1112](https://github.com/digital-ai/dot-components/pull/1112) ([dmiletic85](https://github.com/dmiletic85))
21
+ - D-20660: `DotNavigationRail`: Should be able to update the selected rail [\#1106](https://github.com/digital-ai/dot-components/pull/1106) ([dmiletic85](https://github.com/dmiletic85))
22
+
23
+ ## [1.14.0](https://github.com/digital-ai/dot-components/tree/1.14.0) (04/01/2022)
24
+
25
+ [Full Changelog](https://github.com/digital-ai/dot-components/compare/1.13.0...1.14.0)
26
+
27
+ **Features:**
28
+
29
+ - `InlineEdit` Support for different text in view/edit modes [\#1103](https://github.com/digital-ai/dot-components/issues/1103)
30
+ - S-83748: `InlineEdit`: Support for different text in view/edit modes [\#1105](https://github.com/digital-ai/dot-components/pull/1105) ([dmiletic85](https://github.com/dmiletic85))
31
+
32
+ **Fixed bugs:**
33
+
34
+ - DotFileUpload - Setting maxFile limit to 1 allows to upload more than 1 files [\#1096](https://github.com/digital-ai/dot-components/issues/1096)
35
+ - We lost scrollbar for sidenav nested drawers [\#1061](https://github.com/digital-ai/dot-components/issues/1061)
36
+ - D-20516: `DotFileUpload` - Setting maxFile limit to 1 allows to upload more than 1 files [\#1101](https://github.com/digital-ai/dot-components/pull/1101) ([dmiletic85](https://github.com/dmiletic85))
37
+ - D-20334: Add scroll to nested drawer [\#1062](https://github.com/digital-ai/dot-components/pull/1062) ([s-zimm](https://github.com/s-zimm))
38
+
39
+ ## [1.13.0](https://github.com/digital-ai/dot-components/tree/1.13.0) (03/28/2022)
40
+
41
+ [Full Changelog](https://github.com/digital-ai/dot-components/compare/1.12.0...1.13.0)
42
+
43
+ **Features:**
44
+
45
+ - `DotProgress`: Add more Storybook examples [\#1097](https://github.com/digital-ai/dot-components/issues/1097)
46
+ - S-82940: `DotProgress`: Add more Storybook examples [\#1098](https://github.com/digital-ai/dot-components/pull/1098) ([dmiletic85](https://github.com/dmiletic85))
47
+
48
+ **Fixed bugs:**
49
+
50
+ - `DotButtonToggle` wrong type for `value` and `onChange` props [\#1085](https://github.com/digital-ai/dot-components/issues/1085)
51
+ - react-grid-layout library should not be peer dependency [\#1083](https://github.com/digital-ai/dot-components/issues/1083)
52
+ - Check Box not Working with checked attribute property set--- Identified in Release Core [\#1076](https://github.com/digital-ai/dot-components/issues/1076)
53
+ - D-20483: `react-grid-layout` library should not be peer dependency [\#1088](https://github.com/digital-ai/dot-components/pull/1088) ([dmiletic85](https://github.com/dmiletic85))
54
+ - D-20465: `DotButtonToggle` wrong `type` for value and `onChange` [\#1087](https://github.com/digital-ai/dot-components/pull/1087) ([dmiletic85](https://github.com/dmiletic85))
55
+
3
56
  ## [1.12.0](https://github.com/digital-ai/dot-components/tree/1.12.0) (03/25/2022)
4
57
 
5
58
  [Full Changelog](https://github.com/digital-ai/dot-components/compare/1.11.3...1.12.0)
@@ -504,7 +557,6 @@
504
557
  **Merged pull requests:**
505
558
 
506
559
  - S-79569: Do not set custom class for table cell if none was provided [\#808](https://github.com/digital-ai/dot-components/pull/808) ([selsemore](https://github.com/selsemore))
507
- - 17 nov2021 update icon [\#803](https://github.com/digital-ai/dot-components/pull/803) ([BojanKocijan](https://github.com/BojanKocijan))
508
560
 
509
561
  ## [1.3.3](https://github.com/digital-ai/dot-components/tree/1.3.3) (11/16/2021)
510
562
 
@@ -528,6 +580,7 @@
528
580
 
529
581
  **Merged pull requests:**
530
582
 
583
+ - 17 nov2021 update icon [\#803](https://github.com/digital-ai/dot-components/pull/803) ([BojanKocijan](https://github.com/BojanKocijan))
531
584
  - Next minor release [\#796](https://github.com/digital-ai/dot-components/pull/796) ([CWSites](https://github.com/CWSites))
532
585
  - S-80103: add `yarn format:check` to PR verification and release testing [\#789](https://github.com/digital-ai/dot-components/pull/789) ([CWSites](https://github.com/CWSites))
533
586
  - S-79880: Add 'target' prop to ListItemProps [\#788](https://github.com/digital-ai/dot-components/pull/788) ([selsemore](https://github.com/selsemore))
@@ -561,6 +614,10 @@
561
614
 
562
615
  [Full Changelog](https://github.com/digital-ai/dot-components/compare/1.3.0...1.3.1)
563
616
 
617
+ **Features:**
618
+
619
+ - S-77126: react jsonschema form wrapper [\#728](https://github.com/digital-ai/dot-components/pull/728) ([TheKeithStewart](https://github.com/TheKeithStewart))
620
+
564
621
  **Fixed bugs:**
565
622
 
566
623
  - Lato 700 is not rendered correctly on Digital.ai Release with dot-components [\#758](https://github.com/digital-ai/dot-components/issues/758)
@@ -581,7 +638,6 @@
581
638
  **Features:**
582
639
 
583
640
  - Forms [\#594](https://github.com/digital-ai/dot-components/issues/594)
584
- - S-77126: react jsonschema form wrapper [\#728](https://github.com/digital-ai/dot-components/pull/728) ([TheKeithStewart](https://github.com/TheKeithStewart))
585
641
  - S-77126: Dynamic Form [\#717](https://github.com/digital-ai/dot-components/pull/717) ([dmiletic85](https://github.com/dmiletic85))
586
642
 
587
643
  **Fixed bugs:**
@@ -625,7 +681,6 @@
625
681
  - next release [\#732](https://github.com/digital-ai/dot-components/pull/732) ([CWSites](https://github.com/CWSites))
626
682
  - S-76840: update contributing guidelines and PR template [\#730](https://github.com/digital-ai/dot-components/pull/730) ([CWSites](https://github.com/CWSites))
627
683
  - Merge pull request \#719 from digital-ai/develop [\#727](https://github.com/digital-ai/dot-components/pull/727) ([CWSites](https://github.com/CWSites))
628
- - MINOR release [\#719](https://github.com/digital-ai/dot-components/pull/719) ([CWSites](https://github.com/CWSites))
629
684
 
630
685
  ## [1.2.0](https://github.com/digital-ai/dot-components/tree/1.2.0) (10/14/2021)
631
686
 
@@ -645,6 +700,7 @@
645
700
 
646
701
  **Merged pull requests:**
647
702
 
703
+ - MINOR release [\#719](https://github.com/digital-ai/dot-components/pull/719) ([CWSites](https://github.com/CWSites))
648
704
  - Icons oct 13 2021 [\#718](https://github.com/digital-ai/dot-components/pull/718) ([BojanKocijan](https://github.com/BojanKocijan))
649
705
  - S-78918: add loading indicator to menu [\#716](https://github.com/digital-ai/dot-components/pull/716) ([CWSites](https://github.com/CWSites))
650
706
  - S-78834: update icon buttons to follow agility theme more closely [\#715](https://github.com/digital-ai/dot-components/pull/715) ([CWSites](https://github.com/CWSites))
@@ -671,6 +727,7 @@
671
727
  - S-79291: update nested dependencies [\#700](https://github.com/digital-ai/dot-components/pull/700) ([CWSites](https://github.com/CWSites))
672
728
  - S-78832: Agility icon & badge updates [\#698](https://github.com/digital-ai/dot-components/pull/698) ([CWSites](https://github.com/CWSites))
673
729
  - S-79251: add workflow for sonarqube scan when code merged to develop [\#697](https://github.com/digital-ai/dot-components/pull/697) ([CWSites](https://github.com/CWSites))
730
+ - S-76906: table action column [\#692](https://github.com/digital-ai/dot-components/pull/692) ([monapatel91](https://github.com/monapatel91))
674
731
 
675
732
  ## [1.1.0](https://github.com/digital-ai/dot-components/tree/1.1.0) (09/29/2021)
676
733
 
@@ -706,7 +763,6 @@
706
763
 
707
764
  **Merged pull requests:**
708
765
 
709
- - S-76906: table action column [\#692](https://github.com/digital-ai/dot-components/pull/692) ([monapatel91](https://github.com/monapatel91))
710
766
  - Next Release [\#689](https://github.com/digital-ai/dot-components/pull/689) ([CWSites](https://github.com/CWSites))
711
767
 
712
768
  ## [1.0.11](https://github.com/digital-ai/dot-components/tree/1.0.11) (09/16/2021)
@@ -730,7 +786,6 @@
730
786
 
731
787
  - Console warnings while running unit tests for codebase that is consuming dot-components library [\#629](https://github.com/digital-ai/dot-components/issues/629)
732
788
  - D-18424: include breadcrumb wrapper with breadcrumb component [\#675](https://github.com/digital-ai/dot-components/pull/675) ([CWSites](https://github.com/CWSites))
733
- - D-18536: material 4.12.3 upgrade [\#667](https://github.com/digital-ai/dot-components/pull/667) ([CWSites](https://github.com/CWSites))
734
789
 
735
790
  **Merged pull requests:**
736
791
 
@@ -752,6 +807,7 @@
752
807
  - Update Agility colors [\#656](https://github.com/digital-ai/dot-components/issues/656)
753
808
  - Add aria-label property [\#632](https://github.com/digital-ai/dot-components/issues/632)
754
809
  - D-18730: action toolbar support [\#671](https://github.com/digital-ai/dot-components/pull/671) ([CWSites](https://github.com/CWSites))
810
+ - D-18536: material 4.12.3 upgrade [\#667](https://github.com/digital-ai/dot-components/pull/667) ([CWSites](https://github.com/CWSites))
755
811
  - D-18607: Fix rowsPerPage parsing and do not pad table with empty rows [\#655](https://github.com/digital-ai/dot-components/pull/655) ([selsemore](https://github.com/selsemore))
756
812
 
757
813
  **Merged pull requests:**
package/index.esm.js CHANGED
@@ -1178,7 +1178,7 @@ const StyledAvatar = styled(Avatar).withConfig({
1178
1178
  componentId: "sc-13bzj2s-0"
1179
1179
  })(["", ""], ({
1180
1180
  theme
1181
- }) => css(["&.MuiAvatar-root{display:inline-flex;background-color:", ";border:0px;&:focus-visible{box-shadow:0px 0px 0px 3px ", ",0px 0px 0px 5px ", ";outline:0;}.dot-i,.dot-typography{color:", ";}&.small{height:", "px;width:", "px;}&.medium{height:", "px;width:", "px;}&.large{height:", "px;width:", "px;}}"], ({
1181
+ }) => css(["&.MuiAvatar-root{display:inline-flex;background-color:", ";border:0px;&:focus-visible{box-shadow:0px 0px 0px 3px ", ",0px 0px 0px 5px ", ";outline:0;}.dot-i,.dot-typography{color:", ";margin-bottom:0;}&.small{height:", "px;width:", "px;}&.medium{height:", "px;width:", "px;}&.large{height:", "px;width:", "px;}}"], ({
1182
1182
  color
1183
1183
  }) => {
1184
1184
  return theme.palette.product === 'agility' && color === 'default' ? theme.palette.layer.n0 : color && theme.palette.avatarColors[color] ? theme.palette.avatarColors[color].backgroundColor : theme.palette.avatarColors['default'].backgroundColor;
@@ -2259,7 +2259,7 @@ const StyledSidebar = styled.aside.withConfig({
2259
2259
  componentId: "l3atb4-0"
2260
2260
  })(["", ""], ({
2261
2261
  theme
2262
- }) => css(["&.", "{align-items:stretch;background:", ";border-width:0 1px;border-style:solid;border-color:", ";box-shadow:", ";box-sizing:border-box;color:", ";display:flex;height:100%;flex-direction:column;justify-content:space-between;letter-spacing:0.01em;padding:", ";-o-transition:width cubic-bezier(0.4,0,0.6,1) 0.3s;-moz-transition:width cubic-bezier(0.4,0,0.6,1) 0.3s;-webkit-transition:width cubic-bezier(0.4,0,0.6,1) 0.3s;transition:width cubic-bezier(0.4,0,0.6,1) 0.3s;header{align-items:center;border-bottom:1px solid;border-bottom-color:", ";display:flex;height:40px;flex-shrink:0;overflow:hidden;margin-bottom:", ";padding:", ";white-space:nowrap;&.app-logo{box-sizing:border-box;.dot-app-logo{svg,img{max-width:100%;}}}.dot-avatar{margin-right:", "px;}}.go-back{align-items:center;border-bottom:1px solid;border-bottom-color:", ";display:flex;.go-back-button{margin:", ";background-color:", ";&:hover{background-color:", ";}&:focus-visible{box-shadow:0 0 0 2px ", ",0 0 0 4px ", ";}}}hr.MuiDivider-root{background-color:", ";margin:", ";}.MuiListSubheader-root{border-bottom:1px solid;border-bottom-color:", ";margin:", ";.dot-typography{margin:0;}}ul.side-nav{background:transparent;flex-grow:2;overflow-x:hidden;overflow-y:auto;padding:0;width:auto;.dot-nested-list{background:transparent;}.", "{.dot-drawer-paper{padding:", "px;border-right:1px solid ", ";box-shadow:0 0 5px 0 rgba(0,0,0,0.15);padding-top:", ";}.MuiTypography-root.MuiTypography-subtitle2{border:", ";color:", ";font-size:", ";line-height:40px;margin:", ";padding:", ";}.", "{margin:0;padding-left:", "px;}}.dot-list-item{height:", ";padding:0;margin-bottom:", ";&.MuiListItem-root.Mui-selected,&.MuiListItem-root.Mui-selected:hover,&:hover{background-color:", ";}&.Mui-focusVisible{box-shadow:inset 0 0 0 2px ", ";border:2px solid ", ";}&:hover,&:active,&:focus{.dot-typography,.dot-icon i.dot-i:before{color:", ";}}&.open{background-color:", ";border:", ";border-radius:", ";&:hover{background-color:", ";}}.MuiTouchRipple-root{display:", ";}.dot-list-item-link .dot-icon{margin-right:", "px;}.dot-icon{border-radius:50%;height:40px;margin:", ";width:40px;}.dot-typography{white-space:nowrap;}}}.toggle-nav{border-top:1px solid;border-top-color:", ";padding:", "px;text-align:right;.dot-icon{transform:rotate(0deg);-o-transition:all cubic-bezier(0.4,0,0.2,1) 0.3s;-moz-transition:all cubic-bezier(0.4,0,0.2,1) 0.3s;-webkit-transition:all cubic-bezier(0.4,0,0.2,1) 0.3s;transition:all cubic-bezier(0.4,0,0.2,1) 0.3s;}}.powered-by{border-top:1px solid;border-top-color:", ";color:", ";display:flex;flex-direction:column;flex-shrink:0;font-size:12px;overflow:hidden;padding:", "px;p.desc{white-space:nowrap;}.company-name{margin-top:", "px;}.d-icon{display:none;}}&.collapsed{overflow:hidden;padding:", ";width:58px;-o-transition:all cubic-bezier(0.4,0,0.6,1) 0.3s;-moz-transition:all cubic-bezier(0.4,0,0.6,1) 0.3s;-webkit-transition:all cubic-bezier(0.4,0,0.6,1) 0.3s;transition:all cubic-bezier(0.4,0,0.6,1) 0.3s;li.MuiListSubheader-root .dot-typography,.go-back .MuiTypography-root,.MuiListItem-divider .dot-list-item-link,.child,.powered-by .company-name,.powered-by p.desc{display:none;}.dot-nested-drawer li.MuiListSubheader-root .dot-typography,.powered-by .d-icon{display:block;}header .dot-app-logo{text-align:center;}ul.side-nav{width:56px;.dot-list-item{margin-left:0;}.toggle-nav{align-self:center;}}.powered-by{align-items:center;}}}"], rootClassName$I, theme.palette.product === 'agility' ? theme.palette.layer.n50 : theme.palette.grey[50], theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.palette.product === 'agility' && '0 0 5px rgba(0, 0, 0, 0.15)', theme.palette.product === 'agility' ? theme.palette.layer.n700 : theme.palette.grey[700], theme.palette.product === 'agility' && `${theme.spacing(2)}px`, theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.palette.product === 'agility' && `${theme.spacing(1)}px`, theme.palette.product === 'agililty' ? theme.spacing(0, 0, 1) : theme.spacing(1, 2), theme.spacing(1), theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.spacing(0.5, 1), theme.palette.layer.n100, theme.palette.layer.n200, theme.palette.layer.n0, theme.palette.layer.n900, theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.palette.product === 'agility' ? theme.spacing(2, 0) : theme.spacing(1, 0), theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.spacing(0, 0, 1), nestedDrawerClassName, theme.spacing(2), theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.palette.product === 'agility' && '10px', theme.palette.product === 'agility' && 'none', theme.palette.product === 'agility' && theme.palette.agilityInterface.sideNavSubHeaderText, theme.palette.product === 'agility' && '11px', theme.palette.product === 'agility' && '10px 0 0', theme.palette.product === 'agility' && '0 8px', listItemRootClass, theme.spacing(2), theme.palette.product === 'agility' ? '40px' : '44px', theme.palette.product === 'agility' && `${theme.spacing(1)}px`, theme.palette.product === 'agility' && 'transparent', theme.palette.layer.n0, theme.palette.layer.n900, theme.palette.product === 'agility' && theme.palette.agilityInterface.sideNavHoverText, theme.palette.product === 'agility' && theme.palette.agilityInterface.sideNavHoverBg, theme.palette.product === 'agility' ? `1px solid ${theme.palette.agilityInterface.sideNavHoverBorder}` : 'none', theme.palette.product === 'agility' && '4px', theme.palette.product === 'agility' && theme.palette.agilityInterface.sideNavHoverBg, theme.palette.product === 'agility' && 'none', theme.spacing(1), theme.spacing(0, 1), theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.spacing(1), theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.palette.grey[400], theme.spacing(1), theme.spacing(1), theme.palette.product === 'agility' && theme.spacing(2, 0)));
2262
+ }) => css(["&.", "{align-items:stretch;background:", ";border-width:0 1px;border-style:solid;border-color:", ";box-shadow:", ";box-sizing:border-box;color:", ";display:flex;height:100%;flex-direction:column;justify-content:space-between;letter-spacing:0.01em;padding:", ";-o-transition:width cubic-bezier(0.4,0,0.6,1) 0.3s;-moz-transition:width cubic-bezier(0.4,0,0.6,1) 0.3s;-webkit-transition:width cubic-bezier(0.4,0,0.6,1) 0.3s;transition:width cubic-bezier(0.4,0,0.6,1) 0.3s;header{align-items:center;border-bottom:1px solid;border-bottom-color:", ";display:flex;height:40px;flex-shrink:0;overflow:hidden;margin-bottom:", ";padding:", ";white-space:nowrap;&.app-logo{box-sizing:border-box;.dot-app-logo{svg,img{max-width:100%;}}}.dot-avatar{margin-right:", "px;}}.go-back{align-items:center;border-bottom:1px solid;border-bottom-color:", ";display:flex;.go-back-button{margin:", ";background-color:", ";&:hover{background-color:", ";}&:focus-visible{box-shadow:0 0 0 2px ", ",0 0 0 4px ", ";}}}hr.MuiDivider-root{background-color:", ";margin:", ";}.MuiListSubheader-root{border-bottom:1px solid;border-bottom-color:", ";margin:", ";.dot-typography{margin:0;}}ul.side-nav{background:transparent;flex-grow:2;overflow-x:hidden;overflow-y:auto;padding:0;width:auto;.dot-nested-list{background:transparent;}.", "{.dot-drawer-paper{padding:", "px;overflow-y:scroll;border-right:1px solid ", ";box-shadow:0 0 5px 0 rgba(0,0,0,0.15);padding-top:", ";}.MuiTypography-root.MuiTypography-subtitle2{border:", ";color:", ";font-size:", ";line-height:40px;margin:", ";padding:", ";}.", "{margin:0;padding-left:", "px;}}.dot-list-item{height:", ";padding:0;margin-bottom:", ";&.MuiListItem-root.Mui-selected,&.MuiListItem-root.Mui-selected:hover,&:hover{background-color:", ";}&.Mui-focusVisible{box-shadow:inset 0 0 0 2px ", ";border:2px solid ", ";}&:hover,&:active,&:focus{.dot-typography,.dot-icon i.dot-i:before{color:", ";}}&.open{background-color:", ";border:", ";border-radius:", ";&:hover{background-color:", ";}}.MuiTouchRipple-root{display:", ";}.dot-list-item-link .dot-icon{margin-right:", "px;}.dot-icon{border-radius:50%;height:40px;margin:", ";width:40px;}.dot-typography{white-space:nowrap;}}}.toggle-nav{border-top:1px solid;border-top-color:", ";padding:", "px;text-align:right;.dot-icon{transform:rotate(0deg);-o-transition:all cubic-bezier(0.4,0,0.2,1) 0.3s;-moz-transition:all cubic-bezier(0.4,0,0.2,1) 0.3s;-webkit-transition:all cubic-bezier(0.4,0,0.2,1) 0.3s;transition:all cubic-bezier(0.4,0,0.2,1) 0.3s;}}.powered-by{border-top:1px solid;border-top-color:", ";color:", ";display:flex;flex-direction:column;flex-shrink:0;font-size:12px;overflow:hidden;padding:", "px;p.desc{white-space:nowrap;}.company-name{margin-top:", "px;}.d-icon{display:none;}}&.collapsed{overflow:hidden;padding:", ";width:58px;-o-transition:all cubic-bezier(0.4,0,0.6,1) 0.3s;-moz-transition:all cubic-bezier(0.4,0,0.6,1) 0.3s;-webkit-transition:all cubic-bezier(0.4,0,0.6,1) 0.3s;transition:all cubic-bezier(0.4,0,0.6,1) 0.3s;li.MuiListSubheader-root .dot-typography,.go-back .MuiTypography-root,.MuiListItem-divider .dot-list-item-link,.child,.powered-by .company-name,.powered-by p.desc{display:none;}.dot-nested-drawer li.MuiListSubheader-root .dot-typography,.powered-by .d-icon{display:block;}header .dot-app-logo{text-align:center;}ul.side-nav{width:56px;.dot-list-item{margin-left:0;}.toggle-nav{align-self:center;}}.powered-by{align-items:center;}}}"], rootClassName$I, theme.palette.product === 'agility' ? theme.palette.layer.n50 : theme.palette.grey[50], theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.palette.product === 'agility' && '0 0 5px rgba(0, 0, 0, 0.15)', theme.palette.product === 'agility' ? theme.palette.layer.n700 : theme.palette.grey[700], theme.palette.product === 'agility' && `${theme.spacing(2)}px`, theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.palette.product === 'agility' && `${theme.spacing(1)}px`, theme.palette.product === 'agililty' ? theme.spacing(0, 0, 1) : theme.spacing(1, 2), theme.spacing(1), theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.spacing(0.5, 1), theme.palette.layer.n100, theme.palette.layer.n200, theme.palette.layer.n0, theme.palette.layer.n900, theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.palette.product === 'agility' ? theme.spacing(2, 0) : theme.spacing(1, 0), theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.spacing(0, 0, 1), nestedDrawerClassName, theme.spacing(2), theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.palette.product === 'agility' && '10px', theme.palette.product === 'agility' && 'none', theme.palette.product === 'agility' && theme.palette.agilityInterface.sideNavSubHeaderText, theme.palette.product === 'agility' && '11px', theme.palette.product === 'agility' && '10px 0 0', theme.palette.product === 'agility' && '0 8px', listItemRootClass, theme.spacing(2), theme.palette.product === 'agility' ? '40px' : '44px', theme.palette.product === 'agility' && `${theme.spacing(1)}px`, theme.palette.product === 'agility' && 'transparent', theme.palette.layer.n0, theme.palette.layer.n900, theme.palette.product === 'agility' && theme.palette.agilityInterface.sideNavHoverText, theme.palette.product === 'agility' && theme.palette.agilityInterface.sideNavHoverBg, theme.palette.product === 'agility' ? `1px solid ${theme.palette.agilityInterface.sideNavHoverBorder}` : 'none', theme.palette.product === 'agility' && '4px', theme.palette.product === 'agility' && theme.palette.agilityInterface.sideNavHoverBg, theme.palette.product === 'agility' && 'none', theme.spacing(1), theme.spacing(0, 1), theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.spacing(1), theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.palette.grey[400], theme.spacing(1), theme.spacing(1), theme.palette.product === 'agility' && theme.spacing(2, 0)));
2263
2263
 
2264
2264
  const Brand = ({
2265
2265
  brandDesc
@@ -5602,6 +5602,38 @@ const getWarningAdornment = () => {
5602
5602
  iconId: "error-solid"
5603
5603
  })));
5604
5604
  };
5605
+ const applyBindings = (bindings, inlineEditText) => {
5606
+ if (!bindings || !bindings.length || !inlineEditText) return;
5607
+ let text = inlineEditText;
5608
+ let boundNode = [];
5609
+ bindings.forEach((binding, index) => {
5610
+ const {
5611
+ binding: stringBinding,
5612
+ className = null,
5613
+ value
5614
+ } = binding;
5615
+ let bindingStringIndex = text.indexOf(stringBinding);
5616
+ let key = 0;
5617
+
5618
+ while (bindingStringIndex >= 0) {
5619
+ // Since key is needed only for bindings with className,
5620
+ // increment key value only if className value is defined
5621
+ className && key++;
5622
+ const nextStartingIndex = bindingStringIndex + stringBinding.length;
5623
+ const previousText = text.substr(0, bindingStringIndex);
5624
+ text = text.substr(nextStartingIndex, text.length);
5625
+ bindingStringIndex = text.indexOf(stringBinding); // Add nodes to array
5626
+
5627
+ boundNode = [boundNode, previousText, className ? /*#__PURE__*/React__default.createElement("span", {
5628
+ className: className,
5629
+ key: `${index}-${key}`
5630
+ }, value) : value];
5631
+ }
5632
+ }); // Add remainder of the text to the node
5633
+
5634
+ boundNode = [boundNode, text];
5635
+ return boundNode;
5636
+ };
5605
5637
 
5606
5638
  /**
5607
5639
  * @experimental This component is still in development
@@ -5609,6 +5641,7 @@ const getWarningAdornment = () => {
5609
5641
 
5610
5642
  const DotInlineEdit = ({
5611
5643
  ariaLabel,
5644
+ bindings,
5612
5645
  charactersLimit,
5613
5646
  className,
5614
5647
  'data-testid': dataTestId,
@@ -5642,11 +5675,14 @@ const DotInlineEdit = ({
5642
5675
  var _a;
5643
5676
 
5644
5677
  if (!inputValue) return;
5645
- const isSuccess = yield onChange(inputValue);
5646
5678
 
5647
- if (!isSuccess) {
5648
- (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
5649
- return;
5679
+ if (onChange) {
5680
+ const isSuccess = yield onChange(inputValue);
5681
+
5682
+ if (!isSuccess) {
5683
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
5684
+ return;
5685
+ }
5650
5686
  }
5651
5687
 
5652
5688
  setEditing(false);
@@ -5704,7 +5740,7 @@ const DotInlineEdit = ({
5704
5740
  className: "dot-view-mode-typography",
5705
5741
  "data-testid": dataTestId && `${dataTestId}-view-mode-typography`,
5706
5742
  variant: _typography
5707
- }, inputValue), /*#__PURE__*/React__default.createElement(DotIcon, {
5743
+ }, bindings ? applyBindings(bindings, inputValue) : inputValue), /*#__PURE__*/React__default.createElement(DotIcon, {
5708
5744
  className: "dot-edit-icon",
5709
5745
  "data-testid": dataTestId && `${dataTestId}-edit-icon`,
5710
5746
  iconId: "edit"
@@ -5793,6 +5829,11 @@ const DotNavigationRail = ({
5793
5829
  }) => {
5794
5830
  const rootClasses = useStylesWithRootClass(rootClassName$k, className);
5795
5831
  const [selectedItemIndex, setSelectedItemIndex] = useState(_selectedIndex);
5832
+ /* Used to change selected index programmatically from the consumer component */
5833
+
5834
+ useEffect(() => {
5835
+ setSelectedItemIndex(_selectedIndex);
5836
+ }, [_selectedIndex]);
5796
5837
 
5797
5838
  const onItemSelect = index => () => {
5798
5839
  setSelectedItemIndex(index);
@@ -6213,7 +6254,7 @@ const StyledPaper = styled(Paper).withConfig({
6213
6254
  componentId: "s95z6y-0"
6214
6255
  })(["", ""], ({
6215
6256
  theme
6216
- }) => css(["&.", "{background:", ";border:1px solid ", ";&.loading{opacity:0.4;pointer-events:none;.dot-table-pagination{display:none;}}}"], rootClassName$d, theme.palette.product === 'agility' && theme.palette.layer.n50, theme.palette.product === 'agility' ? theme.palette.layer.n100 : theme.palette.grey[200]));
6257
+ }) => css(["&.", "{background:", ";overflow:hidden;border:1px solid ", ";&.loading{opacity:0.4;pointer-events:none;.dot-table-pagination{display:none;}}}"], rootClassName$d, theme.palette.product === 'agility' && theme.palette.layer.n50, theme.palette.product === 'agility' ? theme.palette.layer.n100 : theme.palette.grey[200]));
6217
6258
  const StyledTableContainer = styled(TableContainer).withConfig({
6218
6259
  displayName: "Tablestyles__StyledTableContainer",
6219
6260
  componentId: "s95z6y-1"
@@ -6388,7 +6429,7 @@ const StyledTableBodyCheckboxCell = styled(TableCell).withConfig({
6388
6429
  componentId: "ebk3sz-0"
6389
6430
  })(["", ""], ({
6390
6431
  theme
6391
- }) => css(["&.", "{padding-top:", ";padding-bottom:", ";}"], rootClassName$b, theme.spacing(0), theme.spacing(0)));
6432
+ }) => css(["&.", "{.dot-form-control-label{margin:0;}width:", "px;padding:", ";}"], rootClassName$b, theme.spacing(5), theme.spacing(0, 1)));
6392
6433
 
6393
6434
  const DotBodyCheckboxCell = ({
6394
6435
  ariaLabel,
@@ -6644,7 +6685,7 @@ const StyledTableHeaderCheckboxCell = styled(TableCell).withConfig({
6644
6685
  componentId: "ymqg8x-0"
6645
6686
  })(["", ""], ({
6646
6687
  theme
6647
- }) => css(["&.", "{padding-top:", ";padding-bottom:", ";}"], rootClassName$7, theme.spacing(0), theme.spacing(0)));
6688
+ }) => css(["&.", "{.dot-form-control-label{margin:0;}width:", "px;padding:", ";}"], rootClassName$7, theme.spacing(5), theme.spacing(0, 1)));
6648
6689
 
6649
6690
  const DotHeaderCheckboxCell = ({
6650
6691
  ariaLabel,
@@ -7106,13 +7147,13 @@ const StyledFileUploadContainer = styled.div.withConfig({
7106
7147
  componentId: "sc-1q8bcxy-0"
7107
7148
  })(["", ""], ({
7108
7149
  theme
7109
- }) => css(["&.", "{.", "{border-bottom:1px solid ", ";&:hover{cursor:pointer;background:", ";}&.file-success:not(:hover){.", "-end-icon .dot-icon i:before{color:", ";}}&.file-error:not(:hover){.MuiListItemText-secondary,.", "-end-icon .dot-icon i:before{color:", ";}}.dot-typography,.file-item-text{flex-grow:2;padding-left:", "px;}.file-item-text{display:flex;flex-direction:column;.MuiTypography-body2{color:", ";}}}}"], containerClassName, listItemRootClass, theme.palette.layer.n100, theme.palette.layer.n50, listItemRootClass, theme.palette.secondary.main, listItemRootClass, theme.palette.error.main, theme.spacing(1), theme.palette.error.main));
7150
+ }) => css(["&.", "{.dot-max-files-message.dot-max-files-reached{color:", ";}.", "{border-bottom:1px solid ", ";&:hover{cursor:pointer;background:", ";}&.file-success:not(:hover){.", "-end-icon .dot-icon i:before{color:", ";}}&.file-error:not(:hover){.MuiListItemText-secondary,.", "-end-icon .dot-icon i:before{color:", ";}}.dot-typography,.file-item-text{flex-grow:2;padding-left:", "px;}.file-item-text{display:flex;flex-direction:column;.MuiTypography-body2{color:", ";}}}}"], containerClassName, theme.palette.error[500], listItemRootClass, theme.palette.layer.n100, theme.palette.layer.n50, listItemRootClass, theme.palette.secondary.main, listItemRootClass, theme.palette.error.main, theme.spacing(1), theme.palette.error.main));
7110
7151
  const StyledFileUpload = styled.div.withConfig({
7111
7152
  displayName: "FileUploadstyles__StyledFileUpload",
7112
7153
  componentId: "sc-1q8bcxy-1"
7113
7154
  })(["", ""], ({
7114
7155
  theme
7115
- }) => css(["&.", ".", "{align-items:center;background:", ";border:2px dashed ", ";border-radius:4px;color:", ";display:flex;flex-direction:column;flex-wrap:wrap;height:240px;justify-content:center;padding:", ";margin-bottom:", "px;&.disabled .dot-typography{color:", ";}.dot-icon{color:", ";font-size:100px;i.dot-i{height:100px;}}}"], rootClassName$4, dropZoneClassName, theme.palette.layer.n50, theme.palette.layer.n300, theme.palette.layer.n500, theme.spacing(3, 0), theme.spacing(1), theme.palette.layer.n300, theme.palette.layer.n100));
7156
+ }) => css(["&.", ".", "{align-items:center;background:", ";border:2px dashed ", ";border-radius:4px;color:", ";display:flex;flex-direction:column;flex-wrap:wrap;height:240px;justify-content:center;padding:", ";margin-bottom:", "px;text-align:center;&.disabled .dot-typography{color:", ";}.dot-icon{color:", ";font-size:100px;i.dot-i{height:100px;}}}"], rootClassName$4, dropZoneClassName, theme.palette.layer.n50, theme.palette.layer.n300, theme.palette.layer.n500, theme.spacing(3, 0), theme.spacing(1), theme.palette.layer.n300, theme.palette.layer.n100));
7116
7157
 
7117
7158
  const DotFileListItem = ({
7118
7159
  ariaLabel,
@@ -7147,6 +7188,40 @@ const DotFileListItem = ({
7147
7188
  }));
7148
7189
  };
7149
7190
 
7191
+ const renderMaxSizeMessage = maxSizeMB => /*#__PURE__*/React__default.createElement(DotTypography, {
7192
+ variant: "body2"
7193
+ }, "File size should not exceed ", maxSizeMB, "MB.");
7194
+ const renderMaxFilesMessage = (maxFiles, maxFilesClasses) => /*#__PURE__*/React__default.createElement(DotTypography, {
7195
+ className: maxFilesClasses,
7196
+ variant: "body2"
7197
+ }, maxFiles, " files are the maximum number of files you can upload.");
7198
+ const renderSelectFilesButton = (isUploadDisabled, onButtonClick) => /*#__PURE__*/React__default.createElement(DotButton, {
7199
+ disabled: isUploadDisabled,
7200
+ onClick: onButtonClick
7201
+ }, "Select file(s)");
7202
+ const renderActiveDragArea = () => /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(DotIcon, {
7203
+ iconId: "upload-file"
7204
+ }), /*#__PURE__*/React__default.createElement(DotTypography, {
7205
+ variant: "h3"
7206
+ }, "Drop the file(s) here ..."));
7207
+ const renderDragAndDropArea = (isUploadDisabled, onSelectButtonClick) => /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(DotIcon, {
7208
+ iconId: "upload-file"
7209
+ }), /*#__PURE__*/React__default.createElement(DotTypography, {
7210
+ variant: "h3"
7211
+ }, "Drag and drop your file(s) here ", /*#__PURE__*/React__default.createElement("br", null), " or"), renderSelectFilesButton(isUploadDisabled, onSelectButtonClick));
7212
+ const renderDropzoneContent = ({
7213
+ buttonOnly,
7214
+ isDragActive,
7215
+ isUploadDisabled,
7216
+ open
7217
+ }) => {
7218
+ if (buttonOnly) {
7219
+ return renderSelectFilesButton(isUploadDisabled, open);
7220
+ } else {
7221
+ return isDragActive ? renderActiveDragArea() : renderDragAndDropArea(isUploadDisabled, open);
7222
+ }
7223
+ };
7224
+ const getUploadedFilesList = (uploadedFiles, maxSize, onFileDelete) => uploadedFiles.map(file => parseListItem(onFileDelete, file, maxSize));
7150
7225
  const parseListItem = (deleteFile, fileToBeParsed, maxSize) => {
7151
7226
  const fileErrors = fileToBeParsed.errors;
7152
7227
  const parsedFile = fileToBeParsed.file;
@@ -7160,8 +7235,6 @@ const parseListItem = (deleteFile, fileToBeParsed, maxSize) => {
7160
7235
  return `File exceeds ${maxSize}MB`;
7161
7236
 
7162
7237
  case 'file-invalid-type':
7163
- return e.message;
7164
-
7165
7238
  case 'too-many-files':
7166
7239
  return e.message;
7167
7240
 
@@ -7177,8 +7250,7 @@ const parseListItem = (deleteFile, fileToBeParsed, maxSize) => {
7177
7250
  deleteFile: deleteFile,
7178
7251
  error: hasErrors,
7179
7252
  errorText: errorText,
7180
- file: parsedFile,
7181
- key: CreateUUID()
7253
+ file: parsedFile
7182
7254
  })
7183
7255
  };
7184
7256
  };
@@ -7195,7 +7267,12 @@ const DotFileUpload = ({
7195
7267
  onChange,
7196
7268
  onDragEnter
7197
7269
  }) => {
7198
- const rootClasses = useStylesWithRootClass(rootClassName$4, className, !_buttonOnly ? dropZoneClassName : '', disabled ? 'disabled' : '');
7270
+ const [uploadedFiles, setUploadedFiles] = useState([]);
7271
+ const [hasMaxFilesError, setHasMaxFilesError] = useState(false);
7272
+ const isUploadDisabled = disabled || maxFiles && uploadedFiles.length >= maxFiles;
7273
+ const rootClasses = useStylesWithRootClass(rootClassName$4, className, !_buttonOnly ? dropZoneClassName : '', isUploadDisabled ? 'disabled' : '');
7274
+ const maxFilesClasses = useStylesWithRootClass('dot-max-files-message', hasMaxFilesError ? 'dot-max-files-reached' : '');
7275
+ const allowMultiple = maxFiles === undefined || maxFiles > 1;
7199
7276
  const {
7200
7277
  acceptedFiles,
7201
7278
  fileRejections,
@@ -7205,13 +7282,12 @@ const DotFileUpload = ({
7205
7282
  open
7206
7283
  } = useDropzone({
7207
7284
  accept,
7208
- disabled,
7209
- maxFiles,
7285
+ disabled: isUploadDisabled,
7210
7286
  maxSize: maxSize * 1000000,
7287
+ multiple: allowMultiple,
7211
7288
  noClick: true,
7212
7289
  onDragEnter
7213
7290
  });
7214
- const [uploadedFiles, setUploadedFiles] = useState([]);
7215
7291
  useEffect(() => {
7216
7292
  onChange(uploadedFiles);
7217
7293
  }, [uploadedFiles]);
@@ -7229,7 +7305,16 @@ const DotFileUpload = ({
7229
7305
  };
7230
7306
 
7231
7307
  const parseFiles = () => {
7232
- // map through accepted files and make them same shape as rejected files
7308
+ const totalFilesToUpload = uploadedFiles.length + acceptedFiles.length + fileRejections.length;
7309
+ const isMaxFilesReached = maxFiles && totalFilesToUpload > maxFiles;
7310
+
7311
+ if (isMaxFilesReached) {
7312
+ setHasMaxFilesError(true);
7313
+ return;
7314
+ }
7315
+
7316
+ setHasMaxFilesError(false); // map through accepted files and make them same shape as rejected files
7317
+
7233
7318
  const mappedFiles = acceptedFiles.map(value => ({
7234
7319
  file: value,
7235
7320
  errors: []
@@ -7240,45 +7325,21 @@ const DotFileUpload = ({
7240
7325
  useEffect(() => {
7241
7326
  parseFiles();
7242
7327
  }, [acceptedFiles, fileRejections]);
7243
- const maxFilesMessage = /*#__PURE__*/React__default.createElement(DotTypography, {
7244
- variant: "body2"
7245
- }, maxFiles, " files are the maximum number of files you can upload at once.");
7246
- const maxSizeMessage = /*#__PURE__*/React__default.createElement(DotTypography, {
7247
- variant: "body2"
7248
- }, "File size should not exceed ", maxSize, "MB.");
7249
-
7250
- const dropzoneContent = () => {
7251
- if (_buttonOnly) {
7252
- return /*#__PURE__*/React__default.createElement(DotButton, {
7253
- disabled: disabled,
7254
- onClick: open
7255
- }, "Select file(s)");
7256
- } else {
7257
- return isDragActive ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(DotIcon, {
7258
- iconId: "upload-file"
7259
- }), /*#__PURE__*/React__default.createElement(DotTypography, {
7260
- variant: "h3"
7261
- }, "Drop the file(s) here ...")) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(DotIcon, {
7262
- iconId: "upload-file"
7263
- }), /*#__PURE__*/React__default.createElement(DotTypography, {
7264
- variant: "h3"
7265
- }, "Drag and drop your file(s) here"), /*#__PURE__*/React__default.createElement(DotTypography, {
7266
- variant: "h3"
7267
- }, "or"), /*#__PURE__*/React__default.createElement(DotButton, {
7268
- disabled: disabled,
7269
- onClick: open
7270
- }, "Select file(s)"));
7271
- }
7272
- };
7273
-
7328
+ const uploadedFilesList = getUploadedFilesList(uploadedFiles, maxSize, deleteFile);
7274
7329
  return /*#__PURE__*/React__default.createElement(StyledFileUploadContainer, {
7275
7330
  className: containerClassName
7276
7331
  }, /*#__PURE__*/React__default.createElement(StyledFileUpload, Object.assign({}, getRootProps(), {
7277
7332
  "aria-label": ariaLabel,
7278
7333
  className: rootClasses,
7279
7334
  "data-testid": dataTestId
7280
- }), /*#__PURE__*/React__default.createElement("input", Object.assign({}, getInputProps())), dropzoneContent()), maxSize && maxSizeMessage, maxFiles && maxFilesMessage, /*#__PURE__*/React__default.createElement(DotList, {
7281
- items: uploadedFiles.map(file => parseListItem(deleteFile, file, maxSize)),
7335
+ }), /*#__PURE__*/React__default.createElement("input", Object.assign({}, getInputProps())), renderDropzoneContent({
7336
+ buttonOnly: _buttonOnly,
7337
+ isDragActive,
7338
+ isUploadDisabled,
7339
+ open
7340
+ })), maxSize && renderMaxSizeMessage(maxSize), maxFiles && renderMaxFilesMessage(maxFiles, maxFilesClasses), /*#__PURE__*/React__default.createElement(DotList, {
7341
+ "data-testid": dataTestId && `${dataTestId}-file-list`,
7342
+ items: uploadedFilesList,
7282
7343
  width: "100%"
7283
7344
  }));
7284
7345
  };
package/index.umd.js CHANGED
@@ -1,7 +1,7 @@
1
1
  (function (global, factory) {
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('@material-ui/core'), require('styled-components'), require('@material-ui/lab'), require('@material-ui/core/styles'), require('react-dropzone'), require('react-grid-layout')) :
3
3
  typeof define === 'function' && define.amd ? define(['exports', 'react', '@material-ui/core', 'styled-components', '@material-ui/lab', '@material-ui/core/styles', 'react-dropzone', 'react-grid-layout'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.DotComponents = {}, global.React, global.MuiCore, global.styled, global.MuiLab, global.styles, global.reactDropzone, global.GridLayout));
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.DotComponents = {}, global.React, global.MuiCore, global.styled, global.MuiLab, global.MuiStyles, global.ReactDropzone, global.GridLayout));
5
5
  })(this, (function (exports, React, core, styled, lab, styles, reactDropzone, GridLayout) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -1305,7 +1305,7 @@
1305
1305
  componentId: "sc-13bzj2s-0"
1306
1306
  })(templateObject_2$T || (templateObject_2$T = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
1307
1307
  var theme = _a.theme;
1308
- return styled.css(templateObject_1$W || (templateObject_1$W = __makeTemplateObject(["\n &.MuiAvatar-root {\n display: inline-flex;\n background-color: ", ";\n border: 0px;\n &:focus-visible {\n box-shadow: 0px 0px 0px 3px ", ",\n 0px 0px 0px 5px ", ";\n outline: 0;\n }\n\n .dot-i,\n .dot-typography {\n color: ", ";\n }\n\n &.small {\n height: ", "px;\n width: ", "px;\n }\n\n &.medium {\n height: ", "px;\n width: ", "px;\n }\n\n &.large {\n height: ", "px;\n width: ", "px;\n }\n }\n "], ["\n &.MuiAvatar-root {\n display: inline-flex;\n background-color: ", ";\n border: 0px;\n &:focus-visible {\n box-shadow: 0px 0px 0px 3px ", ",\n 0px 0px 0px 5px ", ";\n outline: 0;\n }\n\n .dot-i,\n .dot-typography {\n color: ", ";\n }\n\n &.small {\n height: ", "px;\n width: ", "px;\n }\n\n &.medium {\n height: ", "px;\n width: ", "px;\n }\n\n &.large {\n height: ", "px;\n width: ", "px;\n }\n }\n "])), function (_a) {
1308
+ return styled.css(templateObject_1$W || (templateObject_1$W = __makeTemplateObject(["\n &.MuiAvatar-root {\n display: inline-flex;\n background-color: ", ";\n border: 0px;\n &:focus-visible {\n box-shadow: 0px 0px 0px 3px ", ",\n 0px 0px 0px 5px ", ";\n outline: 0;\n }\n\n .dot-i,\n .dot-typography {\n color: ", ";\n margin-bottom: 0;\n }\n\n &.small {\n height: ", "px;\n width: ", "px;\n }\n\n &.medium {\n height: ", "px;\n width: ", "px;\n }\n\n &.large {\n height: ", "px;\n width: ", "px;\n }\n }\n "], ["\n &.MuiAvatar-root {\n display: inline-flex;\n background-color: ", ";\n border: 0px;\n &:focus-visible {\n box-shadow: 0px 0px 0px 3px ", ",\n 0px 0px 0px 5px ", ";\n outline: 0;\n }\n\n .dot-i,\n .dot-typography {\n color: ", ";\n margin-bottom: 0;\n }\n\n &.small {\n height: ", "px;\n width: ", "px;\n }\n\n &.medium {\n height: ", "px;\n width: ", "px;\n }\n\n &.large {\n height: ", "px;\n width: ", "px;\n }\n }\n "])), function (_a) {
1309
1309
  var color = _a.color;
1310
1310
  return theme.palette.product === 'agility' && color === 'default' ? theme.palette.layer.n0 : color && theme.palette.avatarColors[color] ? theme.palette.avatarColors[color].backgroundColor : theme.palette.avatarColors['default'].backgroundColor;
1311
1311
  }, theme.palette.layer.n0, theme.palette.layer.n900, function (_a) {
@@ -2460,7 +2460,7 @@
2460
2460
  componentId: "l3atb4-0"
2461
2461
  })(templateObject_2$J || (templateObject_2$J = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
2462
2462
  var theme = _a.theme;
2463
- return styled.css(templateObject_1$L || (templateObject_1$L = __makeTemplateObject(["\n &.", " {\n align-items: stretch;\n background: ", ";\n border-width: 0 1px;\n border-style: solid;\n border-color: ", ";\n box-shadow: ", ";\n box-sizing: border-box;\n color: ", ";\n display: flex;\n height: 100%;\n flex-direction: column;\n justify-content: space-between;\n letter-spacing: 0.01em;\n padding: ", ";\n -o-transition: width cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n -moz-transition: width cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n -webkit-transition: width cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n transition: width cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n\n header {\n align-items: center;\n border-bottom: 1px solid;\n border-bottom-color: ", ";\n display: flex;\n height: 40px;\n flex-shrink: 0;\n overflow: hidden;\n margin-bottom: ", ";\n padding: ", ";\n white-space: nowrap;\n\n &.app-logo {\n box-sizing: border-box;\n\n .dot-app-logo {\n svg,\n img {\n max-width: 100%;\n }\n }\n }\n\n .dot-avatar {\n margin-right: ", "px;\n }\n }\n\n .go-back {\n align-items: center;\n border-bottom: 1px solid;\n border-bottom-color: ", ";\n display: flex;\n\n .go-back-button {\n margin: ", ";\n background-color: ", ";\n\n &:hover {\n background-color: ", ";\n }\n\n &:focus-visible {\n box-shadow: 0 0 0 2px ", ",\n 0 0 0 4px ", ";\n }\n }\n }\n\n hr.MuiDivider-root {\n background-color: ", ";\n margin: ", ";\n }\n\n .MuiListSubheader-root {\n border-bottom: 1px solid;\n border-bottom-color: ", ";\n margin: ", ";\n\n .dot-typography {\n margin: 0;\n }\n }\n\n ul.side-nav {\n background: transparent;\n flex-grow: 2;\n overflow-x: hidden;\n overflow-y: auto;\n padding: 0;\n width: auto;\n\n .dot-nested-list {\n background: transparent;\n }\n\n .", " {\n .dot-drawer-paper {\n padding: ", "px;\n border-right: 1px solid\n ", ";\n box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);\n padding-top: ", ";\n }\n\n .MuiTypography-root.MuiTypography-subtitle2 {\n border: ", ";\n color: ", ";\n font-size: ", ";\n line-height: 40px;\n margin: ", ";\n padding: ", ";\n }\n\n .", " {\n margin: 0;\n padding-left: ", "px;\n }\n }\n\n .dot-list-item {\n height: ", ";\n padding: 0;\n margin-bottom: ", ";\n\n &.MuiListItem-root.Mui-selected,\n &.MuiListItem-root.Mui-selected:hover,\n &:hover {\n background-color: ", ";\n }\n\n &.Mui-focusVisible {\n box-shadow: inset 0 0 0 2px ", ";\n border: 2px solid ", ";\n }\n\n &:hover,\n &:active,\n &:focus {\n .dot-typography,\n .dot-icon i.dot-i:before {\n color: ", ";\n }\n }\n\n &.open {\n background-color: ", ";\n border: ", ";\n border-radius: ", ";\n\n &:hover {\n background-color: ", ";\n }\n }\n\n .MuiTouchRipple-root {\n display: ", ";\n }\n\n .dot-list-item-link .dot-icon {\n margin-right: ", "px;\n }\n\n .dot-icon {\n border-radius: 50%;\n height: 40px;\n margin: ", ";\n width: 40px;\n }\n\n .dot-typography {\n white-space: nowrap;\n }\n }\n }\n\n .toggle-nav {\n border-top: 1px solid;\n border-top-color: ", ";\n padding: ", "px;\n text-align: right;\n\n .dot-icon {\n transform: rotate(0deg);\n -o-transition: all cubic-bezier(0.4, 0, 0.2, 1) 0.3s;\n -moz-transition: all cubic-bezier(0.4, 0, 0.2, 1) 0.3s;\n -webkit-transition: all cubic-bezier(0.4, 0, 0.2, 1) 0.3s;\n transition: all cubic-bezier(0.4, 0, 0.2, 1) 0.3s;\n }\n }\n\n .powered-by {\n border-top: 1px solid;\n border-top-color: ", ";\n color: ", ";\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n font-size: 12px;\n overflow: hidden;\n padding: ", "px;\n\n p.desc {\n white-space: nowrap;\n }\n\n .company-name {\n margin-top: ", "px;\n }\n\n .d-icon {\n display: none;\n }\n }\n\n &.collapsed {\n overflow: hidden;\n padding: ", ";\n width: 58px;\n -o-transition: all cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n -moz-transition: all cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n -webkit-transition: all cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n transition: all cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n\n li.MuiListSubheader-root .dot-typography,\n .go-back .MuiTypography-root,\n .MuiListItem-divider .dot-list-item-link,\n .child,\n .powered-by .company-name,\n .powered-by p.desc {\n display: none;\n }\n\n .dot-nested-drawer li.MuiListSubheader-root .dot-typography,\n .powered-by .d-icon {\n display: block;\n }\n\n header .dot-app-logo {\n text-align: center;\n }\n\n ul.side-nav {\n width: 56px;\n .dot-list-item {\n margin-left: 0;\n }\n\n .toggle-nav {\n align-self: center;\n }\n }\n\n .powered-by {\n align-items: center;\n }\n }\n }\n "], ["\n &.", " {\n align-items: stretch;\n background: ", ";\n border-width: 0 1px;\n border-style: solid;\n border-color: ", ";\n box-shadow: ", ";\n box-sizing: border-box;\n color: ", ";\n display: flex;\n height: 100%;\n flex-direction: column;\n justify-content: space-between;\n letter-spacing: 0.01em;\n padding: ", ";\n -o-transition: width cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n -moz-transition: width cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n -webkit-transition: width cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n transition: width cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n\n header {\n align-items: center;\n border-bottom: 1px solid;\n border-bottom-color: ", ";\n display: flex;\n height: 40px;\n flex-shrink: 0;\n overflow: hidden;\n margin-bottom: ", ";\n padding: ", ";\n white-space: nowrap;\n\n &.app-logo {\n box-sizing: border-box;\n\n .dot-app-logo {\n svg,\n img {\n max-width: 100%;\n }\n }\n }\n\n .dot-avatar {\n margin-right: ", "px;\n }\n }\n\n .go-back {\n align-items: center;\n border-bottom: 1px solid;\n border-bottom-color: ", ";\n display: flex;\n\n .go-back-button {\n margin: ", ";\n background-color: ", ";\n\n &:hover {\n background-color: ", ";\n }\n\n &:focus-visible {\n box-shadow: 0 0 0 2px ", ",\n 0 0 0 4px ", ";\n }\n }\n }\n\n hr.MuiDivider-root {\n background-color: ", ";\n margin: ", ";\n }\n\n .MuiListSubheader-root {\n border-bottom: 1px solid;\n border-bottom-color: ", ";\n margin: ", ";\n\n .dot-typography {\n margin: 0;\n }\n }\n\n ul.side-nav {\n background: transparent;\n flex-grow: 2;\n overflow-x: hidden;\n overflow-y: auto;\n padding: 0;\n width: auto;\n\n .dot-nested-list {\n background: transparent;\n }\n\n .", " {\n .dot-drawer-paper {\n padding: ", "px;\n border-right: 1px solid\n ", ";\n box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);\n padding-top: ", ";\n }\n\n .MuiTypography-root.MuiTypography-subtitle2 {\n border: ", ";\n color: ", ";\n font-size: ", ";\n line-height: 40px;\n margin: ", ";\n padding: ", ";\n }\n\n .", " {\n margin: 0;\n padding-left: ", "px;\n }\n }\n\n .dot-list-item {\n height: ", ";\n padding: 0;\n margin-bottom: ", ";\n\n &.MuiListItem-root.Mui-selected,\n &.MuiListItem-root.Mui-selected:hover,\n &:hover {\n background-color: ", ";\n }\n\n &.Mui-focusVisible {\n box-shadow: inset 0 0 0 2px ", ";\n border: 2px solid ", ";\n }\n\n &:hover,\n &:active,\n &:focus {\n .dot-typography,\n .dot-icon i.dot-i:before {\n color: ", ";\n }\n }\n\n &.open {\n background-color: ", ";\n border: ", ";\n border-radius: ", ";\n\n &:hover {\n background-color: ", ";\n }\n }\n\n .MuiTouchRipple-root {\n display: ", ";\n }\n\n .dot-list-item-link .dot-icon {\n margin-right: ", "px;\n }\n\n .dot-icon {\n border-radius: 50%;\n height: 40px;\n margin: ", ";\n width: 40px;\n }\n\n .dot-typography {\n white-space: nowrap;\n }\n }\n }\n\n .toggle-nav {\n border-top: 1px solid;\n border-top-color: ", ";\n padding: ", "px;\n text-align: right;\n\n .dot-icon {\n transform: rotate(0deg);\n -o-transition: all cubic-bezier(0.4, 0, 0.2, 1) 0.3s;\n -moz-transition: all cubic-bezier(0.4, 0, 0.2, 1) 0.3s;\n -webkit-transition: all cubic-bezier(0.4, 0, 0.2, 1) 0.3s;\n transition: all cubic-bezier(0.4, 0, 0.2, 1) 0.3s;\n }\n }\n\n .powered-by {\n border-top: 1px solid;\n border-top-color: ", ";\n color: ", ";\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n font-size: 12px;\n overflow: hidden;\n padding: ", "px;\n\n p.desc {\n white-space: nowrap;\n }\n\n .company-name {\n margin-top: ", "px;\n }\n\n .d-icon {\n display: none;\n }\n }\n\n &.collapsed {\n overflow: hidden;\n padding: ", ";\n width: 58px;\n -o-transition: all cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n -moz-transition: all cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n -webkit-transition: all cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n transition: all cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n\n li.MuiListSubheader-root .dot-typography,\n .go-back .MuiTypography-root,\n .MuiListItem-divider .dot-list-item-link,\n .child,\n .powered-by .company-name,\n .powered-by p.desc {\n display: none;\n }\n\n .dot-nested-drawer li.MuiListSubheader-root .dot-typography,\n .powered-by .d-icon {\n display: block;\n }\n\n header .dot-app-logo {\n text-align: center;\n }\n\n ul.side-nav {\n width: 56px;\n .dot-list-item {\n margin-left: 0;\n }\n\n .toggle-nav {\n align-self: center;\n }\n }\n\n .powered-by {\n align-items: center;\n }\n }\n }\n "])), rootClassName$I, theme.palette.product === 'agility' ? theme.palette.layer.n50 : theme.palette.grey[50], theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.palette.product === 'agility' && '0 0 5px rgba(0, 0, 0, 0.15)', theme.palette.product === 'agility' ? theme.palette.layer.n700 : theme.palette.grey[700], theme.palette.product === 'agility' && theme.spacing(2) + "px", theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.palette.product === 'agility' && theme.spacing(1) + "px", theme.palette.product === 'agililty' ? theme.spacing(0, 0, 1) : theme.spacing(1, 2), theme.spacing(1), theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.spacing(0.5, 1), theme.palette.layer.n100, theme.palette.layer.n200, theme.palette.layer.n0, theme.palette.layer.n900, theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.palette.product === 'agility' ? theme.spacing(2, 0) : theme.spacing(1, 0), theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.spacing(0, 0, 1), nestedDrawerClassName, theme.spacing(2), theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.palette.product === 'agility' && '10px', theme.palette.product === 'agility' && 'none', theme.palette.product === 'agility' && theme.palette.agilityInterface.sideNavSubHeaderText, theme.palette.product === 'agility' && '11px', theme.palette.product === 'agility' && '10px 0 0', theme.palette.product === 'agility' && '0 8px', listItemRootClass, theme.spacing(2), theme.palette.product === 'agility' ? '40px' : '44px', theme.palette.product === 'agility' && theme.spacing(1) + "px", theme.palette.product === 'agility' && 'transparent', theme.palette.layer.n0, theme.palette.layer.n900, theme.palette.product === 'agility' && theme.palette.agilityInterface.sideNavHoverText, theme.palette.product === 'agility' && theme.palette.agilityInterface.sideNavHoverBg, theme.palette.product === 'agility' ? "1px solid " + theme.palette.agilityInterface.sideNavHoverBorder : 'none', theme.palette.product === 'agility' && '4px', theme.palette.product === 'agility' && theme.palette.agilityInterface.sideNavHoverBg, theme.palette.product === 'agility' && 'none', theme.spacing(1), theme.spacing(0, 1), theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.spacing(1), theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.palette.grey[400], theme.spacing(1), theme.spacing(1), theme.palette.product === 'agility' && theme.spacing(2, 0));
2463
+ return styled.css(templateObject_1$L || (templateObject_1$L = __makeTemplateObject(["\n &.", " {\n align-items: stretch;\n background: ", ";\n border-width: 0 1px;\n border-style: solid;\n border-color: ", ";\n box-shadow: ", ";\n box-sizing: border-box;\n color: ", ";\n display: flex;\n height: 100%;\n flex-direction: column;\n justify-content: space-between;\n letter-spacing: 0.01em;\n padding: ", ";\n -o-transition: width cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n -moz-transition: width cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n -webkit-transition: width cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n transition: width cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n\n header {\n align-items: center;\n border-bottom: 1px solid;\n border-bottom-color: ", ";\n display: flex;\n height: 40px;\n flex-shrink: 0;\n overflow: hidden;\n margin-bottom: ", ";\n padding: ", ";\n white-space: nowrap;\n\n &.app-logo {\n box-sizing: border-box;\n\n .dot-app-logo {\n svg,\n img {\n max-width: 100%;\n }\n }\n }\n\n .dot-avatar {\n margin-right: ", "px;\n }\n }\n\n .go-back {\n align-items: center;\n border-bottom: 1px solid;\n border-bottom-color: ", ";\n display: flex;\n\n .go-back-button {\n margin: ", ";\n background-color: ", ";\n\n &:hover {\n background-color: ", ";\n }\n\n &:focus-visible {\n box-shadow: 0 0 0 2px ", ",\n 0 0 0 4px ", ";\n }\n }\n }\n\n hr.MuiDivider-root {\n background-color: ", ";\n margin: ", ";\n }\n\n .MuiListSubheader-root {\n border-bottom: 1px solid;\n border-bottom-color: ", ";\n margin: ", ";\n\n .dot-typography {\n margin: 0;\n }\n }\n\n ul.side-nav {\n background: transparent;\n flex-grow: 2;\n overflow-x: hidden;\n overflow-y: auto;\n padding: 0;\n width: auto;\n\n .dot-nested-list {\n background: transparent;\n }\n\n .", " {\n .dot-drawer-paper {\n padding: ", "px;\n overflow-y: scroll;\n border-right: 1px solid\n ", ";\n box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);\n padding-top: ", ";\n }\n\n .MuiTypography-root.MuiTypography-subtitle2 {\n border: ", ";\n color: ", ";\n font-size: ", ";\n line-height: 40px;\n margin: ", ";\n padding: ", ";\n }\n\n .", " {\n margin: 0;\n padding-left: ", "px;\n }\n }\n\n .dot-list-item {\n height: ", ";\n padding: 0;\n margin-bottom: ", ";\n\n &.MuiListItem-root.Mui-selected,\n &.MuiListItem-root.Mui-selected:hover,\n &:hover {\n background-color: ", ";\n }\n\n &.Mui-focusVisible {\n box-shadow: inset 0 0 0 2px ", ";\n border: 2px solid ", ";\n }\n\n &:hover,\n &:active,\n &:focus {\n .dot-typography,\n .dot-icon i.dot-i:before {\n color: ", ";\n }\n }\n\n &.open {\n background-color: ", ";\n border: ", ";\n border-radius: ", ";\n\n &:hover {\n background-color: ", ";\n }\n }\n\n .MuiTouchRipple-root {\n display: ", ";\n }\n\n .dot-list-item-link .dot-icon {\n margin-right: ", "px;\n }\n\n .dot-icon {\n border-radius: 50%;\n height: 40px;\n margin: ", ";\n width: 40px;\n }\n\n .dot-typography {\n white-space: nowrap;\n }\n }\n }\n\n .toggle-nav {\n border-top: 1px solid;\n border-top-color: ", ";\n padding: ", "px;\n text-align: right;\n\n .dot-icon {\n transform: rotate(0deg);\n -o-transition: all cubic-bezier(0.4, 0, 0.2, 1) 0.3s;\n -moz-transition: all cubic-bezier(0.4, 0, 0.2, 1) 0.3s;\n -webkit-transition: all cubic-bezier(0.4, 0, 0.2, 1) 0.3s;\n transition: all cubic-bezier(0.4, 0, 0.2, 1) 0.3s;\n }\n }\n\n .powered-by {\n border-top: 1px solid;\n border-top-color: ", ";\n color: ", ";\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n font-size: 12px;\n overflow: hidden;\n padding: ", "px;\n\n p.desc {\n white-space: nowrap;\n }\n\n .company-name {\n margin-top: ", "px;\n }\n\n .d-icon {\n display: none;\n }\n }\n\n &.collapsed {\n overflow: hidden;\n padding: ", ";\n width: 58px;\n -o-transition: all cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n -moz-transition: all cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n -webkit-transition: all cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n transition: all cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n\n li.MuiListSubheader-root .dot-typography,\n .go-back .MuiTypography-root,\n .MuiListItem-divider .dot-list-item-link,\n .child,\n .powered-by .company-name,\n .powered-by p.desc {\n display: none;\n }\n\n .dot-nested-drawer li.MuiListSubheader-root .dot-typography,\n .powered-by .d-icon {\n display: block;\n }\n\n header .dot-app-logo {\n text-align: center;\n }\n\n ul.side-nav {\n width: 56px;\n .dot-list-item {\n margin-left: 0;\n }\n\n .toggle-nav {\n align-self: center;\n }\n }\n\n .powered-by {\n align-items: center;\n }\n }\n }\n "], ["\n &.", " {\n align-items: stretch;\n background: ", ";\n border-width: 0 1px;\n border-style: solid;\n border-color: ", ";\n box-shadow: ", ";\n box-sizing: border-box;\n color: ", ";\n display: flex;\n height: 100%;\n flex-direction: column;\n justify-content: space-between;\n letter-spacing: 0.01em;\n padding: ", ";\n -o-transition: width cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n -moz-transition: width cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n -webkit-transition: width cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n transition: width cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n\n header {\n align-items: center;\n border-bottom: 1px solid;\n border-bottom-color: ", ";\n display: flex;\n height: 40px;\n flex-shrink: 0;\n overflow: hidden;\n margin-bottom: ", ";\n padding: ", ";\n white-space: nowrap;\n\n &.app-logo {\n box-sizing: border-box;\n\n .dot-app-logo {\n svg,\n img {\n max-width: 100%;\n }\n }\n }\n\n .dot-avatar {\n margin-right: ", "px;\n }\n }\n\n .go-back {\n align-items: center;\n border-bottom: 1px solid;\n border-bottom-color: ", ";\n display: flex;\n\n .go-back-button {\n margin: ", ";\n background-color: ", ";\n\n &:hover {\n background-color: ", ";\n }\n\n &:focus-visible {\n box-shadow: 0 0 0 2px ", ",\n 0 0 0 4px ", ";\n }\n }\n }\n\n hr.MuiDivider-root {\n background-color: ", ";\n margin: ", ";\n }\n\n .MuiListSubheader-root {\n border-bottom: 1px solid;\n border-bottom-color: ", ";\n margin: ", ";\n\n .dot-typography {\n margin: 0;\n }\n }\n\n ul.side-nav {\n background: transparent;\n flex-grow: 2;\n overflow-x: hidden;\n overflow-y: auto;\n padding: 0;\n width: auto;\n\n .dot-nested-list {\n background: transparent;\n }\n\n .", " {\n .dot-drawer-paper {\n padding: ", "px;\n overflow-y: scroll;\n border-right: 1px solid\n ", ";\n box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.15);\n padding-top: ", ";\n }\n\n .MuiTypography-root.MuiTypography-subtitle2 {\n border: ", ";\n color: ", ";\n font-size: ", ";\n line-height: 40px;\n margin: ", ";\n padding: ", ";\n }\n\n .", " {\n margin: 0;\n padding-left: ", "px;\n }\n }\n\n .dot-list-item {\n height: ", ";\n padding: 0;\n margin-bottom: ", ";\n\n &.MuiListItem-root.Mui-selected,\n &.MuiListItem-root.Mui-selected:hover,\n &:hover {\n background-color: ", ";\n }\n\n &.Mui-focusVisible {\n box-shadow: inset 0 0 0 2px ", ";\n border: 2px solid ", ";\n }\n\n &:hover,\n &:active,\n &:focus {\n .dot-typography,\n .dot-icon i.dot-i:before {\n color: ", ";\n }\n }\n\n &.open {\n background-color: ", ";\n border: ", ";\n border-radius: ", ";\n\n &:hover {\n background-color: ", ";\n }\n }\n\n .MuiTouchRipple-root {\n display: ", ";\n }\n\n .dot-list-item-link .dot-icon {\n margin-right: ", "px;\n }\n\n .dot-icon {\n border-radius: 50%;\n height: 40px;\n margin: ", ";\n width: 40px;\n }\n\n .dot-typography {\n white-space: nowrap;\n }\n }\n }\n\n .toggle-nav {\n border-top: 1px solid;\n border-top-color: ", ";\n padding: ", "px;\n text-align: right;\n\n .dot-icon {\n transform: rotate(0deg);\n -o-transition: all cubic-bezier(0.4, 0, 0.2, 1) 0.3s;\n -moz-transition: all cubic-bezier(0.4, 0, 0.2, 1) 0.3s;\n -webkit-transition: all cubic-bezier(0.4, 0, 0.2, 1) 0.3s;\n transition: all cubic-bezier(0.4, 0, 0.2, 1) 0.3s;\n }\n }\n\n .powered-by {\n border-top: 1px solid;\n border-top-color: ", ";\n color: ", ";\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n font-size: 12px;\n overflow: hidden;\n padding: ", "px;\n\n p.desc {\n white-space: nowrap;\n }\n\n .company-name {\n margin-top: ", "px;\n }\n\n .d-icon {\n display: none;\n }\n }\n\n &.collapsed {\n overflow: hidden;\n padding: ", ";\n width: 58px;\n -o-transition: all cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n -moz-transition: all cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n -webkit-transition: all cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n transition: all cubic-bezier(0.4, 0, 0.6, 1) 0.3s;\n\n li.MuiListSubheader-root .dot-typography,\n .go-back .MuiTypography-root,\n .MuiListItem-divider .dot-list-item-link,\n .child,\n .powered-by .company-name,\n .powered-by p.desc {\n display: none;\n }\n\n .dot-nested-drawer li.MuiListSubheader-root .dot-typography,\n .powered-by .d-icon {\n display: block;\n }\n\n header .dot-app-logo {\n text-align: center;\n }\n\n ul.side-nav {\n width: 56px;\n .dot-list-item {\n margin-left: 0;\n }\n\n .toggle-nav {\n align-self: center;\n }\n }\n\n .powered-by {\n align-items: center;\n }\n }\n }\n "])), rootClassName$I, theme.palette.product === 'agility' ? theme.palette.layer.n50 : theme.palette.grey[50], theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.palette.product === 'agility' && '0 0 5px rgba(0, 0, 0, 0.15)', theme.palette.product === 'agility' ? theme.palette.layer.n700 : theme.palette.grey[700], theme.palette.product === 'agility' && theme.spacing(2) + "px", theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.palette.product === 'agility' && theme.spacing(1) + "px", theme.palette.product === 'agililty' ? theme.spacing(0, 0, 1) : theme.spacing(1, 2), theme.spacing(1), theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.spacing(0.5, 1), theme.palette.layer.n100, theme.palette.layer.n200, theme.palette.layer.n0, theme.palette.layer.n900, theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.palette.product === 'agility' ? theme.spacing(2, 0) : theme.spacing(1, 0), theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.spacing(0, 0, 1), nestedDrawerClassName, theme.spacing(2), theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.palette.product === 'agility' && '10px', theme.palette.product === 'agility' && 'none', theme.palette.product === 'agility' && theme.palette.agilityInterface.sideNavSubHeaderText, theme.palette.product === 'agility' && '11px', theme.palette.product === 'agility' && '10px 0 0', theme.palette.product === 'agility' && '0 8px', listItemRootClass, theme.spacing(2), theme.palette.product === 'agility' ? '40px' : '44px', theme.palette.product === 'agility' && theme.spacing(1) + "px", theme.palette.product === 'agility' && 'transparent', theme.palette.layer.n0, theme.palette.layer.n900, theme.palette.product === 'agility' && theme.palette.agilityInterface.sideNavHoverText, theme.palette.product === 'agility' && theme.palette.agilityInterface.sideNavHoverBg, theme.palette.product === 'agility' ? "1px solid " + theme.palette.agilityInterface.sideNavHoverBorder : 'none', theme.palette.product === 'agility' && '4px', theme.palette.product === 'agility' && theme.palette.agilityInterface.sideNavHoverBg, theme.palette.product === 'agility' && 'none', theme.spacing(1), theme.spacing(0, 1), theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.spacing(1), theme.palette.product === 'agility' ? theme.palette.agilityInterface.sideNavBorder : theme.palette.grey[100], theme.palette.grey[400], theme.spacing(1), theme.spacing(1), theme.palette.product === 'agility' && theme.spacing(2, 0));
2464
2464
  });
2465
2465
  var templateObject_1$L, templateObject_2$J;
2466
2466
 
@@ -6000,6 +6000,37 @@
6000
6000
  iconId: "error-solid"
6001
6001
  })));
6002
6002
  };
6003
+ var applyBindings = function applyBindings(bindings, inlineEditText) {
6004
+ if (!bindings || !bindings.length || !inlineEditText) return;
6005
+ var text = inlineEditText;
6006
+ var boundNode = [];
6007
+ bindings.forEach(function (binding, index) {
6008
+ var stringBinding = binding.binding,
6009
+ _a = binding.className,
6010
+ className = _a === void 0 ? null : _a,
6011
+ value = binding.value;
6012
+ var bindingStringIndex = text.indexOf(stringBinding);
6013
+ var key = 0;
6014
+
6015
+ while (bindingStringIndex >= 0) {
6016
+ // Since key is needed only for bindings with className,
6017
+ // increment key value only if className value is defined
6018
+ className && key++;
6019
+ var nextStartingIndex = bindingStringIndex + stringBinding.length;
6020
+ var previousText = text.substr(0, bindingStringIndex);
6021
+ text = text.substr(nextStartingIndex, text.length);
6022
+ bindingStringIndex = text.indexOf(stringBinding); // Add nodes to array
6023
+
6024
+ boundNode = [boundNode, previousText, className ? /*#__PURE__*/React__default["default"].createElement("span", {
6025
+ className: className,
6026
+ key: index + "-" + key
6027
+ }, value) : value];
6028
+ }
6029
+ }); // Add remainder of the text to the node
6030
+
6031
+ boundNode = [boundNode, text];
6032
+ return boundNode;
6033
+ };
6003
6034
 
6004
6035
  /**
6005
6036
  * @experimental This component is still in development
@@ -6007,6 +6038,7 @@
6007
6038
 
6008
6039
  var DotInlineEdit = function DotInlineEdit(_a) {
6009
6040
  var ariaLabel = _a.ariaLabel,
6041
+ bindings = _a.bindings,
6010
6042
  charactersLimit = _a.charactersLimit,
6011
6043
  className = _a.className,
6012
6044
  dataTestId = _a["data-testid"],
@@ -6060,6 +6092,9 @@
6060
6092
  if (!inputValue) return [2
6061
6093
  /*return*/
6062
6094
  ];
6095
+ if (!onChange) return [3
6096
+ /*break*/
6097
+ , 2];
6063
6098
  return [4
6064
6099
  /*yield*/
6065
6100
  , onChange(inputValue)];
@@ -6074,6 +6109,9 @@
6074
6109
  ];
6075
6110
  }
6076
6111
 
6112
+ _b.label = 2;
6113
+
6114
+ case 2:
6077
6115
  setEditing(false);
6078
6116
 
6079
6117
  if (onEditStateChange) {
@@ -6198,7 +6236,7 @@
6198
6236
  className: "dot-view-mode-typography",
6199
6237
  "data-testid": dataTestId && dataTestId + "-view-mode-typography",
6200
6238
  variant: typography
6201
- }, inputValue), /*#__PURE__*/React__default["default"].createElement(DotIcon, {
6239
+ }, bindings ? applyBindings(bindings, inputValue) : inputValue), /*#__PURE__*/React__default["default"].createElement(DotIcon, {
6202
6240
  className: "dot-edit-icon",
6203
6241
  "data-testid": dataTestId && dataTestId + "-edit-icon",
6204
6242
  iconId: "edit"
@@ -6297,6 +6335,12 @@
6297
6335
  var _d = React.useState(selectedIndex),
6298
6336
  selectedItemIndex = _d[0],
6299
6337
  setSelectedItemIndex = _d[1];
6338
+ /* Used to change selected index programmatically from the consumer component */
6339
+
6340
+
6341
+ React.useEffect(function () {
6342
+ setSelectedItemIndex(selectedIndex);
6343
+ }, [selectedIndex]);
6300
6344
 
6301
6345
  var onItemSelect = function onItemSelect(index) {
6302
6346
  return function () {
@@ -6760,7 +6804,7 @@
6760
6804
  componentId: "s95z6y-0"
6761
6805
  })(templateObject_2$d || (templateObject_2$d = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
6762
6806
  var theme = _a.theme;
6763
- return styled.css(templateObject_1$d || (templateObject_1$d = __makeTemplateObject(["\n &.", " {\n background: ", ";\n border: 1px solid\n ", ";\n\n // while loading, change opacity, disable pointer events\n // and hide pagination.\n &.loading {\n opacity: 0.4;\n pointer-events: none;\n .dot-table-pagination {\n display: none;\n }\n }\n }\n "], ["\n &.", " {\n background: ", ";\n border: 1px solid\n ", ";\n\n // while loading, change opacity, disable pointer events\n // and hide pagination.\n &.loading {\n opacity: 0.4;\n pointer-events: none;\n .dot-table-pagination {\n display: none;\n }\n }\n }\n "])), rootClassName$d, theme.palette.product === 'agility' && theme.palette.layer.n50, theme.palette.product === 'agility' ? theme.palette.layer.n100 : theme.palette.grey[200]);
6807
+ return styled.css(templateObject_1$d || (templateObject_1$d = __makeTemplateObject(["\n &.", " {\n background: ", ";\n overflow: hidden;\n border: 1px solid\n ", ";\n\n // while loading, change opacity, disable pointer events\n // and hide pagination.\n &.loading {\n opacity: 0.4;\n pointer-events: none;\n .dot-table-pagination {\n display: none;\n }\n }\n }\n "], ["\n &.", " {\n background: ", ";\n overflow: hidden;\n border: 1px solid\n ", ";\n\n // while loading, change opacity, disable pointer events\n // and hide pagination.\n &.loading {\n opacity: 0.4;\n pointer-events: none;\n .dot-table-pagination {\n display: none;\n }\n }\n }\n "])), rootClassName$d, theme.palette.product === 'agility' && theme.palette.layer.n50, theme.palette.product === 'agility' ? theme.palette.layer.n100 : theme.palette.grey[200]);
6764
6808
  });
6765
6809
  var StyledTableContainer = styled__default["default"](core.TableContainer).withConfig({
6766
6810
  displayName: "Tablestyles__StyledTableContainer",
@@ -6949,7 +6993,7 @@
6949
6993
  componentId: "ebk3sz-0"
6950
6994
  })(templateObject_2$b || (templateObject_2$b = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
6951
6995
  var theme = _a.theme;
6952
- return styled.css(templateObject_1$b || (templateObject_1$b = __makeTemplateObject(["\n &.", " {\n /* Override only top/bottom, but preserve left/right padding */\n padding-top: ", ";\n padding-bottom: ", ";\n }\n "], ["\n &.", " {\n /* Override only top/bottom, but preserve left/right padding */\n padding-top: ", ";\n padding-bottom: ", ";\n }\n "])), rootClassName$b, theme.spacing(0), theme.spacing(0));
6996
+ return styled.css(templateObject_1$b || (templateObject_1$b = __makeTemplateObject(["\n &.", " {\n .dot-form-control-label {\n margin: 0;\n }\n width: ", "px;\n padding: ", ";\n }\n "], ["\n &.", " {\n .dot-form-control-label {\n margin: 0;\n }\n width: ", "px;\n padding: ", ";\n }\n "])), rootClassName$b, theme.spacing(5), theme.spacing(0, 1));
6953
6997
  });
6954
6998
  var templateObject_1$b, templateObject_2$b;
6955
6999
 
@@ -7226,7 +7270,7 @@
7226
7270
  componentId: "ymqg8x-0"
7227
7271
  })(templateObject_2$7 || (templateObject_2$7 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
7228
7272
  var theme = _a.theme;
7229
- return styled.css(templateObject_1$7 || (templateObject_1$7 = __makeTemplateObject(["\n &.", " {\n /* Override only top/bottom, but preserve left/right padding */\n padding-top: ", ";\n padding-bottom: ", ";\n }\n "], ["\n &.", " {\n /* Override only top/bottom, but preserve left/right padding */\n padding-top: ", ";\n padding-bottom: ", ";\n }\n "])), rootClassName$7, theme.spacing(0), theme.spacing(0));
7273
+ return styled.css(templateObject_1$7 || (templateObject_1$7 = __makeTemplateObject(["\n &.", " {\n .dot-form-control-label {\n margin: 0;\n }\n width: ", "px;\n padding: ", ";\n }\n "], ["\n &.", " {\n .dot-form-control-label {\n margin: 0;\n }\n width: ", "px;\n padding: ", ";\n }\n "])), rootClassName$7, theme.spacing(5), theme.spacing(0, 1));
7230
7274
  });
7231
7275
  var templateObject_1$7, templateObject_2$7;
7232
7276
 
@@ -7741,14 +7785,14 @@
7741
7785
  componentId: "sc-1q8bcxy-0"
7742
7786
  })(templateObject_2$4 || (templateObject_2$4 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
7743
7787
  var theme = _a.theme;
7744
- return styled.css(templateObject_1$4 || (templateObject_1$4 = __makeTemplateObject(["\n &.", " {\n .", " {\n border-bottom: 1px solid ", ";\n &:hover {\n cursor: pointer;\n background: ", ";\n }\n\n &.file-success:not(:hover) {\n .", "-end-icon .dot-icon i:before {\n color: ", ";\n }\n }\n\n &.file-error:not(:hover) {\n .MuiListItemText-secondary,\n .", "-end-icon .dot-icon i:before {\n color: ", ";\n }\n }\n\n .dot-typography,\n .file-item-text {\n flex-grow: 2;\n padding-left: ", "px;\n }\n\n .file-item-text {\n display: flex;\n flex-direction: column;\n\n .MuiTypography-body2 {\n color: ", ";\n }\n }\n }\n }\n "], ["\n &.", " {\n .", " {\n border-bottom: 1px solid ", ";\n &:hover {\n cursor: pointer;\n background: ", ";\n }\n\n &.file-success:not(:hover) {\n .", "-end-icon .dot-icon i:before {\n color: ", ";\n }\n }\n\n &.file-error:not(:hover) {\n .MuiListItemText-secondary,\n .", "-end-icon .dot-icon i:before {\n color: ", ";\n }\n }\n\n .dot-typography,\n .file-item-text {\n flex-grow: 2;\n padding-left: ", "px;\n }\n\n .file-item-text {\n display: flex;\n flex-direction: column;\n\n .MuiTypography-body2 {\n color: ", ";\n }\n }\n }\n }\n "])), containerClassName, listItemRootClass, theme.palette.layer.n100, theme.palette.layer.n50, listItemRootClass, theme.palette.secondary.main, listItemRootClass, theme.palette.error.main, theme.spacing(1), theme.palette.error.main);
7788
+ return styled.css(templateObject_1$4 || (templateObject_1$4 = __makeTemplateObject(["\n &.", " {\n .dot-max-files-message.dot-max-files-reached {\n color: ", ";\n }\n\n .", " {\n border-bottom: 1px solid ", ";\n &:hover {\n cursor: pointer;\n background: ", ";\n }\n\n &.file-success:not(:hover) {\n .", "-end-icon .dot-icon i:before {\n color: ", ";\n }\n }\n\n &.file-error:not(:hover) {\n .MuiListItemText-secondary,\n .", "-end-icon .dot-icon i:before {\n color: ", ";\n }\n }\n\n .dot-typography,\n .file-item-text {\n flex-grow: 2;\n padding-left: ", "px;\n }\n\n .file-item-text {\n display: flex;\n flex-direction: column;\n\n .MuiTypography-body2 {\n color: ", ";\n }\n }\n }\n }\n "], ["\n &.", " {\n .dot-max-files-message.dot-max-files-reached {\n color: ", ";\n }\n\n .", " {\n border-bottom: 1px solid ", ";\n &:hover {\n cursor: pointer;\n background: ", ";\n }\n\n &.file-success:not(:hover) {\n .", "-end-icon .dot-icon i:before {\n color: ", ";\n }\n }\n\n &.file-error:not(:hover) {\n .MuiListItemText-secondary,\n .", "-end-icon .dot-icon i:before {\n color: ", ";\n }\n }\n\n .dot-typography,\n .file-item-text {\n flex-grow: 2;\n padding-left: ", "px;\n }\n\n .file-item-text {\n display: flex;\n flex-direction: column;\n\n .MuiTypography-body2 {\n color: ", ";\n }\n }\n }\n }\n "])), containerClassName, theme.palette.error[500], listItemRootClass, theme.palette.layer.n100, theme.palette.layer.n50, listItemRootClass, theme.palette.secondary.main, listItemRootClass, theme.palette.error.main, theme.spacing(1), theme.palette.error.main);
7745
7789
  });
7746
7790
  var StyledFileUpload = styled__default["default"].div.withConfig({
7747
7791
  displayName: "FileUploadstyles__StyledFileUpload",
7748
7792
  componentId: "sc-1q8bcxy-1"
7749
7793
  })(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (_a) {
7750
7794
  var theme = _a.theme;
7751
- return styled.css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n &.", ".", " {\n align-items: center;\n background: ", ";\n border: 2px dashed ", ";\n border-radius: 4px;\n color: ", ";\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n height: 240px;\n justify-content: center;\n padding: ", ";\n margin-bottom: ", "px;\n\n &.disabled .dot-typography {\n color: ", ";\n }\n\n .dot-icon {\n color: ", ";\n font-size: 100px;\n\n i.dot-i {\n height: 100px;\n }\n }\n }\n "], ["\n &.", ".", " {\n align-items: center;\n background: ", ";\n border: 2px dashed ", ";\n border-radius: 4px;\n color: ", ";\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n height: 240px;\n justify-content: center;\n padding: ", ";\n margin-bottom: ", "px;\n\n &.disabled .dot-typography {\n color: ", ";\n }\n\n .dot-icon {\n color: ", ";\n font-size: 100px;\n\n i.dot-i {\n height: 100px;\n }\n }\n }\n "])), rootClassName$4, dropZoneClassName, theme.palette.layer.n50, theme.palette.layer.n300, theme.palette.layer.n500, theme.spacing(3, 0), theme.spacing(1), theme.palette.layer.n300, theme.palette.layer.n100);
7795
+ return styled.css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n &.", ".", " {\n align-items: center;\n background: ", ";\n border: 2px dashed ", ";\n border-radius: 4px;\n color: ", ";\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n height: 240px;\n justify-content: center;\n padding: ", ";\n margin-bottom: ", "px;\n text-align: center;\n\n &.disabled .dot-typography {\n color: ", ";\n }\n\n .dot-icon {\n color: ", ";\n font-size: 100px;\n\n i.dot-i {\n height: 100px;\n }\n }\n }\n "], ["\n &.", ".", " {\n align-items: center;\n background: ", ";\n border: 2px dashed ", ";\n border-radius: 4px;\n color: ", ";\n display: flex;\n flex-direction: column;\n flex-wrap: wrap;\n height: 240px;\n justify-content: center;\n padding: ", ";\n margin-bottom: ", "px;\n text-align: center;\n\n &.disabled .dot-typography {\n color: ", ";\n }\n\n .dot-icon {\n color: ", ";\n font-size: 100px;\n\n i.dot-i {\n height: 100px;\n }\n }\n }\n "])), rootClassName$4, dropZoneClassName, theme.palette.layer.n50, theme.palette.layer.n300, theme.palette.layer.n500, theme.spacing(3, 0), theme.spacing(1), theme.palette.layer.n300, theme.palette.layer.n100);
7752
7796
  });
7753
7797
  var templateObject_1$4, templateObject_2$4, templateObject_3, templateObject_4;
7754
7798
 
@@ -7795,6 +7839,54 @@
7795
7839
  }));
7796
7840
  };
7797
7841
 
7842
+ var renderMaxSizeMessage = function renderMaxSizeMessage(maxSizeMB) {
7843
+ return /*#__PURE__*/React__default["default"].createElement(DotTypography, {
7844
+ variant: "body2"
7845
+ }, "File size should not exceed ", maxSizeMB, "MB.");
7846
+ };
7847
+ var renderMaxFilesMessage = function renderMaxFilesMessage(maxFiles, maxFilesClasses) {
7848
+ return /*#__PURE__*/React__default["default"].createElement(DotTypography, {
7849
+ className: maxFilesClasses,
7850
+ variant: "body2"
7851
+ }, maxFiles, " files are the maximum number of files you can upload.");
7852
+ };
7853
+ var renderSelectFilesButton = function renderSelectFilesButton(isUploadDisabled, onButtonClick) {
7854
+ return /*#__PURE__*/React__default["default"].createElement(DotButton, {
7855
+ disabled: isUploadDisabled,
7856
+ onClick: onButtonClick
7857
+ }, "Select file(s)");
7858
+ };
7859
+ var renderActiveDragArea = function renderActiveDragArea() {
7860
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(DotIcon, {
7861
+ iconId: "upload-file"
7862
+ }), /*#__PURE__*/React__default["default"].createElement(DotTypography, {
7863
+ variant: "h3"
7864
+ }, "Drop the file(s) here ..."));
7865
+ };
7866
+ var renderDragAndDropArea = function renderDragAndDropArea(isUploadDisabled, onSelectButtonClick) {
7867
+ return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(DotIcon, {
7868
+ iconId: "upload-file"
7869
+ }), /*#__PURE__*/React__default["default"].createElement(DotTypography, {
7870
+ variant: "h3"
7871
+ }, "Drag and drop your file(s) here ", /*#__PURE__*/React__default["default"].createElement("br", null), " or"), renderSelectFilesButton(isUploadDisabled, onSelectButtonClick));
7872
+ };
7873
+ var renderDropzoneContent = function renderDropzoneContent(_a) {
7874
+ var buttonOnly = _a.buttonOnly,
7875
+ isDragActive = _a.isDragActive,
7876
+ isUploadDisabled = _a.isUploadDisabled,
7877
+ open = _a.open;
7878
+
7879
+ if (buttonOnly) {
7880
+ return renderSelectFilesButton(isUploadDisabled, open);
7881
+ } else {
7882
+ return isDragActive ? renderActiveDragArea() : renderDragAndDropArea(isUploadDisabled, open);
7883
+ }
7884
+ };
7885
+ var getUploadedFilesList = function getUploadedFilesList(uploadedFiles, maxSize, onFileDelete) {
7886
+ return uploadedFiles.map(function (file) {
7887
+ return parseListItem(onFileDelete, file, maxSize);
7888
+ });
7889
+ };
7798
7890
  var parseListItem = function parseListItem(deleteFile, fileToBeParsed, maxSize) {
7799
7891
  var fileErrors = fileToBeParsed.errors;
7800
7892
  var parsedFile = fileToBeParsed.file;
@@ -7808,8 +7900,6 @@
7808
7900
  return "File exceeds " + maxSize + "MB";
7809
7901
 
7810
7902
  case 'file-invalid-type':
7811
- return e.message;
7812
-
7813
7903
  case 'too-many-files':
7814
7904
  return e.message;
7815
7905
 
@@ -7825,8 +7915,7 @@
7825
7915
  deleteFile: deleteFile,
7826
7916
  error: hasErrors,
7827
7917
  errorText: errorText,
7828
- file: parsedFile,
7829
- key: CreateUUID()
7918
+ file: parsedFile
7830
7919
  })
7831
7920
  };
7832
7921
  };
@@ -7843,26 +7932,34 @@
7843
7932
  maxSize = _a.maxSize,
7844
7933
  onChange = _a.onChange,
7845
7934
  onDragEnter = _a.onDragEnter;
7846
- var rootClasses = useStylesWithRootClass(rootClassName$4, className, !buttonOnly ? dropZoneClassName : '', disabled ? 'disabled' : '');
7847
7935
 
7848
- var _c = reactDropzone.useDropzone({
7936
+ var _c = React.useState([]),
7937
+ uploadedFiles = _c[0],
7938
+ setUploadedFiles = _c[1];
7939
+
7940
+ var _d = React.useState(false),
7941
+ hasMaxFilesError = _d[0],
7942
+ setHasMaxFilesError = _d[1];
7943
+
7944
+ var isUploadDisabled = disabled || maxFiles && uploadedFiles.length >= maxFiles;
7945
+ var rootClasses = useStylesWithRootClass(rootClassName$4, className, !buttonOnly ? dropZoneClassName : '', isUploadDisabled ? 'disabled' : '');
7946
+ var maxFilesClasses = useStylesWithRootClass('dot-max-files-message', hasMaxFilesError ? 'dot-max-files-reached' : '');
7947
+ var allowMultiple = maxFiles === undefined || maxFiles > 1;
7948
+
7949
+ var _e = reactDropzone.useDropzone({
7849
7950
  accept: accept,
7850
- disabled: disabled,
7851
- maxFiles: maxFiles,
7951
+ disabled: isUploadDisabled,
7852
7952
  maxSize: maxSize * 1000000,
7953
+ multiple: allowMultiple,
7853
7954
  noClick: true,
7854
7955
  onDragEnter: onDragEnter
7855
7956
  }),
7856
- acceptedFiles = _c.acceptedFiles,
7857
- fileRejections = _c.fileRejections,
7858
- getRootProps = _c.getRootProps,
7859
- getInputProps = _c.getInputProps,
7860
- isDragActive = _c.isDragActive,
7861
- open = _c.open;
7862
-
7863
- var _d = React.useState([]),
7864
- uploadedFiles = _d[0],
7865
- setUploadedFiles = _d[1];
7957
+ acceptedFiles = _e.acceptedFiles,
7958
+ fileRejections = _e.fileRejections,
7959
+ getRootProps = _e.getRootProps,
7960
+ getInputProps = _e.getInputProps,
7961
+ isDragActive = _e.isDragActive,
7962
+ open = _e.open;
7866
7963
 
7867
7964
  React.useEffect(function () {
7868
7965
  onChange(uploadedFiles);
@@ -7881,7 +7978,16 @@
7881
7978
  };
7882
7979
 
7883
7980
  var parseFiles = function parseFiles() {
7884
- // map through accepted files and make them same shape as rejected files
7981
+ var totalFilesToUpload = uploadedFiles.length + acceptedFiles.length + fileRejections.length;
7982
+ var isMaxFilesReached = maxFiles && totalFilesToUpload > maxFiles;
7983
+
7984
+ if (isMaxFilesReached) {
7985
+ setHasMaxFilesError(true);
7986
+ return;
7987
+ }
7988
+
7989
+ setHasMaxFilesError(false); // map through accepted files and make them same shape as rejected files
7990
+
7885
7991
  var mappedFiles = acceptedFiles.map(function (value) {
7886
7992
  return {
7887
7993
  file: value,
@@ -7894,47 +8000,21 @@
7894
8000
  React.useEffect(function () {
7895
8001
  parseFiles();
7896
8002
  }, [acceptedFiles, fileRejections]);
7897
- var maxFilesMessage = /*#__PURE__*/React__default["default"].createElement(DotTypography, {
7898
- variant: "body2"
7899
- }, maxFiles, " files are the maximum number of files you can upload at once.");
7900
- var maxSizeMessage = /*#__PURE__*/React__default["default"].createElement(DotTypography, {
7901
- variant: "body2"
7902
- }, "File size should not exceed ", maxSize, "MB.");
7903
-
7904
- var dropzoneContent = function dropzoneContent() {
7905
- if (buttonOnly) {
7906
- return /*#__PURE__*/React__default["default"].createElement(DotButton, {
7907
- disabled: disabled,
7908
- onClick: open
7909
- }, "Select file(s)");
7910
- } else {
7911
- return isDragActive ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(DotIcon, {
7912
- iconId: "upload-file"
7913
- }), /*#__PURE__*/React__default["default"].createElement(DotTypography, {
7914
- variant: "h3"
7915
- }, "Drop the file(s) here ...")) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(DotIcon, {
7916
- iconId: "upload-file"
7917
- }), /*#__PURE__*/React__default["default"].createElement(DotTypography, {
7918
- variant: "h3"
7919
- }, "Drag and drop your file(s) here"), /*#__PURE__*/React__default["default"].createElement(DotTypography, {
7920
- variant: "h3"
7921
- }, "or"), /*#__PURE__*/React__default["default"].createElement(DotButton, {
7922
- disabled: disabled,
7923
- onClick: open
7924
- }, "Select file(s)"));
7925
- }
7926
- };
7927
-
8003
+ var uploadedFilesList = getUploadedFilesList(uploadedFiles, maxSize, deleteFile);
7928
8004
  return /*#__PURE__*/React__default["default"].createElement(StyledFileUploadContainer, {
7929
8005
  className: containerClassName
7930
8006
  }, /*#__PURE__*/React__default["default"].createElement(StyledFileUpload, __assign({}, getRootProps(), {
7931
8007
  "aria-label": ariaLabel,
7932
8008
  className: rootClasses,
7933
8009
  "data-testid": dataTestId
7934
- }), /*#__PURE__*/React__default["default"].createElement("input", __assign({}, getInputProps())), dropzoneContent()), maxSize && maxSizeMessage, maxFiles && maxFilesMessage, /*#__PURE__*/React__default["default"].createElement(DotList, {
7935
- items: uploadedFiles.map(function (file) {
7936
- return parseListItem(deleteFile, file, maxSize);
7937
- }),
8010
+ }), /*#__PURE__*/React__default["default"].createElement("input", __assign({}, getInputProps())), renderDropzoneContent({
8011
+ buttonOnly: buttonOnly,
8012
+ isDragActive: isDragActive,
8013
+ isUploadDisabled: isUploadDisabled,
8014
+ open: open
8015
+ })), maxSize && renderMaxSizeMessage(maxSize), maxFiles && renderMaxFilesMessage(maxFiles, maxFilesClasses), /*#__PURE__*/React__default["default"].createElement(DotList, {
8016
+ "data-testid": dataTestId && dataTestId + "-file-list",
8017
+ items: uploadedFilesList,
7938
8018
  width: "100%"
7939
8019
  }));
7940
8020
  };
@@ -0,0 +1,4 @@
1
+ export type { ButtonProps } from './Button';
2
+ export type { IconButtonProps, IconButtonColor, IconButtonSize, } from './IconButton';
3
+ export { DotButton } from './Button';
4
+ export { DotIconButton } from './IconButton';
@@ -1,15 +1,6 @@
1
1
  import { MouseEvent } from 'react';
2
2
  import { CommonProps } from '../CommonProps';
3
- export declare type ButtonToggleSize = 'small' | 'medium' | 'large';
4
- export declare type ButtonToggleOrientation = 'horizontal' | 'vertical';
5
- export declare type ButtonToggleValue = string | number | boolean;
6
- export interface ButtonToggleOption extends CommonProps {
7
- ariaLabel: string;
8
- disabled?: boolean;
9
- iconId?: string;
10
- text?: string;
11
- value: ButtonToggleValue;
12
- }
3
+ import { ButtonToggleOption, ButtonToggleOrientation, ButtonToggleSize, ButtonToggleValue } from './utils/models';
13
4
  export interface ButtonToggleProps extends CommonProps {
14
5
  /** button props for each toggle button options*/
15
6
  buttonOptions: ButtonToggleOption[];
@@ -1 +1,3 @@
1
- export * from './ButtonToggle';
1
+ export type { ButtonToggleOrientation, ButtonToggleOption, ButtonToggleSingleValue, ButtonToggleSize, ButtonToggleValue, } from './utils/models';
2
+ export type { ButtonToggleProps } from './ButtonToggle';
3
+ export { DotButtonToggle } from './ButtonToggle';
@@ -0,0 +1,12 @@
1
+ import { CommonProps } from '../../CommonProps';
2
+ export declare type ButtonToggleSingleValue = string | number | boolean;
3
+ export declare type ButtonToggleSize = 'small' | 'medium' | 'large';
4
+ export declare type ButtonToggleOrientation = 'horizontal' | 'vertical';
5
+ export declare type ButtonToggleValue = ButtonToggleSingleValue | Array<ButtonToggleSingleValue>;
6
+ export interface ButtonToggleOption extends CommonProps {
7
+ ariaLabel: string;
8
+ disabled?: boolean;
9
+ iconId?: string;
10
+ text?: string;
11
+ value: ButtonToggleValue;
12
+ }
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { CommonProps } from '../CommonProps';
3
- import { MappedFile } from './uploadHelpers';
3
+ import { MappedFile } from './utils/models';
4
4
  export interface FileUploadProps extends CommonProps {
5
5
  /** Unique file type specifiers <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/file#unique_file_type_specifiers" target="_blank">More Info</a> */
6
6
  accept?: Array<string>;
@@ -8,7 +8,7 @@ export interface FileUploadProps extends CommonProps {
8
8
  buttonOnly?: boolean;
9
9
  /** If true, the upload zone will be disabled */
10
10
  disabled?: boolean;
11
- /** Defines the maximum number of files that can be uploaded at once */
11
+ /** Defines the maximum number of files that can be uploaded */
12
12
  maxFiles?: number;
13
13
  /** Defines the maximum file size (in MB) */
14
14
  maxSize: number;
@@ -0,0 +1,2 @@
1
+ export type { FileUploadProps } from './FileUpload';
2
+ export { DotFileUpload } from './FileUpload';
@@ -0,0 +1,15 @@
1
+ import React, { ReactNode } from 'react';
2
+ import { FileWithPath } from 'react-dropzone';
3
+ import { DropzoneContentArgs, MappedFile } from './models';
4
+ export declare const renderMaxSizeMessage: (maxSizeMB: number) => ReactNode;
5
+ export declare const renderMaxFilesMessage: (maxFiles: number, maxFilesClasses: string) => ReactNode;
6
+ export declare const renderSelectFilesButton: (isUploadDisabled: boolean, onButtonClick: () => void) => ReactNode;
7
+ export declare const renderActiveDragArea: () => ReactNode;
8
+ export declare const renderDragAndDropArea: (isUploadDisabled: boolean, onSelectButtonClick: () => void) => ReactNode;
9
+ export declare const renderDropzoneContent: ({ buttonOnly, isDragActive, isUploadDisabled, open, }: DropzoneContentArgs) => React.ReactNode;
10
+ export declare const getUploadedFilesList: (uploadedFiles: MappedFile[], maxSize: number, onFileDelete: (fileToBeRemoved: FileWithPath) => void) => {
11
+ child: JSX.Element;
12
+ }[];
13
+ export declare const parseListItem: (deleteFile: (file: FileWithPath) => void, fileToBeParsed: MappedFile, maxSize: number) => {
14
+ child: JSX.Element;
15
+ };
@@ -1,13 +1,15 @@
1
- /// <reference types="react" />
2
1
  import { FileWithPath } from 'react-dropzone';
2
+ export interface FileUploadError {
3
+ code: string;
4
+ message: string;
5
+ }
3
6
  export interface MappedFile {
4
7
  errors: Array<FileUploadError>;
5
8
  file: FileWithPath;
6
9
  }
7
- export interface FileUploadError {
8
- code: string;
9
- message: string;
10
+ export interface DropzoneContentArgs {
11
+ buttonOnly: boolean;
12
+ isDragActive: boolean;
13
+ isUploadDisabled: boolean;
14
+ open: () => void;
10
15
  }
11
- export declare const parseListItem: (deleteFile: (file: FileWithPath) => void, fileToBeParsed: MappedFile, maxSize: number) => {
12
- child: JSX.Element;
13
- };
@@ -2,24 +2,23 @@ export type { AppToolbarProps } from './app-toolbar/AppToolbar';
2
2
  export type { AutoCompleteOption, AutoCompleteProps, AutoCompleteValue, AutocompleteRenderOptionState, } from './auto-complete';
3
3
  export type { AvatarProps } from './avatar/Avatar';
4
4
  export type { BreadcrumbItem } from './breadcrumbs/Breadcrumbs';
5
- export type { ButtonProps } from './button/Button';
6
- export type { ButtonToggleProps, ButtonToggleValue, ButtonToggleOption, ButtonToggleOrientation, ButtonToggleSize, } from './button-toggle';
5
+ export type { ButtonProps, IconButtonProps, IconButtonColor, IconButtonSize, } from './button';
6
+ export type { ButtonToggleProps, ButtonToggleValue, ButtonToggleOption, ButtonToggleOrientation, ButtonToggleSingleValue, ButtonToggleSize, } from './button-toggle';
7
7
  export type { CheckboxProps } from './checkbox/Checkbox';
8
8
  export type { CheckboxGroupProps } from './checkbox/CheckboxGroup';
9
9
  export type { SubmitButtonProps } from './dialog/Dialog';
10
10
  export type { DynamicFormProps } from './dynamic-form/DynamicForm';
11
11
  export type { ConditionFunction, ControlClickHandler, DisabledConditionFunction, DisabledControlCondition, DynamicFormConfig, DynamicFormControl, DynamicFormControlProps, DynamicFormControlType, DynamicFormOutputData, DynamicFormSectionProps, DynamicFormState, DynamicFormStateItem, FieldValidation, } from './dynamic-form/models';
12
- export type { IconButtonProps } from './button/IconButton';
13
12
  export type { InputTextProps } from './input-form-fields/InputText';
14
13
  export type { InputSelectProps, InputSelectOption, } from './input-form-fields/InputSelect';
15
14
  export type { LinkUnderline } from './link/Link';
16
15
  export type { ListItemProps } from './list';
17
16
  export type { MenuItemProps } from './menu/Menu';
18
- export type { RailItem } from './navigation-rail/NavigationRail';
17
+ export type { RailItem, RailItemsPosition } from './navigation-rail';
19
18
  export type { RadioButtonProps } from './radio/RadioButton';
20
19
  export type { RadioGroupProps } from './radio/RadioGroup';
21
20
  export type { BackItemProps, SidebarProps } from './sidebar/Sidebar';
22
- export type { SwitchProps } from './switch/Switch';
21
+ export type { SwitchProps, SwitchColor, SwitchSize, SwitchLabelPlacement, } from './switch';
23
22
  export type { DotColumnHeader, MultiSelect, Order, RowSelectionChangeHandler, RowsPerPageOption, TableDataWithPagination, TableRowProps, TableRowSelectChangeHandler, TextAlignment, SortDirection, } from './table';
24
23
  export type { TabProps } from './tabs/Tabs';
25
24
  export type { TypographyVariant } from './typography/Typography';
@@ -31,6 +30,8 @@ export type { TruncateWithTooltipProps } from './truncate-with-tooltip';
31
30
  export type { DraggableItem, DraggableListChangeHandler, } from './draggable-list';
32
31
  export type { SnackbarProps, SnackbarSeverity, SnackbarOrigin, } from './snackbar';
33
32
  export type { CharactersLimit, InlineEditProps } from './inline-edit';
33
+ export type { progressColorOptions, progressVariantOptions, ProgressProps, } from './progress';
34
+ export type { FileUploadProps } from './file-upload';
34
35
  export { DotAccordion } from './accordion/Accordion';
35
36
  export { DotActionToolbar } from './action-toolbar/ActionToolbar';
36
37
  export { DotAlertBanner } from './alert-banner/AlertBanner';
@@ -41,7 +42,7 @@ export { DotAvatar } from './avatar/Avatar';
41
42
  export { DotAvatarGroup } from './avatar-group/AvatarGroup';
42
43
  export { DotBadge } from './badge';
43
44
  export { DotBreadcrumbs } from './breadcrumbs/Breadcrumbs';
44
- export { DotButton } from './button/Button';
45
+ export { DotButton, DotIconButton } from './button';
45
46
  export { DotButtonToggle } from './button-toggle';
46
47
  export { DotCard } from './card/Card';
47
48
  export { DotCardContent } from './card/CardContent';
@@ -61,16 +62,15 @@ export { DotForm } from './form/Form';
61
62
  export { DotFormGroup } from './form-group/FormGroup';
62
63
  export { DotDynamicForm } from './dynamic-form/DynamicForm';
63
64
  export { DotIcon } from './icon/Icon';
64
- export { DotIconButton } from './button/IconButton';
65
65
  export { DotInlineEdit } from './inline-edit';
66
66
  export { DotInputText } from './input-form-fields/InputText';
67
67
  export { DotInputSelect } from './input-form-fields/InputSelect';
68
68
  export { DotLink } from './link/Link';
69
69
  export { DotList } from './list';
70
70
  export { DotMenu } from './menu/Menu';
71
- export { DotNavigationRail } from './navigation-rail/NavigationRail';
71
+ export { DotNavigationRail } from './navigation-rail';
72
72
  export { DotPill } from './pill/Pill';
73
- export { DotProgress } from './progress/Progress';
73
+ export { DotProgress } from './progress';
74
74
  export { DotRadioButton } from './radio/RadioButton';
75
75
  export { DotRadioGroup } from './radio/RadioGroup';
76
76
  export { DotSidebar } from './sidebar/Sidebar';
@@ -78,12 +78,12 @@ export { DotSkeleton } from './skeleton/Skeleton';
78
78
  export { DotSnackbar, DotSnackbarContainer, DotSnackbarProvider, useDotSnackbarContext, } from './snackbar';
79
79
  export { DotSplitButton } from './split-button/SplitButton';
80
80
  export { DotProgressButton } from './progress-button/ProgressButton';
81
- export { DotSwitch } from './switch/Switch';
81
+ export { DotSwitch } from './switch';
82
82
  export { DotHeaderRow, DotTable, DotTablePagination } from './table';
83
83
  export { DotTooltip } from './tooltip/Tooltip';
84
84
  export { DotTabs } from './tabs/Tabs';
85
85
  export { DotTypography } from './typography/Typography';
86
- export { DotFileUpload } from './file-upload/FileUpload';
86
+ export { DotFileUpload } from './file-upload';
87
87
  export { DotDivider } from './divider';
88
88
  export { DotPopper } from './popper';
89
89
  export { DotTruncateWithTooltip } from './truncate-with-tooltip';
@@ -1,8 +1,10 @@
1
1
  /// <reference types="react" />
2
2
  import { CommonProps } from '../CommonProps';
3
3
  import { TypographyVariant } from '../typography/Typography';
4
- import { CharactersLimit } from './utils/models';
4
+ import { CharactersLimit, InlineEditBinding } from './utils/models';
5
5
  export interface InlineEditProps extends CommonProps {
6
+ /** Optional array of bindings, used to replace targeted string in edit mode with the corresponding value in view mode */
7
+ bindings?: InlineEditBinding[];
6
8
  /** Characters limit configuration object */
7
9
  charactersLimit?: CharactersLimit;
8
10
  /** If true, the input will take up the full width of its container */
@@ -12,7 +14,7 @@ export interface InlineEditProps extends CommonProps {
12
14
  /** The name of input element */
13
15
  name: string;
14
16
  /** An async function which should be executed when the value of the input changes */
15
- onChange: (value: string) => Promise<boolean>;
17
+ onChange?: (value: string) => Promise<boolean>;
16
18
  /** A function that informs the parent of current editing state */
17
19
  onEditStateChange?: (editing: boolean) => void;
18
20
  /** If true, component will behave like a regular text (editing functionality will be disabled). */
@@ -25,4 +27,4 @@ export interface InlineEditProps extends CommonProps {
25
27
  /**
26
28
  * @experimental This component is still in development
27
29
  */
28
- export declare const DotInlineEdit: ({ ariaLabel, charactersLimit, className, "data-testid": dataTestId, fullWidth, hideActionButtons, name, onChange, onEditStateChange, readOnly, typography, value, }: InlineEditProps) => JSX.Element;
30
+ export declare const DotInlineEdit: ({ ariaLabel, bindings, charactersLimit, className, "data-testid": dataTestId, fullWidth, hideActionButtons, name, onChange, onEditStateChange, readOnly, typography, value, }: InlineEditProps) => JSX.Element;
@@ -0,0 +1,2 @@
1
+ export declare const multipleBindingsClassName = "dot-multiple-bindings-story";
2
+ export declare const StyledWithMultipleBindings: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -1,3 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
+ import { InlineEditBinding } from './models';
2
3
  export declare const getCounterAdornment: (currentLength: number, maxLength: number, dataTestId?: string) => ReactNode | undefined;
3
4
  export declare const getWarningAdornment: () => JSX.Element;
5
+ export declare const applyBindings: (bindings: InlineEditBinding[], inlineEditText: string) => ReactNode;
@@ -3,3 +3,11 @@ export interface CharactersLimit {
3
3
  hideCounter?: boolean;
4
4
  maxLength: number;
5
5
  }
6
+ export interface InlineEditBinding {
7
+ /** String, written in edit mode, which will be bound to the actual value in view mode */
8
+ binding: string;
9
+ /** Optional prop used to define custom CSS for the value when in view mode */
10
+ className?: string;
11
+ /** Value which will be displayed in view mode */
12
+ value: string;
13
+ }
@@ -0,0 +1,2 @@
1
+ export declare const programmaticNavigationClassName = "dot-programmatic-navigation-story";
2
+ export declare const StyledWithProgrammaticNavigation: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -0,0 +1,2 @@
1
+ export type { RailItemsPosition, RailItem, NavigationRailProps, } from './NavigationRail';
2
+ export { DotNavigationRail } from './NavigationRail';
@@ -0,0 +1,2 @@
1
+ export type { ProgressProps, progressColorOptions, progressVariantOptions, } from './Progress';
2
+ export { DotProgress } from './Progress';
@@ -0,0 +1,2 @@
1
+ export type { SwitchProps, SwitchColor, SwitchSize, SwitchLabelPlacement, } from './Switch';
2
+ export { DotSwitch } from './Switch';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digital-ai/dot-components",
3
- "version": "1.12.0",
3
+ "version": "1.14.1",
4
4
  "private": false,
5
5
  "license": "SEE LICENSE IN <LICENSE.md>",
6
6
  "contributors": [
@@ -29,10 +29,10 @@
29
29
  "@material-ui/lab": "4.0.0-alpha.56",
30
30
  "@material-ui/core": "4.12.3",
31
31
  "react-dropzone": "^11.4.2",
32
+ "react-grid-layout": "^1.3.4",
32
33
  "styled-components": "^5.2.1"
33
34
  },
34
35
  "peerDependencies": {
35
- "react": "^16.8.0 || ^17.0.0",
36
- "react-grid-layout": "^1.3.4"
36
+ "react": "^16.8.0 || ^17.0.0"
37
37
  }
38
38
  }