@consta/uikit 4.11.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/__internal__/src/components/Combobox/helpers.d.ts +2 -2
- package/__internal__/src/components/Combobox/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/useDropdownVisible.d.ts +24 -0
- package/__internal__/src/components/DatePicker/useDropdownVisible.js +2 -0
- package/__internal__/src/components/DatePicker/useDropdownVisible.js.map +1 -0
- package/__internal__/src/components/EventInterceptor/propsHandlers/useSelectEventsHandler.js +1 -1
- package/__internal__/src/components/EventInterceptor/propsHandlers/useSelectEventsHandler.js.map +1 -1
- package/__internal__/src/components/EventInterceptor/propsHandlers/useTextFieldEventsHandler.d.ts +1 -1
- package/__internal__/src/components/ListCanary/ListItem/ListItem.js +1 -1
- package/__internal__/src/components/ListCanary/ListItem/ListItem.js.map +1 -1
- package/__internal__/src/components/ListCanary/ListItemGrid/ListItemGrid.d.ts +2 -2
- package/__internal__/src/components/ListCanary/ListItemGrid/ListItemGrid.js +1 -1
- package/__internal__/src/components/ListCanary/ListItemGrid/ListItemGrid.js.map +1 -1
- package/__internal__/src/components/ListCanary/types.d.ts +4 -3
- package/__internal__/src/components/ListCanary/types.js.map +1 -1
- package/__internal__/src/components/SelectComponents/Select.css +1 -1
- package/__internal__/src/components/SelectComponents/SelectValueTag/SelectValueTag.d.ts +1 -1
- package/__internal__/src/components/SelectComponents/SelectValueTag/SelectValueTag.js.map +1 -1
- package/__internal__/src/components/Slider/Slider.js +1 -1
- package/__internal__/src/components/Slider/Slider.js.map +1 -1
- package/__internal__/src/components/Slider/SliderInput/SliderInput.d.ts +1 -1
- package/__internal__/src/components/Slider/SliderInput/SliderInput.js +1 -1
- package/__internal__/src/components/Slider/SliderInput/SliderInput.js.map +1 -1
- package/__internal__/src/components/Slider/helper.d.ts +13 -5
- package/__internal__/src/components/Slider/helper.js +1 -1
- package/__internal__/src/components/Slider/helper.js.map +1 -1
- package/__internal__/src/components/Slider/useSlider/useSlider.js +1 -1
- package/__internal__/src/components/Slider/useSlider/useSlider.js.map +1 -1
- package/__internal__/src/components/Tabs/FitModeDropdownWrapper/TabsFitModeDropdownWrapper.css +1 -1
- package/__internal__/src/components/Tabs/FitModeDropdownWrapper/TabsFitModeDropdownWrapper.d.ts +1 -1
- package/__internal__/src/components/Tabs/FitModeDropdownWrapper/TabsFitModeDropdownWrapper.js +1 -1
- package/__internal__/src/components/Tabs/FitModeDropdownWrapper/TabsFitModeDropdownWrapper.js.map +1 -1
- package/__internal__/src/components/Tabs/FitModeDropdownWrapper/useFittingItems.d.ts +1 -5
- package/__internal__/src/components/Tabs/FitModeDropdownWrapper/useFittingItems.js +1 -1
- package/__internal__/src/components/Tabs/FitModeDropdownWrapper/useFittingItems.js.map +1 -1
- package/__internal__/src/components/Tabs/MoreItems/TabsMoreItems.css +1 -1
- package/__internal__/src/components/Tabs/MoreItems/TabsMoreItems.js +1 -1
- package/__internal__/src/components/Tabs/MoreItems/TabsMoreItems.js.map +1 -1
- package/__internal__/src/components/Tabs/Tab/TabsTab.css +1 -1
- package/__internal__/src/components/Tabs/Tab/TabsTab.d.ts +10 -2
- package/__internal__/src/components/Tabs/Tab/TabsTab.js +1 -1
- package/__internal__/src/components/Tabs/Tab/TabsTab.js.map +1 -1
- package/__internal__/src/components/Tabs/Tabs.js +1 -1
- package/__internal__/src/components/Tabs/Tabs.js.map +1 -1
- package/__internal__/src/components/Tabs/helpers.d.ts +14 -2
- package/__internal__/src/components/Tabs/helpers.js +1 -1
- package/__internal__/src/components/Tabs/helpers.js.map +1 -1
- package/__internal__/src/components/Tabs/types.d.ts +32 -11
- package/__internal__/src/components/Tabs/types.js.map +1 -1
- package/__internal__/src/components/TagBase/TagBase.css +1 -1
- package/__internal__/src/hooks/useForkRef/useForkRef.js.map +1 -1
- package/__internal__/src/hooks/useRefs/useRefs.js +1 -1
- package/__internal__/src/hooks/useRefs/useRefs.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":"wLAAA,2BAEA,OAASA,MAAT,KAAuB,oBAAvB,CACA,MAAOC,MAAP,EAAgBC,MAAhB,KAA8B,OAA9B,CACA,OAASC,UAAT,KAA2B,wBAA3B,CAEA,OAASC,EAAT,0B,GAIMC,eAAc,CAAGD,EAAE,CAAC,cAAD,C,CACnBE,cAAc,CAAG,G,CAEjBC,kBAAkB,CAAG,WAQrB,IAPJC,EAOI,GAPJA,QAOI,CANJC,CAMI,GANJA,SAMI,CALJC,CAKI,GALJA,IAKI,CACJ,MACE,4BAAK,SAAS,CAAEL,cAAc,CAAC,QAAD,CAAW,CAAEK,IAAI,CAAJA,CAAF,CAAX,CAAqB,CAACD,CAAD,CAArB,CAA9B,EACGD,CADH,CAIH,C,CAEKG,aAAa,CAAG,SAACC,CAAD,QAEpB,yCAAGA,CAAK,CAACJ,QAAT,CAFoB,C,CAKtB,MAAO,IAAMK,aAAyC,CAAG,SAACD,CAAD,CAAW,IAEhEF,EAFgE,CAW9DE,CAX8D,CAEhEF,IAFgE,CAG1DI,CAH0D,CAW9DF,CAX8D,CAGhEG,IAHgE,CAIrDC,CAJqD,CAW9DJ,CAX8D,CAIhEK,SAJgE,CAKhEC,CALgE,CAW9DN,CAX8D,CAKhEM,SALgE,CAMhEC,CANgE,CAW9DP,CAX8D,CAMhEO,cANgE,CAOhEC,CAPgE,CAW9DR,CAX8D,CAOhEQ,MAPgE,CAQhEX,CARgE,CAW9DG,CAX8D,CAQhEH,SARgE,CAShEY,CATgE,CAW9DT,CAX8D,CAShES,IATgE,CAU7DC,CAV6D,0BAW9DV,CAX8D,YAa5DW,CAAO,CAAGrB,MAAM,CAAkB,IAAlB,CAb4C,CAc5DsB,CAAY,CAAGtB,MAAM,CAAkB,IAAlB,CAduC,CAgB5DuB,CAAO,CAAY,OAAT,GAAAJ,CAAI,CAAed,kBAAf,CAAoCI,aAhBU,CAiB5De,CAAgB,CAAY,OAAT,GAAAL,CAAI,CAAeZ,CAAf,OAjBqC,CAkB5DkB,CAAmB,CAAY,OAAT,GAAAN,CAAI,CAAeZ,CAAf,OAlBkC,CAyElE,MACE,qBAAC,CAAD,EAAS,IAAI,CAAEC,CAAf,CAAqB,SAAS,CAAEgB,CAAhC,EAtDiB,QAAbE,WAAa,EAAM,OACnBZ,EADmB,CAGnB,4BACE,SAAS,CAAEX,cAAc,CAAC,SAAD,CAAY,CACnCL,MAAM,CAAC,CAAEU,IAAI,CAAJA,CAAF,CAAD,CAD6B,CAEnCiB,CAFmC,CAAZ,CAD3B,EAME,oBAAC,UAAD,EACE,GAAI,CAACP,CADP,CAEE,aAAa,GAFf,CAGE,OAAO,CAAEd,cAHX,CAIE,OAAO,CAAEiB,CAJX,EAMG,SAACM,CAAD,QACC,qBAAC,CAAD,kBACMP,CADN,EAEE,SAAS,CAAEjB,cAAc,CAAC,CAAEwB,OAAO,CAAPA,CAAF,CAAWR,IAAI,CAAJA,CAAX,CAAD,CAF3B,CAGE,IAAI,CAAEX,CAHR,CAIE,GAAG,CAAEa,CAJP,GADD,CANH,CANF,CAqBE,oBAAC,UAAD,EACE,GAAIH,CADN,CAEE,aAAa,GAFf,CAGE,OAAO,CAAEd,cAHX,CAIE,OAAO,CAAEkB,CAJX,EAMG,SAACK,CAAD,QACC,qBAAC,CAAD,kBACMP,CADN,EAEE,SAAS,CAAEjB,cAAc,CAAC,CAAEwB,OAAO,CAAPA,CAAF,CAAWR,IAAI,CAAJA,CAAX,CAAD,CAF3B,CAGE,IAAI,CAAEX,CAHR,CAIE,GAAG,CAAEc,CAJP,GADD,CANH,CArBF,CAHmB,CA2CrB,oBAAC,CAAD,kBACMF,CADN,EAEE,SAAS,CAAEjB,cAAc,CAAC,CAAEe,MAAM,CAANA,CAAF,CAAUF,SAAS,CAATA,CAAV,CAAqBC,cAAc,CAAdA,CAArB,CAAqCE,IAAI,CAAJA,CAArC,CAAD,CAA8C,CACrEM,CADqE,CAA9C,CAF3B,CAKE,IAAI,CAAEjB,CALR,GAQH,CAII,EADH,CAIH,CA9EM"}
|
|
@@ -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"}
|
|
@@ -36,7 +36,7 @@ export declare type ComboboxProps<ITEM = DefaultItem, GROUP = DefaultGroup, MULT
|
|
|
36
36
|
disabled?: boolean;
|
|
37
37
|
form?: PropForm;
|
|
38
38
|
dropdownForm?: 'default' | 'brick' | 'round';
|
|
39
|
-
size?:
|
|
39
|
+
size?: PropSize;
|
|
40
40
|
view?: PropView;
|
|
41
41
|
placeholder?: string;
|
|
42
42
|
ariaLabel?: string;
|
|
@@ -105,7 +105,7 @@ export declare function withDefaultGetters<ITEM = DefaultItem, GROUP = DefaultGr
|
|
|
105
105
|
disabled?: boolean | undefined;
|
|
106
106
|
form?: "default" | "round" | "brick" | "clearRound" | "roundClear" | "clearDefault" | "defaultClear" | "defaultBrick" | "brickDefault" | "brickClear" | "clearBrick" | "clearClear" | undefined;
|
|
107
107
|
dropdownForm?: "default" | "round" | "brick" | undefined;
|
|
108
|
-
size?: "m" | "s" | "l" | undefined;
|
|
108
|
+
size?: "m" | "s" | "xs" | "l" | undefined;
|
|
109
109
|
view?: "default" | "clear" | undefined;
|
|
110
110
|
placeholder?: string | undefined;
|
|
111
111
|
ariaLabel?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","names":["defaultGetItemKey","item","id","defaultGetItemLabel","label","defaultGetItemGroupKey","groupId","defaultGetItemDisabled","disabled","defaultGetGroupKey","group","defaultGetGroupLabel","isMultipleParams","params","multiple","isNotMultipleParams","withDefaultGetters","props","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupLabel","getGroupKey"],"sources":["../../../../../src/components/Combobox/helpers.ts"],"sourcesContent":["import React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport {\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n RenderItemProps,\n} from '../SelectComponents/types';\nimport { TextFieldPropOnChange } from '../TextField/TextField';\n\nexport type DefaultItem = {\n label: string;\n id: string | number;\n groupId?: string | number;\n disabled?: boolean;\n};\n\nexport type DefaultGroup = {\n label: string;\n id: string | number;\n};\n\ntype RenderValueProps<ITEM> = {\n item: ITEM;\n handleRemove?: (e: React.SyntheticEvent) => void;\n};\n\nexport type PropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type PropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type PropGetItemGroupKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type PropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;\nexport type PropGetGroupKey<GROUP> = (group: GROUP) => string | number;\nexport type PropGetGroupLabel<GROUP> = (group: GROUP) => string;\ntype PropSearchFunction<ITEM> = (item: ITEM, searchValue: string) => boolean;\ntype PropOnChange<ITEM, MULTIPLE extends boolean> = (props: {\n value: (MULTIPLE extends true ? ITEM[] : ITEM) | null;\n e: React.SyntheticEvent;\n}) => void;\ntype PropValue<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null\n | undefined;\n\nexport type PropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\nexport type PropRenderValue<ITEM> = (\n props: RenderValueProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type ComboboxProps<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n onChange: PropOnChange<ITEM, MULTIPLE>;\n disabled?: boolean;\n form?: PropForm;\n dropdownForm?: 'default' | 'brick' | 'round';\n size?:
|
|
1
|
+
{"version":3,"file":"helpers.js","names":["defaultGetItemKey","item","id","defaultGetItemLabel","label","defaultGetItemGroupKey","groupId","defaultGetItemDisabled","disabled","defaultGetGroupKey","group","defaultGetGroupLabel","isMultipleParams","params","multiple","isNotMultipleParams","withDefaultGetters","props","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupLabel","getGroupKey"],"sources":["../../../../../src/components/Combobox/helpers.ts"],"sourcesContent":["import React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport {\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n RenderItemProps,\n} from '../SelectComponents/types';\nimport { TextFieldPropOnChange } from '../TextField/TextField';\n\nexport type DefaultItem = {\n label: string;\n id: string | number;\n groupId?: string | number;\n disabled?: boolean;\n};\n\nexport type DefaultGroup = {\n label: string;\n id: string | number;\n};\n\ntype RenderValueProps<ITEM> = {\n item: ITEM;\n handleRemove?: (e: React.SyntheticEvent) => void;\n};\n\nexport type PropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type PropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type PropGetItemGroupKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type PropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;\nexport type PropGetGroupKey<GROUP> = (group: GROUP) => string | number;\nexport type PropGetGroupLabel<GROUP> = (group: GROUP) => string;\ntype PropSearchFunction<ITEM> = (item: ITEM, searchValue: string) => boolean;\ntype PropOnChange<ITEM, MULTIPLE extends boolean> = (props: {\n value: (MULTIPLE extends true ? ITEM[] : ITEM) | null;\n e: React.SyntheticEvent;\n}) => void;\ntype PropValue<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null\n | undefined;\n\nexport type PropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\nexport type PropRenderValue<ITEM> = (\n props: RenderValueProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type ComboboxProps<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n onChange: PropOnChange<ITEM, MULTIPLE>;\n disabled?: boolean;\n form?: PropForm;\n dropdownForm?: 'default' | 'brick' | 'round';\n size?: PropSize;\n view?: PropView;\n placeholder?: string;\n ariaLabel?: string;\n status?: PropStatus;\n isLoading?: boolean;\n dropdownClassName?: string;\n dropdownRef?: React.RefObject<HTMLDivElement>;\n name?: string;\n renderItem?: PropRenderItem<ITEM>;\n renderValue?: PropRenderValue<ITEM>;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n onCreate?: (props: { e: React.SyntheticEvent; label: string }) => void;\n inputRef?: React.RefObject<HTMLInputElement>;\n labelForNotFound?: string;\n required?: boolean;\n labelForCreate?: string;\n labelForEmptyItems?: string;\n searchFunction?: PropSearchFunction<ITEM>;\n searchValue?: string;\n multiple?: MULTIPLE;\n value?: PropValue<ITEM, MULTIPLE>;\n groups?: GROUP[];\n onInputChange?: TextFieldPropOnChange;\n getItemLabel?: PropGetItemLabel<ITEM>;\n getItemKey?: PropGetItemKey<ITEM>;\n getItemGroupKey?: PropGetItemGroupKey<ITEM>;\n getItemDisabled?: PropGetItemDisabled<ITEM>;\n getGroupLabel?: PropGetGroupLabel<GROUP>;\n getGroupKey?: PropGetGroupKey<GROUP>;\n label?: string;\n caption?: string;\n labelPosition?: 'top' | 'left';\n },\n HTMLDivElement\n> &\n (ITEM extends { label: DefaultItem['label'] }\n ? {}\n : { getItemLabel: PropGetItemLabel<ITEM> }) &\n (ITEM extends { id: DefaultItem['id'] }\n ? {}\n : { getItemKey: PropGetItemKey<ITEM> }) &\n (GROUP extends { label: DefaultGroup['label'] }\n ? {}\n : { getGroupLabel: PropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: DefaultGroup['id'] }\n ? {}\n : { getGroupKey: PropGetGroupKey<GROUP> });\n\nexport type ComboboxComponent = <\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(\n props: ComboboxProps<ITEM, GROUP, MULTIPLE>,\n) => React.ReactElement | null;\n\nexport const defaultGetItemKey: PropGetItemKey<DefaultItem> = (item) => item.id;\nexport const defaultGetItemLabel: PropGetItemLabel<DefaultItem> = (item) =>\n item.label;\nexport const defaultGetItemGroupKey: PropGetItemGroupKey<DefaultItem> = (\n item,\n) => item.groupId;\nexport const defaultGetItemDisabled: PropGetItemDisabled<DefaultItem> = (\n item,\n) => item.disabled;\n\nexport const defaultGetGroupKey: PropGetGroupKey<DefaultGroup> = (group) =>\n group.id;\nexport const defaultGetGroupLabel: PropGetGroupLabel<DefaultGroup> = (group) =>\n group.label;\n\nexport const isMultipleParams = <ITEM, GROUP>(\n params: ComboboxProps<ITEM, GROUP, boolean>,\n): params is ComboboxProps<ITEM, GROUP, true> => {\n return !!params.multiple;\n};\n\nexport const isNotMultipleParams = <ITEM, GROUP>(\n params: ComboboxProps<ITEM, GROUP, boolean>,\n): params is ComboboxProps<ITEM, GROUP, false> => {\n return !params.multiple;\n};\n\nexport function withDefaultGetters<\n ITEM = DefaultItem,\n GROUP = DefaultGroup,\n MULTIPLE extends boolean = false,\n>(props: ComboboxProps<ITEM, GROUP, MULTIPLE>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemKey: props.getItemKey || defaultGetItemKey,\n getItemGroupKey: props.getItemGroupKey || defaultGetItemGroupKey,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisabled,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getGroupKey: props.getGroupKey || defaultGetGroupKey,\n };\n}\n"],"mappings":"qqBA2HA,MAAO,IAAMA,kBAA8C,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,EAAf,CAAvD,CACP,MAAO,IAAMC,oBAAkD,CAAG,SAACF,CAAD,QAChEA,EAAI,CAACG,KAD2D,CAA3D,CAEP,MAAO,IAAMC,uBAAwD,CAAG,SACtEJ,CADsE,QAEnEA,EAAI,CAACK,OAF8D,CAAjE,CAGP,MAAO,IAAMC,uBAAwD,CAAG,SACtEN,CADsE,QAEnEA,EAAI,CAACO,QAF8D,CAAjE,CAIP,MAAO,IAAMC,mBAAiD,CAAG,SAACC,CAAD,QAC/DA,EAAK,CAACR,EADyD,CAA1D,CAEP,MAAO,IAAMS,qBAAqD,CAAG,SAACD,CAAD,QACnEA,EAAK,CAACN,KAD6D,CAA9D,CAGP,MAAO,IAAMQ,iBAAgB,CAAG,SAC9BC,CAD8B,CAEiB,CAC/C,MAAO,CAAC,CAACA,CAAM,CAACC,QACjB,CAJM,CAMP,MAAO,IAAMC,oBAAmB,CAAG,SACjCF,CADiC,CAEe,CAChD,MAAO,CAACA,CAAM,CAACC,QAChB,CAJM,CAMP,MAAO,SAASE,mBAAT,CAILC,CAJK,CAIwC,CAC7C,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBf,mBAFtC,CAGEgB,UAAU,CAAEF,CAAK,CAACE,UAAN,EAAoBnB,iBAHlC,CAIEoB,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBf,sBAJ5C,CAKEgB,eAAe,CAAEJ,CAAK,CAACI,eAAN,EAAyBd,sBAL5C,CAMEe,aAAa,CAAEL,CAAK,CAACK,aAAN,EAAuBX,oBANxC,CAOEY,WAAW,CAAEN,CAAK,CAACM,WAAN,EAAqBd,kBAPpC,EASD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["form","anchorRef","isOpen","className","zIndex","renderAdditionalControls"];import"./DatePickerDropdown.css";import React,{forwardRef,useCallback,useRef,useState}from"react";import{Transition}from"react-transition-group";import{useFlag}from"../../../hooks/useFlag/useFlag";import{useForkRef}from"../../../hooks/useForkRef/useForkRef";import{animateTimeout,cnMixPopoverAnimate}from"../../../mixs/MixPopoverAnimate/MixPopoverAnimate";import{cn}from"../../../utils/bem";import{DateTime}from"../../DateTime/DateTime";import{Popover}from"../../Popover/Popover";import{DatePickerAdditionalControls}from"../DatePickerAdditionalControls/DatePickerAdditionalControls";import{datePickerPropDropdownFormDefault}from"../types";var moveMap={year:"year",month:"month",date:"day",time:"time","date-time":"day"},cnDatePickerDropdown=cn("DatePickerDropdown");export var DatePickerDropdown=forwardRef(function(a,b){var c=a.form,d=void 0===c?datePickerPropDropdownFormDefault:c,e=a.anchorRef,f=a.isOpen,g=a.className,h=a.zIndex,i=a.
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["form","anchorRef","isOpen","className","zIndex","tabIndex","onFocus","onBlur","renderAdditionalControls"];import"./DatePickerDropdown.css";import React,{forwardRef,useCallback,useRef,useState}from"react";import{Transition}from"react-transition-group";import{useFlag}from"../../../hooks/useFlag/useFlag";import{useForkRef}from"../../../hooks/useForkRef/useForkRef";import{animateTimeout,cnMixPopoverAnimate}from"../../../mixs/MixPopoverAnimate/MixPopoverAnimate";import{cn}from"../../../utils/bem";import{DateTime}from"../../DateTime/DateTime";import{Popover}from"../../Popover/Popover";import{DatePickerAdditionalControls}from"../DatePickerAdditionalControls/DatePickerAdditionalControls";import{datePickerPropDropdownFormDefault}from"../types";var moveMap={year:"year",month:"month",date:"day",time:"time","date-time":"day"},cnDatePickerDropdown=cn("DatePickerDropdown");export var DatePickerDropdown=forwardRef(function(a,b){var c=a.form,d=void 0===c?datePickerPropDropdownFormDefault:c,e=a.anchorRef,f=a.isOpen,g=a.className,h=a.zIndex,i=a.tabIndex,j=void 0===i?0:i,k=a.onFocus,l=a.onBlur,m=a.renderAdditionalControls,n=_objectWithoutProperties(a,_excluded),o=useRef(null),p=useState(),q=_slicedToArray(p,2),r=q[0],s=q[1],t=useFlag(!0),u=_slicedToArray(t,2),v=u[0],w=u[1],x=useCallback(function(b){b===moveMap[a.type]?w.on():w.off()},[a.type]),y=useForkRef([b,o]);return React.createElement(Transition,{in:f,unmountOnExit:!0,timeout:animateTimeout,nodeRef:o},function(b){return React.createElement(Popover,{onFocus:k,onBlur:l,ref:y,tabIndex:j,anchorRef:e,className:cnDatePickerDropdown({form:d},[g,cnMixPopoverAnimate({direction:r,animate:b})]),direction:"downStartLeft",spareDirection:"downStartLeft",possibleDirections:["downStartLeft","upStartLeft","downStartRight","upStartRight"],style:{zIndex:h},role:"listbox",onSetDirection:s},React.createElement(DateTime,Object.assign({},n,{onMove:x})),v&&React.createElement(DatePickerAdditionalControls,{currentVisibleDate:a.currentVisibleDate,renderAdditionalControls:m,type:a.type,view:a.view}))})});
|
|
2
2
|
//# sourceMappingURL=DatePickerDropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerDropdown.js","names":["React","forwardRef","useCallback","useRef","useState","Transition","useFlag","useForkRef","animateTimeout","cnMixPopoverAnimate","cn","DateTime","Popover","DatePickerAdditionalControls","datePickerPropDropdownFormDefault","moveMap","cnDatePickerDropdown","DatePickerDropdown","props","componentRef","form","anchorRef","isOpen","className","zIndex","renderAdditionalControls","otherProps","rootRef","direction","setDirection","visibleAdditionalControls","setVisibleAdditionalControls","onMove","to","type","on","off","ref","animate","currentVisibleDate","view"],"sources":["../../../../../../src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.tsx"],"sourcesContent":["import './DatePickerDropdown.css';\n\nimport React, { forwardRef, useCallback, useRef, useState } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n animateTimeout,\n cnMixPopoverAnimate,\n} from '../../../mixs/MixPopoverAnimate/MixPopoverAnimate';\nimport { cn } from '../../../utils/bem';\nimport { DateRange } from '../../../utils/types/Date';\nimport { PropsWithHTMLAttributesAndRef } from '../../../utils/types/PropsWithHTMLAttributes';\nimport {\n DateTime,\n DateTimePropOnChange,\n DateTimePropType,\n MoveType,\n} from '../../DateTime/DateTime';\nimport { Direction, Popover } from '../../Popover/Popover';\nimport { DatePickerAdditionalControls } from '../DatePickerAdditionalControls/DatePickerAdditionalControls';\nimport {\n DatePickerAdditionalControlRenderProp,\n DatePickerPropDateTimeView,\n DatePickerPropDropdownForm,\n datePickerPropDropdownFormDefault,\n} from '../types';\n\nexport type DatePickerDropdownPropOnChange = DateTimePropOnChange;\n\nexport type DatePickerDropdownProps = PropsWithHTMLAttributesAndRef<\n {\n anchorRef: React.RefObject<HTMLElement>;\n currentVisibleDate?: Date;\n type: DateTimePropType;\n value?: Date | DateRange;\n onChange?: DatePickerDropdownPropOnChange;\n minDate?: Date;\n maxDate?: Date;\n events?: Date[];\n view: DatePickerPropDateTimeView;\n locale?: Locale;\n children?: never;\n form?: DatePickerPropDropdownForm;\n isOpen?: boolean;\n onChangeCurrentVisibleDate?: (date: Date) => void;\n zIndex?: number;\n renderAdditionalControls?: DatePickerAdditionalControlRenderProp;\n multiplicitySeconds?: number;\n multiplicityMinutes?: number;\n multiplicityHours?: number;\n timeFor?: 'start' | 'end';\n },\n HTMLDivElement\n>;\n\ntype DatePickerDropdownComponent = (\n props: DatePickerDropdownProps,\n) => React.ReactElement | null;\n\nconst moveMap: Record<DateTimePropType, MoveType> = {\n 'year': 'year',\n 'month': 'month',\n 'date': 'day',\n 'time': 'time',\n 'date-time': 'day',\n};\n\nconst cnDatePickerDropdown = cn('DatePickerDropdown');\n\nexport const DatePickerDropdown: DatePickerDropdownComponent = forwardRef(\n (props, componentRef) => {\n const {\n form = datePickerPropDropdownFormDefault,\n anchorRef,\n isOpen,\n className,\n zIndex,\n renderAdditionalControls,\n ...otherProps\n } = props;\n\n const rootRef = useRef<HTMLDivElement>(null);\n const [direction, setDirection] = useState<Direction>();\n\n const [visibleAdditionalControls, setVisibleAdditionalControls] =\n useFlag(true);\n\n const onMove = useCallback(\n (to: MoveType) => {\n to === moveMap[props.type]\n ? setVisibleAdditionalControls.on()\n : setVisibleAdditionalControls.off();\n },\n [props.type],\n );\n\n const ref = useForkRef([componentRef, rootRef]);\n\n return (\n <Transition\n in={isOpen}\n unmountOnExit\n timeout={animateTimeout}\n nodeRef={rootRef}\n >\n {(animate) => {\n return (\n <Popover\n ref={ref}\n anchorRef={anchorRef}\n className={cnDatePickerDropdown({ form }, [\n className,\n cnMixPopoverAnimate({ direction, animate }),\n ])}\n direction=\"downStartLeft\"\n spareDirection=\"downStartLeft\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n style={{ zIndex }}\n role=\"listbox\"\n onSetDirection={setDirection}\n >\n <DateTime {...otherProps} onMove={onMove} />\n {visibleAdditionalControls && (\n <DatePickerAdditionalControls\n currentVisibleDate={props.currentVisibleDate}\n renderAdditionalControls={renderAdditionalControls}\n type={props.type}\n view={props.view}\n />\n )}\n </Popover>\n );\n }}\n </Transition>\n );\n },\n);\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DatePickerDropdown.js","names":["React","forwardRef","useCallback","useRef","useState","Transition","useFlag","useForkRef","animateTimeout","cnMixPopoverAnimate","cn","DateTime","Popover","DatePickerAdditionalControls","datePickerPropDropdownFormDefault","moveMap","cnDatePickerDropdown","DatePickerDropdown","props","componentRef","form","anchorRef","isOpen","className","zIndex","tabIndex","onFocus","onBlur","renderAdditionalControls","otherProps","rootRef","direction","setDirection","visibleAdditionalControls","setVisibleAdditionalControls","onMove","to","type","on","off","ref","animate","currentVisibleDate","view"],"sources":["../../../../../../src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.tsx"],"sourcesContent":["import './DatePickerDropdown.css';\n\nimport React, { forwardRef, useCallback, useRef, useState } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport { useFlag } from '../../../hooks/useFlag/useFlag';\nimport { useForkRef } from '../../../hooks/useForkRef/useForkRef';\nimport {\n animateTimeout,\n cnMixPopoverAnimate,\n} from '../../../mixs/MixPopoverAnimate/MixPopoverAnimate';\nimport { cn } from '../../../utils/bem';\nimport { DateRange } from '../../../utils/types/Date';\nimport { PropsWithHTMLAttributesAndRef } from '../../../utils/types/PropsWithHTMLAttributes';\nimport {\n DateTime,\n DateTimePropOnChange,\n DateTimePropType,\n MoveType,\n} from '../../DateTime/DateTime';\nimport { Direction, Popover } from '../../Popover/Popover';\nimport { DatePickerAdditionalControls } from '../DatePickerAdditionalControls/DatePickerAdditionalControls';\nimport {\n DatePickerAdditionalControlRenderProp,\n DatePickerPropDateTimeView,\n DatePickerPropDropdownForm,\n datePickerPropDropdownFormDefault,\n} from '../types';\n\nexport type DatePickerDropdownPropOnChange = DateTimePropOnChange;\n\nexport type DatePickerDropdownProps = PropsWithHTMLAttributesAndRef<\n {\n anchorRef: React.RefObject<HTMLElement>;\n currentVisibleDate?: Date;\n type: DateTimePropType;\n value?: Date | DateRange;\n onChange?: DatePickerDropdownPropOnChange;\n minDate?: Date;\n maxDate?: Date;\n events?: Date[];\n view: DatePickerPropDateTimeView;\n locale?: Locale;\n children?: never;\n form?: DatePickerPropDropdownForm;\n isOpen?: boolean;\n onChangeCurrentVisibleDate?: (date: Date) => void;\n zIndex?: number;\n renderAdditionalControls?: DatePickerAdditionalControlRenderProp;\n multiplicitySeconds?: number;\n multiplicityMinutes?: number;\n multiplicityHours?: number;\n timeFor?: 'start' | 'end';\n },\n HTMLDivElement\n>;\n\ntype DatePickerDropdownComponent = (\n props: DatePickerDropdownProps,\n) => React.ReactElement | null;\n\nconst moveMap: Record<DateTimePropType, MoveType> = {\n 'year': 'year',\n 'month': 'month',\n 'date': 'day',\n 'time': 'time',\n 'date-time': 'day',\n};\n\nconst cnDatePickerDropdown = cn('DatePickerDropdown');\n\nexport const DatePickerDropdown: DatePickerDropdownComponent = forwardRef(\n (props, componentRef) => {\n const {\n form = datePickerPropDropdownFormDefault,\n anchorRef,\n isOpen,\n className,\n zIndex,\n tabIndex = 0,\n onFocus,\n onBlur,\n renderAdditionalControls,\n ...otherProps\n } = props;\n\n const rootRef = useRef<HTMLDivElement>(null);\n const [direction, setDirection] = useState<Direction>();\n\n const [visibleAdditionalControls, setVisibleAdditionalControls] =\n useFlag(true);\n\n const onMove = useCallback(\n (to: MoveType) => {\n to === moveMap[props.type]\n ? setVisibleAdditionalControls.on()\n : setVisibleAdditionalControls.off();\n },\n [props.type],\n );\n\n const ref = useForkRef([componentRef, rootRef]);\n\n return (\n <Transition\n in={isOpen}\n unmountOnExit\n timeout={animateTimeout}\n nodeRef={rootRef}\n >\n {(animate) => {\n return (\n <Popover\n onFocus={onFocus}\n onBlur={onBlur}\n ref={ref}\n tabIndex={tabIndex}\n anchorRef={anchorRef}\n className={cnDatePickerDropdown({ form }, [\n className,\n cnMixPopoverAnimate({ direction, animate }),\n ])}\n direction=\"downStartLeft\"\n spareDirection=\"downStartLeft\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n style={{ zIndex }}\n role=\"listbox\"\n onSetDirection={setDirection}\n >\n <DateTime {...otherProps} onMove={onMove} />\n {visibleAdditionalControls && (\n <DatePickerAdditionalControls\n currentVisibleDate={props.currentVisibleDate}\n renderAdditionalControls={renderAdditionalControls}\n type={props.type}\n view={props.view}\n />\n )}\n </Popover>\n );\n }}\n </Transition>\n );\n },\n);\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownClassName","dropdownForm","onFocus","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls"];import addMonths from"date-fns/addMonths";import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["events","dateTimeView","locale","dropdownClassName","dropdownForm","onFocus","onBlur","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls"];import addMonths from"date-fns/addMonths";import startOfMonth from"date-fns/startOfMonth";import React,{forwardRef,useEffect,useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside/useClickOutside";import{setRef}from"../../../utils/setRef";import{DatePickerDropdown}from"../DatePickerDropdown/DatePickerDropdown";import{DatePickerFieldTypeDate}from"../DatePickerFieldTypeDate/DatePickerFieldTypeDate";import{getDropdownZIndex}from"../helpers";import{datePickerPropDateTimeViewDefault}from"../types";import{useCurrentVisibleDate}from"../useCurrentVisibleDate";import{useDropdownVisible}from"../useDropdownVisible";export var DatePickerTypeDate=forwardRef(function(a,b){var c=a.events,d=a.dateTimeView,e=void 0===d?datePickerPropDateTimeViewDefault:d,f=a.locale,g=a.dropdownClassName,h=a.dropdownForm,i=a.onFocus,j=a.onBlur,k=a.currentVisibleDate,l=a.onChangeCurrentVisibleDate,m=a.renderAdditionalControls,n=_objectWithoutProperties(a,_excluded),o=useRef(null),p=useRef(null),q=useDropdownVisible(i,j),r=q.calendarVisible,s=q.blocks,t=s.start,u=t.onFocus,v=t.onBlur,w=s.dropdown,x=w.onBlur,y=w.onFocus,z=q.close,A=useCurrentVisibleDate({currentVisibleDate:k,maxDate:a.maxDate,minDate:a.minDate,value:a.value,startOfUnit:startOfMonth,onChangeCurrentVisibleDate:l,calendarVisible:r}),B=_slicedToArray(A,2),C=B[0],D=B[1];return useEffect(function(){b&&setRef(b,o.current)},[b,o]),useEffect(function(){if(a.value&&"classic"===e&&C){var b=startOfMonth(a.value);return void(b.getTime()!==C.getTime()&&D(b))}if(a.value&&"classic"!==e&&C){var c=startOfMonth(a.value);c.getTime()!==C.getTime()&&c.getTime()!==addMonths(C,1).getTime()&&D(c)}},[a.value]),useClickOutside({isActive:r,ignoreClicksInsideRefs:[o,p],handler:z}),React.createElement(React.Fragment,null,React.createElement(DatePickerFieldTypeDate,Object.assign({},n,{ref:o,onBlur:v,onFocus:u})),React.createElement(DatePickerDropdown,{ref:p,anchorRef:o,isOpen:r,onFocus:y,onBlur:x,value:a.value||void 0,type:"date",view:e,events:c,locale:f,minDate:a.minDate,className:g,maxDate:a.maxDate,currentVisibleDate:C,form:h,onChange:function onChange(b){var c;null===(c=a.onChange)||void 0===c?void 0:c.call(a,b),z()},renderAdditionalControls:m,zIndex:getDropdownZIndex(a.style),onChangeCurrentVisibleDate:D}))});
|
|
2
2
|
//# sourceMappingURL=DatePickerTypeDate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerTypeDate.js","names":["addMonths","startOfMonth","React","forwardRef","useEffect","useRef","useClickOutside","
|
|
1
|
+
{"version":3,"file":"DatePickerTypeDate.js","names":["addMonths","startOfMonth","React","forwardRef","useEffect","useRef","useClickOutside","setRef","DatePickerDropdown","DatePickerFieldTypeDate","getDropdownZIndex","datePickerPropDateTimeViewDefault","useCurrentVisibleDate","useDropdownVisible","DatePickerTypeDate","props","ref","events","dateTimeView","locale","dropdownClassName","dropdownForm","onFocus","onBlur","currentVisibleDateProp","currentVisibleDate","onChangeCurrentVisibleDate","renderAdditionalControls","otherProps","fieldRef","calendarRef","calendarVisible","blocks","start","onFocusHandler","onBlurHandler","dropdown","onDropdownBlur","onDropdownFocus","close","maxDate","minDate","value","startOfUnit","setCurrentVisibleDate","current","newVisibleDate","getTime","isActive","ignoreClicksInsideRefs","handler","params","onChange","style"],"sources":["../../../../../../src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.tsx"],"sourcesContent":["import addMonths from 'date-fns/addMonths';\nimport startOfMonth from 'date-fns/startOfMonth';\nimport React, { forwardRef, useEffect, useRef } from 'react';\n\nimport { useClickOutside } from '../../../hooks/useClickOutside/useClickOutside';\nimport { setRef } from '../../../utils/setRef';\nimport { DatePickerDropdown } from '../DatePickerDropdown/DatePickerDropdown';\nimport { DatePickerFieldTypeDate } from '../DatePickerFieldTypeDate/DatePickerFieldTypeDate';\nimport { getDropdownZIndex } from '../helpers';\nimport {\n datePickerPropDateTimeViewDefault,\n DatePickerTypeComponent,\n} from '../types';\nimport { useCurrentVisibleDate } from '../useCurrentVisibleDate';\nimport { useDropdownVisible } from '../useDropdownVisible';\n\nexport const DatePickerTypeDate: DatePickerTypeComponent<'date'> = forwardRef(\n (props, ref) => {\n const {\n events,\n dateTimeView = datePickerPropDateTimeViewDefault,\n locale,\n dropdownClassName,\n dropdownForm,\n onFocus,\n onBlur,\n currentVisibleDate: currentVisibleDateProp,\n onChangeCurrentVisibleDate,\n renderAdditionalControls,\n ...otherProps\n } = props;\n\n const fieldRef = useRef<HTMLDivElement>(null);\n const calendarRef = useRef<HTMLDivElement>(null);\n\n const {\n calendarVisible,\n blocks: {\n start: { onFocus: onFocusHandler, onBlur: onBlurHandler },\n dropdown: { onBlur: onDropdownBlur, onFocus: onDropdownFocus },\n },\n close,\n } = useDropdownVisible(onFocus, onBlur);\n\n const [currentVisibleDate, setCurrentVisibleDate] = useCurrentVisibleDate({\n currentVisibleDate: currentVisibleDateProp,\n maxDate: props.maxDate,\n minDate: props.minDate,\n value: props.value,\n startOfUnit: startOfMonth,\n onChangeCurrentVisibleDate,\n calendarVisible,\n });\n\n useEffect(() => {\n if (ref) {\n setRef(ref, fieldRef.current);\n }\n }, [ref, fieldRef]);\n\n useEffect(() => {\n if (props.value && dateTimeView === 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfMonth(props.value);\n if (newVisibleDate.getTime() !== currentVisibleDate.getTime()) {\n setCurrentVisibleDate(newVisibleDate);\n }\n return;\n }\n if (props.value && dateTimeView !== 'classic' && currentVisibleDate) {\n const newVisibleDate = startOfMonth(props.value);\n if (\n newVisibleDate.getTime() !== currentVisibleDate.getTime() &&\n newVisibleDate.getTime() !==\n addMonths(currentVisibleDate, 1).getTime()\n ) {\n setCurrentVisibleDate(newVisibleDate);\n }\n }\n }, [props.value]);\n\n useClickOutside({\n isActive: calendarVisible,\n ignoreClicksInsideRefs: [fieldRef, calendarRef],\n handler: close,\n });\n\n return (\n <>\n <DatePickerFieldTypeDate\n {...otherProps}\n ref={fieldRef}\n onBlur={onBlurHandler}\n onFocus={onFocusHandler}\n />\n <DatePickerDropdown\n ref={calendarRef}\n anchorRef={fieldRef}\n isOpen={calendarVisible}\n onFocus={onDropdownFocus}\n onBlur={onDropdownBlur}\n value={props.value || undefined}\n type=\"date\"\n view={dateTimeView}\n events={events}\n locale={locale}\n minDate={props.minDate}\n className={dropdownClassName}\n maxDate={props.maxDate}\n currentVisibleDate={currentVisibleDate}\n form={dropdownForm}\n onChange={(params) => {\n props.onChange?.(params);\n close();\n }}\n renderAdditionalControls={renderAdditionalControls}\n zIndex={getDropdownZIndex(props.style)}\n onChangeCurrentVisibleDate={setCurrentVisibleDate}\n />\n </>\n );\n },\n);\n"],"mappings":"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"}
|