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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (69) hide show
  1. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.css +12 -0
  2. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
  3. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +63 -42
  4. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
  5. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles_aus2x3.css +11 -0
  6. package/cjs/components/Attach/Attach.js +9 -13
  7. package/cjs/components/Attach/Attach.js.map +1 -1
  8. package/cjs/components/Attach/utils/truncateFilename.js +24 -0
  9. package/cjs/components/Attach/utils/truncateFilename.js.map +1 -0
  10. package/cjs/components/_Icon/Icons/IconClose.css +1 -0
  11. package/cjs/index.css +12 -0
  12. package/emotion/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +55 -15
  13. package/emotion/cjs/components/Attach/Attach.js +6 -9
  14. package/emotion/cjs/components/Attach/utils/index.js +7 -9
  15. package/emotion/cjs/components/Attach/utils/truncateFilename.js +23 -0
  16. package/emotion/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +55 -15
  17. package/emotion/es/components/Attach/Attach.js +7 -10
  18. package/emotion/es/components/Attach/utils/index.js +1 -2
  19. package/emotion/es/components/Attach/utils/truncateFilename.js +17 -0
  20. package/es/components/Accordion/ui/AccordionItem/AccordionItem.css +12 -0
  21. package/es/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
  22. package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +63 -42
  23. package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
  24. package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles_aus2x3.css +11 -0
  25. package/es/components/Attach/Attach.js +9 -13
  26. package/es/components/Attach/Attach.js.map +1 -1
  27. package/es/components/Attach/utils/truncateFilename.js +20 -0
  28. package/es/components/Attach/utils/truncateFilename.js.map +1 -0
  29. package/es/components/_Icon/Icons/IconClose.css +1 -0
  30. package/es/index.css +12 -0
  31. package/package.json +2 -2
  32. package/styled-components/cjs/components/Attach/Attach.js +6 -9
  33. package/styled-components/cjs/components/Attach/utils/index.js +7 -9
  34. package/styled-components/cjs/components/Attach/utils/truncateFilename.js +23 -0
  35. package/styled-components/es/components/Attach/Attach.js +7 -10
  36. package/styled-components/es/components/Attach/utils/index.js +1 -2
  37. package/styled-components/es/components/Attach/utils/truncateFilename.js +17 -0
  38. package/types/components/Accordion/Accordion.d.ts +2 -2
  39. package/types/components/Accordion/Accordion.types.d.ts +4 -4
  40. package/types/components/Accordion/Accordion.types.d.ts.map +1 -1
  41. package/types/components/Accordion/ui/AccordionItem/AccordionItem.d.ts +1 -2
  42. package/types/components/Accordion/ui/AccordionItem/AccordionItem.d.ts.map +1 -1
  43. package/types/components/Accordion/ui/AccordionItem/AccordionItem.styles.d.ts +11 -11
  44. package/types/components/Accordion/ui/AccordionItem/AccordionItem.styles.d.ts.map +1 -1
  45. package/types/components/Accordion/ui/AccordionItem/AccordionItem.types.d.ts +11 -7
  46. package/types/components/Accordion/ui/AccordionItem/AccordionItem.types.d.ts.map +1 -1
  47. package/types/components/Accordion/utils/index.d.ts +1 -15
  48. package/types/components/Accordion/utils/index.d.ts.map +1 -1
  49. package/types/components/Attach/Attach.d.ts.map +1 -1
  50. package/types/components/Attach/utils/index.d.ts +1 -2
  51. package/types/components/Attach/utils/index.d.ts.map +1 -1
  52. package/types/components/Attach/utils/truncateFilename.d.ts +7 -0
  53. package/types/components/Attach/utils/truncateFilename.d.ts.map +1 -0
  54. package/types/examples/plasma_b2c/components/Accordion/Accordion.d.ts +1 -1
  55. package/types/examples/plasma_web/components/Accordion/Accordion.d.ts +1 -1
  56. package/cjs/components/Attach/utils/addSeparator.js +0 -17
  57. package/cjs/components/Attach/utils/addSeparator.js.map +0 -1
  58. package/cjs/components/Attach/utils/index.js +0 -11
  59. package/cjs/components/Attach/utils/index.js.map +0 -1
  60. package/emotion/cjs/components/Attach/utils/addSeparator.js +0 -15
  61. package/emotion/es/components/Attach/utils/addSeparator.js +0 -9
  62. package/es/components/Attach/utils/addSeparator.js +0 -13
  63. package/es/components/Attach/utils/addSeparator.js.map +0 -1
  64. package/es/components/Attach/utils/index.js +0 -7
  65. package/es/components/Attach/utils/index.js.map +0 -1
  66. package/styled-components/cjs/components/Attach/utils/addSeparator.js +0 -15
  67. package/styled-components/es/components/Attach/utils/addSeparator.js +0 -9
  68. package/types/components/Attach/utils/addSeparator.d.ts +0 -2
  69. package/types/components/Attach/utils/addSeparator.d.ts.map +0 -1
@@ -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
+ };
@@ -1 +1,13 @@
1
1
  .IconRoot_7pl7ig_svvlqhf__32c458a1{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;width:var(--svvlqhf-0);height:var(--svvlqhf-0);-webkit-flex:0 0 var(--svvlqhf-0);-ms-flex:0 0 var(--svvlqhf-0);flex:0 0 var(--svvlqhf-0);}
2
+
3
+ .AccordionItem_styles_aus2x3_s1d847tf__94808ef4{background:var(--plasma-accordion-item-background);border:var(--plasma-accordion-item-border);border-bottom:var(--plasma-accordion-item-border-bottom);}.AccordionItem_styles_aus2x3_s1d847tf__94808ef4:last-child{border-bottom:var(--plasma-accordion-item-border);}.AccordionItem_styles_aus2x3_s1d847tf__94808ef4.AccordionItem_styles_aus2x3_accordionDisabled__94808ef4{opacity:0.4;cursor:not-allowed;}
4
+ .AccordionItem_styles_aus2x3_s18inj31__94808ef4{width:100%;border:none;padding:var(--plasma-accordion-item-padding);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--plasma-accordion-item-gap);-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:none;box-sizing:border-box;cursor:pointer;position:relative;}.AccordionItem_styles_aus2x3_s18inj31__94808ef4:focus{outline:none;}.AccordionItem_styles_aus2x3_s18inj31__94808ef4::before{content:'';position:absolute;top:0.125rem;left:0.125rem;right:0.125rem;bottom:0.125rem;z-index:1;display:block;box-sizing:content-box;border:0.125rem solid transparent;border-radius:0;-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.AccordionItem_styles_aus2x3_s18inj31__94808ef4.AccordionItem_styles_aus2x3_focusVisible__94808ef4:focus::before,.AccordionItem_styles_aus2x3_s18inj31__94808ef4[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.125rem var(--plasma-accordion-item-focus);}
5
+ .AccordionItem_styles_aus2x3_s1kvo44v__94808ef4{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--plasma-accordion-item-gap);-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
6
+ .AccordionItem_styles_aus2x3_s2tqnbp__94808ef4{-webkit-transition:0.2s;transition:0.2s;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}.AccordionItem_styles_aus2x3_s2tqnbp__94808ef4.AccordionItem_styles_aus2x3_accordionItemShowBody__94808ef4{-webkit-transition:0.2s;transition:0.2s;-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}
7
+ .AccordionItem_styles_aus2x3_s11daj3x__94808ef4{-webkit-transition:0.2s;transition:0.2s;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.AccordionItem_styles_aus2x3_s11daj3x__94808ef4.AccordionItem_styles_aus2x3_accordionItemShowBody__94808ef4{-webkit-transition:0.2s;transition:0.2s;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);}
8
+ .AccordionItem_styles_aus2x3_sy09zp7__94808ef4{color:var(--plasma-accordion-item-title-color);font-family:var(--plasma-accordion-item-title-font-family);font-size:var(--plasma-accordion-item-title-font-size);font-weight:var(--plasma-accordion-item-title-font-weight);font-style:var(--plasma-accordion-item-title-font-style);-webkit-letter-spacing:var(--plasma-accordion-item-title-letter-spacing);-moz-letter-spacing:var(--plasma-accordion-item-title-letter-spacing);-ms-letter-spacing:var(--plasma-accordion-item-title-letter-spacing);letter-spacing:var(--plasma-accordion-item-title-letter-spacing);line-height:var(--plasma-accordion-item-title-line-height);text-align:left;}
9
+ .AccordionItem_styles_aus2x3_sbzgv9z__94808ef4{display:grid;grid-template-rows:0fr;-webkit-transition:grid-template-rows 0.2s ease-out;transition:grid-template-rows 0.2s ease-out;overflow:hidden;}.AccordionItem_styles_aus2x3_sbzgv9z__94808ef4.AccordionItem_styles_aus2x3_accordionItemShowBody__94808ef4{grid-template-rows:1fr;padding-bottom:var(--plasma-accordion-item-padding-vertical);}.AccordionItem_styles_aus2x3_sbzgv9z__94808ef4.AccordionItem_styles_aus2x3_accordionItemShowBody__94808ef4.AccordionItem_styles_aus2x3_accordionPlusAnimationElement__94808ef4{-webkit-transition:0.2s;transition:0.2s;-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}
10
+ .AccordionItem_styles_aus2x3_s1ewkyyv__94808ef4{color:var(--plasma-accordion-item-text-color);font-family:var(--plasma-accordion-item-text-font-family);font-size:var(--plasma-accordion-item-text-font-size);font-weight:var(--plasma-accordion-item-text-font-weight);font-style:var(--plasma-accordion-item-text-font-style);-webkit-letter-spacing:var(--plasma-accordion-item-text-letter-spacing);-moz-letter-spacing:var(--plasma-accordion-item-text-letter-spacing);-ms-letter-spacing:var(--plasma-accordion-item-text-letter-spacing);letter-spacing:var(--plasma-accordion-item-text-letter-spacing);line-height:var(--plasma-accordion-item-text-line-height);overflow:hidden;padding-right:var(--plasma-accordion-item-padding-horizontal);padding-left:var(--plasma-accordion-item-padding-horizontal-left);text-align:left;}
11
+ .AccordionItem_styles_aus2x3_s15qiue1__94808ef4{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--plasma-accordion-item-color-icon);}
12
+ .AccordionItem_styles_aus2x3_syldew1__94808ef4{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--plasma-accordion-item-color-icon);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:absolute;top:0;left:0;}.AccordionItem_styles_aus2x3_syldew1__94808ef4.AccordionItem_styles_aus2x3_accordionPlusAnimationElement__94808ef4{-webkit-transition:0.2s;transition:0.2s;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}.AccordionItem_styles_aus2x3_syldew1__94808ef4.AccordionItem_styles_aus2x3_accordionItemShowBody__94808ef4{-webkit-transition:0.2s;transition:0.2s;-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}
13
+ .AccordionItem_styles_aus2x3_s1he8scv__94808ef4{position:relative;height:1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:1rem;}
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionItem.js","sources":["../../../../../src/components/Accordion/ui/AccordionItem/AccordionItem.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\n\nimport { convertRoundnessMatrix } from '../../../../utils/roundness';\nimport { classes, tokens } from '../../Accordion.tokens';\nimport { HTMLAttributesWithoutOnChange } from '../../../../engines/types';\nimport { cx } from '../../../../utils';\n\nimport {\n StyledAccordionItem,\n StyledAccordionHeader,\n StyledAccordionBody,\n StyledAccordionTitle,\n StyledAccordionContentLeft,\n StyledAccordionHeaderLeft,\n StyledAccordionContentRight,\n StyledArrow,\n StyledMinus,\n StyledPlus,\n StyledAccordionBodyAnimate,\n} from './AccordionItem.styles';\nimport type { AccordionItemProps } from './AccordionItem.types';\n\nexport const AccordionItem: React.FC<HTMLAttributesWithoutOnChange<HTMLElement> & AccordionItemProps> = ({\n value,\n contentRight,\n contentLeft,\n title,\n pin = 'square-square',\n children,\n type = 'sign',\n index,\n className,\n style,\n eventKey,\n disabled,\n alignWithTitle = true,\n view,\n onChange,\n}) => {\n const key = eventKey ?? index ?? 0;\n\n const [leftPadding, setLeftPadding] = useState<string | number | null>();\n\n const handleOpen = () => {\n if (disabled) {\n return;\n }\n if (onChange) {\n onChange(key, !value);\n }\n };\n\n const leftContentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const leftContentWidth = leftContentRef?.current?.offsetWidth ?? 0;\n const leftPaddingBody =\n leftContentWidth && (alignWithTitle || view === 'clear')\n ? `calc(${leftContentWidth}px + var(${tokens.accordionItemGap}))`\n : 0;\n setLeftPadding(leftPaddingBody);\n }, [value, type, leftContentRef, setLeftPadding]);\n\n const openedBodyClass = value ? classes.accordionItemShowBody : undefined;\n\n const StyledAnimationPLus = () => (\n <StyledPlus>\n <StyledMinus size=\"xs\" color=\"inhert\" />\n <StyledMinus\n size=\"xs\"\n color=\"inhert\"\n className={openedBodyClass ?? classes.accordionPlusAnimationElement}\n />\n </StyledPlus>\n );\n\n const accordionBorderRadius = convertRoundnessMatrix(pin, `var(${tokens.accordionItemBorderRadius})`, '1.5rem');\n const disabledClass = disabled ? classes.accordionDisabled : '';\n\n const leftContent = contentLeft ?? (type === 'arrow' ? <StyledArrow size=\"xs\" color=\"inhert\" /> : undefined);\n const leftContentRotate = type === 'arrow' && value ? classes.accordionItemShowBody : undefined;\n\n const rightContent = contentRight ?? (type === 'sign' ? <StyledAnimationPLus /> : undefined);\n const rightContentRotate = type === 'sign' && value ? classes.accordionItemShowBody : undefined;\n\n return (\n <StyledAccordionItem\n className={cx(classes.accordionItem, className, disabledClass)}\n key={key}\n style={{ borderRadius: accordionBorderRadius, ...style }}\n >\n <StyledAccordionHeader\n role=\"tab\"\n tabIndex={0}\n onClick={handleOpen}\n aria-expanded={value}\n aria-controls={`accordion-item-section${key}`}\n id={`accordion-item-${key}`}\n >\n <StyledAccordionHeaderLeft>\n {leftContent && (\n <StyledAccordionContentLeft ref={leftContentRef} className={leftContentRotate}>\n {leftContent}\n </StyledAccordionContentLeft>\n )}\n <StyledAccordionTitle>{title}</StyledAccordionTitle>\n </StyledAccordionHeaderLeft>\n\n <StyledAccordionContentRight className={rightContentRotate}>\n {rightContent && rightContent}\n </StyledAccordionContentRight>\n </StyledAccordionHeader>\n <StyledAccordionBodyAnimate\n aria-labelledby={`accordion-item-${key}`}\n aria-hidden={!value}\n id={`accordion-item-section${key}`}\n className={cx(openedBodyClass)}\n style={{ paddingLeft: `${leftPadding}` }}\n >\n <StyledAccordionBody className={classes.accordionItemBody}>{children}</StyledAccordionBody>\n </StyledAccordionBodyAnimate>\n </StyledAccordionItem>\n );\n};\n"],"names":["AccordionItem","_ref","_ref2","value","contentRight","contentLeft","title","_ref$pin","pin","children","_ref$type","type","index","className","style","eventKey","disabled","_ref$alignWithTitle","alignWithTitle","view","onChange","key","_useState","useState","_useState2","_slicedToArray","leftPadding","setLeftPadding","handleOpen","leftContentRef","useRef","useEffect","_leftContentRef$curre","_leftContentRef$curre2","leftContentWidth","current","offsetWidth","leftPaddingBody","concat","tokens","accordionItemGap","openedBodyClass","classes","accordionItemShowBody","undefined","StyledAnimationPLus","React","createElement","StyledPlus","_StyledMinus","StyledMinus","size","color","accordionPlusAnimationElement","accordionBorderRadius","convertRoundnessMatrix","accordionItemBorderRadius","disabledClass","accordionDisabled","leftContent","_StyledArrow","StyledArrow","leftContentRotate","rightContent","rightContentRotate","StyledAccordionItem","cx","accordionItem","_objectSpread","borderRadius","StyledAccordionHeader","role","tabIndex","onClick","id","StyledAccordionHeaderLeft","StyledAccordionContentLeft","ref","StyledAccordionTitle","StyledAccordionContentRight","StyledAccordionBodyAnimate","paddingLeft","StyledAccordionBody","accordionItemBody"],"mappings":"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"}
1
+ {"version":3,"file":"AccordionItem.js","sources":["../../../../../src/components/Accordion/ui/AccordionItem/AccordionItem.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\n\nimport { convertRoundnessMatrix } from '../../../../utils/roundness';\nimport { classes, tokens } from '../../Accordion.tokens';\nimport { cx } from '../../../../utils';\n\nimport {\n StyledAccordionItem,\n StyledAccordionHeader,\n StyledAccordionBody,\n StyledAccordionTitle,\n StyledAccordionContentLeft,\n StyledAccordionHeaderLeft,\n StyledAccordionContentRight,\n StyledArrow,\n StyledMinus,\n StyledPlus,\n StyledAccordionBodyAnimate,\n} from './AccordionItem.styles';\nimport type { AccordionItemProps } from './AccordionItem.types';\n\nexport const AccordionItem: React.FC<AccordionItemProps> = ({\n value,\n contentRight,\n contentLeft,\n title,\n pin = 'square-square',\n children,\n type = 'sign',\n index,\n className,\n style,\n eventKey,\n disabled,\n alignWithTitle = true,\n view,\n onChange,\n}) => {\n const key = eventKey ?? index ?? 0;\n\n const [leftPadding, setLeftPadding] = useState<string | number | null>();\n\n const handleOpen = () => {\n if (disabled) {\n return;\n }\n if (onChange) {\n onChange(key, !value);\n }\n };\n\n const leftContentRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const leftContentWidth = leftContentRef?.current?.offsetWidth ?? 0;\n const leftPaddingBody =\n leftContentWidth && (alignWithTitle || view === 'clear')\n ? `calc(${leftContentWidth}px + var(${tokens.accordionItemGap}))`\n : 0;\n setLeftPadding(leftPaddingBody);\n }, [value, type, leftContentRef, setLeftPadding]);\n\n const openedBodyClass = value ? classes.accordionItemShowBody : undefined;\n\n const StyledAnimationPLus = () => (\n <StyledPlus>\n <StyledMinus size=\"xs\" color=\"inhert\" />\n <StyledMinus\n size=\"xs\"\n color=\"inhert\"\n className={openedBodyClass ?? classes.accordionPlusAnimationElement}\n />\n </StyledPlus>\n );\n\n const accordionBorderRadius = convertRoundnessMatrix(pin, `var(${tokens.accordionItemBorderRadius})`, '1.5rem');\n const disabledClass = disabled ? classes.accordionDisabled : '';\n\n const leftContent = contentLeft ?? (type === 'arrow' ? <StyledArrow size=\"xs\" color=\"inhert\" /> : undefined);\n const leftContentRotate = type === 'arrow' && value ? classes.accordionItemShowBody : undefined;\n\n const rightContent = contentRight ?? (type === 'sign' ? <StyledAnimationPLus /> : undefined);\n const rightContentRotate = type === 'sign' && value ? classes.accordionItemShowBody : undefined;\n\n return (\n <StyledAccordionItem\n className={cx(classes.accordionItem, className, disabledClass)}\n key={key}\n style={{ borderRadius: accordionBorderRadius, ...style }}\n >\n <StyledAccordionHeader\n role=\"tab\"\n tabIndex={0}\n onClick={handleOpen}\n aria-expanded={value}\n aria-controls={`accordion-item-section${key}`}\n id={`accordion-item-${key}`}\n >\n <StyledAccordionHeaderLeft>\n {leftContent && (\n <StyledAccordionContentLeft ref={leftContentRef} className={leftContentRotate}>\n {leftContent}\n </StyledAccordionContentLeft>\n )}\n <StyledAccordionTitle>{title}</StyledAccordionTitle>\n </StyledAccordionHeaderLeft>\n\n <StyledAccordionContentRight className={rightContentRotate}>\n {rightContent && rightContent}\n </StyledAccordionContentRight>\n </StyledAccordionHeader>\n <StyledAccordionBodyAnimate\n aria-labelledby={`accordion-item-${key}`}\n aria-hidden={!value}\n id={`accordion-item-section${key}`}\n className={cx(openedBodyClass)}\n style={{ paddingLeft: `${leftPadding}` }}\n >\n <StyledAccordionBody className={classes.accordionItemBody}>{children}</StyledAccordionBody>\n </StyledAccordionBodyAnimate>\n </StyledAccordionItem>\n );\n};\n"],"names":["AccordionItem","_ref","_ref2","value","contentRight","contentLeft","title","_ref$pin","pin","children","_ref$type","type","index","className","style","eventKey","disabled","_ref$alignWithTitle","alignWithTitle","view","onChange","key","_useState","useState","_useState2","_slicedToArray","leftPadding","setLeftPadding","handleOpen","leftContentRef","useRef","useEffect","_leftContentRef$curre","_leftContentRef$curre2","leftContentWidth","current","offsetWidth","leftPaddingBody","concat","tokens","accordionItemGap","openedBodyClass","classes","accordionItemShowBody","undefined","StyledAnimationPLus","React","createElement","StyledPlus","_StyledMinus","StyledMinus","size","color","accordionPlusAnimationElement","accordionBorderRadius","convertRoundnessMatrix","accordionItemBorderRadius","disabledClass","accordionDisabled","leftContent","_StyledArrow","StyledArrow","leftContentRotate","rightContent","rightContentRotate","StyledAccordionItem","cx","accordionItem","_objectSpread","borderRadius","StyledAccordionHeader","role","tabIndex","onClick","id","StyledAccordionHeaderLeft","StyledAccordionContentLeft","ref","StyledAccordionTitle","StyledAccordionContentRight","StyledAccordionBodyAnimate","paddingLeft","StyledAccordionBody","accordionItemBody"],"mappings":"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"}
@@ -1,49 +1,70 @@
1
- import styled from 'styled-components';
1
+ import './AccordionItem.styles_aus2x3.css';
2
+ import { styled } from '@linaria/react';
2
3
  import 'react';
3
- import '@linaria/react';
4
4
  import { IconChevronDownFill } from '../../../_Icon/Icons/IconChevronDownFill.js';
5
5
  import { IconMinus } from '../../../_Icon/Icons/IconMinus.js';
6
- import { tokens, classes } from '../../Accordion.tokens.js';
7
- import { addFocus } from '../../../../mixins/addFocus.js';
8
6
 
9
- var StyledAccordionItem = /*#__PURE__*/styled.div.withConfig({
10
- componentId: "plasma-new-hope__sc-iot32d-0"
11
- })(["background:var(", ");border:var(", ");border-bottom:var(", ");&:last-child{border-bottom:var(", ");}&.", "{opacity:0.4;cursor:not-allowed;}"], tokens.accordionItemBackground, tokens.accordionItemBorder, tokens.accordionItemBorderBottom, tokens.accordionItemBorder, classes.accordionDisabled);
12
- var StyledAccordionHeader = /*#__PURE__*/styled.button.withConfig({
13
- componentId: "plasma-new-hope__sc-iot32d-1"
14
- })(["width:100%;border:none;padding:var(", ");display:flex;gap:var(", ");justify-content:space-between;align-items:center;background:none;box-sizing:border-box;cursor:pointer;&:focus{outline:none;}", ""], tokens.accordionItemPadding, tokens.accordionItemGap, /*#__PURE__*/addFocus({
15
- outlineOffset: '0.125rem',
16
- outlineSize: '0.125rem',
17
- outlineRadius: '0',
18
- outlineColor: /*#__PURE__*/"var(".concat(tokens.accordionItemFocus, ")")
19
- }));
20
- var StyledAccordionHeaderLeft = /*#__PURE__*/styled.div.withConfig({
21
- componentId: "plasma-new-hope__sc-iot32d-2"
22
- })(["display:flex;gap:var(", ");justify-content:space-between;align-items:center;"], tokens.accordionItemGap);
23
- var StyledAccordionContentRight = /*#__PURE__*/styled.div.withConfig({
24
- componentId: "plasma-new-hope__sc-iot32d-3"
25
- })(["transition:0.2s;transform:rotate(90deg);&.", "{transition:0.2s;transform:rotate(0deg);}"], classes.accordionItemShowBody);
26
- var StyledAccordionContentLeft = /*#__PURE__*/styled.div.withConfig({
27
- componentId: "plasma-new-hope__sc-iot32d-4"
28
- })(["transition:0.2s;display:flex;align-items:center;&.", "{transition:0.2s;transform:rotate(180deg);}"], classes.accordionItemShowBody);
29
- var StyledAccordionTitle = /*#__PURE__*/styled.div.withConfig({
30
- componentId: "plasma-new-hope__sc-iot32d-5"
31
- })(["color:var(", ");font-family:var(", ");font-size:var(", ");font-weight:var(", ");font-style:var(", ");letter-spacing:var(", ");line-height:var(", ");text-align:left;"], tokens.accordionItemTitleColor, tokens.accordionItemTitleFontFamily, tokens.accordionItemTitleFontSize, tokens.accordionItemTitleFontWeight, tokens.accordionItemTitleFontStyle, tokens.accordionItemTitleLetterSpacing, tokens.accordionItemTitleLineHeight);
32
- var StyledAccordionBodyAnimate = /*#__PURE__*/styled.div.withConfig({
33
- componentId: "plasma-new-hope__sc-iot32d-6"
34
- })(["display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.2s ease-out;overflow:hidden;&.", "{grid-template-rows:1fr;padding-bottom:var(", ");&.", "{transition:0.2s;transform:rotate(0deg);}}"], classes.accordionItemShowBody, tokens.accordionItemPaddingVertical, classes.accordionPlusAnimationElement);
35
- var StyledAccordionBody = /*#__PURE__*/styled.div.withConfig({
36
- componentId: "plasma-new-hope__sc-iot32d-7"
37
- })(["color:var(", ");font-family:var(", ");font-size:var(", ");font-weight:var(", ");font-style:var(", ");letter-spacing:var(", ");line-height:var(", ");overflow:hidden;padding-right:var(", ");padding-left:var(", ");text-align:left;"], tokens.accordionItemTextColor, tokens.accordionItemTextFontFamily, tokens.accordionItemTextFontSize, tokens.accordionItemTextFontWeight, tokens.accordionItemTextFontStyle, tokens.accordionItemTextLetterSpacing, tokens.accordionItemTextLineHeight, tokens.accordionItemPaddingHorizontal, tokens.accordionItemPaddingHorizontalLeft);
38
- var StyledArrow = /*#__PURE__*/styled(IconChevronDownFill).withConfig({
39
- componentId: "plasma-new-hope__sc-iot32d-8"
40
- })(["pointer-events:none;user-select:none;color:var(", ");"], tokens.accordionItemIconColor);
41
- var StyledMinus = /*#__PURE__*/styled(IconMinus).withConfig({
42
- componentId: "plasma-new-hope__sc-iot32d-9"
43
- })(["pointer-events:none;user-select:none;color:var(", ");display:flex;align-items:center;position:absolute;top:0;left:0;&.", "{transition:0.2s;transform:rotate(90deg);}&.", "{transition:0.2s;transform:rotate(0deg);}"], tokens.accordionItemIconColor, classes.accordionPlusAnimationElement, classes.accordionItemShowBody);
44
- var StyledPlus = /*#__PURE__*/styled.div.withConfig({
45
- componentId: "plasma-new-hope__sc-iot32d-10"
46
- })(["position:relative;height:1rem;display:flex;align-items:center;justify-content:center;width:1rem;"]);
7
+ var StyledAccordionItem = /*#__PURE__*/styled('div')({
8
+ name: "StyledAccordionItem",
9
+ "class": "s1d847tf",
10
+ propsAsIs: false
11
+ });
12
+ var StyledAccordionHeader = /*#__PURE__*/styled('button')({
13
+ name: "StyledAccordionHeader",
14
+ "class": "s18inj31",
15
+ propsAsIs: false
16
+ });
17
+ var StyledAccordionHeaderLeft = /*#__PURE__*/styled('div')({
18
+ name: "StyledAccordionHeaderLeft",
19
+ "class": "s1kvo44v",
20
+ propsAsIs: false
21
+ });
22
+ var StyledAccordionContentRight = /*#__PURE__*/styled('div')({
23
+ name: "StyledAccordionContentRight",
24
+ "class": "s2tqnbp",
25
+ propsAsIs: false
26
+ });
27
+ var StyledAccordionContentLeft = /*#__PURE__*/styled('div')({
28
+ name: "StyledAccordionContentLeft",
29
+ "class": "s11daj3x",
30
+ propsAsIs: false
31
+ });
32
+ var StyledAccordionTitle = /*#__PURE__*/styled('div')({
33
+ name: "StyledAccordionTitle",
34
+ "class": "sy09zp7",
35
+ propsAsIs: false
36
+ });
37
+ var StyledAccordionBodyAnimate = /*#__PURE__*/styled('div')({
38
+ name: "StyledAccordionBodyAnimate",
39
+ "class": "sbzgv9z",
40
+ propsAsIs: false
41
+ });
42
+ var StyledAccordionBody = /*#__PURE__*/styled('div')({
43
+ name: "StyledAccordionBody",
44
+ "class": "s1ewkyyv",
45
+ propsAsIs: false
46
+ });
47
+ var _exp31 = function _exp31() {
48
+ return IconChevronDownFill;
49
+ };
50
+ var StyledArrow = /*#__PURE__*/styled(_exp31())({
51
+ name: "StyledArrow",
52
+ "class": "s15qiue1",
53
+ propsAsIs: true
54
+ });
55
+ var _exp33 = function _exp33() {
56
+ return IconMinus;
57
+ };
58
+ var StyledMinus = /*#__PURE__*/styled(_exp33())({
59
+ name: "StyledMinus",
60
+ "class": "syldew1",
61
+ propsAsIs: true
62
+ });
63
+ var StyledPlus = /*#__PURE__*/styled('div')({
64
+ name: "StyledPlus",
65
+ "class": "s1he8scv",
66
+ propsAsIs: false
67
+ });
47
68
 
48
69
  export { StyledAccordionBody, StyledAccordionBodyAnimate, StyledAccordionContentLeft, StyledAccordionContentRight, StyledAccordionHeader, StyledAccordionHeaderLeft, StyledAccordionItem, StyledAccordionTitle, StyledArrow, StyledMinus, StyledPlus };
49
70
  //# sourceMappingURL=AccordionItem.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionItem.styles.js","sources":["../../../../../src/components/Accordion/ui/AccordionItem/AccordionItem.styles.ts"],"sourcesContent":["import styled from 'styled-components';\n\nimport { IconChevronDownFill, IconMinus } from '../../../_Icon';\nimport { classes, tokens } from '../../Accordion.tokens';\nimport { addFocus } from '../../../../mixins';\n\nexport const StyledAccordionItem = styled.div`\n background: var(${tokens.accordionItemBackground});\n border: var(${tokens.accordionItemBorder});\n border-bottom: var(${tokens.accordionItemBorderBottom});\n\n &:last-child {\n border-bottom: var(${tokens.accordionItemBorder});\n }\n\n &.${classes.accordionDisabled} {\n opacity: 0.4;\n cursor: not-allowed;\n }\n`;\n\nexport const StyledAccordionHeader = styled.button`\n width: 100%;\n border: none;\n padding: var(${tokens.accordionItemPadding});\n display: flex;\n gap: var(${tokens.accordionItemGap});\n justify-content: space-between;\n align-items: center;\n background: none;\n box-sizing: border-box;\n cursor: pointer;\n\n &:focus {\n outline: none;\n }\n\n ${addFocus({\n outlineOffset: '0.125rem',\n outlineSize: '0.125rem',\n outlineRadius: '0',\n outlineColor: `var(${tokens.accordionItemFocus})`,\n })}\n`;\n\nexport const StyledAccordionHeaderLeft = styled.div`\n display: flex;\n gap: var(${tokens.accordionItemGap});\n justify-content: space-between;\n align-items: center;\n`;\n\nexport const StyledAccordionContentRight = styled.div`\n transition: 0.2s;\n transform: rotate(90deg);\n\n &.${classes.accordionItemShowBody} {\n transition: 0.2s;\n transform: rotate(0deg);\n }\n`;\n\nexport const StyledAccordionContentLeft = styled.div`\n transition: 0.2s;\n display: flex;\n align-items: center;\n\n &.${classes.accordionItemShowBody} {\n transition: 0.2s;\n transform: rotate(180deg);\n }\n`;\n\nexport const StyledAccordionTitle = styled.div`\n color: var(${tokens.accordionItemTitleColor});\n font-family: var(${tokens.accordionItemTitleFontFamily});\n font-size: var(${tokens.accordionItemTitleFontSize});\n font-weight: var(${tokens.accordionItemTitleFontWeight});\n font-style: var(${tokens.accordionItemTitleFontStyle});\n letter-spacing: var(${tokens.accordionItemTitleLetterSpacing});\n line-height: var(${tokens.accordionItemTitleLineHeight});\n text-align: left;\n`;\n\nexport const StyledAccordionBodyAnimate = styled.div`\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 0.2s ease-out;\n overflow: hidden;\n\n &.${classes.accordionItemShowBody} {\n grid-template-rows: 1fr;\n padding-bottom: var(${tokens.accordionItemPaddingVertical});\n\n &.${classes.accordionPlusAnimationElement} {\n transition: 0.2s;\n transform: rotate(0deg);\n }\n }\n`;\n\nexport const StyledAccordionBody = styled.div`\n color: var(${tokens.accordionItemTextColor});\n font-family: var(${tokens.accordionItemTextFontFamily});\n font-size: var(${tokens.accordionItemTextFontSize});\n font-weight: var(${tokens.accordionItemTextFontWeight});\n font-style: var(${tokens.accordionItemTextFontStyle});\n letter-spacing: var(${tokens.accordionItemTextLetterSpacing});\n line-height: var(${tokens.accordionItemTextLineHeight});\n overflow: hidden;\n padding-right: var(${tokens.accordionItemPaddingHorizontal});\n padding-left: var(${tokens.accordionItemPaddingHorizontalLeft});\n text-align: left;\n`;\n\nexport const StyledArrow = styled(IconChevronDownFill)`\n pointer-events: none;\n user-select: none;\n color: var(${tokens.accordionItemIconColor});\n`;\n\nexport const StyledMinus = styled(IconMinus)`\n pointer-events: none;\n user-select: none;\n color: var(${tokens.accordionItemIconColor});\n display: flex;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n\n &.${classes.accordionPlusAnimationElement} {\n transition: 0.2s;\n transform: rotate(90deg);\n }\n\n &.${classes.accordionItemShowBody} {\n transition: 0.2s;\n transform: rotate(0deg);\n }\n`;\n\nexport const StyledPlus = styled.div`\n position: relative;\n height: 1rem;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1rem;\n`;\n"],"names":["StyledAccordionItem","styled","div","withConfig","componentId","tokens","accordionItemBackground","accordionItemBorder","accordionItemBorderBottom","classes","accordionDisabled","StyledAccordionHeader","button","accordionItemPadding","accordionItemGap","addFocus","outlineOffset","outlineSize","outlineRadius","outlineColor","concat","accordionItemFocus","StyledAccordionHeaderLeft","StyledAccordionContentRight","accordionItemShowBody","StyledAccordionContentLeft","StyledAccordionTitle","accordionItemTitleColor","accordionItemTitleFontFamily","accordionItemTitleFontSize","accordionItemTitleFontWeight","accordionItemTitleFontStyle","accordionItemTitleLetterSpacing","accordionItemTitleLineHeight","StyledAccordionBodyAnimate","accordionItemPaddingVertical","accordionPlusAnimationElement","StyledAccordionBody","accordionItemTextColor","accordionItemTextFontFamily","accordionItemTextFontSize","accordionItemTextFontWeight","accordionItemTextFontStyle","accordionItemTextLetterSpacing","accordionItemTextLineHeight","accordionItemPaddingHorizontal","accordionItemPaddingHorizontalLeft","StyledArrow","IconChevronDownFill","accordionItemIconColor","StyledMinus","IconMinus","StyledPlus"],"mappings":"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"}
1
+ {"version":3,"file":"AccordionItem.styles.js","sources":["../../../../../src/components/Accordion/ui/AccordionItem/AccordionItem.styles.ts"],"sourcesContent":["import { styled } from '@linaria/react';\n\nimport { IconChevronDownFill, IconMinus } from '../../../_Icon';\nimport { classes, tokens } from '../../Accordion.tokens';\nimport { addFocus } from '../../../../mixins';\n\nexport const StyledAccordionItem = styled.div`\n background: var(${tokens.accordionItemBackground});\n border: var(${tokens.accordionItemBorder});\n border-bottom: var(${tokens.accordionItemBorderBottom});\n\n &:last-child {\n border-bottom: var(${tokens.accordionItemBorder});\n }\n\n &.${classes.accordionDisabled} {\n opacity: 0.4;\n cursor: not-allowed;\n }\n`;\n\nexport const StyledAccordionHeader = styled.button`\n width: 100%;\n border: none;\n padding: var(${tokens.accordionItemPadding});\n display: flex;\n gap: var(${tokens.accordionItemGap});\n justify-content: space-between;\n align-items: center;\n background: none;\n box-sizing: border-box;\n cursor: pointer;\n\n &:focus {\n outline: none;\n }\n\n ${addFocus({\n outlineOffset: '0.125rem',\n outlineSize: '0.125rem',\n outlineRadius: '0',\n outlineColor: `var(${tokens.accordionItemFocus})`,\n })}\n`;\n\nexport const StyledAccordionHeaderLeft = styled.div`\n display: flex;\n gap: var(${tokens.accordionItemGap});\n justify-content: space-between;\n align-items: center;\n`;\n\nexport const StyledAccordionContentRight = styled.div`\n transition: 0.2s;\n transform: rotate(90deg);\n\n &.${classes.accordionItemShowBody} {\n transition: 0.2s;\n transform: rotate(0deg);\n }\n`;\n\nexport const StyledAccordionContentLeft = styled.div`\n transition: 0.2s;\n display: flex;\n align-items: center;\n\n &.${classes.accordionItemShowBody} {\n transition: 0.2s;\n transform: rotate(180deg);\n }\n`;\n\nexport const StyledAccordionTitle = styled.div`\n color: var(${tokens.accordionItemTitleColor});\n font-family: var(${tokens.accordionItemTitleFontFamily});\n font-size: var(${tokens.accordionItemTitleFontSize});\n font-weight: var(${tokens.accordionItemTitleFontWeight});\n font-style: var(${tokens.accordionItemTitleFontStyle});\n letter-spacing: var(${tokens.accordionItemTitleLetterSpacing});\n line-height: var(${tokens.accordionItemTitleLineHeight});\n text-align: left;\n`;\n\nexport const StyledAccordionBodyAnimate = styled.div`\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 0.2s ease-out;\n overflow: hidden;\n\n &.${classes.accordionItemShowBody} {\n grid-template-rows: 1fr;\n padding-bottom: var(${tokens.accordionItemPaddingVertical});\n\n &.${classes.accordionPlusAnimationElement} {\n transition: 0.2s;\n transform: rotate(0deg);\n }\n }\n`;\n\nexport const StyledAccordionBody = styled.div`\n color: var(${tokens.accordionItemTextColor});\n font-family: var(${tokens.accordionItemTextFontFamily});\n font-size: var(${tokens.accordionItemTextFontSize});\n font-weight: var(${tokens.accordionItemTextFontWeight});\n font-style: var(${tokens.accordionItemTextFontStyle});\n letter-spacing: var(${tokens.accordionItemTextLetterSpacing});\n line-height: var(${tokens.accordionItemTextLineHeight});\n overflow: hidden;\n padding-right: var(${tokens.accordionItemPaddingHorizontal});\n padding-left: var(${tokens.accordionItemPaddingHorizontalLeft});\n text-align: left;\n`;\n\nexport const StyledArrow = styled(IconChevronDownFill)`\n pointer-events: none;\n user-select: none;\n color: var(${tokens.accordionItemIconColor});\n`;\n\nexport const StyledMinus = styled(IconMinus)`\n pointer-events: none;\n user-select: none;\n color: var(${tokens.accordionItemIconColor});\n display: flex;\n align-items: center;\n position: absolute;\n top: 0;\n left: 0;\n\n &.${classes.accordionPlusAnimationElement} {\n transition: 0.2s;\n transform: rotate(90deg);\n }\n\n &.${classes.accordionItemShowBody} {\n transition: 0.2s;\n transform: rotate(0deg);\n }\n`;\n\nexport const StyledPlus = styled.div`\n position: relative;\n height: 1rem;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 1rem;\n`;\n"],"names":["StyledAccordionItem","styled","name","class","propsAsIs","StyledAccordionHeader","StyledAccordionHeaderLeft","StyledAccordionContentRight","StyledAccordionContentLeft","StyledAccordionTitle","StyledAccordionBodyAnimate","StyledAccordionBody","_exp31","IconChevronDownFill","StyledArrow","_exp33","IconMinus","StyledMinus","StyledPlus"],"mappings":";;;;;AAMO,IAAMA,mBAAmB,gBAAGC,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,qBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAaxC,EAAA;AAEM,IAAMC,qBAAqB,gBAAGJ,MAAM,CAAA,QAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,uBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAsB1C,EAAA;AAEM,IAAME,yBAAyB,gBAAGL,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,2BAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAK9C,EAAA;AAEM,IAAMG,2BAA2B,gBAAGN,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,6BAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAQhD,EAAA;AAEM,IAAMI,0BAA0B,gBAAGP,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,4BAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAS/C,EAAA;AAEM,IAAMK,oBAAoB,gBAAGR,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,sBAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CASzC,EAAA;AAEM,IAAMM,0BAA0B,gBAAGT,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,4BAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAe/C,EAAA;AAEM,IAAMO,mBAAmB,gBAAGV,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,qBAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAYxC,EAAA;AAAC,IAAAQ,MAAA,GAhHgBA,SAgHhBA,MAAAA,GAAA;AAAA,EAAA,OAEgCC,mBAAmB,CAAA;AAAA,CAAA,CAAA;AAA9C,IAAMC,WAAW,gBAAGb,MAAM,CAAAW,MAAA,EAAA,CAAA,CAAA;AAAAV,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAIhC,EAAA;AAAC,IAAAW,MAAA,GAtHgBA,SAsHhBA,MAAAA,GAAA;AAAA,EAAA,OAEgCC,SAAS,CAAA;AAAA,CAAA,CAAA;AAApC,IAAMC,WAAW,gBAAGhB,MAAM,CAAAc,MAAA,EAAA,CAAA,CAAA;AAAAb,EAAAA,IAAA,EAAA,aAAA;AAAAC,EAAAA,OAAAA,EAAA,SAAA;AAAAC,EAAAA,SAAA,EAAA,IAAA;AAAA,CAmBhC,EAAA;AAEM,IAAMc,UAAU,gBAAGjB,MAAM,CAAA,KAAA,CAAA,CAAA;AAAAC,EAAAA,IAAA,EAAA,YAAA;AAAAC,EAAAA,OAAAA,EAAA,UAAA;AAAAC,EAAAA,SAAA,EAAA,KAAA;AAAA,CAO/B;;;;"}
@@ -0,0 +1,11 @@
1
+ .s1d847tf{background:var(--plasma-accordion-item-background);border:var(--plasma-accordion-item-border);border-bottom:var(--plasma-accordion-item-border-bottom);}.s1d847tf:last-child{border-bottom:var(--plasma-accordion-item-border);}.s1d847tf.accordion-disabled{opacity:0.4;cursor:not-allowed;}
2
+ .s18inj31{width:100%;border:none;padding:var(--plasma-accordion-item-padding);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--plasma-accordion-item-gap);-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:none;box-sizing:border-box;cursor:pointer;position:relative;}.s18inj31:focus{outline:none;}.s18inj31::before{content:'';position:absolute;top:0.125rem;left:0.125rem;right:0.125rem;bottom:0.125rem;z-index:1;display:block;box-sizing:content-box;border:0.125rem solid transparent;border-radius:0;-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.s18inj31.focus-visible:focus::before,.s18inj31[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.125rem var(--plasma-accordion-item-focus);}
3
+ .s1kvo44v{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--plasma-accordion-item-gap);-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
4
+ .s2tqnbp{-webkit-transition:0.2s;transition:0.2s;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}.s2tqnbp.accordion-item-show-body{-webkit-transition:0.2s;transition:0.2s;-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}
5
+ .s11daj3x{-webkit-transition:0.2s;transition:0.2s;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.s11daj3x.accordion-item-show-body{-webkit-transition:0.2s;transition:0.2s;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);}
6
+ .sy09zp7{color:var(--plasma-accordion-item-title-color);font-family:var(--plasma-accordion-item-title-font-family);font-size:var(--plasma-accordion-item-title-font-size);font-weight:var(--plasma-accordion-item-title-font-weight);font-style:var(--plasma-accordion-item-title-font-style);-webkit-letter-spacing:var(--plasma-accordion-item-title-letter-spacing);-moz-letter-spacing:var(--plasma-accordion-item-title-letter-spacing);-ms-letter-spacing:var(--plasma-accordion-item-title-letter-spacing);letter-spacing:var(--plasma-accordion-item-title-letter-spacing);line-height:var(--plasma-accordion-item-title-line-height);text-align:left;}
7
+ .sbzgv9z{display:grid;grid-template-rows:0fr;-webkit-transition:grid-template-rows 0.2s ease-out;transition:grid-template-rows 0.2s ease-out;overflow:hidden;}.sbzgv9z.accordion-item-show-body{grid-template-rows:1fr;padding-bottom:var(--plasma-accordion-item-padding-vertical);}.sbzgv9z.accordion-item-show-body.accordion-plus-animation-element{-webkit-transition:0.2s;transition:0.2s;-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}
8
+ .s1ewkyyv{color:var(--plasma-accordion-item-text-color);font-family:var(--plasma-accordion-item-text-font-family);font-size:var(--plasma-accordion-item-text-font-size);font-weight:var(--plasma-accordion-item-text-font-weight);font-style:var(--plasma-accordion-item-text-font-style);-webkit-letter-spacing:var(--plasma-accordion-item-text-letter-spacing);-moz-letter-spacing:var(--plasma-accordion-item-text-letter-spacing);-ms-letter-spacing:var(--plasma-accordion-item-text-letter-spacing);letter-spacing:var(--plasma-accordion-item-text-letter-spacing);line-height:var(--plasma-accordion-item-text-line-height);overflow:hidden;padding-right:var(--plasma-accordion-item-padding-horizontal);padding-left:var(--plasma-accordion-item-padding-horizontal-left);text-align:left;}
9
+ .s15qiue1{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--plasma-accordion-item-color-icon);}
10
+ .syldew1{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--plasma-accordion-item-color-icon);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:absolute;top:0;left:0;}.syldew1.accordion-plus-animation-element{-webkit-transition:0.2s;transition:0.2s;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}.syldew1.accordion-item-show-body{-webkit-transition:0.2s;transition:0.2s;-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}
11
+ .s1he8scv{position:relative;height:1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:1rem;}
@@ -8,13 +8,12 @@ import { base as base$2 } from './variations/_size/base.js';
8
8
  import { base as base$1 } from './variations/_view/base.js';
9
9
  import { StyledHiddenInput, StyledHiddenInputHelper, base } from './Attach.styles.js';
10
10
  import { StyledCell } from './ui/Cell/Cell.styles.js';
11
- import { separator } from './utils/index.js';
11
+ import { extractExtension } from './utils/extractExtension.js';
12
+ import { getFileicon } from './utils/getFileicon.js';
13
+ import { truncateFilename } from './utils/truncateFilename.js';
12
14
  import { classes } from './Attach.tokens.js';
13
15
  import { AttachButton } from './components/AttachButton/AttachButton.js';
14
16
  import { StyledIconButtonCancel } from './ui/IconButton/IconButton.styles.js';
15
- import { extractExtension } from './utils/extractExtension.js';
16
- import { addSeparator } from './utils/addSeparator.js';
17
- import { getFileicon } from './utils/getFileicon.js';
18
17
 
19
18
  var _IconCloseCircleOutli;
20
19
  var _excluded = ["flow", "buttonType", "hasAttachment", "acceptedFileFormats", "size", "view", "className", "style", "isLoading", "disabled"];
@@ -73,18 +72,15 @@ var attachRoot = function attachRoot(Root) {
73
72
  cellLeft = _cellRef$current$getB.left;
74
73
  var leftDiff = cellLeft - parentLeft;
75
74
  var currentTextWidth = textWidth;
76
- if (currentTextWidth + emptyTextCellWidth.current + leftDiff <= parentWidth || currentTextWidth + emptyTextCellWidth.current < buttonWidth) {
77
- setTruncatedFilename(filename);
78
- return;
79
- }
80
- var currFilename = addSeparator(filename, separator);
81
- for (var i = currFilename.indexOf(separator) - 1; i > 0; i -= 1) {
75
+ var currFilename = filename;
76
+ for (var i = filename.length - 1; i > 0; i -= 1) {
82
77
  if (currentTextWidth + emptyTextCellWidth.current + leftDiff <= parentWidth) {
83
78
  break;
84
79
  }
85
- var left = currFilename.slice(0, i);
86
- var right = currFilename.slice(i + 1);
87
- var newFilename = "".concat(left).concat(right);
80
+ var newFilename = truncateFilename({
81
+ filename: inputHelperRef.current.textContent,
82
+ startNameTruncationIndex: i
83
+ });
88
84
  inputHelperRef.current.textContent = newFilename;
89
85
  currentTextWidth = inputHelperRef.current.offsetWidth;
90
86
  if (currentTextWidth + emptyTextCellWidth.current < buttonWidth) {
@@ -1 +1 @@
1
- {"version":3,"file":"Attach.js","sources":["../../../src/components/Attach/Attach.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport { useForkRef, useIsomorphicLayoutEffect } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\nimport { IconCloseCircleOutline } from '../_Icon';\n\nimport { AttachProps } from './Attach.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base, StyledHiddenInput, StyledHiddenInputHelper } from './Attach.styles';\nimport { StyledCell } from './ui/Cell/Cell';\nimport { extractExtension, getFileicon, addSeparator, separator } from './utils';\nimport { classes } from './Attach.tokens';\nimport { AttachButton } from './components/AttachButton';\nimport { StyledIconButtonCancel } from './ui/IconButton/IconButton.styles';\n\nexport const attachRoot = (Root: RootProps<HTMLDivElement, AttachProps>) =>\n forwardRef<HTMLDivElement, AttachProps>((props, outerRef) => {\n const {\n flow = 'auto',\n buttonType = 'button',\n hasAttachment = true,\n acceptedFileFormats,\n size,\n view,\n className,\n style,\n isLoading,\n disabled,\n ...rest\n } = props;\n\n const innerRef = useRef<HTMLDivElement>(null);\n const ref = useForkRef(outerRef, innerRef);\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n const inputHelperRef = useRef<HTMLDivElement | null>(null);\n const cellRef = useRef<HTMLDivElement | null>(null);\n const buttonRef = useRef<HTMLButtonElement | null>(null);\n\n const emptyTextCellWidth = useRef<number | null>(null);\n\n const [filename, setFilename] = useState<string>('');\n const [truncatedFilename, setTruncatedFilename] = useState<string>('');\n\n const horizontalClass = flow === 'horizontal' ? classes.horizontal : undefined;\n const verticalClass = flow === 'vertical' ? classes.vertical : undefined;\n const autoClass = flow === 'auto' ? classes.auto : undefined;\n const cellHiddenClass = truncatedFilename.length === 0 ? classes.cellHidden : undefined;\n\n const accept = acceptedFileFormats?.join(',');\n const extension = extractExtension(filename);\n const cellContentLeft = getFileicon(extension, size);\n\n useEffect(() => {\n emptyTextCellWidth.current = cellRef.current?.offsetWidth || 0;\n }, []);\n\n useIsomorphicLayoutEffect(() => {\n if (\n !cellRef.current ||\n !cellRef.current.parentElement ||\n !inputHelperRef.current ||\n !inputHelperRef.current.textContent ||\n !emptyTextCellWidth.current ||\n !buttonRef.current\n ) {\n return;\n }\n\n const { offsetWidth: textWidth } = inputHelperRef.current;\n const { offsetWidth: buttonWidth } = buttonRef.current;\n const { width: parentWidth, left: parentLeft } = cellRef.current.parentElement.getBoundingClientRect();\n const { left: cellLeft } = cellRef.current.getBoundingClientRect();\n const leftDiff = cellLeft - parentLeft;\n let currentTextWidth = textWidth;\n\n if (\n currentTextWidth + emptyTextCellWidth.current + leftDiff <= parentWidth ||\n currentTextWidth + emptyTextCellWidth.current < buttonWidth\n ) {\n setTruncatedFilename(filename);\n return;\n }\n\n let currFilename = addSeparator(filename, separator);\n for (let i = currFilename.indexOf(separator) - 1; i > 0; i -= 1) {\n if (currentTextWidth + emptyTextCellWidth.current + leftDiff <= parentWidth) {\n break;\n }\n\n const left = currFilename.slice(0, i);\n const right = currFilename.slice(i + 1);\n const newFilename = `${left}${right}`;\n inputHelperRef.current.textContent = newFilename;\n currentTextWidth = inputHelperRef.current.offsetWidth;\n\n if (currentTextWidth + emptyTextCellWidth.current < buttonWidth) {\n break;\n }\n\n currFilename = newFilename;\n }\n\n inputHelperRef.current.textContent = filename;\n setTruncatedFilename(currFilename);\n });\n\n const handleClick = () => {\n if (!inputRef.current) {\n return;\n }\n\n inputRef.current.click();\n };\n\n const handleChange = () => {\n if (!inputRef.current || !inputRef.current.files) {\n return;\n }\n\n setFilename(inputRef.current.files[0].name);\n };\n\n const handleClear = () => {\n if (!inputRef.current) {\n return;\n }\n\n inputRef.current.value = '';\n setFilename('');\n setTruncatedFilename('');\n };\n\n return (\n <Root\n className={cx(horizontalClass, verticalClass, autoClass, className)}\n style={style}\n size={size}\n view={view}\n ref={ref}\n >\n <StyledHiddenInput\n ref={inputRef}\n accept={accept}\n type=\"file\"\n id=\"attachHiddenInput\"\n name=\"attachHiddenInput\"\n onChange={handleChange}\n />\n <StyledHiddenInputHelper ref={inputHelperRef} id=\"attachHiddenInputHelper\">\n {filename}\n </StyledHiddenInputHelper>\n\n <AttachButton\n buttonType={buttonType}\n view={view}\n size={size}\n onClick={handleClick}\n isLoading={isLoading}\n disabled={disabled}\n ref={buttonRef}\n {...rest}\n />\n {hasAttachment && (\n <StyledCell\n stretching=\"fixed\"\n className={cellHiddenClass}\n ref={cellRef}\n size={size}\n title={truncatedFilename}\n contentLeft={cellContentLeft}\n contentRight={\n <StyledIconButtonCancel view={view} size={size} onClick={handleClear}>\n <IconCloseCircleOutline size=\"xs\" color=\"inherit\" />\n </StyledIconButtonCancel>\n }\n />\n )}\n </Root>\n );\n });\n\nexport const attachConfig = {\n name: 'Attach',\n tag: 'div',\n layout: attachRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["attachRoot","Root","forwardRef","props","outerRef","_props$flow","flow","_props$buttonType","buttonType","_props$hasAttachment","hasAttachment","acceptedFileFormats","size","view","className","style","isLoading","disabled","rest","_objectWithoutProperties","_excluded","innerRef","useRef","ref","useForkRef","inputRef","inputHelperRef","cellRef","buttonRef","emptyTextCellWidth","_useState","useState","_useState2","_slicedToArray","filename","setFilename","_useState3","_useState4","truncatedFilename","setTruncatedFilename","horizontalClass","classes","horizontal","undefined","verticalClass","vertical","autoClass","auto","cellHiddenClass","length","cellHidden","accept","join","extension","extractExtension","cellContentLeft","getFileicon","useEffect","_cellRef$current","current","offsetWidth","useIsomorphicLayoutEffect","parentElement","textContent","textWidth","buttonWidth","_cellRef$current$pare","getBoundingClientRect","parentWidth","width","parentLeft","left","_cellRef$current$getB","cellLeft","leftDiff","currentTextWidth","currFilename","addSeparator","separator","i","indexOf","slice","right","newFilename","concat","handleClick","click","handleChange","files","name","handleClear","value","React","createElement","cx","StyledHiddenInput","type","id","onChange","StyledHiddenInputHelper","AttachButton","_extends","onClick","StyledCell","stretching","title","contentLeft","contentRight","StyledIconButtonCancel","_IconCloseCircleOutli","IconCloseCircleOutline","color","attachConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
1
+ {"version":3,"file":"Attach.js","sources":["../../../src/components/Attach/Attach.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport { useForkRef, useIsomorphicLayoutEffect } from '@salutejs/plasma-core';\n\nimport { RootProps } from '../../engines';\nimport { cx } from '../../utils';\nimport { IconCloseCircleOutline } from '../_Icon';\n\nimport { AttachProps } from './Attach.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base, StyledHiddenInput, StyledHiddenInputHelper } from './Attach.styles';\nimport { StyledCell } from './ui/Cell/Cell';\nimport { extractExtension, getFileicon, truncateFilename } from './utils';\nimport { classes } from './Attach.tokens';\nimport { AttachButton } from './components/AttachButton';\nimport { StyledIconButtonCancel } from './ui/IconButton/IconButton.styles';\n\nexport const attachRoot = (Root: RootProps<HTMLDivElement, AttachProps>) =>\n forwardRef<HTMLDivElement, AttachProps>((props, outerRef) => {\n const {\n flow = 'auto',\n buttonType = 'button',\n hasAttachment = true,\n acceptedFileFormats,\n size,\n view,\n className,\n style,\n isLoading,\n disabled,\n ...rest\n } = props;\n\n const innerRef = useRef<HTMLDivElement>(null);\n const ref = useForkRef(outerRef, innerRef);\n\n const inputRef = useRef<HTMLInputElement | null>(null);\n const inputHelperRef = useRef<HTMLDivElement | null>(null);\n const cellRef = useRef<HTMLDivElement | null>(null);\n const buttonRef = useRef<HTMLButtonElement | null>(null);\n\n const emptyTextCellWidth = useRef<number | null>(null);\n\n const [filename, setFilename] = useState<string>('');\n const [truncatedFilename, setTruncatedFilename] = useState<string>('');\n\n const horizontalClass = flow === 'horizontal' ? classes.horizontal : undefined;\n const verticalClass = flow === 'vertical' ? classes.vertical : undefined;\n const autoClass = flow === 'auto' ? classes.auto : undefined;\n const cellHiddenClass = truncatedFilename.length === 0 ? classes.cellHidden : undefined;\n\n const accept = acceptedFileFormats?.join(',');\n const extension = extractExtension(filename);\n const cellContentLeft = getFileicon(extension, size);\n\n useEffect(() => {\n emptyTextCellWidth.current = cellRef.current?.offsetWidth || 0;\n }, []);\n\n useIsomorphicLayoutEffect(() => {\n if (\n !cellRef.current ||\n !cellRef.current.parentElement ||\n !inputHelperRef.current ||\n !inputHelperRef.current.textContent ||\n !emptyTextCellWidth.current ||\n !buttonRef.current\n ) {\n return;\n }\n\n const { offsetWidth: textWidth } = inputHelperRef.current;\n const { offsetWidth: buttonWidth } = buttonRef.current;\n const { width: parentWidth, left: parentLeft } = cellRef.current.parentElement.getBoundingClientRect();\n const { left: cellLeft } = cellRef.current.getBoundingClientRect();\n const leftDiff = cellLeft - parentLeft;\n\n let currentTextWidth = textWidth;\n let currFilename = filename;\n\n for (let i = filename.length - 1; i > 0; i -= 1) {\n if (currentTextWidth + emptyTextCellWidth.current + leftDiff <= parentWidth) {\n break;\n }\n\n const newFilename = truncateFilename({\n filename: inputHelperRef.current.textContent,\n startNameTruncationIndex: i,\n });\n inputHelperRef.current.textContent = newFilename;\n currentTextWidth = inputHelperRef.current.offsetWidth;\n\n if (currentTextWidth + emptyTextCellWidth.current < buttonWidth) {\n break;\n }\n\n currFilename = newFilename;\n }\n\n inputHelperRef.current.textContent = filename;\n setTruncatedFilename(currFilename);\n });\n\n const handleClick = () => {\n if (!inputRef.current) {\n return;\n }\n\n inputRef.current.click();\n };\n\n const handleChange = () => {\n if (!inputRef.current || !inputRef.current.files) {\n return;\n }\n\n setFilename(inputRef.current.files[0].name);\n };\n\n const handleClear = () => {\n if (!inputRef.current) {\n return;\n }\n\n inputRef.current.value = '';\n setFilename('');\n setTruncatedFilename('');\n };\n\n return (\n <Root\n className={cx(horizontalClass, verticalClass, autoClass, className)}\n style={style}\n size={size}\n view={view}\n ref={ref}\n >\n <StyledHiddenInput\n ref={inputRef}\n accept={accept}\n type=\"file\"\n id=\"attachHiddenInput\"\n name=\"attachHiddenInput\"\n onChange={handleChange}\n />\n <StyledHiddenInputHelper ref={inputHelperRef} id=\"attachHiddenInputHelper\">\n {filename}\n </StyledHiddenInputHelper>\n\n <AttachButton\n buttonType={buttonType}\n view={view}\n size={size}\n onClick={handleClick}\n isLoading={isLoading}\n disabled={disabled}\n ref={buttonRef}\n {...rest}\n />\n {hasAttachment && (\n <StyledCell\n stretching=\"fixed\"\n className={cellHiddenClass}\n ref={cellRef}\n size={size}\n title={truncatedFilename}\n contentLeft={cellContentLeft}\n contentRight={\n <StyledIconButtonCancel view={view} size={size} onClick={handleClear}>\n <IconCloseCircleOutline size=\"xs\" color=\"inherit\" />\n </StyledIconButtonCancel>\n }\n />\n )}\n </Root>\n );\n });\n\nexport const attachConfig = {\n name: 'Attach',\n tag: 'div',\n layout: attachRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n },\n defaults: {\n view: 'default',\n size: 'm',\n },\n};\n"],"names":["attachRoot","Root","forwardRef","props","outerRef","_props$flow","flow","_props$buttonType","buttonType","_props$hasAttachment","hasAttachment","acceptedFileFormats","size","view","className","style","isLoading","disabled","rest","_objectWithoutProperties","_excluded","innerRef","useRef","ref","useForkRef","inputRef","inputHelperRef","cellRef","buttonRef","emptyTextCellWidth","_useState","useState","_useState2","_slicedToArray","filename","setFilename","_useState3","_useState4","truncatedFilename","setTruncatedFilename","horizontalClass","classes","horizontal","undefined","verticalClass","vertical","autoClass","auto","cellHiddenClass","length","cellHidden","accept","join","extension","extractExtension","cellContentLeft","getFileicon","useEffect","_cellRef$current","current","offsetWidth","useIsomorphicLayoutEffect","parentElement","textContent","textWidth","buttonWidth","_cellRef$current$pare","getBoundingClientRect","parentWidth","width","parentLeft","left","_cellRef$current$getB","cellLeft","leftDiff","currentTextWidth","currFilename","i","newFilename","truncateFilename","startNameTruncationIndex","handleClick","click","handleChange","files","name","handleClear","value","React","createElement","cx","StyledHiddenInput","type","id","onChange","StyledHiddenInputHelper","AttachButton","_extends","onClick","StyledCell","stretching","title","contentLeft","contentRight","StyledIconButtonCancel","_IconCloseCircleOutli","IconCloseCircleOutline","color","attachConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","defaults"],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ 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
+ };
18
+
19
+ export { truncateFilename };
20
+ //# sourceMappingURL=truncateFilename.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"truncateFilename.js","sources":["../../../../src/components/Attach/utils/truncateFilename.ts"],"sourcesContent":["export const truncateFilename = ({\n filename,\n startNameTruncationIndex,\n separator = '...',\n minNameLength = 5,\n}: {\n filename: string;\n startNameTruncationIndex: number;\n separator?: string;\n minNameLength?: number;\n}) => {\n const strings = filename.split('.');\n const extension = strings.length > 1 ? strings[strings.length - 1] : null;\n const name = strings.length > 1 ? strings.slice(0, -1).join('.') : strings[0];\n\n if (name.length <= minNameLength || startNameTruncationIndex >= name.length - 1) {\n return filename;\n }\n\n const lastNameLetter = name[name.length - 1];\n const truncatedName = `${name.substring(0, startNameTruncationIndex)}${separator}${lastNameLetter}`;\n\n return extension ? `${truncatedName}.${extension}` : truncatedName;\n};\n"],"names":["truncateFilename","_ref","filename","startNameTruncationIndex","_ref$separator","separator","_ref$minNameLength","minNameLength","strings","split","extension","length","name","slice","join","lastNameLetter","truncatedName","concat","substring"],"mappings":"IAAaA,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,IAAA,EAUvB;AAAA,EAAA,IATFC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACRC,wBAAwB,GAAAF,IAAA,CAAxBE,wBAAwB;IAAAC,cAAA,GAAAH,IAAA,CACxBI,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;IAAAE,kBAAA,GAAAL,IAAA,CACjBM,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,kBAAA,CAAA;AAOjB,EAAA,IAAME,OAAO,GAAGN,QAAQ,CAACO,KAAK,CAAC,GAAG,CAAC,CAAA;AACnC,EAAA,IAAMC,SAAS,GAAGF,OAAO,CAACG,MAAM,GAAG,CAAC,GAAGH,OAAO,CAACA,OAAO,CAACG,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAA;EACzE,IAAMC,IAAI,GAAGJ,OAAO,CAACG,MAAM,GAAG,CAAC,GAAGH,OAAO,CAACK,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,GAAGN,OAAO,CAAC,CAAC,CAAC,CAAA;AAE7E,EAAA,IAAII,IAAI,CAACD,MAAM,IAAIJ,aAAa,IAAIJ,wBAAwB,IAAIS,IAAI,CAACD,MAAM,GAAG,CAAC,EAAE;AAC7E,IAAA,OAAOT,QAAQ,CAAA;AACnB,GAAA;EAEA,IAAMa,cAAc,GAAGH,IAAI,CAACA,IAAI,CAACD,MAAM,GAAG,CAAC,CAAC,CAAA;EAC5C,IAAMK,aAAa,MAAAC,MAAA,CAAML,IAAI,CAACM,SAAS,CAAC,CAAC,EAAEf,wBAAwB,CAAC,CAAA,CAAAc,MAAA,CAAGZ,SAAS,EAAAY,MAAA,CAAGF,cAAc,CAAE,CAAA;EAEnG,OAAOL,SAAS,GAAAO,EAAAA,CAAAA,MAAA,CAAMD,aAAa,OAAAC,MAAA,CAAIP,SAAS,CAAA,GAAKM,aAAa,CAAA;AACtE;;;;"}
@@ -0,0 +1 @@
1
+ .IconRoot_7pl7ig_svvlqhf__32c458a1{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;width:var(--svvlqhf-0);height:var(--svvlqhf-0);-webkit-flex:0 0 var(--svvlqhf-0);-ms-flex:0 0 var(--svvlqhf-0);flex:0 0 var(--svvlqhf-0);}
package/es/index.css CHANGED
@@ -641,6 +641,18 @@
641
641
 
642
642
  .Accordion_styles_rsiff6_bjv6ypd__465a9c67{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;gap:var(--plasma-accordion-gap);-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;height:auto;background:var(--plasma-accordion-background);}.Accordion_styles_rsiff6_bjv6ypd__465a9c67.Accordion_styles_rsiff6_accordionStretchingFixed__465a9c67{width:var(--plasma-accordion-width);}.Accordion_styles_rsiff6_bjv6ypd__465a9c67.Accordion_styles_rsiff6_accordionStretchingFilled__465a9c67{width:100%;}
643
643
 
644
+ .AccordionItem_styles_aus2x3_s1d847tf__94808ef4{background:var(--plasma-accordion-item-background);border:var(--plasma-accordion-item-border);border-bottom:var(--plasma-accordion-item-border-bottom);}.AccordionItem_styles_aus2x3_s1d847tf__94808ef4:last-child{border-bottom:var(--plasma-accordion-item-border);}.AccordionItem_styles_aus2x3_s1d847tf__94808ef4.AccordionItem_styles_aus2x3_accordionDisabled__94808ef4{opacity:0.4;cursor:not-allowed;}
645
+ .AccordionItem_styles_aus2x3_s18inj31__94808ef4{width:100%;border:none;padding:var(--plasma-accordion-item-padding);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--plasma-accordion-item-gap);-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:none;box-sizing:border-box;cursor:pointer;position:relative;}.AccordionItem_styles_aus2x3_s18inj31__94808ef4:focus{outline:none;}.AccordionItem_styles_aus2x3_s18inj31__94808ef4::before{content:'';position:absolute;top:0.125rem;left:0.125rem;right:0.125rem;bottom:0.125rem;z-index:1;display:block;box-sizing:content-box;border:0.125rem solid transparent;border-radius:0;-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.AccordionItem_styles_aus2x3_s18inj31__94808ef4.AccordionItem_styles_aus2x3_focusVisible__94808ef4:focus::before,.AccordionItem_styles_aus2x3_s18inj31__94808ef4[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.125rem var(--plasma-accordion-item-focus);}
646
+ .AccordionItem_styles_aus2x3_s1kvo44v__94808ef4{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--plasma-accordion-item-gap);-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
647
+ .AccordionItem_styles_aus2x3_s2tqnbp__94808ef4{-webkit-transition:0.2s;transition:0.2s;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}.AccordionItem_styles_aus2x3_s2tqnbp__94808ef4.AccordionItem_styles_aus2x3_accordionItemShowBody__94808ef4{-webkit-transition:0.2s;transition:0.2s;-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}
648
+ .AccordionItem_styles_aus2x3_s11daj3x__94808ef4{-webkit-transition:0.2s;transition:0.2s;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.AccordionItem_styles_aus2x3_s11daj3x__94808ef4.AccordionItem_styles_aus2x3_accordionItemShowBody__94808ef4{-webkit-transition:0.2s;transition:0.2s;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);}
649
+ .AccordionItem_styles_aus2x3_sy09zp7__94808ef4{color:var(--plasma-accordion-item-title-color);font-family:var(--plasma-accordion-item-title-font-family);font-size:var(--plasma-accordion-item-title-font-size);font-weight:var(--plasma-accordion-item-title-font-weight);font-style:var(--plasma-accordion-item-title-font-style);-webkit-letter-spacing:var(--plasma-accordion-item-title-letter-spacing);-moz-letter-spacing:var(--plasma-accordion-item-title-letter-spacing);-ms-letter-spacing:var(--plasma-accordion-item-title-letter-spacing);letter-spacing:var(--plasma-accordion-item-title-letter-spacing);line-height:var(--plasma-accordion-item-title-line-height);text-align:left;}
650
+ .AccordionItem_styles_aus2x3_sbzgv9z__94808ef4{display:grid;grid-template-rows:0fr;-webkit-transition:grid-template-rows 0.2s ease-out;transition:grid-template-rows 0.2s ease-out;overflow:hidden;}.AccordionItem_styles_aus2x3_sbzgv9z__94808ef4.AccordionItem_styles_aus2x3_accordionItemShowBody__94808ef4{grid-template-rows:1fr;padding-bottom:var(--plasma-accordion-item-padding-vertical);}.AccordionItem_styles_aus2x3_sbzgv9z__94808ef4.AccordionItem_styles_aus2x3_accordionItemShowBody__94808ef4.AccordionItem_styles_aus2x3_accordionPlusAnimationElement__94808ef4{-webkit-transition:0.2s;transition:0.2s;-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}
651
+ .AccordionItem_styles_aus2x3_s1ewkyyv__94808ef4{color:var(--plasma-accordion-item-text-color);font-family:var(--plasma-accordion-item-text-font-family);font-size:var(--plasma-accordion-item-text-font-size);font-weight:var(--plasma-accordion-item-text-font-weight);font-style:var(--plasma-accordion-item-text-font-style);-webkit-letter-spacing:var(--plasma-accordion-item-text-letter-spacing);-moz-letter-spacing:var(--plasma-accordion-item-text-letter-spacing);-ms-letter-spacing:var(--plasma-accordion-item-text-letter-spacing);letter-spacing:var(--plasma-accordion-item-text-letter-spacing);line-height:var(--plasma-accordion-item-text-line-height);overflow:hidden;padding-right:var(--plasma-accordion-item-padding-horizontal);padding-left:var(--plasma-accordion-item-padding-horizontal-left);text-align:left;}
652
+ .AccordionItem_styles_aus2x3_s15qiue1__94808ef4{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--plasma-accordion-item-color-icon);}
653
+ .AccordionItem_styles_aus2x3_syldew1__94808ef4{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--plasma-accordion-item-color-icon);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:absolute;top:0;left:0;}.AccordionItem_styles_aus2x3_syldew1__94808ef4.AccordionItem_styles_aus2x3_accordionPlusAnimationElement__94808ef4{-webkit-transition:0.2s;transition:0.2s;-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg);}.AccordionItem_styles_aus2x3_syldew1__94808ef4.AccordionItem_styles_aus2x3_accordionItemShowBody__94808ef4{-webkit-transition:0.2s;transition:0.2s;-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}
654
+ .AccordionItem_styles_aus2x3_s1he8scv__94808ef4{position:relative;height:1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:1rem;}
655
+
644
656
  .DatePickerBase_styles_mjc9xz_s1ywkx25__32181e7c{width:var(--plasma-date-picker-width);padding-top:var(--plasma-date-picker-calendar-padding-top);box-shadow:var(--plasma-date-picker-calendar-shadow);border-radius:var(--plasma-date-picker-calendar-border-radius);--plasma-calendar-background:var(--plasma-date-picker-calendar__background-color);--plasma-calendar-selected-item-background:var(--plasma-date-picker-calendar__selected-item-background);--plasma-calendar-selected-item-color:var(--plasma-date-picker-calendar__selected-item-color);--plasma-calendar-selectable-item-bg-hover:var(--plasma-date-picker-calendar__selectable-item-background-hover);--plasma-calendar-current-item-border-color:var(--plasma-date-picker-calendar__current-item-border-color);--plasma-calendar-current-item-bg-hover:var(--plasma-date-picker-calendar__current-item-background-hover);--plasma-calendar-current-item-color-hover:var(--plasma-date-picker-calendar__current-item-color-hover);--plasma-calendar-current-item-child-bg-hover:var(--plasma-date-picker-calendar__current-item-child-background-hover);--plasma-calendar-active-item-bg:var(--plasma-date-picker-calendar__active-item-background);--plasma-calendar-active-item-color:var(--plasma-date-picker-calendar__active-item-color);--plasma-calendar-hovered-item-bg:var(--plasma-date-picker-calendar__hovered-item-background);--plasma-calendar-hovered-item-color:var(--plasma-date-picker-calendar__hovered-item-color);--plasma-calendar-range-background:var(--plasma-date-picker-calendar__range-background);--plasma-calendar-outline-focus-color:var(--plasma-date-picker-calendar__outline-focus-color);--plasma-calendar-content-primary-color:var(--plasma-date-picker-calendar__content-primary-color);--plasma-calendar-content-secondary-color:var(--plasma-date-picker-calendar__content-secondary-color);--plasma-calendar-icon-button-color:var(--plasma-date-picker-icon-button__color);--plasma-calendar-icon-button-background:var(--plasma-date-picker-icon-button__background-color);--plasma-calendar-icon-button-color-hover:var(--plasma-date-picker-icon-button__color-hover);--plasma-calendar-icon-button-background-hover:var(--plasma-date-picker-icon-button__background-color-hover);--plasma-calendar-icon-button-color-active:var(--plasma-date-picker-icon-button__color-active);--plasma-calendar-icon-button-background-active:var(--plasma-date-picker-icon-button__background-color-active);--plasma-calendar-width:var(--plasma-date-picker-calendar-width);--plasma-calendar-height:var(--plasma-date-picker-calendar-height);--plasma-calendar-years-padding:var(--plasma-date-picker-calendar__years-padding);--plasma-calendar-year-item-border-radius:var(--plasma-date-picker-calendar__year-item-border-radius);--plasma-calendar-year-item-width:var(--plasma-date-picker-calendar__year-item-width);--plasma-calendar-year-item-height:var(--plasma-date-picker-calendar__year-item-height);--plasma-calendar-year-font-family:var(--plasma-date-picker-calendar__year-font-family);--plasma-calendar-year-font-size:var(--plasma-date-picker-calendar__year-font-size);--plasma-calendar-year-font-style:var(--plasma-date-picker-calendar__year-font-style);--plasma-calendar-year-font-letter-spacing:var(--plasma-date-picker-calendar__year-letter-spacing);--plasma-calendar-year-line-height:var(--plasma-date-picker-calendar__year-line-height);--plasma-calendar-year-font-weight:var(--plasma-date-picker-calendar__year-font-weight);--plasma-calendar-year-selected-font-weight:var(--plasma-date-picker-calendar__year-selected-font-weight);--plasma-calendar-months-padding:var(--plasma-date-picker-calendar__months-padding);--plasma-calendar-month-item-border-radius:var(--plasma-date-picker-calendar__month-item-border-radius);--plasma-calendar-month-item-width:var(--plasma-date-picker-calendar__month-item-width);--plasma-calendar-month-item-height:var(--plasma-date-picker-calendar__month-item-height);--plasma-calendar-month-font-family:var(--plasma-date-picker-calendar__month-font-family);--plasma-calendar-month-font-size:var(--plasma-date-picker-calendar__month-font-size);--plasma-calendar-month-font-style:var(--plasma-date-picker-calendar__month-font-style);--plasma-calendar-month-font-letter-spacing:var(--plasma-date-picker-calendar__month-letter-spacing);--plasma-calendar-month-line-height:var(--plasma-date-picker-calendar__month-line-height);--plasma-calendar-month-font-weight:var(--plasma-date-picker-calendar__month-font-weight);--plasma-calendar-month-selected-font-weight:var(--plasma-date-picker-calendar__month-selected-font-weight);--plasma-calendar-quarters-padding:var(--plasma-date-picker-calendar__quarters-padding);--plasma-calendar-quarter-item-border-radius:var(--plasma-date-picker-calendar__quarter-item-border-radius);--plasma-calendar-quarter-item-width:var(--plasma-date-picker-calendar__quarter-item-width);--plasma-calendar-quarter-item-height:var(--plasma-date-picker-calendar__quarter-item-height);--plasma-calendar-quarter-font-family:var(--plasma-date-picker-calendar__quarter-font-family);--plasma-calendar-quarter-font-size:var(--plasma-date-picker-calendar__quarter-font-size);--plasma-calendar-quarter-font-style:var(--plasma-date-picker-calendar__quarter-font-style);--plasma-calendar-quarter-font-letter-spacing:var(--plasma-date-picker-calendar__quarter-letter-spacing);--plasma-calendar-quarter-line-height:var(--plasma-date-picker-calendar__quarter-line-height);--plasma-calendar-quarter-font-weight:var(--plasma-date-picker-calendar__quarter-font-weight);--plasma-calendar-quarter-selected-font-weight:var(--plasma-date-picker-calendar__quarter-selected-font-weight);--plasma-calendar-days-padding:var(--plasma-date-picker-calendar__days-padding);--plasma-calendar-day-item-border-radius:var(--plasma-date-picker-calendar__day-item-border-radius);--plasma-calendar-day-item-width:var(--plasma-date-picker-calendar__day-item-width);--plasma-calendar-day-item-height:var(--plasma-date-picker-calendar__day-item-height);--plasma-calendar-day-font-family:var(--plasma-date-picker-calendar__day-font-family);--plasma-calendar-day-font-size:var(--plasma-date-picker-calendar__day-font-size);--plasma-calendar-day-font-style:var(--plasma-date-picker-calendar__day-font-style);--plasma-calendar-day-font-letter-spacing:var(--plasma-date-picker-calendar__day-letter-spacing);--plasma-calendar-day-line-height:var(--plasma-date-picker-calendar__day-line-height);--plasma-calendar-day-font-weight:var(--plasma-date-picker-calendar__day-font-weight);--plasma-calendar-day-selected-font-weight:var(--plasma-date-picker-calendar__day-selected-font-weight);--plasma-calendar-header-wrapper-padding:var(--plasma-date-picker-calendar__header-wrapper-padding);--plasma-calendar-arrow-container-gap:var(--plasma-date-picker-calendar__header-arrow-gap);--plasma-calendar-arrow-container-padding:var(--plasma-date-picker-calendar__header-arrow-padding);--plasma-calendar-header-padding:var(--plasma-date-picker-calendar__header-padding);--plasma-calendar-header-date-gap:var(--plasma-date-picker-calendar__header-date-gap);--plasma-calendar-header-font-family:var(--plasma-date-picker-calendar__header-font-family);--plasma-calendar-header-font-size:var(--plasma-date-picker-calendar__header-font-size);--plasma-calendar-header-font-style:var(--plasma-date-picker-calendar__header-font-style);--plasma-calendar-header-font-letter-spacing:var(--plasma-date-picker-calendar__header-letter-spacing);--plasma-calendar-header-line-height:var(--plasma-date-picker-calendar__header-line-height);--plasma-calendar-header-font-weight:var(--plasma-date-picker-calendar__header-font-weight);--plasma-calendar-header-font-weight-bold:var(--plasma-date-picker-calendar__header-font-weight-bold);--plasma-calendar-icon-button-height:var(--plasma-date-picker-icon-button__height);--plasma-calendar-icon-button-width:var(--plasma-date-picker-icon-button__width);--plasma-calendar-icon-button-padding:var(--plasma-date-picker-icon-button__padding);--plasma-calendar-icon-button-radius:var(--plasma-date-picker-icon-button__radius);--plasma-calendar-icon-button-focus-color:var(--plasma-date-picker-icon-button__focus-color);}
645
657
  .DatePickerBase_styles_mjc9xz_i1kteo3u__32181e7c{visibility:hidden;width:0;height:0;opacity:0;margin:0;padding:0;border:none;}
646
658
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.160.1-canary.1454.11161506750.0",
3
+ "version": "0.160.1-canary.1467.11175831798.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -124,5 +124,5 @@
124
124
  "react-popper": "2.3.0",
125
125
  "storeon": "3.1.5"
126
126
  },
127
- "gitHead": "57cb8b466fae86035f3ca00935d7cf22a9b67ffc"
127
+ "gitHead": "5a5a75e9f1133275a97bf1f7407cadc7f9b25eab"
128
128
  }
@@ -85,18 +85,15 @@ var attachRoot = exports.attachRoot = function attachRoot(Root) {
85
85
  cellLeft = _cellRef$current$getB.left;
86
86
  var leftDiff = cellLeft - parentLeft;
87
87
  var currentTextWidth = textWidth;
88
- if (currentTextWidth + emptyTextCellWidth.current + leftDiff <= parentWidth || currentTextWidth + emptyTextCellWidth.current < buttonWidth) {
89
- setTruncatedFilename(filename);
90
- return;
91
- }
92
- var currFilename = (0, _utils2.addSeparator)(filename, _utils2.separator);
93
- for (var i = currFilename.indexOf(_utils2.separator) - 1; i > 0; i -= 1) {
88
+ var currFilename = filename;
89
+ for (var i = filename.length - 1; i > 0; i -= 1) {
94
90
  if (currentTextWidth + emptyTextCellWidth.current + leftDiff <= parentWidth) {
95
91
  break;
96
92
  }
97
- var left = currFilename.slice(0, i);
98
- var right = currFilename.slice(i + 1);
99
- var newFilename = "".concat(left).concat(right);
93
+ var newFilename = (0, _utils2.truncateFilename)({
94
+ filename: inputHelperRef.current.textContent,
95
+ startNameTruncationIndex: i
96
+ });
100
97
  inputHelperRef.current.textContent = newFilename;
101
98
  currentTextWidth = inputHelperRef.current.offsetWidth;
102
99
  if (currentTextWidth + emptyTextCellWidth.current < buttonWidth) {