cozy-ui 77.10.0 → 78.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/assets/icons/illus/contacts.svg +1 -0
- package/assets/icons/illus/file-type-banking-account.svg +1 -0
- package/assets/icons/illus/papers.svg +1 -0
- package/assets/icons/illus/store.svg +1 -0
- package/package.json +3 -3
- package/react/Icon/Readme.md +9 -1
- package/react/Icon/icons-sprite.js +4 -4
- package/react/Icons/Contacts.jsx +7 -7
- package/react/Icons/FileTypeBankingAccount.jsx +25 -0
- package/react/Icons/Papers.jsx +21 -0
- package/react/Icons/Store.jsx +23 -0
- package/react/Viewer/Panel/Qualification.jsx +39 -25
- package/react/Viewer/Panel/QualificationListItemDate.jsx +23 -2
- package/react/Viewer/Readme.md +10 -1
- package/react/Viewer/components/ExpirationAlert.jsx +81 -0
- package/react/Viewer/components/ExpirationAnnotation.jsx +38 -0
- package/react/Viewer/locales/en.json +7 -1
- package/react/Viewer/locales/fr.json +7 -1
- package/react/__snapshots__/examples.spec.jsx.snap +89 -4
- package/transpiled/react/Icon/icons-sprite.js +1 -1
- package/transpiled/react/Icons/Contacts.js +9 -8
- package/transpiled/react/Icons/FileTypeBankingAccount.js +23 -0
- package/transpiled/react/Icons/Papers.js +20 -0
- package/transpiled/react/Icons/Store.js +22 -0
- package/transpiled/react/Viewer/Panel/Qualification.js +17 -7
- package/transpiled/react/Viewer/Panel/QualificationListItemDate.js +18 -2
- package/transpiled/react/Viewer/components/ExpirationAlert.js +102 -0
- package/transpiled/react/Viewer/components/ExpirationAnnotation.js +38 -0
- package/transpiled/react/Viewer/hoc/withViewerLocales.js +14 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,31 @@
|
|
|
1
|
+
# [78.1.0](https://github.com/cozy/cozy-ui/compare/v78.0.0...v78.1.0) (2022-12-08)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* Add FileTypeBankingAccount, Contacts, Papers and Store illustration ([4d4a1b8](https://github.com/cozy/cozy-ui/commit/4d4a1b8))
|
|
7
|
+
|
|
8
|
+
# [78.0.0](https://github.com/cozy/cozy-ui/compare/v77.10.0...v78.0.0) (2022-12-07)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* Require `file` prop in `Qualification` ([c29f5c7](https://github.com/cozy/cozy-ui/commit/c29f5c7))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
* Add an `ExpirationAlert` component ([9793851](https://github.com/cozy/cozy-ui/commit/9793851))
|
|
19
|
+
* Add an `ExpirationAnnotation` component ([50109bc](https://github.com/cozy/cozy-ui/commit/50109bc))
|
|
20
|
+
* Add expiration annotations to date qualifications ([a48496d](https://github.com/cozy/cozy-ui/commit/a48496d))
|
|
21
|
+
* Add the expiration alert to the qualification block ([651be00](https://github.com/cozy/cozy-ui/commit/651be00))
|
|
22
|
+
* Update `cozy-client` to 34.4.0 ([6bdaa34](https://github.com/cozy/cozy-ui/commit/6bdaa34))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### BREAKING CHANGES
|
|
26
|
+
|
|
27
|
+
* You need to update `cozy-client` to `>34.4.0`.
|
|
28
|
+
|
|
1
29
|
# [77.10.0](https://github.com/cozy/cozy-ui/compare/v77.9.2...v77.10.0) (2022-12-05)
|
|
2
30
|
|
|
3
31
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><g fill-rule="evenodd" clip-rule="evenodd"><path d="M32 25.995A1.997 1.997 0 0 1 30.002 28H24v-2.499c0-.829-.666-1.5-1.5-1.5-.829 0-1.5.678-1.5 1.5v2.5H11v-2.5c0-.829-.666-1.5-1.5-1.5-.829 0-1.5.678-1.5 1.5v2.5H1.998A2.002 2.002 0 0 1 0 25.994V6.005C0 4.897.889 4 2.001 4h27.997C31.104 4 32 4.897 32 6.005v19.99Z" fill="#FFD799"/><path d="M12 15.5c1.5 0 3 2.25 3 3l-.004.393c-.02.598-.128 1.107-.746 1.107H3.75C3 20 3 19.25 3 18.5s1.5-3 3-3 .75.75 3 .75 1.5-.75 3-.75ZM28 18v1H17v-1h11Zm0-3v1H17v-1h11ZM9 8c1.657 0 3 1.511 3 3.375s-1.343 3.375-3 3.375-3-1.51-3-3.375C6 9.511 7.343 8 9 8Zm19 4v1H17v-1h11Zm-5-3v1h-6V9h6Z" fill="#FF9300"/></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M30 5.2c0-1.12 0-1.68-.218-2.108a2 2 0 0 0-.874-.874C28.48 2 27.92 2 26.8 2H5.2c-1.12 0-1.68 0-2.108.218a2 2 0 0 0-.874.874C2 3.52 2 4.08 2 5.2v14.6c0 1.12 0 1.68.218 2.108a2 2 0 0 0 .874.874C3.52 23 4.08 23 5.2 23h21.6c1.12 0 1.68 0 2.108-.218a2 2 0 0 0 .874-.874C30 21.48 30 20.92 30 19.8V5.2Z" fill="#10C016"/><path d="M2 4a2 2 0 0 0 1.999 2H28.8c1.12 0 1.68 0 2.108.218a2 2 0 0 1 .874.874C32 7.52 32 8.08 32 9.2v17.6c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C30.48 30 29.92 30 28.8 30H3.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C0 28.48 0 27.92 0 26.8V5.2c0-1.12 0-1.68.218-2.108a2 2 0 0 1 .874-.874C1.52 2 2.08 2 3.2 2H4a2 2 0 0 0-2 2Z" fill="#9FE6A2"/><path fill-rule="evenodd" clip-rule="evenodd" d="M32 11a2 2 0 0 1-2 2h-9a5 5 0 0 0 0 10h8.793A2.207 2.207 0 0 0 32 20.793V11Zm-11 9a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z" fill="#10C016"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M30.002 28A1.997 1.997 0 0 0 32 25.995V6.005A2.003 2.003 0 0 0 29.998 4H2.001A1.998 1.998 0 0 0 0 6.005v19.99C0 27.102.895 28 1.998 28h28.004Z" fill="#E6D5FF"/><path fill-rule="evenodd" clip-rule="evenodd" d="M15 20.5c0-.75-1.5-3-3-3-.674 0-.894.152-1.136.319-.296.204-.625.431-1.864.431s-1.568-.227-1.864-.431C6.894 17.651 6.674 17.5 6 17.5c-1.5 0-3 2.25-3 3s0 1.5.75 1.5h10.5c.618 0 .727-.509.746-1.107L15 20.5Zm-3-7.125C12 11.511 10.657 10 9 10s-3 1.511-3 3.375 1.343 3.375 3 3.375 3-1.51 3-3.375ZM18 11a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2h-9Zm0 4a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2h-9Zm-1 5a1 1 0 0 1 1-1h9a1 1 0 1 1 0 2h-9a1 1 0 0 1-1-1Z" fill="#9C59FF"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M6 19v8h10v-8h14v12h-3V20h-7v11H2V19h4ZM30 2v6H2V2h28Z" fill="#FDD5D5"/><path fill-rule="evenodd" clip-rule="evenodd" d="M0 18.99C0 19.548.453 20 .993 20h30.014A.996.996 0 0 0 32 18.99v-1.98c0-.558-.097-1.445-.218-1.99L30 7H2L.218 15.02C.098 15.56 0 16.442 0 17.01v1.98Z" fill="#F52D2D"/></svg>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cozy-ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "78.1.0",
|
|
4
4
|
"description": "Cozy apps UI SDK",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"bin": {
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"babel-preset-cozy-app": "2.0.2",
|
|
91
91
|
"browserslist-config-cozy": "0.4.0",
|
|
92
92
|
"copyfiles": "2.4.1",
|
|
93
|
-
"cozy-client": "^
|
|
93
|
+
"cozy-client": "^34.4.0",
|
|
94
94
|
"cozy-device-helper": "2.0.0",
|
|
95
95
|
"cozy-flags": "^2.10.1",
|
|
96
96
|
"cozy-harvest-lib": "^6.7.3",
|
|
@@ -179,7 +179,7 @@
|
|
|
179
179
|
"rooks": "^5.11.2"
|
|
180
180
|
},
|
|
181
181
|
"peerDependencies": {
|
|
182
|
-
"cozy-client": ">=
|
|
182
|
+
"cozy-client": ">=34.4.0",
|
|
183
183
|
"cozy-device-helper": "^2.0.0",
|
|
184
184
|
"cozy-harvest-lib": "^6.7.3",
|
|
185
185
|
"cozy-intent": ">=1.3.0",
|
package/react/Icon/Readme.md
CHANGED
|
@@ -565,6 +565,10 @@ import FileTypeSlideIcon from 'cozy-ui/transpiled/react/Icons/FileTypeSlide'
|
|
|
565
565
|
import FileTypeTextIcon from 'cozy-ui/transpiled/react/Icons/FileTypeText'
|
|
566
566
|
import FileTypeVideoIcon from 'cozy-ui/transpiled/react/Icons/FileTypeVideo'
|
|
567
567
|
import FileTypeZipIcon from 'cozy-ui/transpiled/react/Icons/FileTypeZip'
|
|
568
|
+
import FileTypeBankingAccountIcon from 'cozy-ui/transpiled/react/Icons/FileTypeBankingAccount'
|
|
569
|
+
import ContactsIcon from 'cozy-ui/transpiled/react/Icons/Contacts'
|
|
570
|
+
import PapersIcon from 'cozy-ui/transpiled/react/Icons/Papers'
|
|
571
|
+
import StoreIcon from 'cozy-ui/transpiled/react/Icons/Store'
|
|
568
572
|
import ForbiddenSignIcon from 'cozy-ui/transpiled/react/Icons/ForbiddenSign'
|
|
569
573
|
import GoogleIcon from 'cozy-ui/transpiled/react/Icons/Google'
|
|
570
574
|
import LogoutLargeIcon from 'cozy-ui/transpiled/react/Icons/LogoutLarge'
|
|
@@ -594,6 +598,10 @@ const icons = [
|
|
|
594
598
|
FileTypeTextIcon,
|
|
595
599
|
FileTypeVideoIcon,
|
|
596
600
|
FileTypeZipIcon,
|
|
601
|
+
FileTypeBankingAccountIcon,
|
|
602
|
+
ContactsIcon,
|
|
603
|
+
PapersIcon,
|
|
604
|
+
StoreIcon,
|
|
597
605
|
ForbiddenSignIcon,
|
|
598
606
|
GoogleIcon,
|
|
599
607
|
LogoutLargeIcon,
|
|
@@ -641,7 +649,7 @@ import Icon from 'cozy-ui/transpiled/react/Icon'
|
|
|
641
649
|
import Typography from 'cozy-ui/transpiled/react/Typography'
|
|
642
650
|
import Sprite from 'cozy-ui/transpiled/react/Icon/Sprite'
|
|
643
651
|
|
|
644
|
-
const availableIcons = ['cozy', 'cloud-broken', 'cozy-logo', 'device-laptop', 'device-phone', 'device-tablet', 'device-browser', 'file-type-audio', 'file-type-bin', 'file-type-code', 'file-type-files', 'file-type-folder', 'file-type-image', 'file-type-note', 'file-type-pdf', 'file-type-sheet', 'file-type-slide', 'file-type-text', 'file-type-video', 'file-type-zip', 'forbidden-sign', 'google', 'logout-large', 'top-select', 'bottom-select', 'check-white', 'dash-white', 'keychain']
|
|
652
|
+
const availableIcons = ['cozy', 'cloud-broken', 'cozy-logo', 'device-laptop', 'device-phone', 'device-tablet', 'device-browser', 'file-type-audio', 'file-type-bin', 'file-type-code', 'file-type-files', 'file-type-folder', 'file-type-image', 'file-type-note', 'file-type-pdf', 'file-type-sheet', 'file-type-slide', 'file-type-text', 'file-type-video', 'file-type-zip', 'file-type-banking-account' , 'forbidden-sign', 'google', 'logout-large', 'top-select', 'bottom-select', 'check-white', 'dash-white', 'keychain', 'contacts', 'papers', 'store']
|
|
645
653
|
|
|
646
654
|
;
|
|
647
655
|
|
|
@@ -27,7 +27,7 @@ module.exports = `<svg><defs>
|
|
|
27
27
|
<path fill="#297EF1" d="M22.052 19.17c.44.217.621.75.405 1.19-1.201 2.435-3.707 4.032-6.457 4.032-2.103 0-4.04-.962-5.373-2.471-.091.394-.427.693-.85.693-.49 0-.888-.398-.888-.889V18.17c0-.056.014-.106.023-.158.005-.024.004-.048.01-.071.028-.106.072-.201.132-.285l.022-.024c.056-.073.124-.134.198-.186.022-.016.044-.03.068-.043.184-.104.399-.142.613-.098.024.005.047.012.07.018.077.022.149.057.22.102.024.015.048.026.071.043.01.008.021.011.031.02l2.667 2.221c.377.314.427.875.113 1.252-.166.2-.4.301-.64.313.96.832 2.198 1.34 3.513 1.34 2.065 0 3.958-1.206 4.862-3.04.217-.44.75-.621 1.19-.404zm1.031-2.589c-.003.018-.002.036-.007.053-.03.105-.077.198-.138.28-.011.016-.024.026-.035.039-.055.067-.12.124-.19.171-.023.016-.043.03-.067.043-.092.05-.191.087-.295.103-.003 0-.005.002-.007.003-.008 0-.015-.003-.023-.002-.096.012-.194.004-.292-.018-.024-.005-.046-.01-.07-.018-.077-.024-.153-.062-.225-.11-.02-.014-.042-.023-.06-.038-.007-.005-.015-.006-.02-.012l-2.668-2.223c-.376-.313-.428-.874-.113-1.251.183-.22.449-.314.713-.305-.96-.838-2.22-1.348-3.586-1.348-2.103 0-4.007 1.213-4.89 3.06-.21.444-.741.631-1.184.42-.443-.211-.631-.742-.42-1.184C10.682 11.78 13.21 10.17 16 10.17c2.127 0 4.061.93 5.385 2.412.11-.364.436-.634.837-.634.49 0 .889.398.889.888v3.556c0 .068-.014.128-.028.19z"/>
|
|
28
28
|
</g>
|
|
29
29
|
</g>
|
|
30
|
-
</symbol><symbol id="cozy-logo" viewBox="0 0 101 30">
|
|
30
|
+
</symbol><symbol id="contacts" viewBox="0 0 32 32"><g fill-rule="evenodd" clip-rule="evenodd"><path d="M32 25.995A1.997 1.997 0 0 1 30.002 28H24v-2.499c0-.829-.666-1.5-1.5-1.5-.829 0-1.5.678-1.5 1.5v2.5H11v-2.5c0-.829-.666-1.5-1.5-1.5-.829 0-1.5.678-1.5 1.5v2.5H1.998A2.002 2.002 0 0 1 0 25.994V6.005C0 4.897.889 4 2.001 4h27.997C31.104 4 32 4.897 32 6.005v19.99Z" fill="#FFD799"/><path d="M12 15.5c1.5 0 3 2.25 3 3l-.004.393c-.02.598-.128 1.107-.746 1.107H3.75C3 20 3 19.25 3 18.5s1.5-3 3-3 .75.75 3 .75 1.5-.75 3-.75ZM28 18v1H17v-1h11Zm0-3v1H17v-1h11ZM9 8c1.657 0 3 1.511 3 3.375s-1.343 3.375-3 3.375-3-1.51-3-3.375C6 9.511 7.343 8 9 8Zm19 4v1H17v-1h11Zm-5-3v1h-6V9h6Z" fill="#FF9300"/></g></symbol><symbol id="cozy-logo" viewBox="0 0 101 30">
|
|
31
31
|
<g fill="none" fill-rule="evenodd">
|
|
32
32
|
<path d="M0-5h101v40H0z"/>
|
|
33
33
|
<path fill="#297EF1" d="M29.408 30H10.592C4.75 30 0 25.317 0 19.56c0-2.745 1.072-5.338 3.02-7.3a10.589 10.589 0 0 1 6.31-3.064 10.316 10.316 0 0 1 3.11-6.22A10.607 10.607 0 0 1 19.847 0a10.61 10.61 0 0 1 7.406 2.976 10.324 10.324 0 0 1 3.107 6.187C35.756 9.64 40 14.121 40 19.561 40 25.317 35.247 30 29.408 30zm-.226-2.5h.079c4.543 0 8.239-3.612 8.239-8.05 0-4.438-3.696-8.048-8.239-8.048h-.083a1.08 1.08 0 0 1-1.092-1.043C27.983 6.025 24.289 2.5 19.85 2.5c-4.44 0-8.135 3.526-8.237 7.86a1.08 1.08 0 0 1-1.068 1.044c-4.436.1-8.045 3.709-8.045 8.047 0 4.438 3.696 8.049 8.239 8.049h.067l.026-.002c.024 0 .047 0 .07.002H29.183zm-3.127-8.333v-.002c.199.12.255.366.125.55a.453.453 0 0 1-.594.116 2.329 2.329 0 0 1-.485-.387c-1.448 1.204-3.28 1.806-5.11 1.806-1.827 0-3.654-.6-5.1-1.798a2.31 2.31 0 0 1-.476.378.455.455 0 0 1-.595-.115c-.13-.183-.074-.428.125-.549.732-.438.767-1.247.767-1.279.008-.217.206-.393.44-.386.235.005.423.185.419.402 0 .03-.013.414-.214.866 2.603 2.255 6.684 2.252 9.282-.014-.196-.446-.208-.824-.21-.853-.005-.217.184-.398.422-.402.238-.003.432.169.437.388.002.035.038.84.767 1.279zm33.222-4.905a1.405 1.405 0 0 1-.227.227.516.516 0 0 1-.319.085.756.756 0 0 1-.436-.162 5.113 5.113 0 0 0-1.404-.702c-.325-.109-.725-.163-1.202-.163-.624 0-1.174.113-1.651.338a3.179 3.179 0 0 0-1.19.962c-.316.416-.556.923-.721 1.521a7.592 7.592 0 0 0-.247 2.015c0 .771.087 1.458.26 2.06.173.603.42 1.11.741 1.521.32.412.71.724 1.17.937.46.212.97.318 1.534.318.546 0 .997-.067 1.352-.202.355-.134.65-.279.884-.435.234-.156.429-.301.585-.436.156-.134.316-.201.481-.201.208 0 .368.078.481.234l.728.936a4.903 4.903 0 0 1-1.02.949c-.378.26-.778.472-1.203.637a6.792 6.792 0 0 1-1.332.364 8.488 8.488 0 0 1-1.411.117 5.846 5.846 0 0 1-2.308-.455 5.228 5.228 0 0 1-1.858-1.326c-.525-.58-.939-1.293-1.242-2.139-.303-.845-.455-1.804-.455-2.879 0-.98.136-1.885.41-2.717a6.046 6.046 0 0 1 1.209-2.151 5.588 5.588 0 0 1 1.969-1.418c.78-.342 1.673-.513 2.678-.513.945 0 1.777.152 2.496.455.72.303 1.36.732 1.924 1.287l-.676.936zm8.814-2.678c.97 0 1.848.158 2.633.474a5.489 5.489 0 0 1 2.001 1.366c.55.593.973 1.308 1.268 2.145.295.836.442 1.774.442 2.814s-.147 1.98-.442 2.821c-.295.84-.717 1.556-1.267 2.145a5.527 5.527 0 0 1-2.002 1.358c-.785.317-1.662.475-2.633.475-.98 0-1.861-.158-2.645-.474a5.59 5.59 0 0 1-2.009-1.359c-.555-.59-.981-1.304-1.28-2.145-.3-.84-.449-1.781-.449-2.821 0-1.04.15-1.978.449-2.814a6.11 6.11 0 0 1 1.28-2.146 5.55 5.55 0 0 1 2.008-1.365c.785-.316 1.667-.474 2.646-.474zm0 11.622c1.248 0 2.18-.42 2.795-1.261.615-.84.923-2.024.923-3.549s-.308-2.71-.923-3.556c-.615-.845-1.547-1.267-2.795-1.267-1.265 0-2.208.422-2.828 1.267-.62.846-.929 2.03-.929 3.556 0 1.525.31 2.708.93 3.549.62.84 1.562 1.261 2.827 1.261zM86.46 12.858c0 .182-.032.36-.097.533-.066.173-.15.32-.254.442l-6.929 9.178h7.046V25H76.203v-1.066c0-.121.03-.266.091-.436.06-.169.147-.327.26-.474l6.968-9.243h-6.916v-1.989h9.854v1.066zm14.144-1.066l-7.332 17.043a1.07 1.07 0 0 1-.312.442c-.13.104-.32.156-.572.156h-1.885l2.418-5.265L87.5 11.792h2.21c.217 0 .386.052.507.156a.906.906 0 0 1 .26.351l3.354 7.93c.07.2.136.4.201.605a6.6 6.6 0 0 1 .163.604 14.609 14.609 0 0 1 .416-1.222l3.237-7.917a.84.84 0 0 1 .286-.364.729.729 0 0 1 .442-.143h2.028z"/>
|
|
@@ -62,7 +62,7 @@ module.exports = `<svg><defs>
|
|
|
62
62
|
</g>
|
|
63
63
|
</symbol><symbol id="dots-white" viewBox="0 0 16 16">
|
|
64
64
|
<path fill="#FFFFFF" fill-rule="evenodd" d="M34,74 C35.1045695,74 36,73.1045695 36,72 C36,70.8954305 35.1045695,70 34,70 C32.8954305,70 32,70.8954305 32,72 C32,73.1045695 32.8954305,74 34,74 Z M46,74 C47.1045695,74 48,73.1045695 48,72 C48,70.8954305 47.1045695,70 46,70 C44.8954305,70 44,70.8954305 44,72 C44,73.1045695 44.8954305,74 46,74 Z M40,74 C41.1045695,74 42,73.1045695 42,72 C42,70.8954305 41.1045695,70 40,70 C38.8954305,70 38,70.8954305 38,72 C38,73.1045695 38.8954305,74 40,74 Z" transform="translate(-32 -64)"/>
|
|
65
|
-
</symbol><symbol id="file-type-audio" viewBox="0 0 32 32"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><rect width="30" height="30" fill="#ACF6F7" rx="2"/><path fill="#0CCBD0" d="M8 19.998c-1.105 0-2 .888-2 2 0 1.105.898 2 1.998 2H9c1.657 0 3-1.35 3-2.997v-7.679a.63.63 0 0 1 .492-.601l6.016-1.129c.272-.05.492.124.492.418v5.478c0 .282-.215.51-.49.51H17c-1.105 0-2 .904-2 1.997v-.179a2 2 0 0 0 1.998 1.997H18c1.657 0 3-1.349 3-2.993V7c0-.554-.445-.921-.976-.825L10.976 7.82C10.437 7.918 10 8.454 10 9v10.498c0 .276-.215.5-.49.5H8z"/></g></symbol><symbol id="file-type-bin" viewBox="0 0 32 32"><g fill="none" fill-rule="evenodd"><path fill="#D1D5DB" d="M3 2.002C3 .896 3.89 0 4.997 0H22l7 7v22.996A2 2 0 0 1 27.003 32H4.997A1.995 1.995 0 0 1 3 29.998V2.002z"/><path fill="#A3ACB8" d="M21.5 0c-.276 0-.5.23-.5.5V8h7.5c.276 0 .5-.232.5-.5V7l-7-7h-.5z"/><path fill="#4F5B69" d="M7 15.568c0-.597.06-1.12.178-1.568.118-.449.285-.82.5-1.115.215-.295.473-.516.772-.664.3-.147.633-.221 1.001-.221.786 0 1.391.29 1.815.87.424.58.636 1.479.636 2.698 0 .602-.059 1.128-.177 1.577-.119.449-.286.822-.501 1.12-.215.298-.474.521-.776.669a2.265 2.265 0 0 1-1.006.22c-.792 0-1.397-.306-1.815-.918C7.209 17.623 7 16.734 7 15.568zm3.705 0a9.152 9.152 0 0 0-.019-.58l-2.292 2.191c.193.597.546.895 1.057.895.4 0 .708-.2.926-.6.219-.4.328-1.035.328-1.906zm-2.507 0a7.965 7.965 0 0 0 .018.55l2.283-2.192c-.187-.563-.54-.845-1.057-.845-.4 0-.707.202-.922.605-.215.402-.322 1.03-.322 1.882zm5.35 0c0-.597.06-1.12.179-1.568.118-.449.285-.82.5-1.115.215-.295.473-.516.772-.664.3-.147.633-.221 1.001-.221.786 0 1.39.29 1.815.87.424.58.636 1.479.636 2.698 0 .602-.06 1.128-.178 1.577-.118.449-.285.822-.5 1.12-.215.298-.474.521-.777.669a2.265 2.265 0 0 1-1.005.22c-.792 0-1.397-.306-1.815-.918-.418-.613-.627-1.502-.627-2.668zm3.706 0a9.153 9.153 0 0 0-.02-.58l-2.291 2.191c.193.597.546.895 1.057.895.4 0 .708-.2.926-.6.218-.4.328-1.035.328-1.906zm-2.508 0a7.965 7.965 0 0 0 .02.55l2.282-2.192c-.187-.563-.54-.845-1.057-.845-.4 0-.707.202-.922.605-.215.402-.323 1.03-.323 1.882zm5.988 2.368h1.431v-4.295l-1.235.993-.561-.786 2.133-1.71h.823v5.798h1.404v1.081h-3.995v-1.08zM7 24.413c0-.596.06-1.119.178-1.568.118-.449.285-.82.5-1.115.215-.295.473-.516.772-.664.3-.147.633-.22 1.001-.22.786 0 1.391.29 1.815.869.424.58.636 1.48.636 2.698 0 .603-.059 1.128-.177 1.577-.119.449-.286.822-.501 1.12-.215.299-.474.521-.776.669A2.265 2.265 0 0 1 9.442 28c-.792 0-1.397-.306-1.815-.919C7.209 26.468 7 25.58 7 24.413zm3.705 0a9.152 9.152 0 0 0-.019-.58l-2.292 2.192c.193.596.546.894 1.057.894.4 0 .708-.2.926-.6.219-.4.328-1.035.328-1.906zm-2.507 0a7.965 7.965 0 0 0 .018.55l2.283-2.192c-.187-.563-.54-.845-1.057-.845-.4 0-.707.202-.922.605-.215.403-.322 1.03-.322 1.882zm5.987 2.368h1.431v-4.295l-1.235.993-.56-.786 2.132-1.71h.824v5.798h1.403v1.081h-3.995v-1.08zm5.913-2.368c0-.596.059-1.119.177-1.568.119-.449.286-.82.501-1.115.215-.295.472-.516.772-.664.3-.147.633-.22 1-.22.787 0 1.392.29 1.816.869.424.58.636 1.48.636 2.698 0 .603-.06 1.128-.178 1.577-.118.449-.285.822-.5 1.12-.215.299-.474.521-.777.669A2.265 2.265 0 0 1 22.54 28c-.793 0-1.398-.306-1.815-.919-.418-.613-.627-1.502-.627-2.668zm3.704 0a9.152 9.152 0 0 0-.018-.58l-2.292 2.192c.193.596.545.894 1.057.894.399 0 .708-.2.926-.6.218-.4.327-1.035.327-1.906zm-2.507 0a7.965 7.965 0 0 0 .019.55l2.283-2.192c-.187-.563-.54-.845-1.057-.845-.4 0-.707.202-.922.605-.215.403-.323 1.03-.323 1.882z"/></g></symbol><symbol id="file-type-code" viewBox="0 0 32 32"><g fill="none" fill-rule="evenodd"><path fill="#E6D5FF" d="M3 2.002C3 .896 3.89 0 4.997 0H22l7 7v22.996A2 2 0 0 1 27.003 32H4.997A1.995 1.995 0 0 1 3 29.998V2.002z"/><path fill="#9C59FF" d="M21.5 0c-.276 0-.5.23-.5.5V8h7.5c.276 0 .5-.232.5-.5V7l-7-7h-.5z"/><g stroke="#9C59FF" stroke-width="2"><path stroke-linejoin="round" d="M12 22l-4-4 4-4M20 22l4-4-4-4"/><path d="M14 25l4-14"/></g></g></symbol><symbol id="file-type-files" viewBox="0 0 32 32"><g fill="none" fill-rule="evenodd"><path fill="#D1D5DB" d="M3 2.002C3 .896 3.89 0 4.997 0H22l7 7v22.996A2 2 0 0 1 27.003 32H4.997A1.995 1.995 0 0 1 3 29.998V2.002z"/><path fill="#A3ACB8" d="M21.5 0c-.276 0-.5.23-.5.5V8h7.5c.276 0 .5-.232.5-.5V7l-7-7h-.5z"/></g></symbol><symbol id="file-type-folder" viewBox="0 0 32 32"><g fill="none" fill-rule="evenodd" transform="translate(0 2)"><rect width="32" height="26" y="2" fill="#B2D3FF" rx="2"/><path fill="#197BFF" d="M0 .99C0 .445.45 0 1.007 0h11.986c.556 0 1.32.313 1.718.71l.578.58c.393.392 1.156.71 1.712.71h13.005C31.107 2 32 2.895 32 4H17c-.552 0-1.313.313-1.71.71l-.58.58c-.392.392-1.16.71-1.717.71H1.007A1.004 1.004 0 0 1 0 5.01V.99z"/></g></symbol><symbol id="file-type-image" viewBox="0 0 32 32"><g fill="none" fill-rule="evenodd" transform="translate(0 3)"><rect width="32" height="26" fill="#8EE39B" rx="2"/><path fill="#1EC737" d="M0 20l6.29-6.29a.999.999 0 0 1 1.416-.004L11 17l8.294-8.294a1.003 1.003 0 0 1 1.412 0L32 20v4.002C32 25.106 31.11 26 29.998 26H2.002A2.002 2.002 0 0 1 0 24.002V20z"/><circle cx="8" cy="7" r="3" fill="#FFF"/><path stroke="#8EE39B" d="M11 16l-5.5 5.5L11 16z" stroke-linecap="round" stroke-linejoin="round"/></g></symbol><symbol id="file-type-note" viewBox="0 0 32 32"><path d="M2 2a2 2 0 0 1 2-2h22a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2z" fill="#acf5f7" fill-rule="evenodd"/><path d="M8 8h14v2H8zm0 4h8v2H8zm0 4h14v2H8zm0 4h10v2H8zM1.5 4h2A1.54 1.54 0 0 1 5 5.5 1.54 1.54 0 0 1 3.5 7h-2A1.54 1.54 0 0 1 0 5.5 1.54 1.54 0 0 1 1.5 4zM1.5 11h2A1.54 1.54 0 0 1 5 12.5 1.54 1.54 0 0 1 3.5 14h-2A1.54 1.54 0 0 1 0 12.5 1.54 1.54 0 0 1 1.5 11zM1.5 18h2A1.54 1.54 0 0 1 5 19.5 1.54 1.54 0 0 1 3.5 21h-2A1.54 1.54 0 0 1 0 19.5 1.54 1.54 0 0 1 1.5 18zM1.5 25h2A1.54 1.54 0 0 1 5 26.5 1.54 1.54 0 0 1 3.5 28h-2A1.54 1.54 0 0 1 0 26.5 1.54 1.54 0 0 1 1.5 25zM31.4 18.4l-2.8-2.8a2 2 0 0 1 2.8 2.8zM30.7 19.1L20.8 29l-2.5.9a1 1 0 0 1-1.3-.6.85.85 0 0 1 0-.7l.9-2.5 9.9-9.9z" fill="#0dcbcf" fill-rule="evenodd"/></symbol><symbol id="file-type-pdf" viewBox="0 0 32 32"><g fill="none" fill-rule="evenodd"><path fill="#FCD0D5" d="M3 2.002C3 .896 3.89 0 4.997 0H22l7 7v22.996A2 2 0 0 1 27.003 32H4.997A1.995 1.995 0 0 1 3 29.998V2.002z"/><path fill="#F1132D" d="M21.5 0c-.276 0-.5.23-.5.5V8h7.5c.276 0 .5-.232.5-.5V7l-7-7h-.5zM9 11h14v2H9v-2zm0 4h12v2H9v-2zm.066 4.784h1.904c.283 0 .548.028.796.084.248.056.464.15.648.28.184.13.33.304.436.52.107.216.16.481.16.796 0 .304-.055.568-.164.792-.11.224-.257.408-.444.552a1.89 1.89 0 0 1-.648.32 2.87 2.87 0 0 1-.784.104h-.728V25H9.066v-5.216zm1.832 2.512c.64 0 .96-.277.96-.832 0-.272-.081-.464-.244-.576-.163-.112-.401-.168-.716-.168h-.656v1.576h.656zm3.016-2.512h1.472c.4 0 .76.05 1.08.152.32.101.595.257.824.468.23.21.405.479.528.804.123.325.184.712.184 1.16 0 .448-.061.837-.184 1.168-.123.33-.296.604-.52.82a2.137 2.137 0 0 1-.804.484c-.312.107-.66.16-1.044.16h-1.536v-5.216zm1.4 4.264c.224 0 .427-.03.608-.088.181-.059.336-.153.464-.284.128-.13.228-.303.3-.516.072-.213.108-.477.108-.792 0-.31-.036-.57-.108-.78a1.263 1.263 0 0 0-.3-.504 1.092 1.092 0 0 0-.464-.268 2.152 2.152 0 0 0-.608-.08h-.224v3.312h.224zm3.68-4.264h3.288v.992H20.17v1.208h1.808v.992H20.17V25h-1.176v-5.216z"/></g></symbol><symbol id="file-type-sheet" viewBox="0 0 32 32"><g fill="none" fill-rule="evenodd"><path fill="#9FE6A2" d="M3 2.002C3 .896 3.89 0 4.997 0H22l7 7v22.996A2 2 0 0 1 27.003 32H4.997A1.995 1.995 0 0 1 3 29.998V2.002z"/><path fill="#0FC016" d="M21.5 0c-.276 0-.5.23-.5.5V8h7.5c.276 0 .5-.232.5-.5V7l-7-7h-.5zM8 9h4v2H8V9zm0-4h4v2H8V5zm0 8h4v2H8v-2zm0 4h4v2H8v-2zm0 4h4v2H8v-2zm0 4h4v2H8v-2zm6-16h4v2h-4V9zm0-4h4v2h-4V5zm0 8h4v2h-4v-2zm0 4h4v2h-4v-2zm0 4h4v2h-4v-2zm0 4h4v2h-4v-2zm6-12h4v2h-4v-2zm0 4h4v2h-4v-2zm0 4h4v2h-4v-2zm0 4h4v2h-4v-2z"/></g></symbol><symbol id="file-type-slide" viewBox="0 0 32 32">
|
|
65
|
+
</symbol><symbol id="file-type-audio" viewBox="0 0 32 32"><g fill="none" fill-rule="evenodd" transform="translate(1 1)"><rect width="30" height="30" fill="#ACF6F7" rx="2"/><path fill="#0CCBD0" d="M8 19.998c-1.105 0-2 .888-2 2 0 1.105.898 2 1.998 2H9c1.657 0 3-1.35 3-2.997v-7.679a.63.63 0 0 1 .492-.601l6.016-1.129c.272-.05.492.124.492.418v5.478c0 .282-.215.51-.49.51H17c-1.105 0-2 .904-2 1.997v-.179a2 2 0 0 0 1.998 1.997H18c1.657 0 3-1.349 3-2.993V7c0-.554-.445-.921-.976-.825L10.976 7.82C10.437 7.918 10 8.454 10 9v10.498c0 .276-.215.5-.49.5H8z"/></g></symbol><symbol id="file-type-banking-account" viewBox="0 0 32 32"><path d="M30 5.2c0-1.12 0-1.68-.218-2.108a2 2 0 0 0-.874-.874C28.48 2 27.92 2 26.8 2H5.2c-1.12 0-1.68 0-2.108.218a2 2 0 0 0-.874.874C2 3.52 2 4.08 2 5.2v14.6c0 1.12 0 1.68.218 2.108a2 2 0 0 0 .874.874C3.52 23 4.08 23 5.2 23h21.6c1.12 0 1.68 0 2.108-.218a2 2 0 0 0 .874-.874C30 21.48 30 20.92 30 19.8V5.2Z" fill="#10C016"/><path d="M2 4a2 2 0 0 0 1.999 2H28.8c1.12 0 1.68 0 2.108.218a2 2 0 0 1 .874.874C32 7.52 32 8.08 32 9.2v17.6c0 1.12 0 1.68-.218 2.108a2 2 0 0 1-.874.874C30.48 30 29.92 30 28.8 30H3.2c-1.12 0-1.68 0-2.108-.218a2 2 0 0 1-.874-.874C0 28.48 0 27.92 0 26.8V5.2c0-1.12 0-1.68.218-2.108a2 2 0 0 1 .874-.874C1.52 2 2.08 2 3.2 2H4a2 2 0 0 0-2 2Z" fill="#9FE6A2"/><path fill-rule="evenodd" clip-rule="evenodd" d="M32 11a2 2 0 0 1-2 2h-9a5 5 0 0 0 0 10h8.793A2.207 2.207 0 0 0 32 20.793V11Zm-11 9a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z" fill="#10C016"/></symbol><symbol id="file-type-bin" viewBox="0 0 32 32"><g fill="none" fill-rule="evenodd"><path fill="#D1D5DB" d="M3 2.002C3 .896 3.89 0 4.997 0H22l7 7v22.996A2 2 0 0 1 27.003 32H4.997A1.995 1.995 0 0 1 3 29.998V2.002z"/><path fill="#A3ACB8" d="M21.5 0c-.276 0-.5.23-.5.5V8h7.5c.276 0 .5-.232.5-.5V7l-7-7h-.5z"/><path fill="#4F5B69" d="M7 15.568c0-.597.06-1.12.178-1.568.118-.449.285-.82.5-1.115.215-.295.473-.516.772-.664.3-.147.633-.221 1.001-.221.786 0 1.391.29 1.815.87.424.58.636 1.479.636 2.698 0 .602-.059 1.128-.177 1.577-.119.449-.286.822-.501 1.12-.215.298-.474.521-.776.669a2.265 2.265 0 0 1-1.006.22c-.792 0-1.397-.306-1.815-.918C7.209 17.623 7 16.734 7 15.568zm3.705 0a9.152 9.152 0 0 0-.019-.58l-2.292 2.191c.193.597.546.895 1.057.895.4 0 .708-.2.926-.6.219-.4.328-1.035.328-1.906zm-2.507 0a7.965 7.965 0 0 0 .018.55l2.283-2.192c-.187-.563-.54-.845-1.057-.845-.4 0-.707.202-.922.605-.215.402-.322 1.03-.322 1.882zm5.35 0c0-.597.06-1.12.179-1.568.118-.449.285-.82.5-1.115.215-.295.473-.516.772-.664.3-.147.633-.221 1.001-.221.786 0 1.39.29 1.815.87.424.58.636 1.479.636 2.698 0 .602-.06 1.128-.178 1.577-.118.449-.285.822-.5 1.12-.215.298-.474.521-.777.669a2.265 2.265 0 0 1-1.005.22c-.792 0-1.397-.306-1.815-.918-.418-.613-.627-1.502-.627-2.668zm3.706 0a9.153 9.153 0 0 0-.02-.58l-2.291 2.191c.193.597.546.895 1.057.895.4 0 .708-.2.926-.6.218-.4.328-1.035.328-1.906zm-2.508 0a7.965 7.965 0 0 0 .02.55l2.282-2.192c-.187-.563-.54-.845-1.057-.845-.4 0-.707.202-.922.605-.215.402-.323 1.03-.323 1.882zm5.988 2.368h1.431v-4.295l-1.235.993-.561-.786 2.133-1.71h.823v5.798h1.404v1.081h-3.995v-1.08zM7 24.413c0-.596.06-1.119.178-1.568.118-.449.285-.82.5-1.115.215-.295.473-.516.772-.664.3-.147.633-.22 1.001-.22.786 0 1.391.29 1.815.869.424.58.636 1.48.636 2.698 0 .603-.059 1.128-.177 1.577-.119.449-.286.822-.501 1.12-.215.299-.474.521-.776.669A2.265 2.265 0 0 1 9.442 28c-.792 0-1.397-.306-1.815-.919C7.209 26.468 7 25.58 7 24.413zm3.705 0a9.152 9.152 0 0 0-.019-.58l-2.292 2.192c.193.596.546.894 1.057.894.4 0 .708-.2.926-.6.219-.4.328-1.035.328-1.906zm-2.507 0a7.965 7.965 0 0 0 .018.55l2.283-2.192c-.187-.563-.54-.845-1.057-.845-.4 0-.707.202-.922.605-.215.403-.322 1.03-.322 1.882zm5.987 2.368h1.431v-4.295l-1.235.993-.56-.786 2.132-1.71h.824v5.798h1.403v1.081h-3.995v-1.08zm5.913-2.368c0-.596.059-1.119.177-1.568.119-.449.286-.82.501-1.115.215-.295.472-.516.772-.664.3-.147.633-.22 1-.22.787 0 1.392.29 1.816.869.424.58.636 1.48.636 2.698 0 .603-.06 1.128-.178 1.577-.118.449-.285.822-.5 1.12-.215.299-.474.521-.777.669A2.265 2.265 0 0 1 22.54 28c-.793 0-1.398-.306-1.815-.919-.418-.613-.627-1.502-.627-2.668zm3.704 0a9.152 9.152 0 0 0-.018-.58l-2.292 2.192c.193.596.545.894 1.057.894.399 0 .708-.2.926-.6.218-.4.327-1.035.327-1.906zm-2.507 0a7.965 7.965 0 0 0 .019.55l2.283-2.192c-.187-.563-.54-.845-1.057-.845-.4 0-.707.202-.922.605-.215.403-.323 1.03-.323 1.882z"/></g></symbol><symbol id="file-type-code" viewBox="0 0 32 32"><g fill="none" fill-rule="evenodd"><path fill="#E6D5FF" d="M3 2.002C3 .896 3.89 0 4.997 0H22l7 7v22.996A2 2 0 0 1 27.003 32H4.997A1.995 1.995 0 0 1 3 29.998V2.002z"/><path fill="#9C59FF" d="M21.5 0c-.276 0-.5.23-.5.5V8h7.5c.276 0 .5-.232.5-.5V7l-7-7h-.5z"/><g stroke="#9C59FF" stroke-width="2"><path stroke-linejoin="round" d="M12 22l-4-4 4-4M20 22l4-4-4-4"/><path d="M14 25l4-14"/></g></g></symbol><symbol id="file-type-files" viewBox="0 0 32 32"><g fill="none" fill-rule="evenodd"><path fill="#D1D5DB" d="M3 2.002C3 .896 3.89 0 4.997 0H22l7 7v22.996A2 2 0 0 1 27.003 32H4.997A1.995 1.995 0 0 1 3 29.998V2.002z"/><path fill="#A3ACB8" d="M21.5 0c-.276 0-.5.23-.5.5V8h7.5c.276 0 .5-.232.5-.5V7l-7-7h-.5z"/></g></symbol><symbol id="file-type-folder" viewBox="0 0 32 32"><g fill="none" fill-rule="evenodd" transform="translate(0 2)"><rect width="32" height="26" y="2" fill="#B2D3FF" rx="2"/><path fill="#197BFF" d="M0 .99C0 .445.45 0 1.007 0h11.986c.556 0 1.32.313 1.718.71l.578.58c.393.392 1.156.71 1.712.71h13.005C31.107 2 32 2.895 32 4H17c-.552 0-1.313.313-1.71.71l-.58.58c-.392.392-1.16.71-1.717.71H1.007A1.004 1.004 0 0 1 0 5.01V.99z"/></g></symbol><symbol id="file-type-image" viewBox="0 0 32 32"><g fill="none" fill-rule="evenodd" transform="translate(0 3)"><rect width="32" height="26" fill="#8EE39B" rx="2"/><path fill="#1EC737" d="M0 20l6.29-6.29a.999.999 0 0 1 1.416-.004L11 17l8.294-8.294a1.003 1.003 0 0 1 1.412 0L32 20v4.002C32 25.106 31.11 26 29.998 26H2.002A2.002 2.002 0 0 1 0 24.002V20z"/><circle cx="8" cy="7" r="3" fill="#FFF"/><path stroke="#8EE39B" d="M11 16l-5.5 5.5L11 16z" stroke-linecap="round" stroke-linejoin="round"/></g></symbol><symbol id="file-type-note" viewBox="0 0 32 32"><path d="M2 2a2 2 0 0 1 2-2h22a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2z" fill="#acf5f7" fill-rule="evenodd"/><path d="M8 8h14v2H8zm0 4h8v2H8zm0 4h14v2H8zm0 4h10v2H8zM1.5 4h2A1.54 1.54 0 0 1 5 5.5 1.54 1.54 0 0 1 3.5 7h-2A1.54 1.54 0 0 1 0 5.5 1.54 1.54 0 0 1 1.5 4zM1.5 11h2A1.54 1.54 0 0 1 5 12.5 1.54 1.54 0 0 1 3.5 14h-2A1.54 1.54 0 0 1 0 12.5 1.54 1.54 0 0 1 1.5 11zM1.5 18h2A1.54 1.54 0 0 1 5 19.5 1.54 1.54 0 0 1 3.5 21h-2A1.54 1.54 0 0 1 0 19.5 1.54 1.54 0 0 1 1.5 18zM1.5 25h2A1.54 1.54 0 0 1 5 26.5 1.54 1.54 0 0 1 3.5 28h-2A1.54 1.54 0 0 1 0 26.5 1.54 1.54 0 0 1 1.5 25zM31.4 18.4l-2.8-2.8a2 2 0 0 1 2.8 2.8zM30.7 19.1L20.8 29l-2.5.9a1 1 0 0 1-1.3-.6.85.85 0 0 1 0-.7l.9-2.5 9.9-9.9z" fill="#0dcbcf" fill-rule="evenodd"/></symbol><symbol id="file-type-pdf" viewBox="0 0 32 32"><g fill="none" fill-rule="evenodd"><path fill="#FCD0D5" d="M3 2.002C3 .896 3.89 0 4.997 0H22l7 7v22.996A2 2 0 0 1 27.003 32H4.997A1.995 1.995 0 0 1 3 29.998V2.002z"/><path fill="#F1132D" d="M21.5 0c-.276 0-.5.23-.5.5V8h7.5c.276 0 .5-.232.5-.5V7l-7-7h-.5zM9 11h14v2H9v-2zm0 4h12v2H9v-2zm.066 4.784h1.904c.283 0 .548.028.796.084.248.056.464.15.648.28.184.13.33.304.436.52.107.216.16.481.16.796 0 .304-.055.568-.164.792-.11.224-.257.408-.444.552a1.89 1.89 0 0 1-.648.32 2.87 2.87 0 0 1-.784.104h-.728V25H9.066v-5.216zm1.832 2.512c.64 0 .96-.277.96-.832 0-.272-.081-.464-.244-.576-.163-.112-.401-.168-.716-.168h-.656v1.576h.656zm3.016-2.512h1.472c.4 0 .76.05 1.08.152.32.101.595.257.824.468.23.21.405.479.528.804.123.325.184.712.184 1.16 0 .448-.061.837-.184 1.168-.123.33-.296.604-.52.82a2.137 2.137 0 0 1-.804.484c-.312.107-.66.16-1.044.16h-1.536v-5.216zm1.4 4.264c.224 0 .427-.03.608-.088.181-.059.336-.153.464-.284.128-.13.228-.303.3-.516.072-.213.108-.477.108-.792 0-.31-.036-.57-.108-.78a1.263 1.263 0 0 0-.3-.504 1.092 1.092 0 0 0-.464-.268 2.152 2.152 0 0 0-.608-.08h-.224v3.312h.224zm3.68-4.264h3.288v.992H20.17v1.208h1.808v.992H20.17V25h-1.176v-5.216z"/></g></symbol><symbol id="file-type-sheet" viewBox="0 0 32 32"><g fill="none" fill-rule="evenodd"><path fill="#9FE6A2" d="M3 2.002C3 .896 3.89 0 4.997 0H22l7 7v22.996A2 2 0 0 1 27.003 32H4.997A1.995 1.995 0 0 1 3 29.998V2.002z"/><path fill="#0FC016" d="M21.5 0c-.276 0-.5.23-.5.5V8h7.5c.276 0 .5-.232.5-.5V7l-7-7h-.5zM8 9h4v2H8V9zm0-4h4v2H8V5zm0 8h4v2H8v-2zm0 4h4v2H8v-2zm0 4h4v2H8v-2zm0 4h4v2H8v-2zm6-16h4v2h-4V9zm0-4h4v2h-4V5zm0 8h4v2h-4v-2zm0 4h4v2h-4v-2zm0 4h4v2h-4v-2zm0 4h4v2h-4v-2zm6-12h4v2h-4v-2zm0 4h4v2h-4v-2zm0 4h4v2h-4v-2zm0 4h4v2h-4v-2z"/></g></symbol><symbol id="file-type-slide" viewBox="0 0 32 32">
|
|
66
66
|
<title>icons/files/presentation</title>
|
|
67
67
|
<g id="icons/files/presentation" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
68
68
|
<g id="file-02" transform="translate(3.000000, 0.000000)">
|
|
@@ -78,12 +78,12 @@ module.exports = `<svg><defs>
|
|
|
78
78
|
<path fill="#F9BB00" d="M3.761 6.348L1.988 4.973l-.855-.656c-.105.212-.2.43-.288.653a7.79 7.79 0 0 0 0 5.727c.088.226.183.444.288.653l.845-.653 1.773-1.374a4.649 4.649 0 0 1 0-2.978l.01.003z"/>
|
|
79
79
|
<path fill="#E74133" d="M8.147 0h-.033a7.836 7.836 0 0 0-6.981 4.317l.845.653 1.774 1.375c0-.03.022-.056.032-.082a4.7 4.7 0 0 1 .696-1.306 4.591 4.591 0 0 1 3.624-1.855h.033a4.246 4.246 0 0 1 2.994 1.17l2.244-2.215A7.54 7.54 0 0 0 8.147 0"/>
|
|
80
80
|
</g>
|
|
81
|
-
</symbol><symbol id="keychain" viewBox="0 0 32 32"><g fill="none" fill-rule="evenodd"><path fill="#D1D5DB" d="M22 0h.28A10 10 0 0 1 32 9.72v.56A10 10 0 0 1 22.28 20h-.56a9.96 9.96 0 0 1-3.42-.7L7.18 30.77A4 4 0 0 1 4.3 32H2a2 2 0 0 1-2-2v-3.8c0-.45.18-.88.5-1.2l.05-.05a2 2 0 0 1 1.08-.56l.89-.14A1.77 1.77 0 0 0 4 22.5V22a1 1 0 0 1 1-1h.5c.83 0 1.5-.67 1.5-1.5V19a1 1 0 0 1 1-1h.75c.69 0 1.25-.56 1.25-1.25v-.42a2 2 0 0 1 .59-1.42l1.88-1.88A10 10 0 0 1 22 0zm.14 4c-.46 0-.93.05-1.39.17a2 2 0 0 0-1.04 3.25l.1.11 4.66 4.66a2 2 0 0 0 3.32-.8l.04-.14c.45-1.84 0-3.85-1.36-5.33l-.19-.2A5.83 5.83 0 0 0 22.42 4h-.28z"/><path fill="#95999D" d="M15.45 17.55c.54.47 1.13.89 1.77 1.23L4 32H2a2 2 0 0 1-.82-.18l14.27-14.27z"/></g></symbol><symbol id="logout-large" viewBox="0 0 44 44"><g fill="none" fill-rule="evenodd"><rect width="27.5" height="32.5" x="1.25" y="1.25" fill="#D9DDE1" rx="2"/><path fill="#95999D" d="M4.74 1.45l13.75 5.91c.92.4 1.51 1.3 1.51 2.29v27.61a2.5 2.5 0 01-3.49 2.29L2.76 33.64a2.49 2.49 0 01-1.51-2.29V3.74a2.5 2.5 0 013.49-2.29z"/><path fill="#95999D" fill-rule="nonzero" d="M34.3 12.92l.15.13 5 5c.69.69.73 1.77.13 2.5l-.13.15-5 5-.14.13a1.88 1.88 0 01-2.64-2.64l.13-.14 1.8-1.8h-7.98a1.88 1.88 0 01-.18-3.74l.18-.01h7.98l-1.8-1.8a1.87 1.87 0 012.5-2.78z"/></g></symbol><symbol id="share-grey08" viewBox="0 0 16 16">
|
|
81
|
+
</symbol><symbol id="keychain" viewBox="0 0 32 32"><g fill="none" fill-rule="evenodd"><path fill="#D1D5DB" d="M22 0h.28A10 10 0 0 1 32 9.72v.56A10 10 0 0 1 22.28 20h-.56a9.96 9.96 0 0 1-3.42-.7L7.18 30.77A4 4 0 0 1 4.3 32H2a2 2 0 0 1-2-2v-3.8c0-.45.18-.88.5-1.2l.05-.05a2 2 0 0 1 1.08-.56l.89-.14A1.77 1.77 0 0 0 4 22.5V22a1 1 0 0 1 1-1h.5c.83 0 1.5-.67 1.5-1.5V19a1 1 0 0 1 1-1h.75c.69 0 1.25-.56 1.25-1.25v-.42a2 2 0 0 1 .59-1.42l1.88-1.88A10 10 0 0 1 22 0zm.14 4c-.46 0-.93.05-1.39.17a2 2 0 0 0-1.04 3.25l.1.11 4.66 4.66a2 2 0 0 0 3.32-.8l.04-.14c.45-1.84 0-3.85-1.36-5.33l-.19-.2A5.83 5.83 0 0 0 22.42 4h-.28z"/><path fill="#95999D" d="M15.45 17.55c.54.47 1.13.89 1.77 1.23L4 32H2a2 2 0 0 1-.82-.18l14.27-14.27z"/></g></symbol><symbol id="logout-large" viewBox="0 0 44 44"><g fill="none" fill-rule="evenodd"><rect width="27.5" height="32.5" x="1.25" y="1.25" fill="#D9DDE1" rx="2"/><path fill="#95999D" d="M4.74 1.45l13.75 5.91c.92.4 1.51 1.3 1.51 2.29v27.61a2.5 2.5 0 01-3.49 2.29L2.76 33.64a2.49 2.49 0 01-1.51-2.29V3.74a2.5 2.5 0 013.49-2.29z"/><path fill="#95999D" fill-rule="nonzero" d="M34.3 12.92l.15.13 5 5c.69.69.73 1.77.13 2.5l-.13.15-5 5-.14.13a1.88 1.88 0 01-2.64-2.64l.13-.14 1.8-1.8h-7.98a1.88 1.88 0 01-.18-3.74l.18-.01h7.98l-1.8-1.8a1.87 1.87 0 012.5-2.78z"/></g></symbol><symbol id="papers" viewBox="0 0 32 32"><path d="M30.002 28A1.997 1.997 0 0 0 32 25.995V6.005A2.003 2.003 0 0 0 29.998 4H2.001A1.998 1.998 0 0 0 0 6.005v19.99C0 27.102.895 28 1.998 28h28.004Z" fill="#E6D5FF"/><path fill-rule="evenodd" clip-rule="evenodd" d="M15 20.5c0-.75-1.5-3-3-3-.674 0-.894.152-1.136.319-.296.204-.625.431-1.864.431s-1.568-.227-1.864-.431C6.894 17.651 6.674 17.5 6 17.5c-1.5 0-3 2.25-3 3s0 1.5.75 1.5h10.5c.618 0 .727-.509.746-1.107L15 20.5Zm-3-7.125C12 11.511 10.657 10 9 10s-3 1.511-3 3.375 1.343 3.375 3 3.375 3-1.51 3-3.375ZM18 11a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2h-9Zm0 4a1 1 0 1 0 0 2h9a1 1 0 1 0 0-2h-9Zm-1 5a1 1 0 0 1 1-1h9a1 1 0 1 1 0 2h-9a1 1 0 0 1-1-1Z" fill="#9C59FF"/></symbol><symbol id="share-grey08" viewBox="0 0 16 16">
|
|
82
82
|
<g fill="#32363F" fill-rule="evenodd" transform="translate(-160 -32)">
|
|
83
83
|
<path d="M165.082611,42.1593397 C164.543049,42.6798471 163.808912,43 163,43 C161.343146,43 160,41.6568542 160,40 C160,38.3431458 161.343146,37 163,37 C163.808912,37 164.543049,37.3201529 165.082611,37.8406603 L170.022669,35.3706317 C170.007705,35.2491857 170,35.1254927 170,35 C170,33.3431458 171.343146,32 173,32 C174.656854,32 176,33.3431458 176,35 C176,36.6568542 174.656854,38 173,38 C172.191088,38 171.456951,37.6798471 170.917389,37.1593397 L165.977331,39.6293683 C165.992295,39.7508143 166,39.8745073 166,40 C166,40.1254927 165.992295,40.2491857 165.977331,40.3706317 L170.917389,42.8406603 C171.456951,42.3201529 172.191088,42 173,42 C174.656854,42 176,43.3431458 176,45 C176,46.6568542 174.656854,48 173,48 C171.343146,48 170,46.6568542 170,45 C170,44.8745073 170.007705,44.7508143 170.022669,44.6293683 L165.082611,42.1593397 Z"/>
|
|
84
84
|
<path d="M165.082611,42.1593397 C164.543049,42.6798471 163.808912,43 163,43 C161.343146,43 160,41.6568542 160,40 C160,38.3431458 161.343146,37 163,37 C163.808912,37 164.543049,37.3201529 165.082611,37.8406603 L170.022669,35.3706317 C170.007705,35.2491857 170,35.1254927 170,35 C170,33.3431458 171.343146,32 173,32 C174.656854,32 176,33.3431458 176,35 C176,36.6568542 174.656854,38 173,38 C172.191088,38 171.456951,37.6798471 170.917389,37.1593397 L165.977331,39.6293683 C165.992295,39.7508143 166,39.8745073 166,40 C166,40.1254927 165.992295,40.2491857 165.977331,40.3706317 L170.917389,42.8406603 C171.456951,42.3201529 172.191088,42 173,42 C174.656854,42 176,43.3431458 176,45 C176,46.6568542 174.656854,48 173,48 C171.343146,48 170,46.6568542 170,45 C170,44.8745073 170.007705,44.7508143 170.022669,44.6293683 L165.082611,42.1593397 Z"/>
|
|
85
85
|
</g>
|
|
86
|
-
</symbol><symbol id="top-select" viewBox="0 0 24 24">
|
|
86
|
+
</symbol><symbol id="store" viewBox="0 0 32 32"><path fill-rule="evenodd" clip-rule="evenodd" d="M6 19v8h10v-8h14v12h-3V20h-7v11H2V19h4ZM30 2v6H2V2h28Z" fill="#FDD5D5"/><path fill-rule="evenodd" clip-rule="evenodd" d="M0 18.99C0 19.548.453 20 .993 20h30.014A.996.996 0 0 0 32 18.99v-1.98c0-.558-.097-1.445-.218-1.99L30 7H2L.218 15.02C.098 15.56 0 16.442 0 17.01v1.98Z" fill="#F52D2D"/></symbol><symbol id="top-select" viewBox="0 0 24 24">
|
|
87
87
|
<g fill="#95999d" fill-rule="evenodd" transform="translate(12.285714, 12.000000) rotate(270.000000) translate(-12.285714, -12.000000)">
|
|
88
88
|
<path d="M6.46026077,20.3174036 C5.84657974,20.9310847 5.84657974,21.9260582 6.46026077,22.5397392 C7.0739418,23.1534203 8.06891534,23.1534203 8.68259637,22.5397392 L18.1111678,13.1111678 C18.7248488,12.4974868 18.7248488,11.5025132 18.1111678,10.8888322 L8.68259637,1.46026077 C8.06891534,0.846579743 7.0739418,0.846579743 6.46026077,1.46026077 C5.84657974,2.0739418 5.84657974,3.06891534 6.46026077,3.68259637 L14.7776644,12 L6.46026077,20.3174036 Z"/>
|
|
89
89
|
</g>
|
package/react/Icons/Contacts.jsx
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
// Automatically created, please run `scripts/generate-svgr-icon.sh
|
|
1
|
+
// Automatically created, please run `scripts/generate-svgr-icon.sh assets/icons/illus/contacts.svg` to regenerate;
|
|
2
2
|
import React from 'react'
|
|
3
3
|
|
|
4
4
|
function SvgContacts(props) {
|
|
5
5
|
return (
|
|
6
|
-
<svg viewBox="0 0
|
|
7
|
-
<g
|
|
6
|
+
<svg viewBox="0 0 32 32" fill="none" {...props}>
|
|
7
|
+
<g fillRule="evenodd" clipRule="evenodd">
|
|
8
8
|
<path
|
|
9
|
-
d="
|
|
10
|
-
fill="#
|
|
9
|
+
d="M32 25.995A1.997 1.997 0 0130.002 28H24v-2.499c0-.829-.666-1.5-1.5-1.5-.829 0-1.5.678-1.5 1.5v2.5H11v-2.5c0-.829-.666-1.5-1.5-1.5-.829 0-1.5.678-1.5 1.5v2.5H1.998A2.002 2.002 0 010 25.994V6.005C0 4.897.889 4 2.001 4h27.997C31.104 4 32 4.897 32 6.005v19.99z"
|
|
10
|
+
fill="#FFD799"
|
|
11
11
|
/>
|
|
12
12
|
<path
|
|
13
|
-
d="
|
|
14
|
-
fill="#
|
|
13
|
+
d="M12 15.5c1.5 0 3 2.25 3 3l-.004.393c-.02.598-.128 1.107-.746 1.107H3.75C3 20 3 19.25 3 18.5s1.5-3 3-3 .75.75 3 .75 1.5-.75 3-.75zM28 18v1H17v-1h11zm0-3v1H17v-1h11zM9 8c1.657 0 3 1.511 3 3.375s-1.343 3.375-3 3.375-3-1.51-3-3.375C6 9.511 7.343 8 9 8zm19 4v1H17v-1h11zm-5-3v1h-6V9h6z"
|
|
14
|
+
fill="#FF9300"
|
|
15
15
|
/>
|
|
16
16
|
</g>
|
|
17
17
|
</svg>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Automatically created, please run `scripts/generate-svgr-icon.sh assets/icons/illus/file-type-banking-account.svg` to regenerate;
|
|
2
|
+
import React from 'react'
|
|
3
|
+
|
|
4
|
+
function SvgFileTypeBankingAccount(props) {
|
|
5
|
+
return (
|
|
6
|
+
<svg viewBox="0 0 32 32" fill="none" {...props}>
|
|
7
|
+
<path
|
|
8
|
+
d="M30 5.2c0-1.12 0-1.68-.218-2.108a2 2 0 00-.874-.874C28.48 2 27.92 2 26.8 2H5.2c-1.12 0-1.68 0-2.108.218a2 2 0 00-.874.874C2 3.52 2 4.08 2 5.2v14.6c0 1.12 0 1.68.218 2.108a2 2 0 00.874.874C3.52 23 4.08 23 5.2 23h21.6c1.12 0 1.68 0 2.108-.218a2 2 0 00.874-.874C30 21.48 30 20.92 30 19.8V5.2z"
|
|
9
|
+
fill="#10C016"
|
|
10
|
+
/>
|
|
11
|
+
<path
|
|
12
|
+
d="M2 4a2 2 0 001.999 2H28.8c1.12 0 1.68 0 2.108.218a2 2 0 01.874.874C32 7.52 32 8.08 32 9.2v17.6c0 1.12 0 1.68-.218 2.108a2 2 0 01-.874.874C30.48 30 29.92 30 28.8 30H3.2c-1.12 0-1.68 0-2.108-.218a2 2 0 01-.874-.874C0 28.48 0 27.92 0 26.8V5.2c0-1.12 0-1.68.218-2.108a2 2 0 01.874-.874C1.52 2 2.08 2 3.2 2H4a2 2 0 00-2 2z"
|
|
13
|
+
fill="#9FE6A2"
|
|
14
|
+
/>
|
|
15
|
+
<path
|
|
16
|
+
fillRule="evenodd"
|
|
17
|
+
clipRule="evenodd"
|
|
18
|
+
d="M32 11a2 2 0 01-2 2h-9a5 5 0 000 10h8.793A2.207 2.207 0 0032 20.793V11zm-11 9a2 2 0 100-4 2 2 0 000 4z"
|
|
19
|
+
fill="#10C016"
|
|
20
|
+
/>
|
|
21
|
+
</svg>
|
|
22
|
+
)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export default SvgFileTypeBankingAccount
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Automatically created, please run `scripts/generate-svgr-icon.sh assets/icons/illus/papers.svg` to regenerate;
|
|
2
|
+
import React from 'react'
|
|
3
|
+
|
|
4
|
+
function SvgPapers(props) {
|
|
5
|
+
return (
|
|
6
|
+
<svg viewBox="0 0 32 32" fill="none" {...props}>
|
|
7
|
+
<path
|
|
8
|
+
d="M30.002 28A1.997 1.997 0 0032 25.995V6.005A2.003 2.003 0 0029.998 4H2.001A1.998 1.998 0 000 6.005v19.99C0 27.102.895 28 1.998 28h28.004z"
|
|
9
|
+
fill="#E6D5FF"
|
|
10
|
+
/>
|
|
11
|
+
<path
|
|
12
|
+
fillRule="evenodd"
|
|
13
|
+
clipRule="evenodd"
|
|
14
|
+
d="M15 20.5c0-.75-1.5-3-3-3-.674 0-.894.152-1.136.319-.296.204-.625.431-1.864.431s-1.568-.227-1.864-.431C6.894 17.651 6.674 17.5 6 17.5c-1.5 0-3 2.25-3 3s0 1.5.75 1.5h10.5c.618 0 .727-.509.746-1.107L15 20.5zm-3-7.125C12 11.511 10.657 10 9 10s-3 1.511-3 3.375 1.343 3.375 3 3.375 3-1.51 3-3.375zM18 11a1 1 0 100 2h9a1 1 0 100-2h-9zm0 4a1 1 0 100 2h9a1 1 0 100-2h-9zm-1 5a1 1 0 011-1h9a1 1 0 110 2h-9a1 1 0 01-1-1z"
|
|
15
|
+
fill="#9C59FF"
|
|
16
|
+
/>
|
|
17
|
+
</svg>
|
|
18
|
+
)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export default SvgPapers
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Automatically created, please run `scripts/generate-svgr-icon.sh assets/icons/illus/store.svg` to regenerate;
|
|
2
|
+
import React from 'react'
|
|
3
|
+
|
|
4
|
+
function SvgStore(props) {
|
|
5
|
+
return (
|
|
6
|
+
<svg viewBox="0 0 32 32" fill="none" {...props}>
|
|
7
|
+
<path
|
|
8
|
+
fillRule="evenodd"
|
|
9
|
+
clipRule="evenodd"
|
|
10
|
+
d="M6 19v8h10v-8h14v12h-3V20h-7v11H2V19h4zM30 2v6H2V2h28z"
|
|
11
|
+
fill="#FDD5D5"
|
|
12
|
+
/>
|
|
13
|
+
<path
|
|
14
|
+
fillRule="evenodd"
|
|
15
|
+
clipRule="evenodd"
|
|
16
|
+
d="M0 18.99C0 19.548.453 20 .993 20h30.014A.996.996 0 0032 18.99v-1.98a11 11 0 00-.218-1.99L30 7H2L.218 15.02C.098 15.56 0 16.442 0 17.01v1.98z"
|
|
17
|
+
fill="#F52D2D"
|
|
18
|
+
/>
|
|
19
|
+
</svg>
|
|
20
|
+
)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export default SvgStore
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React, { useRef, useState, createRef, useMemo, useEffect } from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
|
|
4
|
+
import { models } from 'cozy-client'
|
|
5
|
+
|
|
4
6
|
import List from '../../MuiCozyTheme/List'
|
|
5
7
|
import { withViewerLocales } from '../hoc/withViewerLocales'
|
|
6
8
|
import {
|
|
@@ -9,12 +11,15 @@ import {
|
|
|
9
11
|
knownInformationMetadataNames,
|
|
10
12
|
knownOtherMetadataNames
|
|
11
13
|
} from '../helpers'
|
|
14
|
+
import ExpirationAlert from '../components/ExpirationAlert'
|
|
12
15
|
import QualificationListItemContact from './QualificationListItemContact'
|
|
13
16
|
import ActionMenuWrapper from './ActionMenuWrapper'
|
|
14
17
|
import QualificationListItemDate from './QualificationListItemDate'
|
|
15
18
|
import QualificationListItemInformation from './QualificationListItemInformation'
|
|
16
19
|
import QualificationListItemOther from './QualificationListItemOther'
|
|
17
20
|
|
|
21
|
+
const { isExpiringSoon } = models.paper
|
|
22
|
+
|
|
18
23
|
const makeQualificationListItemComp = metadataName => {
|
|
19
24
|
if (knownDateMetadataNames.includes(metadataName)) {
|
|
20
25
|
return QualificationListItemDate
|
|
@@ -32,7 +37,11 @@ const makeQualificationListItemComp = metadataName => {
|
|
|
32
37
|
}
|
|
33
38
|
}
|
|
34
39
|
|
|
35
|
-
const
|
|
40
|
+
const isExpirationAlertHidden = file => {
|
|
41
|
+
return file?.metadata?.hideExpirationAlert ?? false
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const Qualification = ({ file }) => {
|
|
36
45
|
const { metadata = {} } = file
|
|
37
46
|
const actionBtnRef = useRef([])
|
|
38
47
|
const [optionFile, setOptionFile] = useState({
|
|
@@ -63,36 +72,41 @@ const Qualification = ({ file = {} }) => {
|
|
|
63
72
|
}, [formatedMetadataQualification])
|
|
64
73
|
|
|
65
74
|
return (
|
|
66
|
-
|
|
67
|
-
{
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
75
|
+
<>
|
|
76
|
+
{isExpiringSoon(file) && !isExpirationAlertHidden(file) && (
|
|
77
|
+
<ExpirationAlert file={file} />
|
|
78
|
+
)}
|
|
79
|
+
<List className={'u-pv-1'}>
|
|
80
|
+
{formatedMetadataQualification.map((meta, idx) => {
|
|
81
|
+
const { name } = meta
|
|
82
|
+
const QualificationListItemComp = makeQualificationListItemComp(name)
|
|
83
|
+
|
|
84
|
+
return (
|
|
85
|
+
<QualificationListItemComp
|
|
86
|
+
key={idx}
|
|
87
|
+
file={file}
|
|
88
|
+
ref={actionBtnRef.current[idx]}
|
|
89
|
+
formatedMetadataQualification={meta}
|
|
90
|
+
toggleActionsMenu={val => toggleActionsMenu(idx, name, val)}
|
|
91
|
+
/>
|
|
92
|
+
)
|
|
93
|
+
})}
|
|
94
|
+
|
|
95
|
+
{optionFile.name && (
|
|
96
|
+
<ActionMenuWrapper
|
|
97
|
+
onClose={hideActionsMenu}
|
|
74
98
|
file={file}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
toggleActionsMenu={val => toggleActionsMenu(idx, name, val)}
|
|
99
|
+
optionFile={optionFile}
|
|
100
|
+
ref={actionBtnRef.current[optionFile.id]}
|
|
78
101
|
/>
|
|
79
|
-
)
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
{optionFile.name && (
|
|
83
|
-
<ActionMenuWrapper
|
|
84
|
-
onClose={hideActionsMenu}
|
|
85
|
-
file={file}
|
|
86
|
-
optionFile={optionFile}
|
|
87
|
-
ref={actionBtnRef.current[optionFile.id]}
|
|
88
|
-
/>
|
|
89
|
-
)}
|
|
90
|
-
</List>
|
|
102
|
+
)}
|
|
103
|
+
</List>
|
|
104
|
+
</>
|
|
91
105
|
)
|
|
92
106
|
}
|
|
93
107
|
|
|
94
108
|
Qualification.propTypes = {
|
|
95
|
-
file: PropTypes.object
|
|
109
|
+
file: PropTypes.object.isRequired
|
|
96
110
|
}
|
|
97
111
|
|
|
98
112
|
export default withViewerLocales(Qualification)
|
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react'
|
|
2
2
|
import PropTypes from 'prop-types'
|
|
3
3
|
|
|
4
|
+
import { models } from 'cozy-client'
|
|
5
|
+
|
|
4
6
|
import ListItem from '../../MuiCozyTheme/ListItem'
|
|
5
7
|
import ListItemSecondaryAction from '../../MuiCozyTheme/ListItemSecondaryAction'
|
|
6
8
|
import IconButton from '../../IconButton'
|
|
7
9
|
import Icon from '../../Icon'
|
|
8
10
|
import Dots from '../../Icons/Dots'
|
|
11
|
+
import Typography from '../../Typography'
|
|
12
|
+
import ExpirationAnnotation from '../components/ExpirationAnnotation'
|
|
9
13
|
import QualificationListItemText from './QualificationListItemText'
|
|
10
14
|
import { useI18n } from '../../I18n'
|
|
11
15
|
import { formatDate } from '../helpers'
|
|
12
16
|
|
|
17
|
+
const { isExpired, isExpiringSoon } = models.paper
|
|
18
|
+
|
|
13
19
|
const QualificationListItemDate = forwardRef(
|
|
14
|
-
({ formatedMetadataQualification, toggleActionsMenu }, ref) => {
|
|
20
|
+
({ file, formatedMetadataQualification, toggleActionsMenu }, ref) => {
|
|
15
21
|
const { t, f, lang } = useI18n()
|
|
16
22
|
const { name, value } = formatedMetadataQualification
|
|
17
23
|
const formattedDate = value
|
|
@@ -22,7 +28,21 @@ const QualificationListItemDate = forwardRef(
|
|
|
22
28
|
<ListItem className={'u-pl-2 u-pr-3'}>
|
|
23
29
|
<QualificationListItemText
|
|
24
30
|
primary={t(`Viewer.panel.qualification.date.title.${name}`)}
|
|
25
|
-
secondary={
|
|
31
|
+
secondary={
|
|
32
|
+
<>
|
|
33
|
+
<Typography component="span" variant="inherit">
|
|
34
|
+
{formattedDate}
|
|
35
|
+
</Typography>
|
|
36
|
+
{(isExpired(file) || isExpiringSoon(file)) && (
|
|
37
|
+
<>
|
|
38
|
+
<Typography component="span" variant="inherit">
|
|
39
|
+
{' · '}
|
|
40
|
+
</Typography>
|
|
41
|
+
<ExpirationAnnotation file={file} />
|
|
42
|
+
</>
|
|
43
|
+
)}
|
|
44
|
+
</>
|
|
45
|
+
}
|
|
26
46
|
disabled={!value}
|
|
27
47
|
/>
|
|
28
48
|
<ListItemSecondaryAction>
|
|
@@ -41,6 +61,7 @@ const QualificationListItemDate = forwardRef(
|
|
|
41
61
|
QualificationListItemDate.displayName = 'QualificationListItemDate'
|
|
42
62
|
|
|
43
63
|
QualificationListItemDate.propTypes = {
|
|
64
|
+
file: PropTypes.object.isRequired,
|
|
44
65
|
formatedMetadataQualification: PropTypes.shape({
|
|
45
66
|
name: PropTypes.string,
|
|
46
67
|
value: PropTypes.string
|
package/react/Viewer/Readme.md
CHANGED
|
@@ -122,7 +122,16 @@ const files = [
|
|
|
122
122
|
_id: 'image',
|
|
123
123
|
class: 'image',
|
|
124
124
|
name: 'Demo.jpg',
|
|
125
|
-
mime: 'image/jpg'
|
|
125
|
+
mime: 'image/jpg',
|
|
126
|
+
metadata: {
|
|
127
|
+
carbonCopy: true,
|
|
128
|
+
electronicSafe: true,
|
|
129
|
+
referencedDate: new Date(Date.now() - 357 * 24 * 60 * 60 * 1000).toISOString(),
|
|
130
|
+
datetimeLabel: "referencedDate",
|
|
131
|
+
qualification: {
|
|
132
|
+
label: 'personal_sporting_licence'
|
|
133
|
+
}
|
|
134
|
+
}
|
|
126
135
|
},
|
|
127
136
|
{
|
|
128
137
|
_id: 'none',
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import React, { useState } from 'react'
|
|
2
|
+
import PropTypes from 'prop-types'
|
|
3
|
+
|
|
4
|
+
import { useClient, models } from 'cozy-client'
|
|
5
|
+
|
|
6
|
+
import Alert from '../../Alert'
|
|
7
|
+
import Button from '../../Buttons'
|
|
8
|
+
import Link from '../../Link'
|
|
9
|
+
import Typography from '../../Typography'
|
|
10
|
+
import { withViewerLocales } from '../hoc/withViewerLocales'
|
|
11
|
+
import { useI18n } from '../../I18n'
|
|
12
|
+
import { formatLocallyDistanceToNow } from '../../I18n/format'
|
|
13
|
+
|
|
14
|
+
const FILES_DOCTYPE = 'io.cozy.files'
|
|
15
|
+
|
|
16
|
+
const { computeExpirationDate, computeExpirationNoticeLink } = models.paper
|
|
17
|
+
|
|
18
|
+
const ExpirationAlert = ({ file }) => {
|
|
19
|
+
const { t } = useI18n()
|
|
20
|
+
const client = useClient()
|
|
21
|
+
const [isBusy, setIsBusy] = useState(false)
|
|
22
|
+
|
|
23
|
+
const handleClose = async () => {
|
|
24
|
+
setIsBusy(true)
|
|
25
|
+
await client.collection(FILES_DOCTYPE).updateMetadataAttribute(file.id, {
|
|
26
|
+
...file.metadata,
|
|
27
|
+
hideExpirationAlert: true
|
|
28
|
+
})
|
|
29
|
+
setIsBusy(false)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const expirationDate = computeExpirationDate(file)
|
|
33
|
+
const expirationNoticeLink = computeExpirationNoticeLink(file)
|
|
34
|
+
|
|
35
|
+
return (
|
|
36
|
+
<Alert
|
|
37
|
+
severity="warning"
|
|
38
|
+
block
|
|
39
|
+
action={
|
|
40
|
+
<Button
|
|
41
|
+
color="warning"
|
|
42
|
+
variant="text"
|
|
43
|
+
size="small"
|
|
44
|
+
busy={isBusy}
|
|
45
|
+
label={t('Viewer.panel.expiration.dismiss')}
|
|
46
|
+
onClick={handleClose}
|
|
47
|
+
/>
|
|
48
|
+
}
|
|
49
|
+
className="u-mt-1 u-mh-1"
|
|
50
|
+
>
|
|
51
|
+
<Typography component="span" variant="inherit">
|
|
52
|
+
<Typography component="span" variant="inherit">
|
|
53
|
+
{t('Viewer.panel.expiration.description', {
|
|
54
|
+
duration: formatLocallyDistanceToNow(expirationDate)
|
|
55
|
+
})}
|
|
56
|
+
</Typography>
|
|
57
|
+
{expirationNoticeLink && (
|
|
58
|
+
<>
|
|
59
|
+
<Typography component="span" variant="inherit">
|
|
60
|
+
{' : '}
|
|
61
|
+
</Typography>
|
|
62
|
+
<Link
|
|
63
|
+
href={expirationNoticeLink}
|
|
64
|
+
rel="noreferrer"
|
|
65
|
+
target="_blank"
|
|
66
|
+
className="u-warning"
|
|
67
|
+
>
|
|
68
|
+
{new URL(expirationNoticeLink).hostname}
|
|
69
|
+
</Link>
|
|
70
|
+
</>
|
|
71
|
+
)}
|
|
72
|
+
</Typography>
|
|
73
|
+
</Alert>
|
|
74
|
+
)
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
ExpirationAlert.propTypes = {
|
|
78
|
+
file: PropTypes.object.isRequired
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export default withViewerLocales(ExpirationAlert)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import PropTypes from 'prop-types'
|
|
3
|
+
|
|
4
|
+
import { models } from 'cozy-client'
|
|
5
|
+
|
|
6
|
+
import Typography from '../../Typography'
|
|
7
|
+
import { useI18n } from '../../I18n'
|
|
8
|
+
import { formatLocallyDistanceToNow } from '../../I18n/format'
|
|
9
|
+
|
|
10
|
+
const { computeExpirationDate, isExpired } = models.paper
|
|
11
|
+
|
|
12
|
+
const ExpirationAnnotation = ({ file }) => {
|
|
13
|
+
const { t } = useI18n()
|
|
14
|
+
|
|
15
|
+
if (isExpired(file)) {
|
|
16
|
+
return (
|
|
17
|
+
<Typography component="span" variant="inherit" color="error">
|
|
18
|
+
{t('Viewer.panel.qualification.expired')}
|
|
19
|
+
</Typography>
|
|
20
|
+
)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const expirationDate = computeExpirationDate(file)
|
|
24
|
+
|
|
25
|
+
return (
|
|
26
|
+
<Typography component="span" variant="inherit" className="u-warning">
|
|
27
|
+
{t('Viewer.panel.qualification.expiresIn', {
|
|
28
|
+
duration: formatLocallyDistanceToNow(expirationDate)
|
|
29
|
+
})}
|
|
30
|
+
</Typography>
|
|
31
|
+
)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
ExpirationAnnotation.propTypes = {
|
|
35
|
+
file: PropTypes.object.isRequired
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export default ExpirationAnnotation
|
|
@@ -72,7 +72,13 @@
|
|
|
72
72
|
"copy": "Copy",
|
|
73
73
|
"copyClipboard": "Copy to clipboard",
|
|
74
74
|
"edit": "Edit"
|
|
75
|
-
}
|
|
75
|
+
},
|
|
76
|
+
"expired": "Expired",
|
|
77
|
+
"expiresIn": "Expires in %{duration}"
|
|
78
|
+
},
|
|
79
|
+
"expiration": {
|
|
80
|
+
"description": "This document will expire in %{duration}, consider renewing it",
|
|
81
|
+
"dismiss": "I understood"
|
|
76
82
|
},
|
|
77
83
|
"title": "Useful information"
|
|
78
84
|
},
|