@consta/uikit 4.12.0 → 4.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__internal__/src/components/Collapse/Collapse.css +1 -1
- package/__internal__/src/components/Collapse/Collapse.d.ts +1 -2
- package/__internal__/src/components/Collapse/Collapse.js +1 -1
- package/__internal__/src/components/Collapse/Collapse.js.map +1 -1
- package/__internal__/src/components/Collapse/CollapseIcon/CollapseIcon.css +1 -1
- package/__internal__/src/components/Collapse/CollapseIcon/CollapseIcon.js +1 -1
- package/__internal__/src/components/Collapse/CollapseIcon/CollapseIcon.js.map +1 -1
- package/__internal__/src/components/Collapse/types.d.ts +7 -2
- package/__internal__/src/components/Collapse/types.js +1 -1
- package/__internal__/src/components/Collapse/types.js.map +1 -1
- package/__internal__/src/components/CollapseGroup/CollapseGroup.js +1 -1
- package/__internal__/src/components/CollapseGroup/CollapseGroup.js.map +1 -1
- package/__internal__/src/components/CollapseGroup/helpers.d.ts +7 -4
- package/__internal__/src/components/CollapseGroup/helpers.js.map +1 -1
- package/__internal__/src/components/CollapseGroup/useChoice.js +1 -1
- package/__internal__/src/components/CollapseGroup/useChoice.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
.Collapse_size_2xs,.Collapse_size_xs{--vertical-space:var(--space-2xs);--elements-offset:var(--space-xs);--body-offset-up:var(--space-2xs);--body-offset-bottom:var(--space-xs)}.Collapse_size_s{--vertical-space:var(--space-xs);--elements-offset:var(--space-xs);--body-offset-up:var(--space-xs);--body-offset-bottom:var(--space-m)}.Collapse_size_l,.Collapse_size_m{--vertical-space:var(--space-s);--elements-offset:var(--space-s);--body-offset-up:var(--space-s);--body-offset-bottom:var(--space-xl)}.Collapse_view_secondary{color:var(--color-typo-secondary)}.Collapse-Label{align-items:center;cursor:pointer;display:flex;flex-direction:row;padding:var(--vertical-space) var(--horizontal-space);transition:background .3s}.Collapse-Label_hoverEffect:hover{background:var(--
|
|
1
|
+
.Collapse{color:var(--collapse-color)}.Collapse_size_2xs,.Collapse_size_xs{--vertical-space:var(--space-2xs);--elements-offset:var(--space-xs);--body-offset-up:var(--space-2xs);--body-offset-bottom:var(--space-xs)}.Collapse_size_s{--vertical-space:var(--space-xs);--elements-offset:var(--space-xs);--body-offset-up:var(--space-xs);--body-offset-bottom:var(--space-m)}.Collapse_size_l,.Collapse_size_m{--vertical-space:var(--space-s);--elements-offset:var(--space-s);--body-offset-up:var(--space-s);--body-offset-bottom:var(--space-xl)}.Collapse_view_primary{--collapse-color:var(--color-typo-primary);--collapse-bg-hover:var(--color-control-bg-clear-hover)}.Collapse_view_secondary{--collapse-color:var(--color-typo-secondary);--collapse-bg-hover:var(--color-control-bg-ghost-hover)}.Collapse-Label{align-items:center;cursor:pointer;display:flex;flex-direction:row;padding:var(--vertical-space) var(--horizontal-space);transition:background .3s}.Collapse-Label_hoverEffect:hover{background:var(--collapse-bg-hover)}.Collapse-Label_iconPosition_right{flex-direction:row-reverse}.Collapse-Body{max-height:0;overflow:hidden;transition:max-height .3s;transition-timing-function:cubic-bezier(.7,0,.5,1)}.Collapse-Body_isOpen{max-height:var(--collapse-body-max-height)}.Collapse-Body_divider{border-bottom:1px solid var(--color-bg-border)}.Collapse-Side{line-height:0;margin-left:var(--elements-offset)}.Collapse-Content{padding:var(--body-offset-up) var(--horizontal-space) var(--body-offset-bottom) var(--horizontal-space)}.Collapse-Icon{flex:none}.Collapse-Icon_position_left{margin-right:var(--elements-offset)}.Collapse-Icon_position_right{margin-left:var(--elements-offset)}.Collapse-LabelText{flex:1}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import './Collapse.css';
|
|
2
|
-
import { IconPropSize } from '@consta/icons/Icon';
|
|
3
2
|
import { CollapseComponent, CollapsePropSize } from './types';
|
|
4
3
|
export declare const COMPONENT_NAME: "Collapse";
|
|
5
4
|
export declare const cnCollapse: import("@bem-react/classname").ClassNameFormatter;
|
|
6
|
-
export declare const sizeIconMap: Record<CollapsePropSize,
|
|
5
|
+
export declare const sizeIconMap: Record<CollapsePropSize, 'xs' | 's'>;
|
|
7
6
|
export declare const Collapse: CollapseComponent;
|
|
8
7
|
export * from './types';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";var _excluded=["label","size","view","className","maxContentHeight","isOpen","children","hoverEffect","divider","icon","closeIcon","rightSide","horizontalSpace","iconPosition","directionIcon","closeDirectionIcon","style"];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"./Collapse.css";import{IconArrowDown}from"@consta/icons/IconArrowDown";import React,{useRef}from"react";import{useComponentSize}from"../../hooks/useComponentSize";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{cn}from"../../utils/bem";import{
|
|
1
|
+
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";var _excluded=["label","size","view","className","maxContentHeight","isOpen","children","hoverEffect","divider","icon","closeIcon","rightSide","horizontalSpace","iconPosition","directionIcon","closeDirectionIcon","style","iconView"];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"./Collapse.css";import{IconArrowDown}from"@consta/icons/IconArrowDown";import React,{useRef}from"react";import{useComponentSize}from"../../hooks/useComponentSize";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{cn}from"../../utils/bem";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{Text}from"../Text/Text";import{CollapseIcon}from"./CollapseIcon/CollapseIcon";import{collapsePropCloseDirectionIconDefault,collapsePropDirectionIconDefault,collapsePropIconPositionDefault,collapsePropIconViewDefault,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)})}var getMaxHeight=function(a,b){return b?"string"==typeof b?b:"".concat(b,"px"):"".concat(a,"px")};export var Collapse=React.forwardRef(function(a,b){var c=useRef(null),d=useRef(null),e=useComponentSize(d),f=e.height,g=usePropsHandler(COMPONENT_NAME,a,c),h=g.label,i=g.size,j=void 0===i?collapsePropSizeDefault:i,k=g.view,l=void 0===k?collapsePropViewDefault:k,m=g.className,n=g.maxContentHeight,o=g.isOpen,p=g.children,q=g.hoverEffect,r=g.divider,s=g.icon,t=void 0===s?IconArrowDown:s,u=g.closeIcon,v=g.rightSide,w=g.horizontalSpace,x=g.iconPosition,y=void 0===x?collapsePropIconPositionDefault:x,z=g.directionIcon,A=void 0===z?collapsePropDirectionIconDefault:z,B=g.closeDirectionIcon,C=void 0===B?collapsePropCloseDirectionIconDefault:B,D=g.style,E=g.iconView,F=void 0===E?collapsePropIconViewDefault:E,G=_objectWithoutProperties(g,_excluded);return React.createElement("div",{ref:useForkRef([b,c]),className:cnCollapse({size:j,view:l},[m]),style:_objectSpread(_objectSpread({},D),{},_defineProperty({},"--horizontal-space",w?"var(--space-".concat(w,")"):0))},React.createElement("div",Object.assign({className:cnCollapse("Label",{hoverEffect:q,iconPosition:y,view:l})},G),React.createElement(CollapseIcon,{className:cnCollapse("Icon",{position:y}),size:sizeIconMap[j],icon:t,closeIcon:u,isOpen:o,direction:A,closeDirection:C,view:F}),"object"==typeof h?React.createElement("div",{className:cnCollapse("LabelText")},h):React.createElement(Text,{className:cnCollapse("LabelText"),view:l,size:j},h),"left"===y&&renderSide(v)),React.createElement("div",{style:_defineProperty({},"--collapse-body-max-height",getMaxHeight(f,n)),className:cnCollapse("Body",{isOpen:o,divider:r})},React.createElement("div",{ref:d,className:cnCollapse("Content")},p)))});export*from"./types";
|
|
2
2
|
//# sourceMappingURL=Collapse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collapse.js","names":["IconArrowDown","React","useRef","useComponentSize","useForkRef","cn","
|
|
1
|
+
{"version":3,"file":"Collapse.js","names":["IconArrowDown","React","useRef","useComponentSize","useForkRef","cn","usePropsHandler","Text","CollapseIcon","collapsePropCloseDirectionIconDefault","collapsePropDirectionIconDefault","collapsePropIconPositionDefault","collapsePropIconViewDefault","collapsePropSizeDefault","collapsePropViewDefault","COMPONENT_NAME","cnCollapse","sizeIconMap","renderSide","side","sides","Array","isArray","map","item","index","getMaxHeight","height","maxHeight","Collapse","forwardRef","props","ref","collapseRef","contentRef","contentHeight","label","size","view","className","maxContentHeight","isOpen","children","hoverEffect","divider","icon","closeIcon","rightSide","horizontalSpace","iconPosition","directionIcon","closeDirectionIcon","style","iconView","otherProps","position"],"sources":["../../../../../src/components/Collapse/Collapse.tsx"],"sourcesContent":["import './Collapse.css';\n\nimport { IconArrowDown } from '@consta/icons/IconArrowDown';\nimport React, { useRef } from 'react';\n\nimport { useComponentSize } from '##/hooks/useComponentSize';\nimport { useForkRef } from '##/hooks/useForkRef/useForkRef';\nimport { cn } from '##/utils/bem';\n\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 collapsePropIconViewDefault,\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, 'xs' | 's'> = {\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\nconst getMaxHeight = (height: number, maxHeight?: number | string) => {\n if (maxHeight) {\n return typeof maxHeight === 'string' ? maxHeight : `${maxHeight}px`;\n }\n return `${height}px`;\n};\n\nexport const Collapse: CollapseComponent = React.forwardRef<\n HTMLDivElement,\n CollapseProps\n>((props, ref) => {\n const collapseRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const { height: contentHeight } = useComponentSize(contentRef);\n\n const {\n label,\n size = collapsePropSizeDefault,\n view = collapsePropViewDefault,\n className,\n maxContentHeight,\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 iconView = collapsePropIconViewDefault,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, props, collapseRef);\n\n return (\n <div\n ref={useForkRef([ref, collapseRef])}\n className={cnCollapse({ size, view }, [className])}\n style={{\n ...style,\n ['--horizontal-space' as string]: horizontalSpace\n ? `var(--space-${horizontalSpace})`\n : 0,\n }}\n >\n <div\n className={cnCollapse('Label', {\n hoverEffect,\n iconPosition,\n view,\n })}\n {...otherProps}\n >\n <CollapseIcon\n className={cnCollapse('Icon', { position: iconPosition })}\n size={sizeIconMap[size]}\n icon={icon}\n closeIcon={closeIcon}\n isOpen={isOpen}\n direction={directionIcon}\n closeDirection={closeDirectionIcon}\n view={iconView}\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\n style={{\n ['--collapse-body-max-height' as string]: getMaxHeight(\n contentHeight,\n maxContentHeight,\n ),\n }}\n className={cnCollapse('Body', { isOpen, divider })}\n >\n <div ref={contentRef} className={cnCollapse('Content')}>\n {children}\n </div>\n </div>\n </div>\n );\n});\n\nexport * from './types';\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.CollapseIcon{color:var(--color
|
|
1
|
+
.CollapseIcon{color:var(--icon-color);transform:var(--direction-transform);transition:transform .3s;transition-timing-function:cubic-bezier(.7,0,.5,1)}.CollapseIcon_view_clear{--icon-color:var(--color-typo-primary)}.CollapseIcon_view_ghost{--icon-color:var(--color-control-typo-ghost)}.CollapseIcon_direction_up{--direction-transform:rotate(0deg)}.CollapseIcon_direction_right{--direction-transform:rotate(90deg)}.CollapseIcon_direction_down{--direction-transform:rotate(180deg)}.CollapseIcon_direction_left{--direction-transform:rotate(270deg)}.CollapseIcon_direction_upRight{--direction-transform:rotate(45deg)}.CollapseIcon_direction_downRight{--direction-transform:rotate(135deg)}.CollapseIcon_direction_downLeft{--direction-transform:rotate(225deg)}.CollapseIcon_direction_upLeft{--direction-transform:rotate(315deg)}.CollapseIcon_closeDirection_up{--close-direction-transform:rotate(0deg)}.CollapseIcon_closeDirection_right{--close-direction-transform:rotate(90deg)}.CollapseIcon_closeDirection_down{--close-direction-transform:rotate(180deg)}.CollapseIcon_closeDirection_left{--close-direction-transform:rotate(270deg)}.CollapseIcon_closeDirection_upRight{--close-direction-transform:rotate(45deg)}.CollapseIcon_closeDirection_downRight{--close-direction-transform:rotate(135deg)}.CollapseIcon_closeDirection_downLeft{--close-direction-transform:rotate(225deg)}.CollapseIcon_closeDirection_upLeft{--close-direction-transform:rotate(315deg)}.CollapseIcon_isOpen{transform:var(--close-direction-transform)}.CollapseIcon_animate_entered,.CollapseIcon_animate_entering{opacity:1;transform:scale(1)}.CollapseIcon_animate_exited,.CollapseIcon_animate_exiting{opacity:0;transform:scale(.1)}.CollapseIcon_animate_entered,.CollapseIcon_animate_entering,.CollapseIcon_animate_exiting{position:absolute;transition:transform .3s,opacity .3s}.CollapseIcon-Wrapper{position:relative}.CollapseIcon-Button{align-items:center;background:var(--color-control-bg-ghost);border-radius:50%;display:flex;height:var(--button-size);justify-content:center;width:var(--button-size)}.CollapseIcon-Button_size_xs{--button-size:var(--control-height-xs)}.CollapseIcon-Button_size_s{--button-size:var(--control-height-s)}
|
|
@@ -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{cnIcon}from"@consta/icons/Icon";import React,{useRef}from"react";import{Transition}from"react-transition-group";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),
|
|
1
|
+
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","icon","closeIcon","direction","closeDirection","isOpen","className","view"];import"./CollapseIcon.css";import{cnIcon}from"@consta/icons/Icon";import React,{useRef}from"react";import{Transition}from"react-transition-group";import{cn}from"../../../utils/bem";var cnCollapseIcon=cn("CollapseIcon"),animateTimeout=300,CollapseIconButton=function(a){var b=a.children,c=a.className,d=a.size;return React.createElement("div",{className:cnCollapseIcon("Button",{size:d},[c])},b)},GuardFragment=function(a){return React.createElement(React.Fragment,null,a.children)};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=a.view,j=_objectWithoutProperties(a,_excluded),k=useRef(null),l=useRef(null),m="ghost"===i?CollapseIconButton:GuardFragment,n="ghost"===i?h:void 0,o="clear"===i?h:void 0;return React.createElement(m,{size:b,className:n},function renderIcon(){return d?React.createElement("span",{className:cnCollapseIcon("Wrapper",[cnIcon({size:b}),o])},React.createElement(Transition,{in:!g,unmountOnExit:!0,timeout:animateTimeout,nodeRef:k},function(a){return React.createElement(c,Object.assign({},j,{className:cnCollapseIcon({animate:a,view:i}),size:b,ref:k}))}),React.createElement(Transition,{in:g,unmountOnExit:!0,timeout:animateTimeout,nodeRef:l},function(a){return React.createElement(d,Object.assign({},j,{className:cnCollapseIcon({animate:a,view:i}),size:b,ref:l}))})):React.createElement(c,Object.assign({},j,{className:cnCollapseIcon({isOpen:g,direction:e,closeDirection:f,view:i},[o]),size:b}))}())};
|
|
2
2
|
//# sourceMappingURL=CollapseIcon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollapseIcon.js","names":["cnIcon","React","useRef","Transition","cn","cnCollapseIcon","animateTimeout","
|
|
1
|
+
{"version":3,"file":"CollapseIcon.js","names":["cnIcon","React","useRef","Transition","cn","cnCollapseIcon","animateTimeout","CollapseIconButton","children","className","size","GuardFragment","props","CollapseIcon","Icon","icon","CloseIcon","closeIcon","direction","closeDirection","isOpen","view","otherProps","iconRef","closeIconRef","Wrapper","wrapperClassName","renderIconClassName","renderIcon","animate"],"sources":["../../../../../../src/components/Collapse/CollapseIcon/CollapseIcon.tsx"],"sourcesContent":["import './CollapseIcon.css';\n\nimport { cnIcon } from '@consta/icons/Icon';\nimport React, { useRef } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport { cn } from '##/utils/bem';\n\nimport { CollapseIconProps } from '../types';\n\nconst cnCollapseIcon = cn('CollapseIcon');\nconst animateTimeout = 300;\n\nconst CollapseIconButton = ({\n children,\n className,\n size,\n}: {\n children?: React.ReactNode;\n className?: string;\n size: CollapseIconProps['size'];\n}) => {\n return (\n <div className={cnCollapseIcon('Button', { size }, [className])}>\n {children}\n </div>\n );\n};\n\nconst GuardFragment = (props: { children?: React.ReactNode }) => (\n // eslint-disable-next-line react/jsx-no-useless-fragment\n <>{props.children}</>\n);\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 view,\n ...otherProps\n } = props;\n\n const iconRef = useRef<HTMLSpanElement>(null);\n const closeIconRef = useRef<HTMLSpanElement>(null);\n\n const Wrapper = view === 'ghost' ? CollapseIconButton : GuardFragment;\n const wrapperClassName = view === 'ghost' ? className : undefined;\n const renderIconClassName = view === 'clear' ? className : undefined;\n\n const renderIcon = () => {\n if (CloseIcon) {\n return (\n <span\n className={cnCollapseIcon('Wrapper', [\n cnIcon({ size }),\n renderIconClassName,\n ])}\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, view })}\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, view })}\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, view }, [\n renderIconClassName,\n ])}\n size={size}\n />\n );\n };\n\n return (\n <Wrapper size={size} className={wrapperClassName}>\n {renderIcon()}\n </Wrapper>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IconComponent, IconProps
|
|
1
|
+
import { IconComponent, IconProps } from '@consta/icons/Icon';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { PropsWithHTMLAttributes, PropsWithHTMLAttributesAndRef } from "../../utils/types/PropsWithHTMLAttributes";
|
|
4
4
|
export declare const collapsePropSize: readonly ["m", "l", "s", "xs", "2xs"];
|
|
@@ -15,8 +15,9 @@ export declare const collapsePropIconPositionDefault: "left";
|
|
|
15
15
|
export declare const collapseIconPropDirection: readonly ["up", "right", "down", "left", "upRight", "downRight", "upLeft", "downLeft"];
|
|
16
16
|
export declare type CollapseIconPropDirection = typeof collapseIconPropDirection[number];
|
|
17
17
|
export declare type CollapseIconProps = PropsWithHTMLAttributes<{
|
|
18
|
-
size:
|
|
18
|
+
size: 'xs' | 's';
|
|
19
19
|
icon: React.FC<IconProps>;
|
|
20
|
+
view: CollapsePropIconView;
|
|
20
21
|
isOpen?: boolean;
|
|
21
22
|
cildren?: never;
|
|
22
23
|
closeIcon?: React.FC<IconProps>;
|
|
@@ -26,6 +27,9 @@ export declare type CollapseIconProps = PropsWithHTMLAttributes<{
|
|
|
26
27
|
export declare const collapsePropDirectionIcon: readonly ["up", "right", "down", "left", "upRight", "downRight", "upLeft", "downLeft"];
|
|
27
28
|
export declare const collapsePropDirectionIconDefault: "up";
|
|
28
29
|
export declare const collapsePropCloseDirectionIconDefault: "down";
|
|
30
|
+
export declare const collapsePropIconView: readonly ["clear", "ghost"];
|
|
31
|
+
export declare const collapsePropIconViewDefault: "clear";
|
|
32
|
+
export declare type CollapsePropIconView = typeof collapsePropIconView[number];
|
|
29
33
|
export declare type CollapseProps = PropsWithHTMLAttributesAndRef<{
|
|
30
34
|
size?: CollapsePropSize;
|
|
31
35
|
icon?: IconComponent;
|
|
@@ -36,6 +40,7 @@ export declare type CollapseProps = PropsWithHTMLAttributesAndRef<{
|
|
|
36
40
|
horizontalSpace?: CollapsePropHorizontalSpace;
|
|
37
41
|
hoverEffect?: boolean;
|
|
38
42
|
isOpen?: boolean;
|
|
43
|
+
iconView?: CollapsePropIconView;
|
|
39
44
|
} & ({
|
|
40
45
|
closeIcon?: IconComponent;
|
|
41
46
|
directionIcon?: never;
|
|
@@ -1,2 +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];
|
|
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];export var collapsePropIconView=["clear","ghost"];export var collapsePropIconViewDefault=collapsePropIconView[0];
|
|
2
2
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +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 { IconComponent, IconProps
|
|
1
|
+
{"version":3,"file":"types.js","names":["collapsePropSize","collapsePropSizeDefault","collapsePropView","collapsePropViewDefault","collapsePropHorizontalSpace","collapsePropIconPosition","collapsePropIconPositionDefault","collapseIconPropDirection","collapsePropDirectionIcon","collapsePropDirectionIconDefault","collapsePropCloseDirectionIconDefault","collapsePropIconView","collapsePropIconViewDefault"],"sources":["../../../../../src/components/Collapse/types.ts"],"sourcesContent":["import { IconComponent, IconProps } from '@consta/icons/Icon';\nimport React from 'react';\n\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: 'xs' | 's';\n icon: React.FC<IconProps>;\n view: CollapsePropIconView;\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 const collapsePropIconView = ['clear', 'ghost'] as const;\nexport const collapsePropIconViewDefault = collapsePropIconView[0];\nexport type CollapsePropIconView = typeof collapsePropIconView[number];\n\nexport type CollapseProps = PropsWithHTMLAttributesAndRef<\n {\n size?: CollapsePropSize;\n icon?: IconComponent;\n view?: CollapsePropView;\n divider?: boolean;\n label: React.ReactNode;\n maxContentHeight?: string | number;\n horizontalSpace?: CollapsePropHorizontalSpace;\n hoverEffect?: boolean;\n isOpen?: boolean;\n iconView?: CollapsePropIconView;\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,CA2BP,MAAO,IAAMC,0BAAyB,CAAGD,yBAAlC,CACP,MAAO,IAAME,iCAAgC,CAAGD,yBAAyB,CAAC,CAAD,CAAlE,CACP,MAAO,IAAME,sCAAqC,CAChDF,yBAAyB,CAAC,CAAD,CADpB,CAGP,MAAO,IAAMG,qBAAoB,CAAG,CAAC,OAAD,CAAU,OAAV,CAA7B,CACP,MAAO,IAAMC,4BAA2B,CAAGD,oBAAoB,CAAC,CAAD,CAAxD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["items","getItemLabel","getItemContent","size","view","hoverEffect","divider","icon","closeIcon","getItemRightSide","horizontalSpace","iconPosition","directionIcon","closeDirectionIcon"];import{IconArrowDown}from"@consta/icons/IconArrowDown";import React,{forwardRef}from"react";import{Collapse,collapsePropCloseDirectionIconDefault,collapsePropDirectionIconDefault,collapsePropIconPositionDefault,collapsePropSizeDefault,collapsePropViewDefault}from"../Collapse/Collapse";import{withDefaultGetters}from"./helpers";import{useChoice}from"./useChoice";var CollapseGroupRender=function(a,b){var c=withDefaultGetters(a),d=c.items,e=c.getItemLabel,f=c.getItemContent,g=c.size,h=void 0===g?collapsePropSizeDefault:g,i=c.view,j=void 0===i?collapsePropViewDefault:i,k=c.hoverEffect,l=c.divider,m=c.icon,n=void 0===m?IconArrowDown:m,o=c.closeIcon,p=c.getItemRightSide,q=c.horizontalSpace,r=c.iconPosition,s=void 0===r?collapsePropIconPositionDefault:r,t=c.directionIcon,u=void 0===t?collapsePropDirectionIconDefault:t,v=c.closeDirectionIcon,w=void 0===v?collapsePropCloseDirectionIconDefault:v,x=_objectWithoutProperties(c,_excluded),
|
|
1
|
+
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["items","getItemLabel","getItemContent","size","view","hoverEffect","divider","icon","closeIcon","getItemRightSide","horizontalSpace","iconPosition","directionIcon","closeDirectionIcon","iconView","isAccordion"];import{IconArrowDown}from"@consta/icons/IconArrowDown";import React,{forwardRef}from"react";import{Collapse,collapsePropCloseDirectionIconDefault,collapsePropDirectionIconDefault,collapsePropIconPositionDefault,collapsePropSizeDefault,collapsePropViewDefault}from"../Collapse/Collapse";import{withDefaultGetters}from"./helpers";import{useChoice}from"./useChoice";var CollapseGroupRender=function(a,b){var c=withDefaultGetters(a),d=c.items,e=c.getItemLabel,f=c.getItemContent,g=c.size,h=void 0===g?collapsePropSizeDefault:g,i=c.view,j=void 0===i?collapsePropViewDefault:i,k=c.hoverEffect,l=c.divider,m=c.icon,n=void 0===m?IconArrowDown:m,o=c.closeIcon,p=c.getItemRightSide,q=c.horizontalSpace,r=c.iconPosition,s=void 0===r?collapsePropIconPositionDefault:r,t=c.directionIcon,u=void 0===t?collapsePropDirectionIconDefault:t,v=c.closeDirectionIcon,w=void 0===v?collapsePropCloseDirectionIconDefault:v,x=c.iconView,y=c.isAccordion,z=_objectWithoutProperties(c,_excluded),A=useChoice(a),B=A.getChecked,C=A.getOnChange;return React.createElement("div",Object.assign({ref:b},z),d.map(function(a,b){return React.createElement(Collapse,Object.assign({label:e(a),key:b,size:h,view:j,horizontalSpace:q,icon:n,hoverEffect:k,divider:l,isOpen:B(b),onClick:C(b),iconView:x},"left"===s?{iconPosition:s,rightSide:p(a)}:{iconPosition:s},o?{closeIcon:o}:{directionIcon:u,closeDirectionIcon:w}),f(a))}))};export var CollapseGroup=forwardRef(CollapseGroupRender);export*from"./helpers";
|
|
2
2
|
//# sourceMappingURL=CollapseGroup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollapseGroup.js","names":["IconArrowDown","React","forwardRef","Collapse","collapsePropCloseDirectionIconDefault","collapsePropDirectionIconDefault","collapsePropIconPositionDefault","collapsePropSizeDefault","collapsePropViewDefault","withDefaultGetters","useChoice","CollapseGroupRender","props","ref","items","getItemLabel","getItemContent","size","view","hoverEffect","divider","icon","closeIcon","getItemRightSide","horizontalSpace","iconPosition","directionIcon","closeDirectionIcon","otherProps","getChecked","getOnChange","map","item","index","rightSide","CollapseGroup"],"sources":["../../../../../src/components/CollapseGroup/CollapseGroup.tsx"],"sourcesContent":["import { IconArrowDown } from '@consta/icons/IconArrowDown';\nimport React, { forwardRef } from 'react';\n\nimport {\n Collapse,\n collapsePropCloseDirectionIconDefault,\n collapsePropDirectionIconDefault,\n collapsePropIconPositionDefault,\n collapsePropSizeDefault,\n collapsePropViewDefault,\n} from '../Collapse/Collapse';\nimport {\n CollapseGroupComponent,\n CollapseGroupRenderFunction,\n withDefaultGetters,\n} from './helpers';\nimport { useChoice } from './useChoice';\n\nconst CollapseGroupRender: CollapseGroupRenderFunction = (props, ref) => {\n const {\n items,\n getItemLabel,\n getItemContent,\n size = collapsePropSizeDefault,\n view = collapsePropViewDefault,\n hoverEffect,\n divider,\n icon = IconArrowDown,\n closeIcon,\n getItemRightSide,\n horizontalSpace,\n iconPosition = collapsePropIconPositionDefault,\n directionIcon = collapsePropDirectionIconDefault,\n closeDirectionIcon = collapsePropCloseDirectionIconDefault,\n ...otherProps\n } = withDefaultGetters(props);\n\n const { getChecked, getOnChange } = useChoice(props);\n\n return (\n <div ref={ref} {...otherProps}>\n {items.map((item, index) => {\n return (\n <Collapse\n label={getItemLabel(item)}\n key={index}\n size={size}\n view={view}\n horizontalSpace={horizontalSpace}\n icon={icon}\n hoverEffect={hoverEffect}\n divider={divider}\n isOpen={getChecked(index)}\n onClick={getOnChange(index)}\n {...(iconPosition === 'left'\n ? {\n iconPosition,\n rightSide: getItemRightSide(item),\n }\n : { iconPosition })}\n {...(closeIcon\n ? { closeIcon }\n : {\n directionIcon,\n closeDirectionIcon,\n })}\n >\n {getItemContent(item)}\n </Collapse>\n );\n })}\n </div>\n );\n};\n\nexport const CollapseGroup = forwardRef(\n CollapseGroupRender,\n) as CollapseGroupComponent;\n\nexport * from './helpers';\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CollapseGroup.js","names":["IconArrowDown","React","forwardRef","Collapse","collapsePropCloseDirectionIconDefault","collapsePropDirectionIconDefault","collapsePropIconPositionDefault","collapsePropSizeDefault","collapsePropViewDefault","withDefaultGetters","useChoice","CollapseGroupRender","props","ref","items","getItemLabel","getItemContent","size","view","hoverEffect","divider","icon","closeIcon","getItemRightSide","horizontalSpace","iconPosition","directionIcon","closeDirectionIcon","iconView","isAccordion","otherProps","getChecked","getOnChange","map","item","index","rightSide","CollapseGroup"],"sources":["../../../../../src/components/CollapseGroup/CollapseGroup.tsx"],"sourcesContent":["import { IconArrowDown } from '@consta/icons/IconArrowDown';\nimport React, { forwardRef } from 'react';\n\nimport {\n Collapse,\n collapsePropCloseDirectionIconDefault,\n collapsePropDirectionIconDefault,\n collapsePropIconPositionDefault,\n collapsePropSizeDefault,\n collapsePropViewDefault,\n} from '../Collapse/Collapse';\nimport {\n CollapseGroupComponent,\n CollapseGroupRenderFunction,\n withDefaultGetters,\n} from './helpers';\nimport { useChoice } from './useChoice';\n\nconst CollapseGroupRender: CollapseGroupRenderFunction = (props, ref) => {\n const {\n items,\n getItemLabel,\n getItemContent,\n size = collapsePropSizeDefault,\n view = collapsePropViewDefault,\n hoverEffect,\n divider,\n icon = IconArrowDown,\n closeIcon,\n getItemRightSide,\n horizontalSpace,\n iconPosition = collapsePropIconPositionDefault,\n directionIcon = collapsePropDirectionIconDefault,\n closeDirectionIcon = collapsePropCloseDirectionIconDefault,\n iconView,\n isAccordion,\n ...otherProps\n } = withDefaultGetters(props);\n\n const { getChecked, getOnChange } = useChoice(props);\n\n return (\n <div ref={ref} {...otherProps}>\n {items.map((item, index) => {\n return (\n <Collapse\n label={getItemLabel(item)}\n key={index}\n size={size}\n view={view}\n horizontalSpace={horizontalSpace}\n icon={icon}\n hoverEffect={hoverEffect}\n divider={divider}\n isOpen={getChecked(index)}\n onClick={getOnChange(index)}\n iconView={iconView}\n {...(iconPosition === 'left'\n ? {\n iconPosition,\n rightSide: getItemRightSide(item),\n }\n : { iconPosition })}\n {...(closeIcon\n ? { closeIcon }\n : {\n directionIcon,\n closeDirectionIcon,\n })}\n >\n {getItemContent(item)}\n </Collapse>\n );\n })}\n </div>\n );\n};\n\nexport const CollapseGroup = forwardRef(\n CollapseGroupRender,\n) as CollapseGroupComponent;\n\nexport * from './helpers';\n"],"mappings":"wTAAA,OAASA,aAAT,KAA8B,6BAA9B,CACA,MAAOC,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAEA,OACEC,QADF,CAEEC,qCAFF,CAGEC,gCAHF,CAIEC,+BAJF,CAKEC,uBALF,CAMEC,uBANF,4BAQA,OAGEC,kBAHF,iBAKA,OAASC,SAAT,mBAEA,GAAMC,oBAAgD,CAAG,SAACC,CAAD,CAAQC,CAAR,CAAgB,OAmBnEJ,kBAAkB,CAACG,CAAD,CAnBiD,CAErEE,CAFqE,GAErEA,KAFqE,CAGrEC,CAHqE,GAGrEA,YAHqE,CAIrEC,CAJqE,GAIrEA,cAJqE,KAKrEC,IALqE,CAKrEA,CALqE,YAK9DV,uBAL8D,OAMrEW,IANqE,CAMrEA,CANqE,YAM9DV,uBAN8D,GAOrEW,CAPqE,GAOrEA,WAPqE,CAQrEC,CARqE,GAQrEA,OARqE,KASrEC,IATqE,CASrEA,CATqE,YAS9DrB,aAT8D,GAUrEsB,CAVqE,GAUrEA,SAVqE,CAWrEC,CAXqE,GAWrEA,gBAXqE,CAYrEC,CAZqE,GAYrEA,eAZqE,KAarEC,YAbqE,CAarEA,CAbqE,YAatDnB,+BAbsD,OAcrEoB,aAdqE,CAcrEA,CAdqE,YAcrDrB,gCAdqD,OAerEsB,kBAfqE,CAerEA,CAfqE,YAehDvB,qCAfgD,GAgBrEwB,CAhBqE,GAgBrEA,QAhBqE,CAiBrEC,CAjBqE,GAiBrEA,WAjBqE,CAkBlEC,CAlBkE,yCAqBnCpB,SAAS,CAACE,CAAD,CArB0B,CAqB/DmB,CArB+D,GAqB/DA,UArB+D,CAqBnDC,CArBmD,GAqBnDA,WArBmD,CAuBvE,MACE,0CAAK,GAAG,CAAEnB,CAAV,EAAmBiB,CAAnB,EACGhB,CAAK,CAACmB,GAAN,CAAU,SAACC,CAAD,CAAOC,CAAP,CAAiB,CAC1B,MACE,qBAAC,QAAD,gBACE,KAAK,CAAEpB,CAAY,CAACmB,CAAD,CADrB,CAEE,GAAG,CAAEC,CAFP,CAGE,IAAI,CAAElB,CAHR,CAIE,IAAI,CAAEC,CAJR,CAKE,eAAe,CAAEM,CALnB,CAME,IAAI,CAAEH,CANR,CAOE,WAAW,CAAEF,CAPf,CAQE,OAAO,CAAEC,CARX,CASE,MAAM,CAAEW,CAAU,CAACI,CAAD,CATpB,CAUE,OAAO,CAAEH,CAAW,CAACG,CAAD,CAVtB,CAWE,QAAQ,CAAEP,CAXZ,EAYwB,MAAjB,GAAAH,CAAY,CACb,CACEA,YAAY,CAAZA,CADF,CAEEW,SAAS,CAAEb,CAAgB,CAACW,CAAD,CAF7B,CADa,CAKb,CAAET,YAAY,CAAZA,CAAF,CAjBN,CAkBOH,CAAS,CACV,CAAEA,SAAS,CAATA,CAAF,CADU,CAEV,CACEI,aAAa,CAAbA,CADF,CAEEC,kBAAkB,CAAlBA,CAFF,CApBN,EAyBGX,CAAc,CAACkB,CAAD,CAzBjB,CA4BH,CA9BA,CADH,CAkCH,CA1DD,CA4DA,MAAO,IAAMG,cAAa,CAAGnC,UAAU,CACrCS,mBADqC,CAAhC,CAIP"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IconComponent } from '@consta/icons/Icon';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { CollapseIconPropDirection, CollapsePropHorizontalSpace, CollapsePropIconView, CollapsePropSize, CollapsePropView } from "../Collapse";
|
|
4
|
+
import { PropsWithHTMLAttributesAndRef } from "../../utils/types/PropsWithHTMLAttributes";
|
|
5
5
|
export declare type DefaultItem = {
|
|
6
6
|
label: React.ReactNode;
|
|
7
7
|
content: React.ReactNode;
|
|
@@ -29,6 +29,7 @@ export declare type CollapseGroupProps<ITEM, IS_ACCORDION extends boolean> = Pro
|
|
|
29
29
|
opened?: CollapseGroupPropOpened<IS_ACCORDION>;
|
|
30
30
|
getItemLabel?: CollapseGroupPropGetItemLabel<ITEM>;
|
|
31
31
|
getItemContent?: CollapseGroupPropGetItemContent<ITEM>;
|
|
32
|
+
iconView?: CollapsePropIconView;
|
|
32
33
|
} & ({
|
|
33
34
|
closeIcon: IconComponent;
|
|
34
35
|
directionIcon?: never;
|
|
@@ -71,6 +72,7 @@ export declare function withDefaultGetters<ITEM, IS_ACCORDION extends boolean>(p
|
|
|
71
72
|
opened?: CollapseGroupPropOpened<IS_ACCORDION>;
|
|
72
73
|
getItemLabel?: CollapseGroupPropGetItemLabel<ITEM> | undefined;
|
|
73
74
|
getItemContent?: CollapseGroupPropGetItemContent<ITEM> | undefined;
|
|
75
|
+
iconView?: "ghost" | "clear" | undefined;
|
|
74
76
|
} & {
|
|
75
77
|
closeIcon: IconComponent;
|
|
76
78
|
directionIcon?: undefined;
|
|
@@ -78,7 +80,7 @@ export declare function withDefaultGetters<ITEM, IS_ACCORDION extends boolean>(p
|
|
|
78
80
|
} & {
|
|
79
81
|
iconPosition?: "left" | undefined;
|
|
80
82
|
getItemRightSide?: CollapseGroupPropGetItemRightSide<ITEM> | undefined;
|
|
81
|
-
} & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "children" | "size" | "view" | "items" | "getItemLabel" | "icon" | "getItemRightSide" | "horizontalSpace" | "closeIcon" | "divider" | "hoverEffect" | "directionIcon" | "closeDirectionIcon" | "iconPosition" | "isAccordion" | "onOpen" | "opened" | "getItemContent"> & React.RefAttributes<HTMLDivElement> & (ITEM extends {
|
|
83
|
+
} & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "children" | "size" | "view" | "items" | "getItemLabel" | "icon" | "getItemRightSide" | "horizontalSpace" | "closeIcon" | "divider" | "hoverEffect" | "iconView" | "directionIcon" | "closeDirectionIcon" | "iconPosition" | "isAccordion" | "onOpen" | "opened" | "getItemContent"> & React.RefAttributes<HTMLDivElement> & (ITEM extends {
|
|
82
84
|
label: React.ReactNode;
|
|
83
85
|
} ? {} : {
|
|
84
86
|
getItemLabel: CollapseGroupPropGetItemLabel<ITEM>;
|
|
@@ -104,6 +106,7 @@ export declare function withDefaultGetters<ITEM, IS_ACCORDION extends boolean>(p
|
|
|
104
106
|
opened?: CollapseGroupPropOpened<IS_ACCORDION>;
|
|
105
107
|
getItemLabel?: CollapseGroupPropGetItemLabel<ITEM> | undefined;
|
|
106
108
|
getItemContent?: CollapseGroupPropGetItemContent<ITEM> | undefined;
|
|
109
|
+
iconView?: "ghost" | "clear" | undefined;
|
|
107
110
|
} & {
|
|
108
111
|
closeIcon?: undefined;
|
|
109
112
|
directionIcon?: "left" | "right" | "downRight" | "downLeft" | "upRight" | "upLeft" | "up" | "down" | undefined;
|
|
@@ -111,7 +114,7 @@ export declare function withDefaultGetters<ITEM, IS_ACCORDION extends boolean>(p
|
|
|
111
114
|
} & {
|
|
112
115
|
iconPosition?: "left" | undefined;
|
|
113
116
|
getItemRightSide?: CollapseGroupPropGetItemRightSide<ITEM> | undefined;
|
|
114
|
-
} & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "children" | "size" | "view" | "items" | "getItemLabel" | "icon" | "getItemRightSide" | "horizontalSpace" | "closeIcon" | "divider" | "hoverEffect" | "directionIcon" | "closeDirectionIcon" | "iconPosition" | "isAccordion" | "onOpen" | "opened" | "getItemContent"> & React.RefAttributes<HTMLDivElement> & (ITEM extends {
|
|
117
|
+
} & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "children" | "size" | "view" | "items" | "getItemLabel" | "icon" | "getItemRightSide" | "horizontalSpace" | "closeIcon" | "divider" | "hoverEffect" | "iconView" | "directionIcon" | "closeDirectionIcon" | "iconPosition" | "isAccordion" | "onOpen" | "opened" | "getItemContent"> & React.RefAttributes<HTMLDivElement> & (ITEM extends {
|
|
115
118
|
label: React.ReactNode;
|
|
116
119
|
} ? {} : {
|
|
117
120
|
getItemLabel: CollapseGroupPropGetItemLabel<ITEM>;
|
|
@@ -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 { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport {
|
|
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 { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport {\n CollapseIconPropDirection,\n CollapsePropHorizontalSpace,\n CollapsePropIconView,\n CollapsePropSize,\n CollapsePropView,\n} from '##/components/Collapse';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\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 iconView?: CollapsePropIconView;\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":"qqBAoFA,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,2 +1,2 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{useEffect,useState}from"react";import{useChoiceGroupIndexed}from"../../hooks/useChoiceGroupIndexed
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{useEffect,useState}from"react";import{useChoiceGroupIndexed}from"../../hooks/useChoiceGroupIndexed";export var useChoice=function(a){var b=useState(a.opened),c=_slicedToArray(b,2),d=c[0],e=c[1],f={value:d,multiple:!a.isAccordion,callBack:function callBack(b){var c;e(b.value),null===(c=a.onOpen)||void 0===c?void 0:c.call(a,b)},isNullableValue:!0};return useEffect(function(){e(a.opened)},[a.opened]),useChoiceGroupIndexed(f)};
|
|
2
2
|
//# sourceMappingURL=useChoice.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChoice.js","names":["useEffect","useState","useChoiceGroupIndexed","useChoice","props","opened","openedKeys","setOpenedKeys","choiceGroupIndexedParams","value","multiple","isAccordion","callBack","params","onOpen","isNullableValue"],"sources":["../../../../../src/components/CollapseGroup/useChoice.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useChoiceGroupIndexed } from '
|
|
1
|
+
{"version":3,"file":"useChoice.js","names":["useEffect","useState","useChoiceGroupIndexed","useChoice","props","opened","openedKeys","setOpenedKeys","choiceGroupIndexedParams","value","multiple","isAccordion","callBack","params","onOpen","isNullableValue"],"sources":["../../../../../src/components/CollapseGroup/useChoice.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport { useChoiceGroupIndexed } from '##/hooks/useChoiceGroupIndexed';\n\nimport {\n CollapseGroupPropOnOpen,\n CollapseGroupPropOpened,\n CollapseGroupProps,\n} from './helpers';\n\ntype ChoiceGroupIndexedParams = {\n value: CollapseGroupPropOpened<boolean>;\n multiple: boolean;\n callBack: CollapseGroupPropOnOpen<boolean>;\n isNullableValue: true;\n};\n\nexport const useChoice = <ITEM, IS_ACCORDION extends boolean>(\n props: CollapseGroupProps<ITEM, IS_ACCORDION>,\n) => {\n const [openedKeys, setOpenedKeys] = useState<typeof props.opened>(\n props.opened,\n );\n\n const callBack: CollapseGroupPropOnOpen<\n Exclude<typeof props.isAccordion, undefined>\n > = (params) => {\n setOpenedKeys(params.value);\n props.onOpen?.(params);\n };\n\n const choiceGroupIndexedParams: ChoiceGroupIndexedParams = {\n value: openedKeys,\n multiple: !props.isAccordion,\n callBack,\n isNullableValue: true,\n };\n\n useEffect(() => {\n setOpenedKeys(props.opened);\n }, [props.opened]);\n\n return useChoiceGroupIndexed(choiceGroupIndexedParams);\n};\n"],"mappings":"iEAAA,OAASA,SAAT,CAAoBC,QAApB,KAAoC,OAApC,CAEA,OAASC,qBAAT,yCAeA,MAAO,IAAMC,UAAS,CAAG,SACvBC,CADuB,CAEpB,OACiCH,QAAQ,CAC1CG,CAAK,CAACC,MADoC,CADzC,uBACIC,CADJ,MACgBC,CADhB,MAYGC,CAAkD,CAAG,CACzDC,KAAK,CAAEH,CADkD,CAEzDI,QAAQ,CAAE,CAACN,CAAK,CAACO,WAFwC,CAGzDC,QAAQ,CARN,QAFEA,SAEF,CAACC,CAAD,CAAY,OACdN,CAAa,CAACM,CAAM,CAACJ,KAAR,CADC,WAEdL,CAAK,CAACU,MAFQ,qBAEd,OAAAV,CAAK,CAAUS,CAAV,CACN,CAE0D,CAIzDE,eAAe,GAJ0C,CAZxD,CAuBH,MAJAf,UAAS,CAAC,UAAM,CACdO,CAAa,CAACH,CAAK,CAACC,MAAP,CACd,CAFQ,CAEN,CAACD,CAAK,CAACC,MAAP,CAFM,CAIT,CAAOH,qBAAqB,CAACM,CAAD,CAC7B,CA1BM"}
|