@salutejs/plasma-new-hope 0.160.1-canary.1454.11161506750.0 → 0.161.0-canary.1466.11175117615.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. package/cjs/components/Attach/Attach.js +9 -13
  2. package/cjs/components/Attach/Attach.js.map +1 -1
  3. package/cjs/components/Attach/utils/truncateFilename.js +24 -0
  4. package/cjs/components/Attach/utils/truncateFilename.js.map +1 -0
  5. package/emotion/cjs/components/Attach/Attach.js +6 -9
  6. package/emotion/cjs/components/Attach/utils/index.js +7 -9
  7. package/emotion/cjs/components/Attach/utils/truncateFilename.js +23 -0
  8. package/emotion/cjs/components/Badge/Badge.template-doc.mdx +3 -1
  9. package/emotion/cjs/examples/plasma_b2c/components/Badge/Badge.config.js +14 -13
  10. package/emotion/cjs/examples/plasma_b2c/components/Badge/Badge.stories.tsx +1 -1
  11. package/emotion/cjs/examples/plasma_web/components/Badge/Badge.config.js +14 -13
  12. package/emotion/cjs/examples/plasma_web/components/Badge/Badge.stories.tsx +1 -1
  13. package/emotion/es/components/Attach/Attach.js +7 -10
  14. package/emotion/es/components/Attach/utils/index.js +1 -2
  15. package/emotion/es/components/Attach/utils/truncateFilename.js +17 -0
  16. package/emotion/es/components/Badge/Badge.template-doc.mdx +3 -1
  17. package/emotion/es/examples/plasma_b2c/components/Badge/Badge.config.js +14 -13
  18. package/emotion/es/examples/plasma_b2c/components/Badge/Badge.stories.tsx +1 -1
  19. package/emotion/es/examples/plasma_web/components/Badge/Badge.config.js +14 -13
  20. package/emotion/es/examples/plasma_web/components/Badge/Badge.stories.tsx +1 -1
  21. package/es/components/Attach/Attach.js +9 -13
  22. package/es/components/Attach/Attach.js.map +1 -1
  23. package/es/components/Attach/utils/truncateFilename.js +20 -0
  24. package/es/components/Attach/utils/truncateFilename.js.map +1 -0
  25. package/package.json +2 -2
  26. package/styled-components/cjs/components/Attach/Attach.js +6 -9
  27. package/styled-components/cjs/components/Attach/utils/index.js +7 -9
  28. package/styled-components/cjs/components/Attach/utils/truncateFilename.js +23 -0
  29. package/styled-components/cjs/components/Badge/Badge.template-doc.mdx +3 -1
  30. package/styled-components/cjs/examples/plasma_b2c/components/Badge/Badge.config.js +2 -1
  31. package/styled-components/cjs/examples/plasma_b2c/components/Badge/Badge.stories.tsx +1 -1
  32. package/styled-components/cjs/examples/plasma_web/components/Badge/Badge.config.js +2 -1
  33. package/styled-components/cjs/examples/plasma_web/components/Badge/Badge.stories.tsx +1 -1
  34. package/styled-components/es/components/Attach/Attach.js +7 -10
  35. package/styled-components/es/components/Attach/utils/index.js +1 -2
  36. package/styled-components/es/components/Attach/utils/truncateFilename.js +17 -0
  37. package/styled-components/es/components/Badge/Badge.template-doc.mdx +3 -1
  38. package/styled-components/es/examples/plasma_b2c/components/Badge/Badge.config.js +2 -1
  39. package/styled-components/es/examples/plasma_b2c/components/Badge/Badge.stories.tsx +1 -1
  40. package/styled-components/es/examples/plasma_web/components/Badge/Badge.config.js +2 -1
  41. package/styled-components/es/examples/plasma_web/components/Badge/Badge.stories.tsx +1 -1
  42. package/types/components/Attach/Attach.d.ts.map +1 -1
  43. package/types/components/Attach/utils/index.d.ts +1 -2
  44. package/types/components/Attach/utils/index.d.ts.map +1 -1
  45. package/types/components/Attach/utils/truncateFilename.d.ts +7 -0
  46. package/types/components/Attach/utils/truncateFilename.d.ts.map +1 -0
  47. package/types/examples/plasma_b2c/components/Badge/Badge.config.d.ts +1 -0
  48. package/types/examples/plasma_b2c/components/Badge/Badge.config.d.ts.map +1 -1
  49. package/types/examples/plasma_b2c/components/Badge/Badge.d.ts +1 -0
  50. package/types/examples/plasma_b2c/components/Badge/Badge.d.ts.map +1 -1
  51. package/types/examples/plasma_web/components/Badge/Badge.config.d.ts +1 -0
  52. package/types/examples/plasma_web/components/Badge/Badge.config.d.ts.map +1 -1
  53. package/types/examples/plasma_web/components/Badge/Badge.d.ts +1 -0
  54. package/types/examples/plasma_web/components/Badge/Badge.d.ts.map +1 -1
  55. package/cjs/components/Attach/utils/addSeparator.js +0 -17
  56. package/cjs/components/Attach/utils/addSeparator.js.map +0 -1
  57. package/cjs/components/Attach/utils/index.js +0 -11
  58. package/cjs/components/Attach/utils/index.js.map +0 -1
  59. package/emotion/cjs/components/Attach/utils/addSeparator.js +0 -15
  60. package/emotion/es/components/Attach/utils/addSeparator.js +0 -9
  61. package/es/components/Attach/utils/addSeparator.js +0 -13
  62. package/es/components/Attach/utils/addSeparator.js.map +0 -1
  63. package/es/components/Attach/utils/index.js +0 -7
  64. package/es/components/Attach/utils/index.js.map +0 -1
  65. package/styled-components/cjs/components/Attach/utils/addSeparator.js +0 -15
  66. package/styled-components/es/components/Attach/utils/addSeparator.js +0 -9
  67. package/types/components/Attach/utils/addSeparator.d.ts +0 -2
  68. package/types/components/Attach/utils/addSeparator.d.ts.map +0 -1
@@ -12,7 +12,7 @@ const meta: Meta<typeof Badge> = {
12
12
  decorators: [WithTheme],
13
13
  argTypes: {
14
14
  size: {
15
- options: ['s', 'm', 'l'],
15
+ options: ['l', 'm', 's', 'xs'],
16
16
  control: {
17
17
  type: 'select',
18
18
  },
@@ -17,7 +17,7 @@ import { base as sizeCSS } from './variations/_size/base';
17
17
  import { base as viewCSS } from './variations/_view/base';
18
18
  import { base, StyledHiddenInput, StyledHiddenInputHelper } from './Attach.styles';
19
19
  import { StyledCell } from './ui/Cell/Cell';
20
- import { extractExtension, getFileicon, addSeparator, separator } from './utils';
20
+ import { extractExtension, getFileicon, truncateFilename } from './utils';
21
21
  import { classes } from './Attach.tokens';
22
22
  import { AttachButton } from './components/AttachButton';
23
23
  import { StyledIconButtonCancel } from './ui/IconButton/IconButton.styles';
@@ -76,18 +76,15 @@ export var attachRoot = function attachRoot(Root) {
76
76
  cellLeft = _cellRef$current$getB.left;
77
77
  var leftDiff = cellLeft - parentLeft;
78
78
  var currentTextWidth = textWidth;
79
- if (currentTextWidth + emptyTextCellWidth.current + leftDiff <= parentWidth || currentTextWidth + emptyTextCellWidth.current < buttonWidth) {
80
- setTruncatedFilename(filename);
81
- return;
82
- }
83
- var currFilename = addSeparator(filename, separator);
84
- for (var i = currFilename.indexOf(separator) - 1; i > 0; i -= 1) {
79
+ var currFilename = filename;
80
+ for (var i = filename.length - 1; i > 0; i -= 1) {
85
81
  if (currentTextWidth + emptyTextCellWidth.current + leftDiff <= parentWidth) {
86
82
  break;
87
83
  }
88
- var left = currFilename.slice(0, i);
89
- var right = currFilename.slice(i + 1);
90
- var newFilename = "".concat(left).concat(right);
84
+ var newFilename = truncateFilename({
85
+ filename: inputHelperRef.current.textContent,
86
+ startNameTruncationIndex: i
87
+ });
91
88
  inputHelperRef.current.textContent = newFilename;
92
89
  currentTextWidth = inputHelperRef.current.offsetWidth;
93
90
  if (currentTextWidth + emptyTextCellWidth.current < buttonWidth) {
@@ -1,4 +1,3 @@
1
1
  export { extractExtension } from './extractExtension';
2
2
  export { getFileicon } from './getFileicon';
3
- export { addSeparator } from './addSeparator';
4
- export var separator = '...';
3
+ export { truncateFilename } from './truncateFilename';
@@ -0,0 +1,17 @@
1
+ export var truncateFilename = function truncateFilename(_ref) {
2
+ var filename = _ref.filename,
3
+ startNameTruncationIndex = _ref.startNameTruncationIndex,
4
+ _ref$separator = _ref.separator,
5
+ separator = _ref$separator === void 0 ? '...' : _ref$separator,
6
+ _ref$minNameLength = _ref.minNameLength,
7
+ minNameLength = _ref$minNameLength === void 0 ? 5 : _ref$minNameLength;
8
+ var strings = filename.split('.');
9
+ var extension = strings.length > 1 ? strings[strings.length - 1] : null;
10
+ var name = strings.length > 1 ? strings.slice(0, -1).join('.') : strings[0];
11
+ if (name.length <= minNameLength || startNameTruncationIndex >= name.length - 1) {
12
+ return filename;
13
+ }
14
+ var lastNameLetter = name[name.length - 1];
15
+ var truncatedName = "".concat(name.substring(0, startNameTruncationIndex)).concat(separator).concat(lastNameLetter);
16
+ return extension ? "".concat(truncatedName, ".").concat(extension) : truncatedName;
17
+ };
@@ -14,7 +14,7 @@ import { PropsTable, Description } from '@site/src/components';
14
14
  ### Размер badge
15
15
  Размер задается с помощью свойства `size`.
16
16
 
17
- Возможные значения свойства: `"l"`, `"m"`, `"s"`.
17
+ Возможные значения свойства: `l`, `m`, `s`, `xs`.
18
18
 
19
19
  ```tsx live
20
20
  import React from 'react';
@@ -26,6 +26,7 @@ export function App() {
26
26
  <Badge text="Бейдж" size="l" />
27
27
  <Badge text="Бейдж" size="m" />
28
28
  <Badge text="Бейдж" size="s" />
29
+ <Badge text="Бейдж" size="xs" />
29
30
  </div>
30
31
  );
31
32
  }
@@ -44,6 +45,7 @@ export function App() {
44
45
  <Badge text="Бейдж" size="l" pilled />
45
46
  <Badge text="Бейдж" size="m" pilled />
46
47
  <Badge text="Бейдж" size="s" pilled />
48
+ <Badge text="Бейдж" size="xs" pilled />
47
49
  </div>
48
50
  );
49
51
  }