@consta/uikit 4.2.2 → 4.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/README.md +3 -3
  2. package/__internal__/src/components/Collapse/Collapse.d.ts +4 -45
  3. package/__internal__/src/components/Collapse/Collapse.js +1 -1
  4. package/__internal__/src/components/Collapse/Collapse.js.map +1 -1
  5. package/__internal__/src/components/Collapse/CollapseIcon/CollapseIcon.d.ts +1 -13
  6. package/__internal__/src/components/Collapse/CollapseIcon/CollapseIcon.js +1 -1
  7. package/__internal__/src/components/Collapse/CollapseIcon/CollapseIcon.js.map +1 -1
  8. package/__internal__/src/components/Collapse/types.d.ts +53 -0
  9. package/__internal__/src/components/Collapse/types.js +2 -0
  10. package/__internal__/src/components/Collapse/types.js.map +1 -0
  11. package/__internal__/src/components/CollapseGroup/helpers.d.ts +5 -6
  12. package/__internal__/src/components/CollapseGroup/helpers.js.map +1 -1
  13. package/__internal__/src/components/DateTime/DateTimeTypeDateTime/DateTimeTypeDateTime.css +1 -1
  14. package/__internal__/src/components/DateTime/DateTimeTypeTime/DateTimeTypeTime.css +1 -1
  15. package/__internal__/src/components/ProgressLine/ProgressLine.css +1 -1
  16. package/__internal__/src/components/ProgressLine/ProgressLine.js +1 -1
  17. package/__internal__/src/components/ProgressLine/ProgressLine.js.map +1 -1
  18. package/__internal__/src/components/ProgressLine/helpers.d.ts +9 -1
  19. package/__internal__/src/components/ProgressLine/helpers.js +1 -1
  20. package/__internal__/src/components/ProgressLine/helpers.js.map +1 -1
  21. package/__internal__/src/components/SnackBar/SnackBar.js +1 -1
  22. package/__internal__/src/components/SnackBar/SnackBar.js.map +1 -1
  23. package/__internal__/src/components/SnackBar/SnackBarItem/SnackBarItem.css +1 -1
  24. package/__internal__/src/components/SnackBar/SnackBarItem/SnackBarItem.js +1 -1
  25. package/__internal__/src/components/SnackBar/SnackBarItem/SnackBarItem.js.map +1 -1
  26. package/__internal__/src/components/SnackBar/helper.d.ts +1 -0
  27. package/__internal__/src/components/SnackBar/types.d.ts +5 -0
  28. package/__internal__/src/components/SnackBar/types.js +1 -1
  29. package/__internal__/src/components/SnackBar/types.js.map +1 -1
  30. package/__internal__/src/components/Table/Cell/TableCell.css +1 -1
  31. package/__internal__/src/components/Table/RowsCollapse/TableRowsCollapse.js +1 -1
  32. package/__internal__/src/components/Table/RowsCollapse/TableRowsCollapse.js.map +1 -1
  33. package/__internal__/src/components/Table/Table.d.ts +4 -2
  34. package/__internal__/src/components/Table/Table.js +1 -1
  35. package/__internal__/src/components/Table/Table.js.map +1 -1
  36. package/__internal__/src/components/Table/__mock__/data.mock.d.ts +19 -0
  37. package/__internal__/src/components/Table/__mock__/data.mock.js +1 -1
  38. package/__internal__/src/components/Table/__mock__/data.mock.js.map +1 -1
  39. package/__internal__/src/components/Table/helpers.d.ts +1 -0
  40. package/__internal__/src/components/Table/helpers.js +1 -1
  41. package/__internal__/src/components/Table/helpers.js.map +1 -1
  42. package/__internal__/src/hooks/useChoiceGroup/useChoiceGroup.js +1 -1
  43. package/__internal__/src/hooks/useChoiceGroup/useChoiceGroup.js.map +1 -1
  44. package/__internal__/src/utils/generateMask.d.ts +1 -0
  45. package/__internal__/src/utils/generateMask.js +2 -0
  46. package/__internal__/src/utils/generateMask.js.map +1 -0
  47. package/package.json +1 -1
  48. package/__internal__/src/docs/aboutConsta/aboutConsta.stand.d.ts +0 -2
  49. package/__internal__/src/docs/aboutConsta/aboutConsta.stand.js +0 -2
  50. package/__internal__/src/docs/aboutConsta/aboutConsta.stand.js.map +0 -1
  51. package/__internal__/src/docs/aboutConsta/components/AboutData/AboutData.css +0 -1
  52. package/__internal__/src/docs/aboutConsta/components/AboutData/AboutData.d.ts +0 -2
  53. package/__internal__/src/docs/aboutConsta/components/AboutData/AboutData.js +0 -2
  54. package/__internal__/src/docs/aboutConsta/components/AboutData/AboutData.js.map +0 -1
  55. package/__internal__/src/docs/addComponent/addComponent.stand.d.ts +0 -2
  56. package/__internal__/src/docs/addComponent/addComponent.stand.js +0 -2
  57. package/__internal__/src/docs/addComponent/addComponent.stand.js.map +0 -1
  58. package/__internal__/src/docs/addComponent/components/addComponentData/AddComponentData.css +0 -1
  59. package/__internal__/src/docs/addComponent/components/addComponentData/AddComponentData.d.ts +0 -5
  60. package/__internal__/src/docs/addComponent/components/addComponentData/AddComponentData.js +0 -2
  61. package/__internal__/src/docs/addComponent/components/addComponentData/AddComponentData.js.map +0 -1
  62. package/__internal__/src/docs/code/code.stand.d.ts +0 -2
  63. package/__internal__/src/docs/code/code.stand.js +0 -2
  64. package/__internal__/src/docs/code/code.stand.js.map +0 -1
  65. package/__internal__/src/docs/commits/commits.stand.d.ts +0 -2
  66. package/__internal__/src/docs/commits/commits.stand.js +0 -2
  67. package/__internal__/src/docs/commits/commits.stand.js.map +0 -1
  68. package/__internal__/src/docs/connectTheme/connectTheme.stand.d.ts +0 -2
  69. package/__internal__/src/docs/connectTheme/connectTheme.stand.js +0 -2
  70. package/__internal__/src/docs/connectTheme/connectTheme.stand.js.map +0 -1
  71. package/__internal__/src/docs/createPreset/createPreset.stand.d.ts +0 -2
  72. package/__internal__/src/docs/createPreset/createPreset.stand.js +0 -2
  73. package/__internal__/src/docs/createPreset/createPreset.stand.js.map +0 -1
  74. package/__internal__/src/docs/docs/docs.stand.d.ts +0 -2
  75. package/__internal__/src/docs/docs/docs.stand.js +0 -2
  76. package/__internal__/src/docs/docs/docs.stand.js.map +0 -1
  77. package/__internal__/src/docs/fileStructure/fileStructure.stand.d.ts +0 -2
  78. package/__internal__/src/docs/fileStructure/fileStructure.stand.js +0 -2
  79. package/__internal__/src/docs/fileStructure/fileStructure.stand.js.map +0 -1
  80. package/__internal__/src/docs/howToGo/howToGo.stand.d.ts +0 -2
  81. package/__internal__/src/docs/howToGo/howToGo.stand.js +0 -2
  82. package/__internal__/src/docs/howToGo/howToGo.stand.js.map +0 -1
  83. package/__internal__/src/docs/issue/issue.stand.d.ts +0 -2
  84. package/__internal__/src/docs/issue/issue.stand.js +0 -2
  85. package/__internal__/src/docs/issue/issue.stand.js.map +0 -1
  86. package/__internal__/src/docs/principle/principles.stand.d.ts +0 -2
  87. package/__internal__/src/docs/principle/principles.stand.js +0 -2
  88. package/__internal__/src/docs/principle/principles.stand.js.map +0 -1
  89. package/__internal__/src/docs/prototype/prototype.stand.d.ts +0 -2
  90. package/__internal__/src/docs/prototype/prototype.stand.js +0 -2
  91. package/__internal__/src/docs/prototype/prototype.stand.js.map +0 -1
  92. package/__internal__/src/docs/review/review.stand.d.ts +0 -2
  93. package/__internal__/src/docs/review/review.stand.js +0 -2
  94. package/__internal__/src/docs/review/review.stand.js.map +0 -1
  95. package/__internal__/src/docs/sla/components/SlaPictures/SlaPictures.d.ts +0 -1
  96. package/__internal__/src/docs/sla/components/SlaPictures/SlaPictures.js +0 -2
  97. package/__internal__/src/docs/sla/components/SlaPictures/SlaPictures.js.map +0 -1
  98. package/__internal__/src/docs/sla/sla.stand.d.ts +0 -2
  99. package/__internal__/src/docs/sla/sla.stand.js +0 -2
  100. package/__internal__/src/docs/sla/sla.stand.js.map +0 -1
  101. package/__internal__/src/docs/tableComparison/components/AboutData/AboutData.css +0 -1
  102. package/__internal__/src/docs/tableComparison/components/AboutData/AboutData.d.ts +0 -2
  103. package/__internal__/src/docs/tableComparison/components/AboutData/AboutData.js +0 -2
  104. package/__internal__/src/docs/tableComparison/components/AboutData/AboutData.js.map +0 -1
  105. package/__internal__/src/docs/tableComparison/tableComparison.stand.d.ts +0 -2
  106. package/__internal__/src/docs/tableComparison/tableComparison.stand.js +0 -2
  107. package/__internal__/src/docs/tableComparison/tableComparison.stand.js.map +0 -1
  108. package/__internal__/src/docs/themeAbout/themeAbout.stand.d.ts +0 -2
  109. package/__internal__/src/docs/themeAbout/themeAbout.stand.js +0 -2
  110. package/__internal__/src/docs/themeAbout/themeAbout.stand.js.map +0 -1
  111. package/__internal__/src/docs/units/units.stand.d.ts +0 -2
  112. package/__internal__/src/docs/units/units.stand.js +0 -2
  113. package/__internal__/src/docs/units/units.stand.js.map +0 -1
  114. package/__internal__/src/docs/workflow/workflow.stand.d.ts +0 -2
  115. package/__internal__/src/docs/workflow/workflow.stand.js +0 -2
  116. package/__internal__/src/docs/workflow/workflow.stand.js.map +0 -1
package/README.md CHANGED
@@ -46,7 +46,7 @@ const App = () => (
46
46
  );
47
47
  ```
48
48
 
49
- [Что такое темы и как с ними работать](http://uikit.consta.design/?path=/docs/thematization-what-are-themes--page)
49
+ [Что такое темы и как с ними работать](https://portal.consta.design/libs/portal/theme-themeabout)
50
50
 
51
51
  ## Документация и стенд
52
52
 
@@ -56,8 +56,8 @@ const App = () => (
56
56
 
57
57
  ## Контрибьюторам
58
58
 
59
- Будем рады, если вы захотите принять участие в разработке дизайн-системы =) Но сначала прочитайте [инструкцию для контрибьюторов](https://uikit.consta.design/libs/uikit/custom-contribute).
59
+ Будем рады, если вы захотите принять участие в разработке дизайн-системы =) Но сначала прочитайте [инструкцию для контрибьюторов](https://portal.consta.design/libs/portal/custom-contribute).
60
60
 
61
61
  ## Лицензия
62
62
 
63
- Дизайн-систему можно использовать бесплатно, она распространяется на условиях открытой [лицензии MIT](https://consta.gazprom-neft.ru/static/licence_mit.pdf).
63
+ Дизайн-систему можно использовать бесплатно, она распространяется на условиях открытой [лицензии MIT](https://consta.design/static/licence_mit.pdf).
@@ -1,49 +1,8 @@
1
1
  import './Collapse.css';
2
- import React from 'react';
3
- import { IconComponent, IconPropSize } from '../../icons/Icon/Icon';
4
- import { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';
5
- import { CollapseIconPropDirection } from './CollapseIcon/CollapseIcon';
6
- export declare const collapsePropSize: readonly ["m", "l", "s", "xs", "2xs"];
7
- export declare type CollapsePropSize = typeof collapsePropSize[number];
8
- export declare const collapsePropSizeDefault: "m";
9
- export declare const collapsePropView: readonly ["primary", "secondary"];
10
- export declare type CollapsePropView = typeof collapsePropView[number];
11
- export declare const collapsePropViewDefault: "primary";
12
- export declare const collapsePropHorizontalSpace: readonly ["3xs", "6xl", "5xl", "4xl", "3xl", "2xl", "xl", "l", "m", "s", "xs", "2xs"];
13
- export declare type CollapsePropHorizontalSpace = typeof collapsePropHorizontalSpace[number];
14
- export declare const collapsePropIconPosition: readonly ["left", "right"];
15
- export declare type CollapsePropIconPosition = typeof collapsePropIconPosition[number];
16
- export declare const collapsePropIconPositionDefault: "left";
17
- export declare const collapsePropDirectionIcon: readonly ["up", "right", "down", "left", "upRight", "downRight", "upLeft", "downLeft"];
18
- export declare const collapsePropDirectionIconDefault: "up";
19
- export declare const collapsePropCloseDirectionIconDefault: "down";
2
+ import { IconPropSize } from '../../icons/Icon/Icon';
3
+ import { CollapseComponent, CollapsePropSize } from './types';
20
4
  export declare const COMPONENT_NAME: "Collapse";
21
- declare type CollapseProps = PropsWithHTMLAttributesAndRef<{
22
- size?: CollapsePropSize;
23
- icon?: IconComponent;
24
- view?: CollapsePropView;
25
- divider?: boolean;
26
- label: string;
27
- horizontalSpace?: CollapsePropHorizontalSpace;
28
- hoverEffect?: boolean;
29
- isOpen?: boolean;
30
- } & ({
31
- closeIcon?: IconComponent;
32
- directionIcon?: never;
33
- closeDirectionIcon?: never;
34
- } | {
35
- closeIcon?: never;
36
- directionIcon?: CollapseIconPropDirection;
37
- closeDirectionIcon?: CollapseIconPropDirection;
38
- }) & ({
39
- iconPosition?: 'left';
40
- rightSide?: React.ReactNode;
41
- } | {
42
- iconPosition?: 'right';
43
- rightSide?: never;
44
- }), HTMLDivElement>;
45
- declare type Collapse = (props: CollapseProps) => React.ReactElement | null;
46
5
  export declare const cnCollapse: import("@bem-react/classname").ClassNameFormatter;
47
6
  export declare const sizeIconMap: Record<CollapsePropSize, IconPropSize>;
48
- export declare const Collapse: Collapse;
49
- export {};
7
+ export declare const Collapse: CollapseComponent;
8
+ export * from './types';
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";var _excluded=["label","size","view","className","isOpen","children","hoverEffect","divider","icon","closeIcon","rightSide","horizontalSpace","iconPosition","directionIcon","closeDirectionIcon","style"];import"./Collapse.css";import React,{useRef}from"react";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{IconArrowDown}from"../../icons/IconArrowDown/IconArrowDown";import{cn}from"../../utils/bem";import{getByMap}from"../../utils/getByMap";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{Text}from"../Text/Text";import{CollapseIcon,collapseIconPropDirection}from"./CollapseIcon/CollapseIcon";export var collapsePropSize=["m","l","s","xs","2xs"];export var collapsePropSizeDefault=collapsePropSize[0];export var collapsePropView=["primary","secondary"];export var collapsePropViewDefault=collapsePropView[0];export var collapsePropHorizontalSpace=["3xs","6xl","5xl","4xl","3xl","2xl","xl","l","m","s","xs","2xs"];export var collapsePropIconPosition=["left","right"];export var collapsePropIconPositionDefault=collapsePropIconPosition[0];export var collapsePropDirectionIcon=collapseIconPropDirection;export var collapsePropDirectionIconDefault=collapsePropDirectionIcon[0];export var collapsePropCloseDirectionIconDefault=collapsePropDirectionIcon[2];export var COMPONENT_NAME="Collapse";export var cnCollapse=cn("Collapse");export var sizeIconMap={"2xs":"xs",xs:"xs",s:"xs",m:"s",l:"s"};function renderSide(a){var b=a?_toConsumableArray(Array.isArray(a)?a:[a]):[];return b.map(function(a,b){return React.createElement("div",{className:cnCollapse("Side"),key:b},a)})}export var Collapse=React.forwardRef(function(a,b){var c=useRef(null),d=usePropsHandler(COMPONENT_NAME,a,c),e=d.label,f=d.size,g=void 0===f?collapsePropSizeDefault:f,h=d.view,i=void 0===h?collapsePropViewDefault:h,j=d.className,k=d.isOpen,l=d.children,m=d.hoverEffect,n=d.divider,o=d.icon,p=void 0===o?IconArrowDown:o,q=d.closeIcon,r=d.rightSide,s=d.horizontalSpace,t=d.iconPosition,u=void 0===t?collapsePropIconPositionDefault:t,v=d.directionIcon,w=void 0===v?collapsePropDirectionIconDefault:v,x=d.closeDirectionIcon,y=void 0===x?collapsePropCloseDirectionIconDefault:x,z=d.style,A=_objectWithoutProperties(d,_excluded);return React.createElement("div",{ref:useForkRef([b,c]),className:cnCollapse({size:g,view:i,horizontalSpace:s},[j]),style:z},React.createElement("div",Object.assign({className:cnCollapse("Label",{hoverEffect:m,iconPosition:u})},A),React.createElement(CollapseIcon,{className:cnCollapse("Icon",{position:u}),size:getByMap(sizeIconMap,g),icon:p,closeIcon:q,isOpen:k,direction:w,closeDirection:y}),React.createElement(Text,{className:cnCollapse("LabelText"),view:i,size:g},e),"left"===u&&renderSide(r)),React.createElement("div",{className:cnCollapse("Body",{isOpen:k,divider:n})},React.createElement("div",{className:cnCollapse("Content")},l)))});
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";var _excluded=["label","size","view","className","isOpen","children","hoverEffect","divider","icon","closeIcon","rightSide","horizontalSpace","iconPosition","directionIcon","closeDirectionIcon","style"];import"./Collapse.css";import React,{useRef}from"react";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{IconArrowDown}from"../../icons/IconArrowDown/IconArrowDown";import{cn}from"../../utils/bem";import{getByMap}from"../../utils/getByMap";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{Text}from"../Text/Text";import{CollapseIcon}from"./CollapseIcon/CollapseIcon";import{collapsePropCloseDirectionIconDefault,collapsePropDirectionIconDefault,collapsePropIconPositionDefault,collapsePropSizeDefault,collapsePropViewDefault}from"./types";export var COMPONENT_NAME="Collapse";export var cnCollapse=cn("Collapse");export var sizeIconMap={"2xs":"xs",xs:"xs",s:"xs",m:"s",l:"s"};function renderSide(a){var b=a?_toConsumableArray(Array.isArray(a)?a:[a]):[];return b.map(function(a,b){return React.createElement("div",{className:cnCollapse("Side"),key:b},a)})}export var Collapse=React.forwardRef(function(a,b){var c=useRef(null),d=usePropsHandler(COMPONENT_NAME,a,c),e=d.label,f=d.size,g=void 0===f?collapsePropSizeDefault:f,h=d.view,i=void 0===h?collapsePropViewDefault:h,j=d.className,k=d.isOpen,l=d.children,m=d.hoverEffect,n=d.divider,o=d.icon,p=void 0===o?IconArrowDown:o,q=d.closeIcon,r=d.rightSide,s=d.horizontalSpace,t=d.iconPosition,u=void 0===t?collapsePropIconPositionDefault:t,v=d.directionIcon,w=void 0===v?collapsePropDirectionIconDefault:v,x=d.closeDirectionIcon,y=void 0===x?collapsePropCloseDirectionIconDefault:x,z=d.style,A=_objectWithoutProperties(d,_excluded);return React.createElement("div",{ref:useForkRef([b,c]),className:cnCollapse({size:g,view:i,horizontalSpace:s},[j]),style:z},React.createElement("div",Object.assign({className:cnCollapse("Label",{hoverEffect:m,iconPosition:u})},A),React.createElement(CollapseIcon,{className:cnCollapse("Icon",{position:u}),size:getByMap(sizeIconMap,g),icon:p,closeIcon:q,isOpen:k,direction:w,closeDirection:y}),"object"==typeof e?React.createElement("div",{className:cnCollapse("LabelText")},e):React.createElement(Text,{className:cnCollapse("LabelText"),view:i,size:g},e),"left"===u&&renderSide(r)),React.createElement("div",{className:cnCollapse("Body",{isOpen:k,divider:n})},React.createElement("div",{className:cnCollapse("Content")},l)))});export*from"./types";
2
2
  //# sourceMappingURL=Collapse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Collapse.js","names":["React","useRef","useForkRef","IconArrowDown","cn","getByMap","usePropsHandler","Text","CollapseIcon","collapseIconPropDirection","collapsePropSize","collapsePropSizeDefault","collapsePropView","collapsePropViewDefault","collapsePropHorizontalSpace","collapsePropIconPosition","collapsePropIconPositionDefault","collapsePropDirectionIcon","collapsePropDirectionIconDefault","collapsePropCloseDirectionIconDefault","COMPONENT_NAME","cnCollapse","sizeIconMap","renderSide","side","sides","Array","isArray","map","item","index","Collapse","forwardRef","props","ref","collapseRef","label","size","view","className","isOpen","children","hoverEffect","divider","icon","closeIcon","rightSide","horizontalSpace","iconPosition","directionIcon","closeDirectionIcon","style","otherProps","position"],"sources":["../../../../../src/components/Collapse/Collapse.tsx"],"sourcesContent":["import './Collapse.css';\n\nimport React, { useRef } from 'react';\n\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { IconComponent, IconPropSize } from '../../icons/Icon/Icon';\nimport { IconArrowDown } from '../../icons/IconArrowDown/IconArrowDown';\nimport { cn } from '../../utils/bem';\nimport { getByMap } from '../../utils/getByMap';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport { Text } from '../Text/Text';\nimport {\n CollapseIcon,\n CollapseIconPropDirection,\n collapseIconPropDirection,\n} from './CollapseIcon/CollapseIcon';\n\nexport const collapsePropSize = ['m', 'l', 's', 'xs', '2xs'] as const;\nexport type CollapsePropSize = typeof collapsePropSize[number];\nexport const collapsePropSizeDefault = collapsePropSize[0];\n\nexport const collapsePropView = ['primary', 'secondary'] as const;\nexport type CollapsePropView = typeof collapsePropView[number];\nexport const collapsePropViewDefault = collapsePropView[0];\n\nexport const collapsePropHorizontalSpace = [\n '3xs',\n '6xl',\n '5xl',\n '4xl',\n '3xl',\n '2xl',\n 'xl',\n 'l',\n 'm',\n 's',\n 'xs',\n '2xs',\n] as const;\nexport type CollapsePropHorizontalSpace =\n typeof collapsePropHorizontalSpace[number];\n\nexport const collapsePropIconPosition = ['left', 'right'] as const;\nexport type CollapsePropIconPosition = typeof collapsePropIconPosition[number];\nexport const collapsePropIconPositionDefault = collapsePropIconPosition[0];\n\nexport const collapsePropDirectionIcon = collapseIconPropDirection;\nexport const collapsePropDirectionIconDefault = collapsePropDirectionIcon[0];\nexport const collapsePropCloseDirectionIconDefault =\n collapsePropDirectionIcon[2];\n\nexport const COMPONENT_NAME = 'Collapse' as const;\n\ntype CollapseProps = PropsWithHTMLAttributesAndRef<\n {\n size?: CollapsePropSize;\n icon?: IconComponent;\n view?: CollapsePropView;\n divider?: boolean;\n label: string;\n horizontalSpace?: CollapsePropHorizontalSpace;\n hoverEffect?: boolean;\n isOpen?: boolean;\n } & (\n | {\n closeIcon?: IconComponent;\n directionIcon?: never;\n closeDirectionIcon?: never;\n }\n | {\n closeIcon?: never;\n directionIcon?: CollapseIconPropDirection;\n closeDirectionIcon?: CollapseIconPropDirection;\n }\n ) &\n (\n | {\n iconPosition?: 'left';\n rightSide?: React.ReactNode;\n }\n | {\n iconPosition?: 'right';\n rightSide?: never;\n }\n ),\n HTMLDivElement\n>;\n\ntype Collapse = (props: CollapseProps) => React.ReactElement | null;\n\nexport const cnCollapse = cn('Collapse');\n\nexport const sizeIconMap: Record<CollapsePropSize, IconPropSize> = {\n '2xs': 'xs',\n 'xs': 'xs',\n 's': 'xs',\n 'm': 's',\n 'l': 's',\n};\n\nfunction renderSide(side: React.ReactNode): React.ReactNode {\n const sides = side ? [...(Array.isArray(side) ? side : [side])] : [];\n\n return sides.map((item, index) => (\n <div className={cnCollapse('Side')} key={index}>\n {item}\n </div>\n ));\n}\n\nexport const Collapse: Collapse = React.forwardRef<\n HTMLDivElement,\n CollapseProps\n>((props, ref) => {\n const collapseRef = useRef<HTMLDivElement>(null);\n\n const {\n label,\n size = collapsePropSizeDefault,\n view = collapsePropViewDefault,\n className,\n isOpen,\n children,\n hoverEffect,\n divider,\n icon = IconArrowDown,\n closeIcon,\n rightSide,\n horizontalSpace,\n iconPosition = collapsePropIconPositionDefault,\n directionIcon = collapsePropDirectionIconDefault,\n closeDirectionIcon = collapsePropCloseDirectionIconDefault,\n style,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, props, collapseRef);\n\n return (\n <div\n ref={useForkRef([ref, collapseRef])}\n className={cnCollapse({ size, view, horizontalSpace }, [className])}\n style={style}\n >\n <div\n className={cnCollapse('Label', {\n hoverEffect,\n iconPosition,\n })}\n {...otherProps}\n >\n <CollapseIcon\n className={cnCollapse('Icon', { position: iconPosition })}\n size={getByMap(sizeIconMap, size)}\n icon={icon}\n closeIcon={closeIcon}\n isOpen={isOpen}\n direction={directionIcon}\n closeDirection={closeDirectionIcon}\n />\n <Text className={cnCollapse('LabelText')} view={view} size={size}>\n {label}\n </Text>\n {iconPosition === 'left' && renderSide(rightSide)}\n </div>\n <div className={cnCollapse('Body', { isOpen, divider })}>\n <div className={cnCollapse('Content')}>{children}</div>\n </div>\n </div>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"Collapse.js","names":["React","useRef","useForkRef","IconArrowDown","cn","getByMap","usePropsHandler","Text","CollapseIcon","collapsePropCloseDirectionIconDefault","collapsePropDirectionIconDefault","collapsePropIconPositionDefault","collapsePropSizeDefault","collapsePropViewDefault","COMPONENT_NAME","cnCollapse","sizeIconMap","renderSide","side","sides","Array","isArray","map","item","index","Collapse","forwardRef","props","ref","collapseRef","label","size","view","className","isOpen","children","hoverEffect","divider","icon","closeIcon","rightSide","horizontalSpace","iconPosition","directionIcon","closeDirectionIcon","style","otherProps","position"],"sources":["../../../../../src/components/Collapse/Collapse.tsx"],"sourcesContent":["import './Collapse.css';\n\nimport React, { useRef } from 'react';\n\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { IconPropSize } from '../../icons/Icon/Icon';\nimport { IconArrowDown } from '../../icons/IconArrowDown/IconArrowDown';\nimport { cn } from '../../utils/bem';\nimport { getByMap } from '../../utils/getByMap';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport { Text } from '../Text/Text';\nimport { CollapseIcon } from './CollapseIcon/CollapseIcon';\nimport {\n CollapseComponent,\n collapsePropCloseDirectionIconDefault,\n collapsePropDirectionIconDefault,\n collapsePropIconPositionDefault,\n CollapseProps,\n CollapsePropSize,\n collapsePropSizeDefault,\n collapsePropViewDefault,\n} from './types';\n\nexport const COMPONENT_NAME = 'Collapse' as const;\n\nexport const cnCollapse = cn('Collapse');\n\nexport const sizeIconMap: Record<CollapsePropSize, IconPropSize> = {\n '2xs': 'xs',\n 'xs': 'xs',\n 's': 'xs',\n 'm': 's',\n 'l': 's',\n};\n\nfunction renderSide(side: React.ReactNode): React.ReactNode {\n const sides = side ? [...(Array.isArray(side) ? side : [side])] : [];\n\n return sides.map((item, index) => (\n <div className={cnCollapse('Side')} key={index}>\n {item}\n </div>\n ));\n}\n\nexport const Collapse: CollapseComponent = React.forwardRef<\n HTMLDivElement,\n CollapseProps\n>((props, ref) => {\n const collapseRef = useRef<HTMLDivElement>(null);\n\n const {\n label,\n size = collapsePropSizeDefault,\n view = collapsePropViewDefault,\n className,\n isOpen,\n children,\n hoverEffect,\n divider,\n icon = IconArrowDown,\n closeIcon,\n rightSide,\n horizontalSpace,\n iconPosition = collapsePropIconPositionDefault,\n directionIcon = collapsePropDirectionIconDefault,\n closeDirectionIcon = collapsePropCloseDirectionIconDefault,\n style,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, props, collapseRef);\n\n return (\n <div\n ref={useForkRef([ref, collapseRef])}\n className={cnCollapse({ size, view, horizontalSpace }, [className])}\n style={style}\n >\n <div\n className={cnCollapse('Label', {\n hoverEffect,\n iconPosition,\n })}\n {...otherProps}\n >\n <CollapseIcon\n className={cnCollapse('Icon', { position: iconPosition })}\n size={getByMap(sizeIconMap, size)}\n icon={icon}\n closeIcon={closeIcon}\n isOpen={isOpen}\n direction={directionIcon}\n closeDirection={closeDirectionIcon}\n />\n {typeof label === 'object' ? (\n <div className={cnCollapse('LabelText')}>{label}</div>\n ) : (\n <Text className={cnCollapse('LabelText')} view={view} size={size}>\n {label}\n </Text>\n )}\n {iconPosition === 'left' && renderSide(rightSide)}\n </div>\n <div className={cnCollapse('Body', { isOpen, divider })}>\n <div className={cnCollapse('Content')}>{children}</div>\n </div>\n </div>\n );\n});\n\nexport * from './types';\n"],"mappings":"yWAAA,uBAEA,MAAOA,MAAP,EAAgBC,MAAhB,KAA8B,OAA9B,CAEA,OAASC,UAAT,yCAEA,OAASC,aAAT,+CACA,OAASC,EAAT,uBACA,OAASC,QAAT,4BACA,OAASC,eAAT,2CACA,OAASC,IAAT,oBACA,OAASC,YAAT,mCACA,OAEEC,qCAFF,CAGEC,gCAHF,CAIEC,+BAJF,CAOEC,uBAPF,CAQEC,uBARF,eAWA,MAAO,IAAMC,eAAc,CAAG,UAAvB,CAEP,MAAO,IAAMC,WAAU,CAAGX,EAAE,CAAC,UAAD,CAArB,CAEP,MAAO,IAAMY,YAAmD,CAAG,CACjE,MAAO,IAD0D,CAEjE,GAAM,IAF2D,CAGjE,EAAK,IAH4D,CAIjE,EAAK,GAJ4D,CAKjE,EAAK,GAL4D,CAA5D,CAQP,QAASC,WAAT,CAAoBC,CAApB,CAA4D,CAC1D,GAAMC,EAAK,CAAGD,CAAI,oBAAQE,KAAK,CAACC,OAAN,CAAcH,CAAd,EAAsBA,CAAtB,CAA6B,CAACA,CAAD,CAArC,EAAgD,EAAlE,CAEA,MAAOC,EAAK,CAACG,GAAN,CAAU,SAACC,CAAD,CAAOC,CAAP,QACf,4BAAK,SAAS,CAAET,UAAU,CAAC,MAAD,CAA1B,CAAoC,GAAG,CAAES,CAAzC,EACGD,CADH,CADe,CAAV,CAKR,CAED,MAAO,IAAME,SAA2B,CAAGzB,KAAK,CAAC0B,UAAN,CAGzC,SAACC,CAAD,CAAQC,CAAR,CAAgB,IACVC,EAAW,CAAG5B,MAAM,CAAiB,IAAjB,CADV,GAqBZK,eAAe,CAACQ,cAAD,CAAiBa,CAAjB,CAAwBE,CAAxB,CArBH,CAIdC,CAJc,GAIdA,KAJc,KAKdC,IALc,CAKdA,CALc,YAKPnB,uBALO,OAMdoB,IANc,CAMdA,CANc,YAMPnB,uBANO,GAOdoB,CAPc,GAOdA,SAPc,CAQdC,CARc,GAQdA,MARc,CASdC,CATc,GASdA,QATc,CAUdC,CAVc,GAUdA,WAVc,CAWdC,CAXc,GAWdA,OAXc,KAYdC,IAZc,CAYdA,CAZc,YAYPnC,aAZO,GAadoC,CAbc,GAadA,SAbc,CAcdC,CAdc,GAcdA,SAdc,CAedC,CAfc,GAedA,eAfc,KAgBdC,YAhBc,CAgBdA,CAhBc,YAgBC/B,+BAhBD,OAiBdgC,aAjBc,CAiBdA,CAjBc,YAiBEjC,gCAjBF,OAkBdkC,kBAlBc,CAkBdA,CAlBc,YAkBOnC,qCAlBP,GAmBdoC,CAnBc,GAmBdA,KAnBc,CAoBXC,CApBW,uCAuBhB,MACE,4BACE,GAAG,CAAE5C,UAAU,CAAC,CAAC0B,CAAD,CAAMC,CAAN,CAAD,CADjB,CAEE,SAAS,CAAEd,UAAU,CAAC,CAAEgB,IAAI,CAAJA,CAAF,CAAQC,IAAI,CAAJA,CAAR,CAAcS,eAAe,CAAfA,CAAd,CAAD,CAAkC,CAACR,CAAD,CAAlC,CAFvB,CAGE,KAAK,CAAEY,CAHT,EAKE,yCACE,SAAS,CAAE9B,UAAU,CAAC,OAAD,CAAU,CAC7BqB,WAAW,CAAXA,CAD6B,CAE7BM,YAAY,CAAZA,CAF6B,CAAV,CADvB,EAKMI,CALN,EAOE,oBAAC,YAAD,EACE,SAAS,CAAE/B,UAAU,CAAC,MAAD,CAAS,CAAEgC,QAAQ,CAAEL,CAAZ,CAAT,CADvB,CAEE,IAAI,CAAErC,QAAQ,CAACW,WAAD,CAAce,CAAd,CAFhB,CAGE,IAAI,CAAEO,CAHR,CAIE,SAAS,CAAEC,CAJb,CAKE,MAAM,CAAEL,CALV,CAME,SAAS,CAAES,CANb,CAOE,cAAc,CAAEC,CAPlB,EAPF,CAgBoB,QAAjB,QAAOd,EAAP,CACC,2BAAK,SAAS,CAAEf,UAAU,CAAC,WAAD,CAA1B,EAA0Ce,CAA1C,CADD,CAGC,oBAAC,IAAD,EAAM,SAAS,CAAEf,UAAU,CAAC,WAAD,CAA3B,CAA0C,IAAI,CAAEiB,CAAhD,CAAsD,IAAI,CAAED,CAA5D,EACGD,CADH,CAnBJ,CAuBoB,MAAjB,GAAAY,CAAY,EAAezB,UAAU,CAACuB,CAAD,CAvBxC,CALF,CA8BE,2BAAK,SAAS,CAAEzB,UAAU,CAAC,MAAD,CAAS,CAAEmB,MAAM,CAANA,CAAF,CAAUG,OAAO,CAAPA,CAAV,CAAT,CAA1B,EACE,2BAAK,SAAS,CAAEtB,UAAU,CAAC,SAAD,CAA1B,EAAwCoB,CAAxC,CADF,CA9BF,CAmCH,CA9D0C,CAApC,CAgEP"}
@@ -1,16 +1,4 @@
1
1
  import './CollapseIcon.css';
2
2
  import React from 'react';
3
- import { IconProps, IconPropSize } from "../../../icons/Icon";
4
- import { PropsWithHTMLAttributes } from "../../../utils/types/PropsWithHTMLAttributes";
5
- export declare const collapseIconPropDirection: readonly ["up", "right", "down", "left", "upRight", "downRight", "upLeft", "downLeft"];
6
- export declare type CollapseIconPropDirection = typeof collapseIconPropDirection[number];
7
- export declare type CollapseIconProps = PropsWithHTMLAttributes<{
8
- size: IconPropSize;
9
- icon: React.FC<IconProps>;
10
- isOpen?: boolean;
11
- cildren?: never;
12
- closeIcon?: React.FC<IconProps>;
13
- direction?: CollapseIconPropDirection;
14
- closeDirection?: CollapseIconPropDirection;
15
- }, HTMLSpanElement>;
3
+ import { CollapseIconProps } from '../types';
16
4
  export declare const CollapseIcon: React.FC<CollapseIconProps>;
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","icon","closeIcon","direction","closeDirection","isOpen","className"];import"./CollapseIcon.css";import React,{useRef}from"react";import{Transition}from"react-transition-group";import{cnIcon}from"../../../icons/Icon";import{cn}from"../../../utils/bem";export var collapseIconPropDirection=["up","right","down","left","upRight","downRight","upLeft","downLeft"];var cnCollapseIcon=cn("CollapseIcon"),animateTimeout=300;export var CollapseIcon=function(a){var b=a.size,c=a.icon,d=a.closeIcon,e=a.direction,f=a.closeDirection,g=a.isOpen,h=a.className,i=_objectWithoutProperties(a,_excluded),j=useRef(null),k=useRef(null);return d?React.createElement("span",{className:cnCollapseIcon("Wrapper",[cnIcon({size:b}),h])},React.createElement(Transition,{in:!g,unmountOnExit:!0,timeout:animateTimeout,nodeRef:j},function(a){return React.createElement(c,Object.assign({},i,{className:cnCollapseIcon({animate:a}),size:b,ref:j}))}),React.createElement(Transition,{in:g,unmountOnExit:!0,timeout:animateTimeout,nodeRef:k},function(a){return React.createElement(d,Object.assign({},i,{className:cnCollapseIcon({animate:a}),size:b,ref:k}))})):React.createElement(c,Object.assign({},i,{className:cnCollapseIcon({isOpen:g,direction:e,closeDirection:f},[h]),size:b}))};
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","icon","closeIcon","direction","closeDirection","isOpen","className"];import"./CollapseIcon.css";import React,{useRef}from"react";import{Transition}from"react-transition-group";import{cnIcon}from"../../../icons/Icon";import{cn}from"../../../utils/bem";var cnCollapseIcon=cn("CollapseIcon"),animateTimeout=300;export var CollapseIcon=function(a){var b=a.size,c=a.icon,d=a.closeIcon,e=a.direction,f=a.closeDirection,g=a.isOpen,h=a.className,i=_objectWithoutProperties(a,_excluded),j=useRef(null),k=useRef(null);return d?React.createElement("span",{className:cnCollapseIcon("Wrapper",[cnIcon({size:b}),h])},React.createElement(Transition,{in:!g,unmountOnExit:!0,timeout:animateTimeout,nodeRef:j},function(a){return React.createElement(c,Object.assign({},i,{className:cnCollapseIcon({animate:a}),size:b,ref:j}))}),React.createElement(Transition,{in:g,unmountOnExit:!0,timeout:animateTimeout,nodeRef:k},function(a){return React.createElement(d,Object.assign({},i,{className:cnCollapseIcon({animate:a}),size:b,ref:k}))})):React.createElement(c,Object.assign({},i,{className:cnCollapseIcon({isOpen:g,direction:e,closeDirection:f},[h]),size:b}))};
2
2
  //# sourceMappingURL=CollapseIcon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CollapseIcon.js","names":["React","useRef","Transition","cnIcon","cn","collapseIconPropDirection","cnCollapseIcon","animateTimeout","CollapseIcon","props","size","Icon","icon","CloseIcon","closeIcon","direction","closeDirection","isOpen","className","otherProps","iconRef","closeIconRef","animate"],"sources":["../../../../../../src/components/Collapse/CollapseIcon/CollapseIcon.tsx"],"sourcesContent":["import './CollapseIcon.css';\n\nimport React, { useRef } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport { cnIcon, IconProps, IconPropSize } from '##/icons/Icon';\nimport { cn } from '##/utils/bem';\nimport { PropsWithHTMLAttributes } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport const collapseIconPropDirection = [\n 'up',\n 'right',\n 'down',\n 'left',\n 'upRight',\n 'downRight',\n 'upLeft',\n 'downLeft',\n] as const;\nexport type CollapseIconPropDirection =\n typeof collapseIconPropDirection[number];\n\nexport type CollapseIconProps = PropsWithHTMLAttributes<\n {\n size: IconPropSize;\n icon: React.FC<IconProps>;\n isOpen?: boolean;\n cildren?: never;\n closeIcon?: React.FC<IconProps>;\n direction?: CollapseIconPropDirection;\n closeDirection?: CollapseIconPropDirection;\n },\n HTMLSpanElement\n>;\n\nconst cnCollapseIcon = cn('CollapseIcon');\nconst animateTimeout = 300;\n\nexport const CollapseIcon: React.FC<CollapseIconProps> = (props) => {\n const {\n size,\n icon: Icon,\n closeIcon: CloseIcon,\n direction,\n closeDirection,\n isOpen,\n className,\n ...otherProps\n } = props;\n\n const iconRef = useRef<HTMLSpanElement>(null);\n const closeIconRef = useRef<HTMLSpanElement>(null);\n\n if (CloseIcon) {\n return (\n <span\n className={cnCollapseIcon('Wrapper', [cnIcon({ size }), className])}\n >\n <Transition\n in={!isOpen}\n unmountOnExit\n timeout={animateTimeout}\n nodeRef={iconRef}\n >\n {(animate) => (\n <Icon\n {...otherProps}\n className={cnCollapseIcon({ animate })}\n size={size}\n ref={iconRef}\n />\n )}\n </Transition>\n <Transition\n in={isOpen}\n unmountOnExit\n timeout={animateTimeout}\n nodeRef={closeIconRef}\n >\n {(animate) => (\n <CloseIcon\n {...otherProps}\n className={cnCollapseIcon({ animate })}\n size={size}\n ref={closeIconRef}\n />\n )}\n </Transition>\n </span>\n );\n }\n return (\n <Icon\n {...otherProps}\n className={cnCollapseIcon({ isOpen, direction, closeDirection }, [\n className,\n ])}\n size={size}\n />\n );\n};\n"],"mappings":"iLAAA,2BAEA,MAAOA,MAAP,EAAgBC,MAAhB,KAA8B,OAA9B,CACA,OAASC,UAAT,KAA2B,wBAA3B,CAEA,OAASC,MAAT,2BACA,OAASC,EAAT,0BAGA,MAAO,IAAMC,0BAAyB,CAAG,CACvC,IADuC,CAEvC,OAFuC,CAGvC,MAHuC,CAIvC,MAJuC,CAKvC,SALuC,CAMvC,WANuC,CAOvC,QAPuC,CAQvC,UARuC,CAAlC,C,GA0BDC,eAAc,CAAGF,EAAE,CAAC,cAAD,C,CACnBG,cAAc,CAAG,G,CAEvB,MAAO,IAAMC,aAAyC,CAAG,SAACC,CAAD,CAAW,IAEhEC,EAFgE,CAU9DD,CAV8D,CAEhEC,IAFgE,CAG1DC,CAH0D,CAU9DF,CAV8D,CAGhEG,IAHgE,CAIrDC,CAJqD,CAU9DJ,CAV8D,CAIhEK,SAJgE,CAKhEC,CALgE,CAU9DN,CAV8D,CAKhEM,SALgE,CAMhEC,CANgE,CAU9DP,CAV8D,CAMhEO,cANgE,CAOhEC,CAPgE,CAU9DR,CAV8D,CAOhEQ,MAPgE,CAQhEC,CARgE,CAU9DT,CAV8D,CAQhES,SARgE,CAS7DC,CAT6D,0BAU9DV,CAV8D,YAY5DW,CAAO,CAAGnB,MAAM,CAAkB,IAAlB,CAZ4C,CAa5DoB,CAAY,CAAGpB,MAAM,CAAkB,IAAlB,CAbuC,OAe9DY,EAf8D,CAiB9D,4BACE,SAAS,CAAEP,cAAc,CAAC,SAAD,CAAY,CAACH,MAAM,CAAC,CAAEO,IAAI,CAAJA,CAAF,CAAD,CAAP,CAAmBQ,CAAnB,CAAZ,CAD3B,EAGE,oBAAC,UAAD,EACE,GAAI,CAACD,CADP,CAEE,aAAa,GAFf,CAGE,OAAO,CAAEV,cAHX,CAIE,OAAO,CAAEa,CAJX,EAMG,SAACE,CAAD,QACC,qBAAC,CAAD,kBACMH,CADN,EAEE,SAAS,CAAEb,cAAc,CAAC,CAAEgB,OAAO,CAAPA,CAAF,CAAD,CAF3B,CAGE,IAAI,CAAEZ,CAHR,CAIE,GAAG,CAAEU,CAJP,GADD,CANH,CAHF,CAkBE,oBAAC,UAAD,EACE,GAAIH,CADN,CAEE,aAAa,GAFf,CAGE,OAAO,CAAEV,cAHX,CAIE,OAAO,CAAEc,CAJX,EAMG,SAACC,CAAD,QACC,qBAAC,CAAD,kBACMH,CADN,EAEE,SAAS,CAAEb,cAAc,CAAC,CAAEgB,OAAO,CAAPA,CAAF,CAAD,CAF3B,CAGE,IAAI,CAAEZ,CAHR,CAIE,GAAG,CAAEW,CAJP,GADD,CANH,CAlBF,CAjB8D,CAsDhE,oBAAC,CAAD,kBACMF,CADN,EAEE,SAAS,CAAEb,cAAc,CAAC,CAAEW,MAAM,CAANA,CAAF,CAAUF,SAAS,CAATA,CAAV,CAAqBC,cAAc,CAAdA,CAArB,CAAD,CAAwC,CAC/DE,CAD+D,CAAxC,CAF3B,CAKE,IAAI,CAAER,CALR,GAQH,CA9DM"}
1
+ {"version":3,"file":"CollapseIcon.js","names":["React","useRef","Transition","cnIcon","cn","cnCollapseIcon","animateTimeout","CollapseIcon","props","size","Icon","icon","CloseIcon","closeIcon","direction","closeDirection","isOpen","className","otherProps","iconRef","closeIconRef","animate"],"sources":["../../../../../../src/components/Collapse/CollapseIcon/CollapseIcon.tsx"],"sourcesContent":["import './CollapseIcon.css';\n\nimport React, { useRef } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport { cnIcon } from '##/icons/Icon';\nimport { cn } from '##/utils/bem';\n\nimport { CollapseIconProps } from '../types';\n\nconst cnCollapseIcon = cn('CollapseIcon');\nconst animateTimeout = 300;\n\nexport const CollapseIcon: React.FC<CollapseIconProps> = (props) => {\n const {\n size,\n icon: Icon,\n closeIcon: CloseIcon,\n direction,\n closeDirection,\n isOpen,\n className,\n ...otherProps\n } = props;\n\n const iconRef = useRef<HTMLSpanElement>(null);\n const closeIconRef = useRef<HTMLSpanElement>(null);\n\n if (CloseIcon) {\n return (\n <span\n className={cnCollapseIcon('Wrapper', [cnIcon({ size }), className])}\n >\n <Transition\n in={!isOpen}\n unmountOnExit\n timeout={animateTimeout}\n nodeRef={iconRef}\n >\n {(animate) => (\n <Icon\n {...otherProps}\n className={cnCollapseIcon({ animate })}\n size={size}\n ref={iconRef}\n />\n )}\n </Transition>\n <Transition\n in={isOpen}\n unmountOnExit\n timeout={animateTimeout}\n nodeRef={closeIconRef}\n >\n {(animate) => (\n <CloseIcon\n {...otherProps}\n className={cnCollapseIcon({ animate })}\n size={size}\n ref={closeIconRef}\n />\n )}\n </Transition>\n </span>\n );\n }\n return (\n <Icon\n {...otherProps}\n className={cnCollapseIcon({ isOpen, direction, closeDirection }, [\n className,\n ])}\n size={size}\n />\n );\n};\n"],"mappings":"iLAAA,2BAEA,MAAOA,MAAP,EAAgBC,MAAhB,KAA8B,OAA9B,CACA,OAASC,UAAT,KAA2B,wBAA3B,CAEA,OAASC,MAAT,2BACA,OAASC,EAAT,0B,GAIMC,eAAc,CAAGD,EAAE,CAAC,cAAD,C,CACnBE,cAAc,CAAG,G,CAEvB,MAAO,IAAMC,aAAyC,CAAG,SAACC,CAAD,CAAW,IAEhEC,EAFgE,CAU9DD,CAV8D,CAEhEC,IAFgE,CAG1DC,CAH0D,CAU9DF,CAV8D,CAGhEG,IAHgE,CAIrDC,CAJqD,CAU9DJ,CAV8D,CAIhEK,SAJgE,CAKhEC,CALgE,CAU9DN,CAV8D,CAKhEM,SALgE,CAMhEC,CANgE,CAU9DP,CAV8D,CAMhEO,cANgE,CAOhEC,CAPgE,CAU9DR,CAV8D,CAOhEQ,MAPgE,CAQhEC,CARgE,CAU9DT,CAV8D,CAQhES,SARgE,CAS7DC,CAT6D,0BAU9DV,CAV8D,YAY5DW,CAAO,CAAGlB,MAAM,CAAkB,IAAlB,CAZ4C,CAa5DmB,CAAY,CAAGnB,MAAM,CAAkB,IAAlB,CAbuC,OAe9DW,EAf8D,CAiB9D,4BACE,SAAS,CAAEP,cAAc,CAAC,SAAD,CAAY,CAACF,MAAM,CAAC,CAAEM,IAAI,CAAJA,CAAF,CAAD,CAAP,CAAmBQ,CAAnB,CAAZ,CAD3B,EAGE,oBAAC,UAAD,EACE,GAAI,CAACD,CADP,CAEE,aAAa,GAFf,CAGE,OAAO,CAAEV,cAHX,CAIE,OAAO,CAAEa,CAJX,EAMG,SAACE,CAAD,QACC,qBAAC,CAAD,kBACMH,CADN,EAEE,SAAS,CAAEb,cAAc,CAAC,CAAEgB,OAAO,CAAPA,CAAF,CAAD,CAF3B,CAGE,IAAI,CAAEZ,CAHR,CAIE,GAAG,CAAEU,CAJP,GADD,CANH,CAHF,CAkBE,oBAAC,UAAD,EACE,GAAIH,CADN,CAEE,aAAa,GAFf,CAGE,OAAO,CAAEV,cAHX,CAIE,OAAO,CAAEc,CAJX,EAMG,SAACC,CAAD,QACC,qBAAC,CAAD,kBACMH,CADN,EAEE,SAAS,CAAEb,cAAc,CAAC,CAAEgB,OAAO,CAAPA,CAAF,CAAD,CAF3B,CAGE,IAAI,CAAEZ,CAHR,CAIE,GAAG,CAAEW,CAJP,GADD,CANH,CAlBF,CAjB8D,CAsDhE,oBAAC,CAAD,kBACMF,CADN,EAEE,SAAS,CAAEb,cAAc,CAAC,CAAEW,MAAM,CAANA,CAAF,CAAUF,SAAS,CAATA,CAAV,CAAqBC,cAAc,CAAdA,CAArB,CAAD,CAAwC,CAC/DE,CAD+D,CAAxC,CAF3B,CAKE,IAAI,CAAER,CALR,GAQH,CA9DM"}
@@ -0,0 +1,53 @@
1
+ import React from 'react';
2
+ import { IconComponent, IconProps, IconPropSize } from "../../icons/Icon";
3
+ import { PropsWithHTMLAttributes, PropsWithHTMLAttributesAndRef } from "../../utils/types/PropsWithHTMLAttributes";
4
+ export declare const collapsePropSize: readonly ["m", "l", "s", "xs", "2xs"];
5
+ export declare type CollapsePropSize = typeof collapsePropSize[number];
6
+ export declare const collapsePropSizeDefault: "m";
7
+ export declare const collapsePropView: readonly ["primary", "secondary"];
8
+ export declare type CollapsePropView = typeof collapsePropView[number];
9
+ export declare const collapsePropViewDefault: "primary";
10
+ export declare const collapsePropHorizontalSpace: readonly ["3xs", "6xl", "5xl", "4xl", "3xl", "2xl", "xl", "l", "m", "s", "xs", "2xs"];
11
+ export declare type CollapsePropHorizontalSpace = typeof collapsePropHorizontalSpace[number];
12
+ export declare const collapsePropIconPosition: readonly ["left", "right"];
13
+ export declare type CollapsePropIconPosition = typeof collapsePropIconPosition[number];
14
+ export declare const collapsePropIconPositionDefault: "left";
15
+ export declare const collapseIconPropDirection: readonly ["up", "right", "down", "left", "upRight", "downRight", "upLeft", "downLeft"];
16
+ export declare type CollapseIconPropDirection = typeof collapseIconPropDirection[number];
17
+ export declare type CollapseIconProps = PropsWithHTMLAttributes<{
18
+ size: IconPropSize;
19
+ icon: React.FC<IconProps>;
20
+ isOpen?: boolean;
21
+ cildren?: never;
22
+ closeIcon?: React.FC<IconProps>;
23
+ direction?: CollapseIconPropDirection;
24
+ closeDirection?: CollapseIconPropDirection;
25
+ }, HTMLSpanElement>;
26
+ export declare const collapsePropDirectionIcon: readonly ["up", "right", "down", "left", "upRight", "downRight", "upLeft", "downLeft"];
27
+ export declare const collapsePropDirectionIconDefault: "up";
28
+ export declare const collapsePropCloseDirectionIconDefault: "down";
29
+ export declare type CollapseProps = PropsWithHTMLAttributesAndRef<{
30
+ size?: CollapsePropSize;
31
+ icon?: IconComponent;
32
+ view?: CollapsePropView;
33
+ divider?: boolean;
34
+ label: React.ReactNode;
35
+ horizontalSpace?: CollapsePropHorizontalSpace;
36
+ hoverEffect?: boolean;
37
+ isOpen?: boolean;
38
+ } & ({
39
+ closeIcon?: IconComponent;
40
+ directionIcon?: never;
41
+ closeDirectionIcon?: never;
42
+ } | {
43
+ closeIcon?: never;
44
+ directionIcon?: CollapseIconPropDirection;
45
+ closeDirectionIcon?: CollapseIconPropDirection;
46
+ }) & ({
47
+ iconPosition?: 'left';
48
+ rightSide?: React.ReactNode;
49
+ } | {
50
+ iconPosition?: 'right';
51
+ rightSide?: never;
52
+ }), HTMLDivElement>;
53
+ export declare type CollapseComponent = (props: CollapseProps) => React.ReactElement | null;
@@ -0,0 +1,2 @@
1
+ export var collapsePropSize=["m","l","s","xs","2xs"];export var collapsePropSizeDefault=collapsePropSize[0];export var collapsePropView=["primary","secondary"];export var collapsePropViewDefault=collapsePropView[0];export var collapsePropHorizontalSpace=["3xs","6xl","5xl","4xl","3xl","2xl","xl","l","m","s","xs","2xs"];export var collapsePropIconPosition=["left","right"];export var collapsePropIconPositionDefault=collapsePropIconPosition[0];export var collapseIconPropDirection=["up","right","down","left","upRight","downRight","upLeft","downLeft"];export var collapsePropDirectionIcon=collapseIconPropDirection;export var collapsePropDirectionIconDefault=collapsePropDirectionIcon[0];export var collapsePropCloseDirectionIconDefault=collapsePropDirectionIcon[2];
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":["collapsePropSize","collapsePropSizeDefault","collapsePropView","collapsePropViewDefault","collapsePropHorizontalSpace","collapsePropIconPosition","collapsePropIconPositionDefault","collapseIconPropDirection","collapsePropDirectionIcon","collapsePropDirectionIconDefault","collapsePropCloseDirectionIconDefault"],"sources":["../../../../../src/components/Collapse/types.ts"],"sourcesContent":["import React from 'react';\n\nimport { IconComponent, IconProps, IconPropSize } from '##/icons/Icon';\nimport {\n PropsWithHTMLAttributes,\n PropsWithHTMLAttributesAndRef,\n} from '##/utils/types/PropsWithHTMLAttributes';\n\nexport const collapsePropSize = ['m', 'l', 's', 'xs', '2xs'] as const;\nexport type CollapsePropSize = typeof collapsePropSize[number];\nexport const collapsePropSizeDefault = collapsePropSize[0];\n\nexport const collapsePropView = ['primary', 'secondary'] as const;\nexport type CollapsePropView = typeof collapsePropView[number];\nexport const collapsePropViewDefault = collapsePropView[0];\n\nexport const collapsePropHorizontalSpace = [\n '3xs',\n '6xl',\n '5xl',\n '4xl',\n '3xl',\n '2xl',\n 'xl',\n 'l',\n 'm',\n 's',\n 'xs',\n '2xs',\n] as const;\nexport type CollapsePropHorizontalSpace =\n typeof collapsePropHorizontalSpace[number];\n\nexport const collapsePropIconPosition = ['left', 'right'] as const;\nexport type CollapsePropIconPosition = typeof collapsePropIconPosition[number];\nexport const collapsePropIconPositionDefault = collapsePropIconPosition[0];\n\nexport const collapseIconPropDirection = [\n 'up',\n 'right',\n 'down',\n 'left',\n 'upRight',\n 'downRight',\n 'upLeft',\n 'downLeft',\n] as const;\nexport type CollapseIconPropDirection =\n typeof collapseIconPropDirection[number];\n\nexport type CollapseIconProps = PropsWithHTMLAttributes<\n {\n size: IconPropSize;\n icon: React.FC<IconProps>;\n isOpen?: boolean;\n cildren?: never;\n closeIcon?: React.FC<IconProps>;\n direction?: CollapseIconPropDirection;\n closeDirection?: CollapseIconPropDirection;\n },\n HTMLSpanElement\n>;\n\nexport const collapsePropDirectionIcon = collapseIconPropDirection;\nexport const collapsePropDirectionIconDefault = collapsePropDirectionIcon[0];\nexport const collapsePropCloseDirectionIconDefault =\n collapsePropDirectionIcon[2];\n\nexport type CollapseProps = PropsWithHTMLAttributesAndRef<\n {\n size?: CollapsePropSize;\n icon?: IconComponent;\n view?: CollapsePropView;\n divider?: boolean;\n label: React.ReactNode;\n horizontalSpace?: CollapsePropHorizontalSpace;\n hoverEffect?: boolean;\n isOpen?: boolean;\n } & (\n | {\n closeIcon?: IconComponent;\n directionIcon?: never;\n closeDirectionIcon?: never;\n }\n | {\n closeIcon?: never;\n directionIcon?: CollapseIconPropDirection;\n closeDirectionIcon?: CollapseIconPropDirection;\n }\n ) &\n (\n | {\n iconPosition?: 'left';\n rightSide?: React.ReactNode;\n }\n | {\n iconPosition?: 'right';\n rightSide?: never;\n }\n ),\n HTMLDivElement\n>;\n\nexport type CollapseComponent = (\n props: CollapseProps,\n) => React.ReactElement | null;\n"],"mappings":"AAQA,MAAO,IAAMA,iBAAgB,CAAG,CAAC,GAAD,CAAM,GAAN,CAAW,GAAX,CAAgB,IAAhB,CAAsB,KAAtB,CAAzB,CAEP,MAAO,IAAMC,wBAAuB,CAAGD,gBAAgB,CAAC,CAAD,CAAhD,CAEP,MAAO,IAAME,iBAAgB,CAAG,CAAC,SAAD,CAAY,WAAZ,CAAzB,CAEP,MAAO,IAAMC,wBAAuB,CAAGD,gBAAgB,CAAC,CAAD,CAAhD,CAEP,MAAO,IAAME,4BAA2B,CAAG,CACzC,KADyC,CAEzC,KAFyC,CAGzC,KAHyC,CAIzC,KAJyC,CAKzC,KALyC,CAMzC,KANyC,CAOzC,IAPyC,CAQzC,GARyC,CASzC,GATyC,CAUzC,GAVyC,CAWzC,IAXyC,CAYzC,KAZyC,CAApC,CAiBP,MAAO,IAAMC,yBAAwB,CAAG,CAAC,MAAD,CAAS,OAAT,CAAjC,CAEP,MAAO,IAAMC,gCAA+B,CAAGD,wBAAwB,CAAC,CAAD,CAAhE,CAEP,MAAO,IAAME,0BAAyB,CAAG,CACvC,IADuC,CAEvC,OAFuC,CAGvC,MAHuC,CAIvC,MAJuC,CAKvC,SALuC,CAMvC,WANuC,CAOvC,QAPuC,CAQvC,UARuC,CAAlC,CA0BP,MAAO,IAAMC,0BAAyB,CAAGD,yBAAlC,CACP,MAAO,IAAME,iCAAgC,CAAGD,yBAAyB,CAAC,CAAD,CAAlE,CACP,MAAO,IAAME,sCAAqC,CAChDF,yBAAyB,CAAC,CAAD,CADpB"}
@@ -1,10 +1,9 @@
1
1
  import React from 'react';
2
2
  import { IconComponent } from '../../icons/Icon/Icon';
3
3
  import { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';
4
- import { CollapsePropHorizontalSpace, CollapsePropSize, CollapsePropView } from '../Collapse/Collapse';
5
- import { CollapseIconPropDirection } from '../Collapse/CollapseIcon/CollapseIcon';
4
+ import { CollapseIconPropDirection, CollapsePropHorizontalSpace, CollapsePropSize, CollapsePropView } from '../Collapse/Collapse';
6
5
  export declare type DefaultItem = {
7
- label: string;
6
+ label: React.ReactNode;
8
7
  content: React.ReactNode;
9
8
  rightSide?: React.ReactNode | React.ReactNode[];
10
9
  };
@@ -13,7 +12,7 @@ export declare type CollapseGroupPropOnOpen<IS_ACCORDION> = (params: {
13
12
  value: (IS_ACCORDION extends true ? number : number[]) | null;
14
13
  }) => void;
15
14
  export declare type CollapseGroupPropOpened<IS_ACCORDION> = (IS_ACCORDION extends true ? number : number[]) | null | undefined;
16
- declare type CollapseGroupPropGetItemLabel<ITEM> = (item: ITEM) => string;
15
+ declare type CollapseGroupPropGetItemLabel<ITEM> = (item: ITEM) => React.ReactNode;
17
16
  declare type CollapseGroupPropGetItemContent<ITEM> = (item: ITEM) => React.ReactNode;
18
17
  declare type CollapseGroupPropGetItemRightSide<ITEM> = (item: ITEM) => React.ReactNode | React.ReactNode[] | undefined;
19
18
  export declare type CollapseGroupProps<ITEM, IS_ACCORDION extends boolean> = PropsWithHTMLAttributesAndRef<{
@@ -80,7 +79,7 @@ export declare function withDefaultGetters<ITEM, IS_ACCORDION extends boolean>(p
80
79
  iconPosition?: "left" | undefined;
81
80
  getItemRightSide?: CollapseGroupPropGetItemRightSide<ITEM> | undefined;
82
81
  } & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "children" | "view" | "size" | "items" | "getItemLabel" | "icon" | "getItemRightSide" | "horizontalSpace" | "closeIcon" | "divider" | "hoverEffect" | "directionIcon" | "closeDirectionIcon" | "iconPosition" | "isAccordion" | "onOpen" | "opened" | "getItemContent"> & React.RefAttributes<HTMLDivElement> & (ITEM extends {
83
- label: string;
82
+ label: React.ReactNode;
84
83
  } ? {} : {
85
84
  getItemLabel: CollapseGroupPropGetItemLabel<ITEM>;
86
85
  }) & (ITEM extends {
@@ -113,7 +112,7 @@ export declare function withDefaultGetters<ITEM, IS_ACCORDION extends boolean>(p
113
112
  iconPosition?: "left" | undefined;
114
113
  getItemRightSide?: CollapseGroupPropGetItemRightSide<ITEM> | undefined;
115
114
  } & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "children" | "view" | "size" | "items" | "getItemLabel" | "icon" | "getItemRightSide" | "horizontalSpace" | "closeIcon" | "divider" | "hoverEffect" | "directionIcon" | "closeDirectionIcon" | "iconPosition" | "isAccordion" | "onOpen" | "opened" | "getItemContent"> & React.RefAttributes<HTMLDivElement> & (ITEM extends {
116
- label: string;
115
+ label: React.ReactNode;
117
116
  } ? {} : {
118
117
  getItemLabel: CollapseGroupPropGetItemLabel<ITEM>;
119
118
  }) & (ITEM extends {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["defaultGetItemLabel","item","label","defaultGetItemContent","content","defaultGetItemRightSide","rightSide","withDefaultGetters","props","getItemLabel","getItemContent","getItemRightSide"],"sources":["../../../../../src/components/CollapseGroup/helpers.ts"],"sourcesContent":["import React from 'react';\n\nimport { IconComponent } from '../../icons/Icon/Icon';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport {\n CollapsePropHorizontalSpace,\n CollapsePropSize,\n CollapsePropView,\n} from '../Collapse/Collapse';\nimport { CollapseIconPropDirection } from '../Collapse/CollapseIcon/CollapseIcon';\n\nexport type DefaultItem = {\n label: string;\n content: React.ReactNode;\n rightSide?: React.ReactNode | React.ReactNode[];\n};\n\nexport type CollapseGroupPropOnOpen<IS_ACCORDION> = (params: {\n e: React.MouseEvent<HTMLDivElement, MouseEvent>;\n value: (IS_ACCORDION extends true ? number : number[]) | null;\n}) => void;\n\nexport type CollapseGroupPropOpened<IS_ACCORDION> =\n | (IS_ACCORDION extends true ? number : number[])\n | null\n | undefined;\n\ntype CollapseGroupPropGetItemLabel<ITEM> = (item: ITEM) => string;\ntype CollapseGroupPropGetItemContent<ITEM> = (item: ITEM) => React.ReactNode;\ntype CollapseGroupPropGetItemRightSide<ITEM> = (\n item: ITEM,\n) => React.ReactNode | React.ReactNode[] | undefined;\n\nexport type CollapseGroupProps<\n ITEM,\n IS_ACCORDION extends boolean,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n isAccordion?: IS_ACCORDION;\n children?: never;\n icon?: IconComponent;\n divider?: boolean;\n size?: CollapsePropSize;\n view?: CollapsePropView;\n horizontalSpace?: CollapsePropHorizontalSpace;\n hoverEffect?: boolean;\n onOpen?: CollapseGroupPropOnOpen<IS_ACCORDION>;\n opened?: CollapseGroupPropOpened<IS_ACCORDION>;\n getItemLabel?: CollapseGroupPropGetItemLabel<ITEM>;\n getItemContent?: CollapseGroupPropGetItemContent<ITEM>;\n } & (\n | {\n closeIcon: IconComponent;\n directionIcon?: never;\n closeDirectionIcon?: never;\n }\n | {\n closeIcon?: never;\n directionIcon?: CollapseIconPropDirection;\n closeDirectionIcon?: CollapseIconPropDirection;\n }\n ) &\n (\n | {\n iconPosition?: 'left';\n getItemRightSide?: CollapseGroupPropGetItemRightSide<ITEM>;\n }\n | {\n iconPosition?: 'right';\n getItemRightSide?: never;\n }\n ),\n HTMLDivElement\n> &\n (ITEM extends { label: DefaultItem['label'] }\n ? {}\n : { getItemLabel: CollapseGroupPropGetItemLabel<ITEM> }) &\n (ITEM extends { content: DefaultItem['content'] }\n ? {}\n : { getItemContent: CollapseGroupPropGetItemContent<ITEM> });\n\nexport const defaultGetItemLabel: CollapseGroupPropGetItemLabel<DefaultItem> = (\n item,\n) => item.label;\nexport const defaultGetItemContent: CollapseGroupPropGetItemContent<\n DefaultItem\n> = (item) => item.content;\nexport const defaultGetItemRightSide: CollapseGroupPropGetItemContent<\n DefaultItem\n> = (item) => item.rightSide;\n\nexport type CollapseGroupComponent = <\n ITEM,\n IS_ACCORDION extends boolean = false,\n>(\n props: CollapseGroupProps<ITEM, IS_ACCORDION>,\n) => React.ReactElement | null;\n\nexport type CollapseGroupRenderFunction = <\n ITEM,\n IS_ACCORDION extends boolean = false,\n>(\n props: CollapseGroupProps<ITEM, IS_ACCORDION>,\n ref: React.Ref<HTMLDivElement>,\n) => React.ReactElement | null;\n\nexport function withDefaultGetters<ITEM, IS_ACCORDION extends boolean>(\n props: CollapseGroupProps<ITEM, IS_ACCORDION>,\n) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemContent: props.getItemContent || defaultGetItemContent,\n getItemRightSide: props.getItemRightSide || defaultGetItemRightSide,\n };\n}\n"],"mappings":"qqBAkFA,MAAO,IAAMA,oBAA+D,CAAG,SAC7EC,CAD6E,QAE1EA,EAAI,CAACC,KAFqE,CAAxE,CAGP,MAAO,IAAMC,sBAEZ,CAAG,SAACF,CAAD,QAAUA,EAAI,CAACG,OAAf,CAFG,CAGP,MAAO,IAAMC,wBAEZ,CAAG,SAACJ,CAAD,QAAUA,EAAI,CAACK,SAAf,CAFG,CAmBP,MAAO,SAASC,mBAAT,CACLC,CADK,CAEL,CACA,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBT,mBAFtC,CAGEU,cAAc,CAAEF,CAAK,CAACE,cAAN,EAAwBP,qBAH1C,CAIEQ,gBAAgB,CAAEH,CAAK,CAACG,gBAAN,EAA0BN,uBAJ9C,EAMD"}
1
+ {"version":3,"file":"helpers.js","names":["defaultGetItemLabel","item","label","defaultGetItemContent","content","defaultGetItemRightSide","rightSide","withDefaultGetters","props","getItemLabel","getItemContent","getItemRightSide"],"sources":["../../../../../src/components/CollapseGroup/helpers.ts"],"sourcesContent":["import React from 'react';\n\nimport { IconComponent } from '../../icons/Icon/Icon';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport {\n CollapseIconPropDirection,\n CollapsePropHorizontalSpace,\n CollapsePropSize,\n CollapsePropView,\n} from '../Collapse/Collapse';\n\nexport type DefaultItem = {\n label: React.ReactNode;\n content: React.ReactNode;\n rightSide?: React.ReactNode | React.ReactNode[];\n};\n\nexport type CollapseGroupPropOnOpen<IS_ACCORDION> = (params: {\n e: React.MouseEvent<HTMLDivElement, MouseEvent>;\n value: (IS_ACCORDION extends true ? number : number[]) | null;\n}) => void;\n\nexport type CollapseGroupPropOpened<IS_ACCORDION> =\n | (IS_ACCORDION extends true ? number : number[])\n | null\n | undefined;\n\ntype CollapseGroupPropGetItemLabel<ITEM> = (item: ITEM) => React.ReactNode;\ntype CollapseGroupPropGetItemContent<ITEM> = (item: ITEM) => React.ReactNode;\ntype CollapseGroupPropGetItemRightSide<ITEM> = (\n item: ITEM,\n) => React.ReactNode | React.ReactNode[] | undefined;\n\nexport type CollapseGroupProps<\n ITEM,\n IS_ACCORDION extends boolean,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n isAccordion?: IS_ACCORDION;\n children?: never;\n icon?: IconComponent;\n divider?: boolean;\n size?: CollapsePropSize;\n view?: CollapsePropView;\n horizontalSpace?: CollapsePropHorizontalSpace;\n hoverEffect?: boolean;\n onOpen?: CollapseGroupPropOnOpen<IS_ACCORDION>;\n opened?: CollapseGroupPropOpened<IS_ACCORDION>;\n getItemLabel?: CollapseGroupPropGetItemLabel<ITEM>;\n getItemContent?: CollapseGroupPropGetItemContent<ITEM>;\n } & (\n | {\n closeIcon: IconComponent;\n directionIcon?: never;\n closeDirectionIcon?: never;\n }\n | {\n closeIcon?: never;\n directionIcon?: CollapseIconPropDirection;\n closeDirectionIcon?: CollapseIconPropDirection;\n }\n ) &\n (\n | {\n iconPosition?: 'left';\n getItemRightSide?: CollapseGroupPropGetItemRightSide<ITEM>;\n }\n | {\n iconPosition?: 'right';\n getItemRightSide?: never;\n }\n ),\n HTMLDivElement\n> &\n (ITEM extends { label: DefaultItem['label'] }\n ? {}\n : { getItemLabel: CollapseGroupPropGetItemLabel<ITEM> }) &\n (ITEM extends { content: DefaultItem['content'] }\n ? {}\n : { getItemContent: CollapseGroupPropGetItemContent<ITEM> });\n\nexport const defaultGetItemLabel: CollapseGroupPropGetItemLabel<DefaultItem> = (\n item,\n) => item.label;\nexport const defaultGetItemContent: CollapseGroupPropGetItemContent<\n DefaultItem\n> = (item) => item.content;\nexport const defaultGetItemRightSide: CollapseGroupPropGetItemContent<\n DefaultItem\n> = (item) => item.rightSide;\n\nexport type CollapseGroupComponent = <\n ITEM,\n IS_ACCORDION extends boolean = false,\n>(\n props: CollapseGroupProps<ITEM, IS_ACCORDION>,\n) => React.ReactElement | null;\n\nexport type CollapseGroupRenderFunction = <\n ITEM,\n IS_ACCORDION extends boolean = false,\n>(\n props: CollapseGroupProps<ITEM, IS_ACCORDION>,\n ref: React.Ref<HTMLDivElement>,\n) => React.ReactElement | null;\n\nexport function withDefaultGetters<ITEM, IS_ACCORDION extends boolean>(\n props: CollapseGroupProps<ITEM, IS_ACCORDION>,\n) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemContent: props.getItemContent || defaultGetItemContent,\n getItemRightSide: props.getItemRightSide || defaultGetItemRightSide,\n };\n}\n"],"mappings":"qqBAkFA,MAAO,IAAMA,oBAA+D,CAAG,SAC7EC,CAD6E,QAE1EA,EAAI,CAACC,KAFqE,CAAxE,CAGP,MAAO,IAAMC,sBAEZ,CAAG,SAACF,CAAD,QAAUA,EAAI,CAACG,OAAf,CAFG,CAGP,MAAO,IAAMC,wBAEZ,CAAG,SAACJ,CAAD,QAAUA,EAAI,CAACK,SAAf,CAFG,CAmBP,MAAO,SAASC,mBAAT,CACLC,CADK,CAEL,CACA,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBT,mBAFtC,CAGEU,cAAc,CAAEF,CAAK,CAACE,cAAN,EAAwBP,qBAH1C,CAIEQ,gBAAgB,CAAEH,CAAK,CAACG,gBAAN,EAA0BN,uBAJ9C,EAMD"}
@@ -1 +1 @@
1
- .DateTimeTypeDateTime_withTime{display:flex;position:relative}.DateTimeTypeDateTime_withTime:after{background:var(--color-bg-border);content:"";display:block;height:100%;left:calc((var(--control-height-s) + (var(--space-3xs)*2))*7 + var(--space-s) + var(--root-padding-left));position:absolute;top:0;width:1px}.DateTimeTypeDateTime-Date_withTime{padding-right:var(--space-s)}.DateTimeTypeDateTime-Time{padding-left:var(--space-s)}
1
+ .DateTimeTypeDateTime_withTime{display:flex;position:relative}.DateTimeTypeDateTime_withTime:after{background:var(--color-bg-border);content:"";display:block;height:100%;left:calc((var(--control-height-s) + (var(--space-3xs)*2))*7 + var(--space-l) + var(--root-padding-left));position:absolute;top:0;width:1px}.DateTimeTypeDateTime-Date_withTime{box-sizing:initial;padding-right:var(--space-l)}.DateTimeTypeDateTime-Time{box-sizing:initial;padding-left:var(--space-s)}
@@ -1 +1 @@
1
- .DateTimeTypeTime{width:calc((var(--control-height-s) + (var(--space-3xs)*2))*3)}.DateTimeTypeTime-Grid{--date-time-item-width:var(--control-height-s);--date-time-item-height:var(--control-height-s);--date-time-cell-vertical-gap:var(--space-3xs);--date-time-cell-horisontal-gap:var(--space-3xs);--date-time-cell-width:calc(var(--date-time-item-width) + var(--date-time-cell-horisontal-gap)*2);--date-time-cell-height:calc(var(--date-time-item-height) + var(--date-time-cell-vertical-gap)*2);--date-time-grid-columns:1;--date-time-grid-row-gap:0;display:flex;height:calc(var(--date-time-cell-height)*7);justify-content:center}.DateTimeTypeTime-Label{display:block;height:var(--control-height-s);line-height:var(--control-height-s);margin-bottom:var(--space-s)}
1
+ .DateTimeTypeTime{width:calc((var(--control-height-s) + (var(--space-3xs)*2))*3 + var(--space-xs)*2)}.DateTimeTypeTime-Grid{--date-time-item-width:var(--control-height-s);--date-time-item-height:var(--control-height-s);--date-time-cell-vertical-gap:var(--space-3xs);--date-time-cell-horisontal-gap:var(--space-3xs);--date-time-cell-width:calc(var(--date-time-item-width) + var(--date-time-cell-horisontal-gap)*2);--date-time-cell-height:calc(var(--date-time-item-height) + var(--date-time-cell-vertical-gap)*2);--date-time-grid-columns:1;--date-time-grid-row-gap:0;display:flex;gap:var(--space-xs);height:calc(var(--date-time-cell-height)*7);justify-content:center}.DateTimeTypeTime-Label{display:block;height:var(--control-height-s);line-height:var(--control-height-s);margin-bottom:var(--space-s)}
@@ -1 +1 @@
1
- .ProgressLine{background:var(--color-bg-system);height:var(--progress-line-height);position:relative;width:100%}.ProgressLine:after{background-color:var(--color-bg-brand);content:"";height:100%;position:absolute;top:0;transition:transform .3s}.ProgressLine_size_s{--progress-line-height:var(--space-3xs)}.ProgressLine_size_m{--progress-line-height:var(--space-2xs)}.ProgressLine_mode_step{grid-gap:var(--space-3xs);background:transparent;display:grid;grid-template-columns:repeat(var(--progress-line-steps),calc(100%/var(--progress-line-steps)));height:auto}.ProgressLine_mode_determinate:after{transform:scaleX(var(--progress-line-value));transform-origin:left;width:100%}.ProgressLine_mode_indeterminate{overflow-x:hidden}.ProgressLine_mode_indeterminate:after{-webkit-animation:ProgressLineAnimation 2s linear infinite;animation:ProgressLineAnimation 2s linear infinite;transform-origin:left;width:80%}.ProgressLine-Step{display:inline-flex;flex-direction:column;justify-content:flex-start}.ProgressLine-Line{background:var(--color-bg-system);height:var(--progress-line-height);overflow-x:hidden;position:relative;width:100%}.ProgressLine-Line:after{background:var(--color-bg-brand);content:"";height:var(--progress-line-height);left:0;position:absolute;top:0;transition:width .3s linear;transition-delay:var(--progress-line-delay);width:0}.ProgressLine-Line_active:after{width:100%}.ProgressLine-Label{margin-top:var(--space-3xs)}@-webkit-keyframes ProgressLineAnimation{0%{transform:translateX(-100%)}to{transform:translateX(130%)}}@keyframes ProgressLineAnimation{0%{transform:translateX(-100%)}to{transform:translateX(130%)}}
1
+ .ProgressLine{position:relative;width:100%}.ProgressLine_size_s{--progress-line-height:var(--space-3xs)}.ProgressLine_size_m{--progress-line-height:var(--space-2xs)}.ProgressLine:after{content:"";position:absolute;top:0}.ProgressLine_mode_step{min-height:var(--progress-line-height)}.ProgressLine_mode_step:before{background:var(--color-bg-system);content:"";position:absolute;top:0;width:100%}.ProgressLine_mode_step:after,.ProgressLine_mode_step:before{height:var(--progress-line-height);-webkit-mask-image:var(--progress-line-mask);mask-image:var(--progress-line-mask)}.ProgressLine_mode_step:after{background:var(--color-control-bg-primary);transition:width .3s;width:var(--progress-line-background-active-width)}.ProgressLine_mode_determinate{background:var(--color-bg-system);height:var(--progress-line-height)}.ProgressLine_mode_determinate:after{background-color:var(--color-bg-brand);height:100%;transform:scaleX(var(--progress-line-value));transform-origin:left;transition:transform .3s;width:100%}.ProgressLine_mode_indeterminate{background:var(--color-bg-system);height:var(--progress-line-height);overflow-x:hidden}.ProgressLine_mode_indeterminate:after{-webkit-animation:ProgressLineAnimation 2s linear infinite;animation:ProgressLineAnimation 2s linear infinite;background-color:var(--color-bg-brand);height:100%;transform-origin:left;transition:transform .3s;width:80%}.ProgressLine-Step{display:inline-flex;flex-direction:column;justify-content:flex-start}.ProgressLine-Steps{--progress-line-width-no-gap:calc(100% - (var(--progress-line-steps) - 1)*var(--space-3xs));grid-gap:var(--space-3xs);background:transparent;display:grid;grid-template-columns:repeat(var(--progress-line-steps),calc(var(--progress-line-width-no-gap)/var(--progress-line-steps)));height:auto;margin-top:var(--progress-line-height)}.ProgressLine-Label{margin-top:var(--space-3xs)}@-webkit-keyframes ProgressLineAnimation{0%{transform:translateX(-100%)}to{transform:translateX(130%)}}@keyframes ProgressLineAnimation{0%{transform:translateX(-100%)}to{transform:translateX(130%)}}
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","value","style","steps","getItemLabel"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./ProgressLine.css";import React,{forwardRef}from"react";import{usePrevious}from"../../hooks/usePrevious/usePrevious";import{cn}from"../../utils/bem";import{isNotNil}from"../../utils/type-guards";import{Text}from"../Text/Text";import{getLineDelay,withDefaultGetters}from"./helpers";var cnProgressLine=cn("ProgressLine"),getProgress=function(a){var b=Math.ceil(a);return 100<=b?1:0>=b?0:b/100},ProgressLineRender=function(a,b){var c,d=withDefaultGetters(a),e=d.size,f=void 0===e?"m":e,g=d.value,h=d.style,i=d.steps,j=d.getItemLabel,k=_objectWithoutProperties(d,_excluded),l=isNotNil(g)?Math.min(g,null!==(c=null===i||void 0===i?void 0:i.length)&&void 0!==c?c:0):-1,m=usePrevious(l);return i?React.createElement("div",Object.assign({},k,{style:_objectSpread(_objectSpread({},h),{},_defineProperty({},"--progress-line-steps",i.length)),ref:b,className:cnProgressLine({size:f,mode:"step"})}),i.map(function(a,b){var c=j(a),d=getLineDelay(l,null!==m&&void 0!==m?m:-1,b);return React.createElement("div",{key:cnProgressLine("Step",{index:b}),className:cnProgressLine("Step")},React.createElement("div",{style:_defineProperty({},"--progress-line-delay","".concat(.3*Math.max(0,d),"s")),className:cnProgressLine("Line",{active:l>=b})}),isNotNil(c)&&React.createElement(Text,{className:cnProgressLine("Label"),size:"2xs",lineHeight:"xs",view:"secondary",align:"center"},c))})):React.createElement("div",Object.assign({},k,{ref:b,style:_objectSpread(_objectSpread({},h),{},_defineProperty({},"--progress-line-value","".concat(getProgress(null!==g&&void 0!==g?g:0)))),className:cnProgressLine({size:f,mode:isNotNil(g)?"determinate":"indeterminate"})}))};export var ProgressLine=forwardRef(ProgressLineRender);
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","value","style","steps","getItemLabel"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./ProgressLine.css";import React,{forwardRef,useMemo,useRef}from"react";import{useComponentSize}from"../../hooks/useComponentSize";import{useForkRef}from"../../hooks/useForkRef";import{cn}from"../../utils/bem";import{isNotNil}from"../../utils/type-guards";import{Text}from"../Text/Text";import{calculateLinePositions,generateMask,getProgress,withDefaultGetters}from"./helpers";var cnProgressLine=cn("ProgressLine"),ProgressLineRender=function(a,b){var c,d=withDefaultGetters(a),e=d.size,f=void 0===e?"m":e,g=d.value,h=d.style,i=d.steps,j=d.getItemLabel,k=_objectWithoutProperties(d,_excluded),l=useRef(null),m=useComponentSize(l),n=m.width,o=useMemo(function(){var a,b=calculateLinePositions(null!==(a=null===i||void 0===i?void 0:i.length)&&void 0!==a?a:0,n);return[b,generateMask(b)]},[n,i]),p=_slicedToArray(o,2),q=p[0],r=p[1],s=useMemo(function(){var a,b={mode:isNotNil(g)?"determinate":"indeterminate",activeIndex:isNotNil(g)?Math.min(g,null!==(a=null===i||void 0===i?void 0:i.length)&&void 0!==a?a:0):-1};return i&&(b.mode="step",(null!==g&&void 0!==g?g:0)>=i.length&&(b.activeIndex=i.length-1)),b},[i,g]),t=s.mode,u=s.activeIndex,v=_objectSpread(_objectSpread({},k),{},{ref:useForkRef([b,l]),className:cnProgressLine({size:f,mode:t}),style:_objectSpread(_objectSpread({},h),{},(c={},_defineProperty(c,"--progress-line-value","".concat(getProgress(null!==g&&void 0!==g?g:0))),_defineProperty(c,"--progress-line-steps",null===i||void 0===i?void 0:i.length),_defineProperty(c,"--progress-line-background-active-width","".concat(null!==q&&void 0!==q&&q[u]?q[u].x+q[u].width:0,"px")),_defineProperty(c,"--progress-line-mask",r),c))});return React.createElement("div",v,i&&React.createElement("div",{className:cnProgressLine("Steps")},null===i||void 0===i?void 0:i.map(function(a,b){var c=j(a);return React.createElement("div",{key:cnProgressLine("Step",{index:b}),className:cnProgressLine("Step")},isNotNil(c)&&React.createElement(Text,{className:cnProgressLine("Label"),size:"2xs",lineHeight:"xs",view:"secondary",align:"center"},c))})))};export var ProgressLine=forwardRef(ProgressLineRender);
2
2
  //# sourceMappingURL=ProgressLine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressLine.js","names":["React","forwardRef","usePrevious","cn","isNotNil","Text","getLineDelay","withDefaultGetters","cnProgressLine","getProgress","progress","progressNormal","Math","ceil","ProgressLineRender","props","ref","size","value","style","steps","getItemLabel","otherProps","activeIndex","min","length","prevValue","mode","map","item","index","label","delay","max","active","ProgressLine"],"sources":["../../../../../src/components/ProgressLine/ProgressLine.tsx"],"sourcesContent":["import './ProgressLine.css';\n\nimport React, { forwardRef } from 'react';\n\nimport { usePrevious } from '../../hooks/usePrevious/usePrevious';\nimport { cn } from '../../utils/bem';\nimport { isNotNil } from '../../utils/type-guards';\nimport { Text } from '../Text/Text';\nimport { getLineDelay, withDefaultGetters } from './helpers';\nimport { ProgressLineComponent, ProgressLineProps } from './types';\n\nconst cnProgressLine = cn('ProgressLine');\n\nconst getProgress = (progress: number) => {\n const progressNormal = Math.ceil(progress);\n\n if (progressNormal >= 100) {\n return 1;\n }\n\n if (progressNormal <= 0) {\n return 0;\n }\n\n return progressNormal / 100;\n};\n\nconst ProgressLineRender = (\n props: ProgressLineProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n size = 'm',\n value,\n style,\n steps,\n getItemLabel,\n ...otherProps\n } = withDefaultGetters(props);\n\n const activeIndex = isNotNil(value)\n ? Math.min(value, steps?.length ?? 0)\n : -1;\n\n const prevValue = usePrevious(activeIndex);\n\n return !steps ? (\n <div\n {...otherProps}\n ref={ref}\n style={{\n ...style,\n ['--progress-line-value' as string]: `${getProgress(value ?? 0)}`,\n }}\n className={cnProgressLine({\n size,\n mode: isNotNil(value) ? 'determinate' : 'indeterminate',\n })}\n />\n ) : (\n <div\n {...otherProps}\n style={{\n ...style,\n ['--progress-line-steps' as string]: steps.length,\n }}\n ref={ref}\n className={cnProgressLine({\n size,\n mode: 'step',\n })}\n >\n {steps.map((item, index) => {\n const label = getItemLabel(item);\n const active = activeIndex >= index;\n const delay = getLineDelay(activeIndex, prevValue ?? -1, index);\n return (\n <div\n key={cnProgressLine('Step', { index })}\n className={cnProgressLine('Step')}\n >\n <div\n style={{\n ['--progress-line-delay' as string]: `${\n Math.max(0, delay) * 0.3\n }s`,\n }}\n className={cnProgressLine('Line', {\n active,\n })}\n />\n {isNotNil(label) && (\n <Text\n className={cnProgressLine('Label')}\n size=\"2xs\"\n lineHeight=\"xs\"\n view=\"secondary\"\n align=\"center\"\n >\n {label}\n </Text>\n )}\n </div>\n );\n })}\n </div>\n );\n};\n\nexport const ProgressLine = forwardRef(\n ProgressLineRender,\n) as ProgressLineComponent;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ProgressLine.js","names":["React","forwardRef","useMemo","useRef","useComponentSize","useForkRef","cn","isNotNil","Text","calculateLinePositions","generateMask","getProgress","withDefaultGetters","cnProgressLine","ProgressLineRender","props","ref","size","value","style","steps","getItemLabel","otherProps","containerRef","containerWidth","width","lines","length","mask","data","mode","activeIndex","Math","min","containerProps","className","x","map","item","index","label","ProgressLine"],"sources":["../../../../../src/components/ProgressLine/ProgressLine.tsx"],"sourcesContent":["import './ProgressLine.css';\n\nimport React, { forwardRef, useMemo, useRef } from 'react';\n\nimport { useComponentSize } from '##/hooks/useComponentSize';\nimport { useForkRef } from '##/hooks/useForkRef';\n\nimport { cn } from '../../utils/bem';\nimport { isNotNil } from '../../utils/type-guards';\nimport { Text } from '../Text/Text';\nimport {\n calculateLinePositions,\n generateMask,\n getProgress,\n withDefaultGetters,\n} from './helpers';\nimport { ProgressLineComponent, ProgressLineProps } from './types';\n\nconst cnProgressLine = cn('ProgressLine');\n\nconst ProgressLineRender = (\n props: ProgressLineProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n size = 'm',\n value,\n style,\n steps,\n getItemLabel,\n ...otherProps\n } = withDefaultGetters(props);\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n const { width: containerWidth } = useComponentSize(containerRef);\n\n const [lines, mask] = useMemo(() => {\n const lines = calculateLinePositions(steps?.length ?? 0, containerWidth);\n\n return [lines, generateMask(lines)];\n }, [containerWidth, steps]);\n\n const { mode, activeIndex } = useMemo(() => {\n const data = {\n mode: isNotNil(value) ? 'determinate' : 'indeterminate',\n activeIndex: isNotNil(value) ? Math.min(value, steps?.length ?? 0) : -1,\n };\n if (steps) {\n data.mode = 'step';\n if ((value ?? 0) >= steps.length) {\n data.activeIndex = steps.length - 1;\n }\n }\n return data;\n }, [steps, value]);\n\n const containerProps = {\n ...otherProps,\n ref: useForkRef([ref, containerRef]),\n className: cnProgressLine({\n size,\n mode,\n }),\n style: {\n ...style,\n ['--progress-line-value' as string]: `${getProgress(value ?? 0)}`,\n ['--progress-line-steps' as string]: steps?.length,\n ['--progress-line-background-active-width' as string]: `${\n lines?.[activeIndex]\n ? lines[activeIndex].x + lines[activeIndex].width\n : 0\n }px`,\n ['--progress-line-mask' as string]: mask,\n },\n };\n\n return (\n <div {...containerProps}>\n {steps && (\n <div className={cnProgressLine('Steps')}>\n {steps?.map((item, index) => {\n const label = getItemLabel(item);\n return (\n <div\n key={cnProgressLine('Step', { index })}\n className={cnProgressLine('Step')}\n >\n {isNotNil(label) && (\n <Text\n className={cnProgressLine('Label')}\n size=\"2xs\"\n lineHeight=\"xs\"\n view=\"secondary\"\n align=\"center\"\n >\n {label}\n </Text>\n )}\n </div>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n\nexport const ProgressLine = forwardRef(\n ProgressLineRender,\n) as ProgressLineComponent;\n"],"mappings":"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"}
@@ -264,4 +264,12 @@ export declare function withDefaultGetters<ITEM>(props: ProgressLineProps<ITEM>)
264
264
  ref?: import("react").Ref<HTMLDivElement> | undefined;
265
265
  key?: import("react").Key | null | undefined;
266
266
  };
267
- export declare const getLineDelay: (value: number, prevValue: number, index: number) => number;
267
+ export declare const getProgress: (progress: number) => number;
268
+ declare type ProgressLineSvgItem = {
269
+ width: number;
270
+ x: number;
271
+ y: number;
272
+ };
273
+ export declare const calculateLinePositions: (steps: number, containerWidth: number) => ProgressLineSvgItem[];
274
+ export declare const generateMask: (lines: ProgressLineSvgItem[]) => string;
275
+ export {};
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}var defaultGetItemLabel=function(a){return a.label};export function withDefaultGetters(a){return _objectSpread(_objectSpread({},a),{},{getItemLabel:a.getItemLabel||defaultGetItemLabel})}export var getLineDelay=function(a,b,c){return b<a?Math.max(a<c?0:c-b-1,0):Math.max(b-c,0)};
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}var defaultGetItemLabel=function(a){return a.label};export function withDefaultGetters(a){return _objectSpread(_objectSpread({},a),{},{getItemLabel:a.getItemLabel||defaultGetItemLabel})}export var getProgress=function(a){var b=Math.ceil(a);return 100<=b?1:0>=b?0:b/100};export var calculateLinePositions=function(a,b){for(var c=[],d=2,e=Math.max(b-(a-1)*d,0),f=e/a,g=0,h=0;h<a;h++)c.push({width:f,y:0,x:g}),g+=f+d;return c};export var generateMask=function(a){var b=a.length;if(0<b){for(var c=a[b-1].x+a[b-1].width,d="%3csvg width='".concat(c,"px' height='4px' xmlns='http://www.w3.org/2000/svg'%3e"),e=0;e<b;e++){var f=a[e],g=f.x,h=f.width,i=f.y;d+="%3crect x='".concat(g,"px' y='").concat(i,"px' height='4px' width='").concat(h,"px' /%3e")}return d+="%3c/svg%3e","url(\"data:image/svg+xml;charset=UTF-8,".concat(d,"\")")}return""};
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["defaultGetItemLabel","item","label","withDefaultGetters","props","getItemLabel","getLineDelay","value","prevValue","index","Math","max"],"sources":["../../../../../src/components/ProgressLine/helpers.ts"],"sourcesContent":["import {\n ProgressLineItemDefault,\n ProgressLinePropGetItemLabel,\n ProgressLineProps,\n} from './types';\n\nconst defaultGetItemLabel: ProgressLinePropGetItemLabel<\n ProgressLineItemDefault\n> = (item) => item.label;\n\nexport function withDefaultGetters<ITEM>(props: ProgressLineProps<ITEM>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n };\n}\n\nexport const getLineDelay = (\n value: number,\n prevValue: number,\n index: number,\n) => {\n if (prevValue < value) {\n return Math.max(value < index ? 0 : index - prevValue - 1, 0);\n }\n return Math.max(prevValue - index, 0);\n};\n"],"mappings":"qqBAMA,GAAMA,oBAEL,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,KAAf,CAFJ,CAIA,MAAO,SAASC,mBAAT,CAAkCC,CAAlC,CAAkE,CACvE,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBL,mBAFtC,EAID,CAED,MAAO,IAAMM,aAAY,CAAG,SAC1BC,CAD0B,CAE1BC,CAF0B,CAG1BC,CAH0B,CAIvB,OACCD,EAAS,CAAGD,CADb,CAEMG,IAAI,CAACC,GAAL,CAASJ,CAAK,CAAGE,CAAR,CAAgB,CAAhB,CAAoBA,CAAK,CAAGD,CAAR,CAAoB,CAAjD,CAAoD,CAApD,CAFN,CAIIE,IAAI,CAACC,GAAL,CAASH,CAAS,CAAGC,CAArB,CAA4B,CAA5B,CACR,CATM"}
1
+ {"version":3,"file":"helpers.js","names":["defaultGetItemLabel","item","label","withDefaultGetters","props","getItemLabel","getProgress","progress","progressNormal","Math","ceil","calculateLinePositions","steps","containerWidth","lines","gap","widthWithoutGap","max","lineWidth","padding","i","push","width","y","x","generateMask","length","svg","index"],"sources":["../../../../../src/components/ProgressLine/helpers.ts"],"sourcesContent":["import {\n ProgressLineItemDefault,\n ProgressLinePropGetItemLabel,\n ProgressLineProps,\n} from './types';\n\nconst defaultGetItemLabel: ProgressLinePropGetItemLabel<\n ProgressLineItemDefault\n> = (item) => item.label;\n\nexport function withDefaultGetters<ITEM>(props: ProgressLineProps<ITEM>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n };\n}\n\nexport const getProgress = (progress: number) => {\n const progressNormal = Math.ceil(progress);\n\n if (progressNormal >= 100) {\n return 1;\n }\n\n if (progressNormal <= 0) {\n return 0;\n }\n\n return progressNormal / 100;\n};\n\ntype ProgressLineSvgItem = {\n width: number;\n x: number;\n y: number;\n};\n\nexport const calculateLinePositions = (\n steps: number,\n containerWidth: number,\n): ProgressLineSvgItem[] => {\n const lines: ProgressLineSvgItem[] = [];\n const gap = 2;\n const widthWithoutGap = Math.max(containerWidth - (steps - 1) * gap, 0);\n const lineWidth = widthWithoutGap / steps;\n let padding = 0;\n for (let i = 0; i < steps; i++) {\n lines.push({\n width: lineWidth,\n y: 0,\n x: padding,\n });\n padding += lineWidth + gap;\n }\n return lines;\n};\n\nexport const generateMask = (lines: ProgressLineSvgItem[]): string => {\n const { length } = lines;\n if (length > 0) {\n const width = lines[length - 1].x + lines[length - 1].width;\n let svg = `%3csvg width='${width}px' height='4px' xmlns='http://www.w3.org/2000/svg'%3e`;\n for (let index = 0; index < length; index++) {\n const { x, width, y } = lines[index];\n svg += `%3crect x='${x}px' y='${y}px' height='4px' width='${width}px' /%3e`;\n }\n svg += '%3c/svg%3e';\n return `url(\"data:image/svg+xml;charset=UTF-8,${svg}\")`;\n }\n return '';\n};\n"],"mappings":"qqBAMA,GAAMA,oBAEL,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,KAAf,CAFJ,CAIA,MAAO,SAASC,mBAAT,CAAkCC,CAAlC,CAAkE,CACvE,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBL,mBAFtC,EAID,CAED,MAAO,IAAMM,YAAW,CAAG,SAACC,CAAD,CAAsB,CAC/C,GAAMC,EAAc,CAAGC,IAAI,CAACC,IAAL,CAAUH,CAAV,CAAvB,CAD+C,MAGzB,IAAlB,EAAAC,CAH2C,CAItC,CAJsC,CAOzB,CAAlB,EAAAA,CAP2C,CAQtC,CARsC,CAWxCA,CAAc,CAAG,GACzB,CAZM,CAoBP,MAAO,IAAMG,uBAAsB,CAAG,SACpCC,CADoC,CAEpCC,CAFoC,CAGV,CAM1B,OALMC,EAA4B,CAAG,EAKrC,CAJMC,CAAG,CAAG,CAIZ,CAHMC,CAAe,CAAGP,IAAI,CAACQ,GAAL,CAASJ,CAAc,CAAG,CAACD,CAAK,CAAG,CAAT,EAAcG,CAAxC,CAA6C,CAA7C,CAGxB,CAFMG,CAAS,CAAGF,CAAe,CAAGJ,CAEpC,CADIO,CAAO,CAAG,CACd,CAASC,CAAC,CAAG,CAAb,CAAgBA,CAAC,CAAGR,CAApB,CAA2BQ,CAAC,EAA5B,CACEN,CAAK,CAACO,IAAN,CAAW,CACTC,KAAK,CAAEJ,CADE,CAETK,CAAC,CAAE,CAFM,CAGTC,CAAC,CAAEL,CAHM,CAAX,CADF,CAMEA,CAAO,EAAID,CAAS,CAAGH,CANzB,CAQA,MAAOD,EACR,CAlBM,CAoBP,MAAO,IAAMW,aAAY,CAAG,SAACX,CAAD,CAA0C,CACpE,GAAQY,EAAR,CAAmBZ,CAAnB,CAAQY,MAAR,CACA,GAAa,CAAT,CAAAA,CAAJ,CAAgB,CAGd,OAFMJ,EAAK,CAAGR,CAAK,CAACY,CAAM,CAAG,CAAV,CAAL,CAAkBF,CAAlB,CAAsBV,CAAK,CAACY,CAAM,CAAG,CAAV,CAAL,CAAkBJ,KAEtD,CADIK,CAAG,yBAAoBL,CAApB,0DACP,CAASM,CAAK,CAAG,CAAjB,CAAoBA,CAAK,CAAGF,CAA5B,CAAoCE,CAAK,EAAzC,CAA6C,CAC3C,MAAwBd,CAAK,CAACc,CAAD,CAA7B,CAAQJ,CAAR,GAAQA,CAAR,CAAWF,CAAX,GAAWA,KAAX,CAAkBC,CAAlB,GAAkBA,CAAlB,CACAI,CAAG,uBAAkBH,CAAlB,mBAA6BD,CAA7B,oCAAyDD,CAAzD,YACJ,CAED,MADAK,EAAG,EAAI,YACP,kDAAgDA,CAAhD,OACD,CACD,MAAO,EACR,CAbM"}
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["items","className","getItemKey","getItemActions","getItemAutoClose","getItemIcon","getItemMessage","getItemOnAutoClose","getItemOnClose","getItemShowProgress","getItemStatus","onItemClose","onItemAutoClose"];import"./SnackBar.css";import React,{forwardRef}from"react";import{CSSTransition,TransitionGroup}from"react-transition-group";import{useRefs}from"../../hooks/useRefs/useRefs";import{cn}from"../../utils/bem";import{cnForCssTransition}from"../../utils/cnForCssTransition";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{getItem,withDefaultGetters}from"./helper";import{SnackBarItem}from"./SnackBarItem/SnackBarItem";export var cnSnackBar=cn("SnackBar");var cssTransitionClassNames=cnForCssTransition(cnSnackBar,"Item"),SnackBarRender=function(a,b){var c=usePropsHandler("SnackBar",withDefaultGetters(a)),d=c.items,e=c.className,f=c.getItemKey,g=c.getItemActions,h=c.getItemAutoClose,i=c.getItemIcon,j=c.getItemMessage,k=c.getItemOnAutoClose,l=c.getItemOnClose,m=c.getItemShowProgress,n=c.getItemStatus,o=c.onItemClose,p=c.onItemAutoClose,q=_objectWithoutProperties(c,_excluded),r=useRefs(d.length);return React.createElement("div",Object.assign({className:cnSnackBar(null,[e]),ref:b},q),React.createElement(TransitionGroup,{component:null,appear:!0,enter:!0,exit:!0},d.map(function(a,b){return React.createElement(CSSTransition,{nodeRef:r[b],classNames:cssTransitionClassNames,key:cnSnackBar("Item",{key:f(a)}),timeout:200},React.createElement(SnackBarItem,Object.assign({ref:r[b],className:cnSnackBar("Item")},getItem(a,c))))})))};export var SnackBar=forwardRef(SnackBarRender);export*from"./types";
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["items","className","form","getItemKey","getItemActions","getItemAutoClose","getItemIcon","getItemMessage","getItemOnAutoClose","getItemOnClose","getItemShowProgress","getItemStatus","onItemClose","onItemAutoClose"];import"./SnackBar.css";import React,{forwardRef}from"react";import{CSSTransition,TransitionGroup}from"react-transition-group";import{useRefs}from"../../hooks/useRefs/useRefs";import{cn}from"../../utils/bem";import{cnForCssTransition}from"../../utils/cnForCssTransition";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{getItem,withDefaultGetters}from"./helper";import{SnackBarItem}from"./SnackBarItem/SnackBarItem";import{snackBarPropFormDefault}from"./types";export var cnSnackBar=cn("SnackBar");var cssTransitionClassNames=cnForCssTransition(cnSnackBar,"Item"),SnackBarRender=function(a,b){var c=usePropsHandler("SnackBar",withDefaultGetters(a)),d=c.items,e=c.className,f=c.form,g=void 0===f?snackBarPropFormDefault:f,h=c.getItemKey,i=c.getItemActions,j=c.getItemAutoClose,k=c.getItemIcon,l=c.getItemMessage,m=c.getItemOnAutoClose,n=c.getItemOnClose,o=c.getItemShowProgress,p=c.getItemStatus,q=c.onItemClose,r=c.onItemAutoClose,s=_objectWithoutProperties(c,_excluded),t=useRefs(d.length);return React.createElement("div",Object.assign({className:cnSnackBar(null,[e]),ref:b},s),React.createElement(TransitionGroup,{component:null,appear:!0,enter:!0,exit:!0},d.map(function(a,b){return React.createElement(CSSTransition,{nodeRef:t[b],classNames:cssTransitionClassNames,key:cnSnackBar("Item",{key:h(a)}),timeout:200},React.createElement(SnackBarItem,Object.assign({ref:t[b],form:g,className:cnSnackBar("Item")},getItem(a,c))))})))};export var SnackBar=forwardRef(SnackBarRender);export*from"./types";
2
2
  //# sourceMappingURL=SnackBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SnackBar.js","names":["React","forwardRef","CSSTransition","TransitionGroup","useRefs","cn","cnForCssTransition","usePropsHandler","getItem","withDefaultGetters","SnackBarItem","cnSnackBar","cssTransitionClassNames","SnackBarRender","propsComponent","ref","props","items","className","getItemKey","getItemActions","getItemAutoClose","getItemIcon","getItemMessage","getItemOnAutoClose","getItemOnClose","getItemShowProgress","getItemStatus","onItemClose","onItemAutoClose","otherProps","refs","length","map","item","index","key","SnackBar"],"sources":["../../../../../src/components/SnackBar/SnackBar.tsx"],"sourcesContent":["import './SnackBar.css';\n\nimport React, { forwardRef } from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\n\nimport { useRefs } from '../../hooks/useRefs/useRefs';\nimport { cn } from '../../utils/bem';\nimport { cnForCssTransition } from '../../utils/cnForCssTransition';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport { getItem, withDefaultGetters } from './helper';\nimport { SnackBarItem } from './SnackBarItem/SnackBarItem';\nimport { SnackBarComponent, SnackBarProps } from './types';\n\nexport const cnSnackBar = cn('SnackBar');\n\nconst cssTransitionClassNames = cnForCssTransition(cnSnackBar, 'Item');\n\nconst SnackBarRender = (\n propsComponent: SnackBarProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const props = usePropsHandler('SnackBar', withDefaultGetters(propsComponent));\n const {\n items,\n className,\n getItemKey,\n getItemActions,\n getItemAutoClose,\n getItemIcon,\n getItemMessage,\n getItemOnAutoClose,\n getItemOnClose,\n getItemShowProgress,\n getItemStatus,\n onItemClose,\n onItemAutoClose,\n ...otherProps\n } = props;\n\n const refs = useRefs<HTMLDivElement>(items.length);\n\n return (\n <div className={cnSnackBar(null, [className])} ref={ref} {...otherProps}>\n <TransitionGroup component={null} appear enter exit>\n {items.map((item, index) => {\n return (\n <CSSTransition\n nodeRef={refs[index]}\n classNames={cssTransitionClassNames}\n key={cnSnackBar('Item', { key: getItemKey(item) })}\n timeout={200}\n >\n <SnackBarItem\n ref={refs[index]}\n className={cnSnackBar('Item')}\n {...getItem(item, props)}\n />\n </CSSTransition>\n );\n })}\n </TransitionGroup>\n </div>\n );\n};\n\nexport const SnackBar = forwardRef(SnackBarRender) as SnackBarComponent;\n\nexport * from './types';\n"],"mappings":"qTAAA,uBAEA,MAAOA,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CACA,OAASC,aAAT,CAAwBC,eAAxB,KAA+C,wBAA/C,CAEA,OAASC,OAAT,mCACA,OAASC,EAAT,uBACA,OAASC,kBAAT,sCACA,OAASC,eAAT,2CACA,OAASC,OAAT,CAAkBC,kBAAlB,gBACA,OAASC,YAAT,mCAGA,MAAO,IAAMC,WAAU,CAAGN,EAAE,CAAC,UAAD,CAArB,C,GAEDO,wBAAuB,CAAGN,kBAAkB,CAACK,UAAD,CAAa,MAAb,C,CAE5CE,cAAc,CAAG,SACrBC,CADqB,CAErBC,CAFqB,CAGlB,IACGC,EAAK,CAAGT,eAAe,CAAC,UAAD,CAAaE,kBAAkB,CAACK,CAAD,CAA/B,CAD1B,CAGDG,CAHC,CAiBCD,CAjBD,CAGDC,KAHC,CAIDC,CAJC,CAiBCF,CAjBD,CAIDE,SAJC,CAKDC,CALC,CAiBCH,CAjBD,CAKDG,UALC,CAMDC,CANC,CAiBCJ,CAjBD,CAMDI,cANC,CAODC,CAPC,CAiBCL,CAjBD,CAODK,gBAPC,CAQDC,CARC,CAiBCN,CAjBD,CAQDM,WARC,CASDC,CATC,CAiBCP,CAjBD,CASDO,cATC,CAUDC,CAVC,CAiBCR,CAjBD,CAUDQ,kBAVC,CAWDC,CAXC,CAiBCT,CAjBD,CAWDS,cAXC,CAYDC,CAZC,CAiBCV,CAjBD,CAYDU,mBAZC,CAaDC,CAbC,CAiBCX,CAjBD,CAaDW,aAbC,CAcDC,CAdC,CAiBCZ,CAjBD,CAcDY,WAdC,CAeDC,CAfC,CAiBCb,CAjBD,CAeDa,eAfC,CAgBEC,CAhBF,0BAiBCd,CAjBD,YAmBGe,CAAI,CAAG3B,OAAO,CAAiBa,CAAK,CAACe,MAAvB,CAnBjB,CAqBH,MACE,0CAAK,SAAS,CAAErB,UAAU,CAAC,IAAD,CAAO,CAACO,CAAD,CAAP,CAA1B,CAA+C,GAAG,CAAEH,CAApD,EAA6De,CAA7D,EACE,oBAAC,eAAD,EAAiB,SAAS,CAAE,IAA5B,CAAkC,MAAM,GAAxC,CAAyC,KAAK,GAA9C,CAA+C,IAAI,GAAnD,EACGb,CAAK,CAACgB,GAAN,CAAU,SAACC,CAAD,CAAOC,CAAP,CAAiB,CAC1B,MACE,qBAAC,aAAD,EACE,OAAO,CAAEJ,CAAI,CAACI,CAAD,CADf,CAEE,UAAU,CAAEvB,uBAFd,CAGE,GAAG,CAAED,UAAU,CAAC,MAAD,CAAS,CAAEyB,GAAG,CAAEjB,CAAU,CAACe,CAAD,CAAjB,CAAT,CAHjB,CAIE,OAAO,CAAE,GAJX,EAME,oBAAC,YAAD,gBACE,GAAG,CAAEH,CAAI,CAACI,CAAD,CADX,CAEE,SAAS,CAAExB,UAAU,CAAC,MAAD,CAFvB,EAGMH,OAAO,CAAC0B,CAAD,CAAOlB,CAAP,CAHb,EANF,CAaH,CAfA,CADH,CADF,CAqBH,C,CAED,MAAO,IAAMqB,SAAQ,CAAGpC,UAAU,CAACY,cAAD,CAA3B,CAEP"}
1
+ {"version":3,"file":"SnackBar.js","names":["React","forwardRef","CSSTransition","TransitionGroup","useRefs","cn","cnForCssTransition","usePropsHandler","getItem","withDefaultGetters","SnackBarItem","snackBarPropFormDefault","cnSnackBar","cssTransitionClassNames","SnackBarRender","propsComponent","ref","props","items","className","form","getItemKey","getItemActions","getItemAutoClose","getItemIcon","getItemMessage","getItemOnAutoClose","getItemOnClose","getItemShowProgress","getItemStatus","onItemClose","onItemAutoClose","otherProps","refs","length","map","item","index","key","SnackBar"],"sources":["../../../../../src/components/SnackBar/SnackBar.tsx"],"sourcesContent":["import './SnackBar.css';\n\nimport React, { forwardRef } from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\n\nimport { useRefs } from '../../hooks/useRefs/useRefs';\nimport { cn } from '../../utils/bem';\nimport { cnForCssTransition } from '../../utils/cnForCssTransition';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport { getItem, withDefaultGetters } from './helper';\nimport { SnackBarItem } from './SnackBarItem/SnackBarItem';\nimport {\n SnackBarComponent,\n snackBarPropFormDefault,\n SnackBarProps,\n} from './types';\n\nexport const cnSnackBar = cn('SnackBar');\n\nconst cssTransitionClassNames = cnForCssTransition(cnSnackBar, 'Item');\n\nconst SnackBarRender = (\n propsComponent: SnackBarProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const props = usePropsHandler('SnackBar', withDefaultGetters(propsComponent));\n const {\n items,\n className,\n form = snackBarPropFormDefault,\n getItemKey,\n getItemActions,\n getItemAutoClose,\n getItemIcon,\n getItemMessage,\n getItemOnAutoClose,\n getItemOnClose,\n getItemShowProgress,\n getItemStatus,\n onItemClose,\n onItemAutoClose,\n ...otherProps\n } = props;\n\n const refs = useRefs<HTMLDivElement>(items.length);\n\n return (\n <div className={cnSnackBar(null, [className])} ref={ref} {...otherProps}>\n <TransitionGroup component={null} appear enter exit>\n {items.map((item, index) => {\n return (\n <CSSTransition\n nodeRef={refs[index]}\n classNames={cssTransitionClassNames}\n key={cnSnackBar('Item', { key: getItemKey(item) })}\n timeout={200}\n >\n <SnackBarItem\n ref={refs[index]}\n form={form}\n className={cnSnackBar('Item')}\n {...getItem(item, props)}\n />\n </CSSTransition>\n );\n })}\n </TransitionGroup>\n </div>\n );\n};\n\nexport const SnackBar = forwardRef(SnackBarRender) as SnackBarComponent;\n\nexport * from './types';\n"],"mappings":"4TAAA,uBAEA,MAAOA,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CACA,OAASC,aAAT,CAAwBC,eAAxB,KAA+C,wBAA/C,CAEA,OAASC,OAAT,mCACA,OAASC,EAAT,uBACA,OAASC,kBAAT,sCACA,OAASC,eAAT,2CACA,OAASC,OAAT,CAAkBC,kBAAlB,gBACA,OAASC,YAAT,mCACA,OAEEC,uBAFF,eAMA,MAAO,IAAMC,WAAU,CAAGP,EAAE,CAAC,UAAD,CAArB,C,GAEDQ,wBAAuB,CAAGP,kBAAkB,CAACM,UAAD,CAAa,MAAb,C,CAE5CE,cAAc,CAAG,SACrBC,CADqB,CAErBC,CAFqB,CAGlB,IACGC,EAAK,CAAGV,eAAe,CAAC,UAAD,CAAaE,kBAAkB,CAACM,CAAD,CAA/B,CAD1B,CAGDG,CAHC,CAkBCD,CAlBD,CAGDC,KAHC,CAIDC,CAJC,CAkBCF,CAlBD,CAIDE,SAJC,GAkBCF,CAlBD,CAKDG,IALC,CAKDA,CALC,YAKMT,uBALN,GAMDU,CANC,CAkBCJ,CAlBD,CAMDI,UANC,CAODC,CAPC,CAkBCL,CAlBD,CAODK,cAPC,CAQDC,CARC,CAkBCN,CAlBD,CAQDM,gBARC,CASDC,CATC,CAkBCP,CAlBD,CASDO,WATC,CAUDC,CAVC,CAkBCR,CAlBD,CAUDQ,cAVC,CAWDC,CAXC,CAkBCT,CAlBD,CAWDS,kBAXC,CAYDC,CAZC,CAkBCV,CAlBD,CAYDU,cAZC,CAaDC,CAbC,CAkBCX,CAlBD,CAaDW,mBAbC,CAcDC,CAdC,CAkBCZ,CAlBD,CAcDY,aAdC,CAeDC,CAfC,CAkBCb,CAlBD,CAeDa,WAfC,CAgBDC,CAhBC,CAkBCd,CAlBD,CAgBDc,eAhBC,CAiBEC,CAjBF,0BAkBCf,CAlBD,YAoBGgB,CAAI,CAAG7B,OAAO,CAAiBc,CAAK,CAACgB,MAAvB,CApBjB,CAsBH,MACE,0CAAK,SAAS,CAAEtB,UAAU,CAAC,IAAD,CAAO,CAACO,CAAD,CAAP,CAA1B,CAA+C,GAAG,CAAEH,CAApD,EAA6DgB,CAA7D,EACE,oBAAC,eAAD,EAAiB,SAAS,CAAE,IAA5B,CAAkC,MAAM,GAAxC,CAAyC,KAAK,GAA9C,CAA+C,IAAI,GAAnD,EACGd,CAAK,CAACiB,GAAN,CAAU,SAACC,CAAD,CAAOC,CAAP,CAAiB,CAC1B,MACE,qBAAC,aAAD,EACE,OAAO,CAAEJ,CAAI,CAACI,CAAD,CADf,CAEE,UAAU,CAAExB,uBAFd,CAGE,GAAG,CAAED,UAAU,CAAC,MAAD,CAAS,CAAE0B,GAAG,CAAEjB,CAAU,CAACe,CAAD,CAAjB,CAAT,CAHjB,CAIE,OAAO,CAAE,GAJX,EAME,oBAAC,YAAD,gBACE,GAAG,CAAEH,CAAI,CAACI,CAAD,CADX,CAEE,IAAI,CAAEjB,CAFR,CAGE,SAAS,CAAER,UAAU,CAAC,MAAD,CAHvB,EAIMJ,OAAO,CAAC4B,CAAD,CAAOnB,CAAP,CAJb,EANF,CAcH,CAhBA,CADH,CADF,CAsBH,C,CAED,MAAO,IAAMsB,SAAQ,CAAGtC,UAAU,CAACa,cAAD,CAA3B,CAEP"}
@@ -1 +1 @@
1
- .SnackBarItem{border-radius:var(--space-xs);box-shadow:var(--shadow-group);color:var(--color-typo-primary);display:flex;padding:var(--space-m) var(--space-2xl) var(--space-m) var(--space-m);position:relative}.SnackBarItem_showProgress_line{padding-bottom:calc(var(--space-m) + var(--space-2xs))}.SnackBarItem-ActionButton{margin-top:calc(var(--space-2xs) + var(--space-xs))}.SnackBarItem_status_system{background-color:var(--color-bg-system)}.SnackBarItem_status_normal{background-color:var(--color-bg-normal)}.SnackBarItem_status_success{background-color:var(--color-bg-success)}.SnackBarItem_status_warning{background-color:var(--color-bg-warning)}.SnackBarItem_status_alert{background-color:var(--color-bg-alert)}.SnackBarItem-Timer{margin-right:var(--space-m)}.SnackBarItem-Line{bottom:0;left:0;position:absolute}.SnackBarItem-Icon{flex:none;margin-right:var(--space-m)}.SnackBarItem-Content{flex:1}.SnackBarItem-CloseButton{position:absolute;right:var(--space-2xs);top:var(--space-2xs)}
1
+ .SnackBarItem{--snack-bar-item-radius:0;border-radius:var(--snack-bar-item-radius);box-shadow:var(--shadow-group);color:var(--color-typo-primary);display:flex;padding:var(--space-m) var(--space-2xl) var(--space-m) var(--space-m);position:relative}.SnackBarItem_showProgress_line{padding-bottom:calc(var(--space-m) + var(--space-2xs))}.SnackBarItem_form_default{--snack-bar-item-radius:var(--space-xs)}.SnackBarItem_form_round{--snack-bar-item-radius:var(--space-m)}.SnackBarItem_form_brick{--snack-bar-item-radius:0}.SnackBarItem-ActionButton{margin-top:calc(var(--space-2xs) + var(--space-xs))}.SnackBarItem_status_system{background-color:var(--color-bg-system)}.SnackBarItem_status_normal{background-color:var(--color-bg-normal)}.SnackBarItem_status_success{background-color:var(--color-bg-success)}.SnackBarItem_status_warning{background-color:var(--color-bg-warning)}.SnackBarItem_status_alert{background-color:var(--color-bg-alert)}.SnackBarItem-Timer{margin-right:var(--space-m)}.SnackBarItem-Line{bottom:0;left:0;position:absolute}.SnackBarItem-Icon{flex:none;margin-right:var(--space-m)}.SnackBarItem-Content{flex:1}.SnackBarItem-CloseButton{position:absolute;right:var(--space-2xs);top:var(--space-2xs)}
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["onClose","autoClose","showProgress","icon","message","actions","status","onAutoClose","className"];import"../../Theme/_color/Theme_color_gpnDark.css";import"./SnackBarItem.css";import React,{useEffect,useState}from"react";import{useFlag}from"../../../hooks/useFlag/useFlag";import{IconClose}from"../../../icons/IconClose/IconClose";import{cn}from"../../../utils/bem";import{isNumber,isString}from"../../../utils/type-guards";import{Button}from"../../Button/Button";import{Text}from"../../Text/Text";import{cnTheme}from"../../Theme/Theme";import{SnackBarActionButton}from"../SnackBarActionButton/SnackBarActionButton";import{SnackBarLine}from"../SnackBarLine/SnackBarLine";import{SnackBarTimer}from"../SnackBarTimer/SnackBarTimer";import{snackBarItemStatusDefault}from"../types";var defaultInitialTimerTime=3;export var cnSnackBarItem=cn("SnackBarItem");var getAutoCloseTime=function(a){return!!a&&("number"==typeof a?a:defaultInitialTimerTime)};export var SnackBarItemRender=function(a,b){var c=a.onClose,d=a.autoClose,e=a.showProgress,f=a.icon,g=a.message,h=a.actions,i=a.status,j=void 0===i?snackBarItemStatusDefault:i,k=a.onAutoClose,l=a.className,m=_objectWithoutProperties(a,_excluded),n=useState(null),o=_slicedToArray(n,2),p=o[0],q=o[1],r=useFlag(!1),s=_slicedToArray(r,2),t=s[0],u=s[1],v=u.on,w=u.off,x=useFlag(!1),y=_slicedToArray(x,2),z=y[0],A=y[1].on,B=function(a){return q(a)},C=getAutoCloseTime(d),D=e===void 0||!(isNumber(C)&&0<C),E=function(){k?k():null===c||void 0===c?void 0:c()};useEffect(function(){z||(t?p&&p.pause():p&&p.start())},[t,z,p]);var F=function(){A(),E()},G=c?function(){return c()}:void 0;return React.createElement("div",Object.assign({ref:b,className:cnSnackBarItem({status:j,showProgress:e},[cnTheme({color:"gpnDark"}),l]),onMouseEnter:C?function handleMouseEnter(){return v()}:void 0,onMouseLeave:C?function handleMouseLeave(){return w()}:void 0},m),C&&"line"!==e&&React.createElement(SnackBarTimer,{className:cnSnackBarItem("Timer"),onMount:B,onTimeIsOver:F,startTime:C,hidden:D}),f&&(D&&"timer"===e||"timer"!==e)&&React.createElement(f,{className:cnSnackBarItem("Icon"),size:"m"}),React.createElement("div",{className:cnSnackBarItem("Content")},isString(g)||isNumber(g)?React.createElement(Text,{className:cnSnackBarItem("Message"),lineHeight:"s"},g):g,h&&React.createElement(SnackBarActionButton,{actions:h,className:cnSnackBarItem("ActionButton")})),c&&React.createElement(Button,{className:cnSnackBarItem("CloseButton"),view:"clear",iconLeft:IconClose,form:"round",size:"xs",onClick:G}),C&&"line"===e&&React.createElement(SnackBarLine,{className:cnSnackBarItem("Line"),onMount:B,onTimeIsOver:F,startTime:C}))};export var SnackBarItem=React.forwardRef(SnackBarItemRender);
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["onClose","autoClose","showProgress","icon","form","message","actions","status","onAutoClose","className"];import"../../Theme/_color/Theme_color_gpnDark.css";import"./SnackBarItem.css";import React,{useEffect,useState}from"react";import{useFlag}from"../../../hooks/useFlag/useFlag";import{IconClose}from"../../../icons/IconClose/IconClose";import{cn}from"../../../utils/bem";import{isNumber,isString}from"../../../utils/type-guards";import{Button}from"../../Button/Button";import{Text}from"../../Text/Text";import{cnTheme}from"../../Theme/Theme";import{SnackBarActionButton}from"../SnackBarActionButton/SnackBarActionButton";import{SnackBarLine}from"../SnackBarLine/SnackBarLine";import{SnackBarTimer}from"../SnackBarTimer/SnackBarTimer";import{snackBarItemStatusDefault,snackBarPropFormDefault}from"../types";var defaultInitialTimerTime=3;export var cnSnackBarItem=cn("SnackBarItem");var getAutoCloseTime=function(a){return!!a&&("number"==typeof a?a:defaultInitialTimerTime)};export var SnackBarItemRender=function(a,b){var c=a.onClose,d=a.autoClose,e=a.showProgress,f=a.icon,g=a.form,h=void 0===g?snackBarPropFormDefault:g,i=a.message,j=a.actions,k=a.status,l=void 0===k?snackBarItemStatusDefault:k,m=a.onAutoClose,n=a.className,o=_objectWithoutProperties(a,_excluded),p=useState(null),q=_slicedToArray(p,2),r=q[0],s=q[1],t=useFlag(!1),u=_slicedToArray(t,2),v=u[0],w=u[1],x=w.on,y=w.off,z=useFlag(!1),A=_slicedToArray(z,2),B=A[0],C=A[1].on,D=function(a){return s(a)},E=getAutoCloseTime(d),F=e===void 0||!(isNumber(E)&&0<E),G=function(){m?m():null===c||void 0===c?void 0:c()};useEffect(function(){B||(v?r&&r.pause():r&&r.start())},[v,B,r]);var H=function(){C(),G()},I=c?function(){return c()}:void 0;return React.createElement("div",Object.assign({ref:b,className:cnSnackBarItem({status:l,showProgress:e,form:h},[cnTheme({color:"gpnDark"}),n]),onMouseEnter:E?function handleMouseEnter(){return x()}:void 0,onMouseLeave:E?function handleMouseLeave(){return y()}:void 0},o),E&&"line"!==e&&React.createElement(SnackBarTimer,{className:cnSnackBarItem("Timer"),onMount:D,onTimeIsOver:H,startTime:E,hidden:F}),f&&(F&&"timer"===e||"timer"!==e)&&React.createElement(f,{className:cnSnackBarItem("Icon"),size:"m"}),React.createElement("div",{className:cnSnackBarItem("Content")},isString(i)||isNumber(i)?React.createElement(Text,{className:cnSnackBarItem("Message"),lineHeight:"s"},i):i,j&&React.createElement(SnackBarActionButton,{actions:j,className:cnSnackBarItem("ActionButton")})),c&&React.createElement(Button,{className:cnSnackBarItem("CloseButton"),view:"clear",iconLeft:IconClose,form:"round",size:"xs",onClick:I}),E&&"line"===e&&React.createElement(SnackBarLine,{className:cnSnackBarItem("Line"),onMount:D,onTimeIsOver:H,startTime:E}))};export var SnackBarItem=React.forwardRef(SnackBarItemRender);
2
2
  //# sourceMappingURL=SnackBarItem.js.map