@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 +61 -5
- package/index.esm.js +115 -54
- package/index.umd.js +143 -63
- package/lib/components/button/index.d.ts +4 -0
- package/lib/components/button-toggle/ButtonToggle.d.ts +1 -10
- package/lib/components/button-toggle/index.d.ts +3 -1
- package/lib/components/button-toggle/utils/models.d.ts +12 -0
- package/lib/components/file-upload/FileUpload.d.ts +2 -2
- package/lib/components/file-upload/index.d.ts +2 -0
- package/lib/components/file-upload/utils/helpers.d.ts +15 -0
- package/lib/components/file-upload/{uploadHelpers.d.ts → utils/models.d.ts} +9 -7
- package/lib/components/index.d.ts +11 -11
- package/lib/components/inline-edit/InlineEdit.d.ts +5 -3
- package/lib/components/inline-edit/InlineEdit.stories.styles.d.ts +2 -0
- package/lib/components/inline-edit/utils/helpers.d.ts +2 -0
- package/lib/components/inline-edit/utils/models.d.ts +8 -0
- package/lib/components/navigation-rail/NavigationRail.stories.styles.d.ts +2 -0
- package/lib/components/navigation-rail/index.d.ts +2 -0
- package/lib/components/progress/index.d.ts +2 -0
- package/lib/components/switch/index.d.ts +2 -0
- package/package.json +3 -3
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 (
|
|
5648
|
-
|
|
5649
|
-
|
|
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(["&.", "{
|
|
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(["&.", "{
|
|
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
|
|
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
|
-
|
|
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
|
|
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())),
|
|
7281
|
-
|
|
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.
|
|
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
|
|
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
|
|
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 =
|
|
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:
|
|
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 =
|
|
7857
|
-
fileRejections =
|
|
7858
|
-
getRootProps =
|
|
7859
|
-
getInputProps =
|
|
7860
|
-
isDragActive =
|
|
7861
|
-
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
|
-
|
|
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
|
|
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())),
|
|
7935
|
-
|
|
7936
|
-
|
|
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
|
};
|
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
import { MouseEvent } from 'react';
|
|
2
2
|
import { CommonProps } from '../CommonProps';
|
|
3
|
-
|
|
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
|
|
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 './
|
|
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
|
|
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,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
|
|
8
|
-
|
|
9
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
71
|
+
export { DotNavigationRail } from './navigation-rail';
|
|
72
72
|
export { DotPill } from './pill/Pill';
|
|
73
|
-
export { DotProgress } from './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
|
|
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
|
|
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
|
|
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;
|
|
@@ -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
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digital-ai/dot-components",
|
|
3
|
-
"version": "1.
|
|
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
|
}
|