cozy-ui 90.5.0 → 90.7.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 CHANGED
@@ -1,3 +1,17 @@
1
+ # [90.7.0](https://github.com/cozy/cozy-ui/compare/v90.6.0...v90.7.0) (2023-08-09)
2
+
3
+
4
+ ### Features
5
+
6
+ * **ListItemFile:** Use Filename to show the primary text ([38c2bd2](https://github.com/cozy/cozy-ui/commit/38c2bd2))
7
+
8
+ # [90.6.0](https://github.com/cozy/cozy-ui/compare/v90.5.0...v90.6.0) (2023-08-08)
9
+
10
+
11
+ ### Features
12
+
13
+ * **Filename:** Add midEllipsis prop ([1f9df73](https://github.com/cozy/cozy-ui/commit/1f9df73))
14
+
1
15
  # [90.5.0](https://github.com/cozy/cozy-ui/compare/v90.4.0...v90.5.0) (2023-08-07)
2
16
 
3
17
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cozy-ui",
3
- "version": "90.5.0",
3
+ "version": "90.7.0",
4
4
  "description": "Cozy apps UI SDK",
5
5
  "main": "./index.js",
6
6
  "bin": {
@@ -1,29 +1,25 @@
1
1
  #### Filename with extension (ellipsis by default)
2
2
 
3
3
  ```jsx
4
- import Filename from 'cozy-ui/transpiled/react/Filename';
5
- <div>
6
- <Filename filename="Lacinia condimentum potenti id est tortor dictumst lectus tincidunt hac ultricies, curae mattis nisi neque sodales sagittis dui nulla aliquam turpis eros, finibus ac iaculis dictum et orci elit posuere ex" extension=".pdf" />
7
- </div>
8
- ```
9
-
10
- #### Filename with extension and icon
4
+ import Filename from 'cozy-ui/transpiled/react/Filename'
5
+ import FileIcon from 'cozy-ui/transpiled/react/Icons/File'
6
+ import Variants from 'cozy-ui/docs/components/Variants'
11
7
 
12
- ```jsx
13
- import Filename from 'cozy-ui/transpiled/react/Filename';
14
- import FileIcon from 'cozy-ui/transpiled/react/Icons/File';
8
+ const initialVariants = [
9
+ { midEllipsis: false, icon: false, body1Variant: false, noExtension: false }
10
+ ]
15
11
 
16
- <div>
17
- <Filename icon={FileIcon} filename="my_awesome_paper" extension=".pdf" />
18
- </div>
19
- ```
20
-
21
- #### Filename with custom variant
22
-
23
- ```jsx
24
- import Filename from 'cozy-ui/transpiled/react/Filename';
12
+ ;
25
13
 
26
- <div>
27
- <Filename variant={'body1'} filename="my_awesome_paper" extension=".pdf" />
28
- </div>
14
+ <Variants initialVariants={initialVariants} screenshotAllVariants>
15
+ {variant => (
16
+ <Filename
17
+ icon={variant.icon ? FileIcon : undefined}
18
+ variant={variant.body1Variant ? 'body1' : undefined}
19
+ midEllipsis={variant.midEllipsis}
20
+ filename="Lacinia condimentum potenti id est tortor dictumst lectus tincidunt hac ultricies, curae mattis nisi neque sodales sagittis dui nulla aliquam turpis eros, finibus ac iaculis dictum et orci elit posuere ex"
21
+ extension={variant.noExtension ? undefined : ".pdf"}
22
+ />
23
+ )}
24
+ </Variants>
29
25
  ```
@@ -5,9 +5,11 @@ import cx from 'classnames'
5
5
  import { Media, Bd, Img } from '../deprecated/Media'
6
6
  import Icon from '../Icon'
7
7
  import Typography from '../Typography'
8
+ import MidEllipsis from '../MidEllipsis'
9
+
8
10
  import styles from './styles.styl'
9
11
 
10
- const Filename = ({ icon, filename, extension, variant }) => {
12
+ const Filename = ({ icon, filename, extension, midEllipsis, variant }) => {
11
13
  return (
12
14
  <Media>
13
15
  {icon && (
@@ -21,9 +23,12 @@ const Filename = ({ icon, filename, extension, variant }) => {
21
23
  <Typography
22
24
  variant={variant}
23
25
  component="span"
24
- className={cx(styles['c-filename-name'], 'u-ellipsis')}
26
+ className={cx(styles['c-filename-name'], {
27
+ 'u-ellipsis': !midEllipsis,
28
+ 'u-ov-hidden': midEllipsis
29
+ })}
25
30
  >
26
- {filename}
31
+ {midEllipsis ? <MidEllipsis text={filename} /> : filename}
27
32
  </Typography>
28
33
  )}
29
34
  {extension && (
@@ -52,11 +57,14 @@ Filename.propTypes = {
52
57
  filename: PropTypes.string,
53
58
  /** If a file name, you can specify the extension */
54
59
  extension: PropTypes.string,
60
+ /** To replace the end ellipsis by a middle on in the filename */
61
+ midEllipsis: PropTypes.bool,
55
62
  variant: PropTypes.string
56
63
  }
57
64
 
58
65
  Filename.defaultProps = {
59
- variant: 'h6'
66
+ variant: 'h6',
67
+ midEllipsis: false
60
68
  }
61
69
 
62
70
  export default Filename
@@ -1,19 +1,34 @@
1
+ import React from 'react'
1
2
  import PropTypes from 'prop-types'
2
3
 
3
- import { useI18n } from '../../I18n'
4
+ import { splitFilename } from 'cozy-client/dist/models/file'
4
5
 
5
- import withListItemLocales from '../hoc/withListItemLocales'
6
+ import Filename from '../../Filename'
7
+ import useBreakpoints from '../../hooks/useBreakpoints'
6
8
 
7
9
  const PrimaryText = ({ primary, file }) => {
8
- const { t } = useI18n()
10
+ const { isMobile } = useBreakpoints()
9
11
 
10
12
  if (primary) return primary
11
13
 
12
- const pageQualification = file?.metadata?.qualification?.page
13
-
14
- return pageQualification === 'front' || pageQualification === 'back'
15
- ? t(`ListItem.file.page.${pageQualification}`)
16
- : file.name
14
+ return (
15
+ <Filename
16
+ variant="body1"
17
+ midEllipsis={isMobile}
18
+ filename={
19
+ splitFilename({
20
+ name: file.name,
21
+ type: 'file'
22
+ }).filename
23
+ }
24
+ extension={
25
+ splitFilename({
26
+ name: file.name,
27
+ type: 'file'
28
+ }).extension
29
+ }
30
+ />
31
+ )
17
32
  }
18
33
 
19
34
  PrimaryText.propTypes = {
@@ -21,4 +36,4 @@ PrimaryText.propTypes = {
21
36
  file: PropTypes.object
22
37
  }
23
38
 
24
- export default withListItemLocales(PrimaryText)
39
+ export default PrimaryText
@@ -4,6 +4,7 @@ import cx from 'classnames';
4
4
  import { Media, Bd, Img } from "cozy-ui/transpiled/react/deprecated/Media";
5
5
  import Icon from "cozy-ui/transpiled/react/Icon";
6
6
  import Typography from "cozy-ui/transpiled/react/Typography";
7
+ import MidEllipsis from "cozy-ui/transpiled/react/MidEllipsis";
7
8
  var styles = {
8
9
  "c-filename-wrapper": "styles__c-filename-wrapper___3tVpA",
9
10
  "c-filename-name": "styles__c-filename-name___1jDMz"
@@ -13,6 +14,7 @@ var Filename = function Filename(_ref) {
13
14
  var icon = _ref.icon,
14
15
  filename = _ref.filename,
15
16
  extension = _ref.extension,
17
+ midEllipsis = _ref.midEllipsis,
16
18
  variant = _ref.variant;
17
19
  return /*#__PURE__*/React.createElement(Media, null, icon && /*#__PURE__*/React.createElement(Img, null, /*#__PURE__*/React.createElement(Icon, {
18
20
  className: 'u-mr-1',
@@ -24,8 +26,13 @@ var Filename = function Filename(_ref) {
24
26
  }, filename && /*#__PURE__*/React.createElement(Typography, {
25
27
  variant: variant,
26
28
  component: "span",
27
- className: cx(styles['c-filename-name'], 'u-ellipsis')
28
- }, filename), extension && /*#__PURE__*/React.createElement(Typography, {
29
+ className: cx(styles['c-filename-name'], {
30
+ 'u-ellipsis': !midEllipsis,
31
+ 'u-ov-hidden': midEllipsis
32
+ })
33
+ }, midEllipsis ? /*#__PURE__*/React.createElement(MidEllipsis, {
34
+ text: filename
35
+ }) : filename), extension && /*#__PURE__*/React.createElement(Typography, {
29
36
  variant: variant,
30
37
  component: "span",
31
38
  color: "textSecondary"
@@ -41,9 +48,13 @@ Filename.propTypes = {
41
48
 
42
49
  /** If a file name, you can specify the extension */
43
50
  extension: PropTypes.string,
51
+
52
+ /** To replace the end ellipsis by a middle on in the filename */
53
+ midEllipsis: PropTypes.bool,
44
54
  variant: PropTypes.string
45
55
  };
46
56
  Filename.defaultProps = {
47
- variant: 'h6'
57
+ variant: 'h6',
58
+ midEllipsis: false
48
59
  };
49
60
  export default Filename;
@@ -1,23 +1,33 @@
1
+ import React from 'react';
1
2
  import PropTypes from 'prop-types';
2
- import { useI18n } from "cozy-ui/transpiled/react/I18n";
3
- import withListItemLocales from "cozy-ui/transpiled/react/ListItem/hoc/withListItemLocales";
3
+ import { splitFilename } from 'cozy-client/dist/models/file';
4
+ import Filename from "cozy-ui/transpiled/react/Filename";
5
+ import useBreakpoints from "cozy-ui/transpiled/react/hooks/useBreakpoints";
4
6
 
5
7
  var PrimaryText = function PrimaryText(_ref) {
6
- var _file$metadata, _file$metadata$qualif;
7
-
8
8
  var primary = _ref.primary,
9
9
  file = _ref.file;
10
10
 
11
- var _useI18n = useI18n(),
12
- t = _useI18n.t;
11
+ var _useBreakpoints = useBreakpoints(),
12
+ isMobile = _useBreakpoints.isMobile;
13
13
 
14
14
  if (primary) return primary;
15
- var pageQualification = file === null || file === void 0 ? void 0 : (_file$metadata = file.metadata) === null || _file$metadata === void 0 ? void 0 : (_file$metadata$qualif = _file$metadata.qualification) === null || _file$metadata$qualif === void 0 ? void 0 : _file$metadata$qualif.page;
16
- return pageQualification === 'front' || pageQualification === 'back' ? t("ListItem.file.page.".concat(pageQualification)) : file.name;
15
+ return /*#__PURE__*/React.createElement(Filename, {
16
+ variant: "body1",
17
+ midEllipsis: isMobile,
18
+ filename: splitFilename({
19
+ name: file.name,
20
+ type: 'file'
21
+ }).filename,
22
+ extension: splitFilename({
23
+ name: file.name,
24
+ type: 'file'
25
+ }).extension
26
+ });
17
27
  };
18
28
 
19
29
  PrimaryText.propTypes = {
20
30
  primary: PropTypes.node,
21
31
  file: PropTypes.object
22
32
  };
23
- export default withListItemLocales(PrimaryText);
33
+ export default PrimaryText;