@consta/uikit 5.24.2 → 5.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/AutoCompleteCanary/index.d.ts +1 -0
  2. package/AutoCompleteCanary/index.js +1 -0
  3. package/Banner/index.d.ts +1 -0
  4. package/Banner/index.js +1 -0
  5. package/__internal__/src/components/AutoCompleteCanary/{AutoComplete.js → AutoCompleteCanary.js} +1 -1
  6. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteCanary.js.map +1 -0
  7. package/__internal__/src/components/AutoCompleteCanary/index.d.ts +1 -1
  8. package/__internal__/src/components/AutoCompleteCanary/index.js +1 -1
  9. package/__internal__/src/components/AutoCompleteCanary/index.js.map +1 -1
  10. package/__internal__/src/components/Banner/Banner.css +1 -0
  11. package/__internal__/src/components/Banner/Banner.d.ts +32 -0
  12. package/__internal__/src/components/Banner/Banner.js +2 -0
  13. package/__internal__/src/components/Banner/Banner.js.map +1 -0
  14. package/__internal__/src/components/Banner/index.d.ts +1 -0
  15. package/__internal__/src/components/Banner/index.js +2 -0
  16. package/__internal__/src/components/Banner/index.js.map +1 -0
  17. package/__internal__/src/components/Button/Button.js +1 -1
  18. package/__internal__/src/components/Button/Button.js.map +1 -1
  19. package/__internal__/src/components/ProgressStepBar/ProgressStepBarItem/ProgressStepBarItem.d.ts +1 -0
  20. package/__internal__/src/components/ProgressStepBar/ProgressStepBarItem/ProgressStepBarItem.js +1 -1
  21. package/__internal__/src/components/ProgressStepBar/ProgressStepBarItem/ProgressStepBarItem.js.map +1 -1
  22. package/__internal__/src/components/ProgressStepBar/helpers.d.ts +0 -1
  23. package/__internal__/src/components/ProgressStepBar/helpers.js +1 -1
  24. package/__internal__/src/components/ProgressStepBar/helpers.js.map +1 -1
  25. package/package.json +1 -1
  26. package/__internal__/src/components/AutoCompleteCanary/AutoComplete.js.map +0 -1
  27. /package/__internal__/src/components/AutoCompleteCanary/{AutoComplete.d.ts → AutoCompleteCanary.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ export * from "../__internal__/src/components/AutoCompleteCanary";
@@ -0,0 +1 @@
1
+ export * from "../__internal__/src/components/AutoCompleteCanary";
@@ -0,0 +1 @@
1
+ export * from "../__internal__/src/components/Banner";
@@ -0,0 +1 @@
1
+ export * from "../__internal__/src/components/Banner";
@@ -1,2 +1,2 @@
1
1
  import React from"react";import{cnCanary}from"../../utils/bem";import{AutoCompleteTypeText}from"./AutoCompleteTypeText";import{AutoCompleteTypeTextArray}from"./AutoCompleteTypeTextArray";var typeMap={text:AutoCompleteTypeText,textarray:AutoCompleteTypeTextArray};export var cnAutoComplete=cnCanary("AutoComplete");var AutoCompleteRender=function(a,b){var c=a.type||"text",d=typeMap[c]||typeMap.text;return React.createElement(d,Object.assign({},a,{ref:b,className:cnAutoComplete({type:c},[a.className])}))};export var AutoComplete=React.forwardRef(AutoCompleteRender);export*from"./types";
2
- //# sourceMappingURL=AutoComplete.js.map
2
+ //# sourceMappingURL=AutoCompleteCanary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoCompleteCanary.js","names":["React","cnCanary","AutoCompleteTypeText","AutoCompleteTypeTextArray","typeMap","text","textarray","cnAutoComplete","AutoCompleteRender","props","ref","type","Component","className","AutoComplete","forwardRef"],"sources":["../../../../../src/components/AutoCompleteCanary/AutoCompleteCanary.tsx"],"sourcesContent":["import React from 'react';\n\nimport { cnCanary } from '##/utils/bem';\n\nimport { AutoCompleteTypeText } from './AutoCompleteTypeText';\nimport { AutoCompleteTypeTextArray } from './AutoCompleteTypeTextArray';\nimport {\n AutoCompleteComponent,\n AutoCompleteGroupDefault,\n AutoCompleteItemDefault,\n AutoCompleteProps,\n AutoCompleteTypeComponent,\n} from './types';\n\nconst typeMap: Record<\n string,\n AutoCompleteTypeComponent<string> | AutoCompleteTypeComponent<'textarray'>\n> = {\n text: AutoCompleteTypeText,\n textarray: AutoCompleteTypeTextArray,\n};\n\nexport const cnAutoComplete = cnCanary('AutoComplete');\n\nconst AutoCompleteRender = <\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n>(\n props: AutoCompleteProps<TYPE, ITEM, GROUP>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const type = props.type || 'text';\n const Component = typeMap[type] || typeMap.text;\n\n return (\n <Component\n {...(props as unknown as AutoCompleteTypeComponent<TYPE, ITEM, GROUP>)}\n ref={ref}\n className={cnAutoComplete({ type }, [props.className])}\n />\n );\n};\n\nexport const AutoComplete = React.forwardRef(\n AutoCompleteRender,\n) as AutoCompleteComponent;\n\nexport * from './types';\n"],"mappings":"AAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,QAAT,uBAEA,OAASC,oBAAT,8BACA,OAASC,yBAAT,mCASA,GAAMC,QAGL,CAAG,CACFC,IAAI,CAAEH,oBADJ,CAEFI,SAAS,CAAEH,yBAFT,CAHJ,CAQA,MAAO,IAAMI,eAAc,CAAGN,QAAQ,CAAC,cAAD,CAA/B,CAEP,GAAMO,mBAAkB,CAAG,SAKzBC,CALyB,CAMzBC,CANyB,CAOtB,IACGC,EAAI,CAAGF,CAAK,CAACE,IAAN,EAAc,MADxB,CAEGC,CAAS,CAAGR,OAAO,CAACO,CAAD,CAAP,EAAiBP,OAAO,CAACC,IAFxC,CAIH,MACE,qBAAC,CAAD,kBACOI,CADP,EAEE,GAAG,CAAEC,CAFP,CAGE,SAAS,CAAEH,cAAc,CAAC,CAAEI,IAAI,CAAJA,CAAF,CAAD,CAAW,CAACF,CAAK,CAACI,SAAP,CAAX,CAH3B,GAMH,CAlBD,CAoBA,MAAO,IAAMC,aAAY,CAAGd,KAAK,CAACe,UAAN,CAC1BP,kBAD0B,CAArB,CAIP"}
@@ -1,2 +1,2 @@
1
- export * from './AutoComplete';
1
+ export * from './AutoCompleteCanary';
2
2
  export * from './types';
@@ -1,2 +1,2 @@
1
- export*from"./AutoComplete";export*from"./types";
1
+ export*from"./AutoCompleteCanary";export*from"./types";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/AutoCompleteCanary/index.ts"],"sourcesContent":["export * from './AutoComplete';\nexport * from './types';\n"],"mappings":"AAAA,4BACA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/AutoCompleteCanary/index.ts"],"sourcesContent":["export * from './AutoCompleteCanary';\nexport * from './types';\n"],"mappings":"AAAA,kCACA"}
@@ -0,0 +1 @@
1
+ .Banner{--banner-bg-opacity:30%;--banner-height:calc(var(--banner-inner-height) + var(--space-padding-top) + var(--space-padding-bottom));color:var(--color-typo-primary);min-height:var(--banner-height)}.Banner_form_default{border-radius:var(--space-xs)}.Banner_form_round{border-radius:calc(var(--banner-height)/2)}.Banner_view_filled{background-color:var(--banner-bg-color)}.Banner_view_ghost{background-color:color-mix(in srgb,var(--banner-bg-color) var(--banner-bg-opacity),var(--color-bg-default))}.Banner-Icon.icons--Icon{display:flex}
@@ -0,0 +1,32 @@
1
+ import './Banner.css';
2
+ import { IconComponent } from '@consta/icons/Icon';
3
+ import React from 'react';
4
+ import { MixSpaceProps, Space } from '../../mixs/MixSpace';
5
+ import { PropsWithJsxAttributes } from '../../utils/types/PropsWithJsxAttributes';
6
+ export type BannerProps = PropsWithJsxAttributes<{
7
+ leftSide?: React.ReactNode;
8
+ rightSide?: React.ReactNode;
9
+ icon?: IconComponent;
10
+ size?: 'xs' | 's' | 'm' | 'l';
11
+ view?: 'filled' | 'ghost' | 'transparent';
12
+ space?: MixSpaceProps;
13
+ itemsGap?: Space | [Space, Space];
14
+ status?: 'normal' | 'warning' | 'alert' | 'success' | 'system';
15
+ form?: 'default' | 'round' | 'brick';
16
+ }>;
17
+ export declare const cnBanner: import("@bem-react/classname").ClassNameFormatter;
18
+ /**
19
+ * Компонент Banner, отображающий содержимое слева и справа.
20
+ * Поддерживает иконки, размеры, виды, статусы и формы.
21
+ *
22
+ * @property {React.ReactNode} [leftSide] - Содержимое на левой стороне.
23
+ * @property {React.ReactNode} [rightSide] - Содержимое на правой стороне.
24
+ * @property {IconComponent} [icon] - Иконка.
25
+ * @property {'xs' | 's' | 'm' | 'l'} [size] - Размер компонента.
26
+ * @property {'filled' | 'ghost' | 'transparent'} [view] - Визуальный стиль.
27
+ * @property {MixSpaceProps} [space] - Параметры отступов.
28
+ * @property {Space | [Space, Space]} [itemsGap] - Отступы между элементами.
29
+ * @property {'normal' | 'warning' | 'alert' | 'success' | 'system'} [status] - Статус (цветовая схема).
30
+ * @property {'default' | 'round' | 'brick'} [form] - Форма компонента.
31
+ */
32
+ export declare const Banner: React.ForwardRefExoticComponent<Omit<BannerProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";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"./Banner.css";import React,{forwardRef}from"react";import{cnText,Text}from"../Text";import{useTheme}from"../Theme/Theme";import{cnMixFlex}from"../../mixs/MixFlex";import{cnMixSpace}from"../../mixs/MixSpace";import{cn}from"../../utils/bem";import{isNotNil,isString}from"../../utils/type-guards";export var cnBanner=cn("Banner");var SlotWrapper=function(a){var b=a.children;return React.createElement("div",{className:cnBanner("Slot")},b)},renderSlot=function(a,b,c){return isString(a)?React.createElement(SlotWrapper,{key:cnBanner("Slot",{index:b,position:c})},React.createElement(Text,{className:cnBanner("Text"),view:"primary",weight:0===b&&0===c?"bold":void 0,lineHeight:"m"},a)):React.createElement(SlotWrapper,{key:cnBanner("Slot",{index:b,position:c})},a)},renderSlots=function(a,b){return Array.isArray(a)?a.filter(isNotNil).map(function(a,c){return renderSlot(a,c,b)}):renderSlots([a],b)},getGap=function(a,b){return Array.isArray(a)?a[b]:a},textSizeMap={xs:"s",s:"s",m:"m",l:"l"},controlSizeMap={xs:"xs",s:"s",m:"s",l:"m"};export var Banner=forwardRef(function(a,b){var c,d=a.leftSide,e=a.rightSide,f=a.icon,g=a.size,h=void 0===g?"m":g,i=a.view,j=void 0===i?"filled":i,k=a.className,l=a.space,m=a.itemsGap,n=void 0===m?"s":m,o=a.status,p=void 0===o?"normal":o,q=a.style,r=a.form,s=void 0===r?"default":r,t=useTheme(),u=t.themeClassNames,v=[f?React.createElement(SlotWrapper,null,React.createElement(f,{className:cnBanner("Icon")})):null].concat(_toConsumableArray(renderSlots(d,0))).filter(isNotNil),w=renderSlots(e,1);return React.createElement("div",{className:cnBanner({view:j,form:s},[cnMixFlex({justify:w.length&&!v.length?"flex-end":"space-between",align:"center",gap:"m"}),cnMixSpace(l||{pH:h,pV:"xs"}),cnText({size:textSizeMap[h]}),"system"!==p&&"filled"===j?u.color.accent:void 0,k]),style:_objectSpread(_objectSpread({},q),{},(c={},_defineProperty(c,"--banner-bg-color","var(--color-bg-".concat(p,")")),_defineProperty(c,"--banner-inner-height","var(--control-height-".concat(controlSizeMap[h],")")),c)),ref:b},v.length?React.createElement("div",{className:cnMixFlex({gap:getGap(n,0),align:"center"})},v):void 0,w.length?React.createElement("div",{className:cnMixFlex({gap:getGap(n,1),align:"center"})},w):void 0)});
2
+ //# sourceMappingURL=Banner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Banner.js","names":["React","forwardRef","cnText","Text","useTheme","cnMixFlex","cnMixSpace","cn","isNotNil","isString","cnBanner","SlotWrapper","children","renderSlot","slot","index","position","renderSlots","Array","isArray","filter","map","item","getGap","gap","textSizeMap","xs","s","m","l","controlSizeMap","Banner","props","ref","leftSide","rightSide","Icon","icon","size","view","className","space","itemsGap","status","style","form","themeClassNames","leftSlots","rightSlots","justify","length","align","pH","pV","color","accent"],"sources":["../../../../../src/components/Banner/Banner.tsx"],"sourcesContent":["import './Banner.css';\n\nimport { IconComponent } from '@consta/icons/Icon';\nimport React, { forwardRef } from 'react';\n\nimport { cnText, Text } from '##/components/Text';\nimport { useTheme } from '##/components/Theme/Theme';\nimport { cnMixFlex } from '##/mixs/MixFlex';\nimport { cnMixSpace, MixSpaceProps, Space } from '##/mixs/MixSpace';\nimport { cn } from '##/utils/bem';\nimport { isNotNil, isString } from '##/utils/type-guards';\nimport { PropsWithJsxAttributes } from '##/utils/types/PropsWithJsxAttributes';\n\nexport type BannerProps = PropsWithJsxAttributes<{\n leftSide?: React.ReactNode;\n rightSide?: React.ReactNode;\n icon?: IconComponent;\n size?: 'xs' | 's' | 'm' | 'l';\n view?: 'filled' | 'ghost' | 'transparent';\n space?: MixSpaceProps;\n itemsGap?: Space | [Space, Space];\n status?: 'normal' | 'warning' | 'alert' | 'success' | 'system';\n form?: 'default' | 'round' | 'brick';\n}>;\n\nexport const cnBanner = cn('Banner');\n\nconst SlotWrapper: React.FC<{ children: React.ReactNode }> = ({ children }) => (\n <div className={cnBanner('Slot')}>{children}</div>\n);\n\nconst renderSlot = (slot: React.ReactNode, index: number, position: number) => {\n if (isString(slot)) {\n return (\n <SlotWrapper key={cnBanner('Slot', { index, position })}>\n <Text\n className={cnBanner('Text')}\n view=\"primary\"\n weight={index === 0 && position === 0 ? 'bold' : undefined}\n lineHeight=\"m\"\n >\n {slot}\n </Text>\n </SlotWrapper>\n );\n }\n\n return (\n <SlotWrapper key={cnBanner('Slot', { index, position })}>\n {slot}\n </SlotWrapper>\n );\n};\n\nconst renderSlots = (slot: React.ReactNode, position: number) => {\n if (Array.isArray(slot)) {\n return slot\n .filter(isNotNil)\n .map((item, index) => renderSlot(item, index, position));\n }\n return renderSlots([slot], position);\n};\n\nconst getGap = (gap: Space | [Space, Space], index: number) => {\n if (Array.isArray(gap)) {\n return gap[index];\n }\n return gap;\n};\n\nconst textSizeMap = {\n xs: 's',\n s: 's',\n m: 'm',\n l: 'l',\n} as const;\n\nconst controlSizeMap = {\n xs: 'xs',\n s: 's',\n m: 's',\n l: 'm',\n} as const;\n\n/**\n * Компонент Banner, отображающий содержимое слева и справа.\n * Поддерживает иконки, размеры, виды, статусы и формы.\n *\n * @property {React.ReactNode} [leftSide] - Содержимое на левой стороне.\n * @property {React.ReactNode} [rightSide] - Содержимое на правой стороне.\n * @property {IconComponent} [icon] - Иконка.\n * @property {'xs' | 's' | 'm' | 'l'} [size] - Размер компонента.\n * @property {'filled' | 'ghost' | 'transparent'} [view] - Визуальный стиль.\n * @property {MixSpaceProps} [space] - Параметры отступов.\n * @property {Space | [Space, Space]} [itemsGap] - Отступы между элементами.\n * @property {'normal' | 'warning' | 'alert' | 'success' | 'system'} [status] - Статус (цветовая схема).\n * @property {'default' | 'round' | 'brick'} [form] - Форма компонента.\n */\n\nexport const Banner = forwardRef<HTMLDivElement, BannerProps>((props, ref) => {\n const {\n leftSide,\n rightSide,\n icon: Icon,\n size = 'm',\n view = 'filled',\n className,\n space,\n itemsGap = 's',\n status = 'normal',\n style,\n form = 'default',\n } = props;\n\n const { themeClassNames } = useTheme();\n\n const leftSlots = [\n Icon ? (\n <SlotWrapper>\n <Icon className={cnBanner('Icon')} />\n </SlotWrapper>\n ) : null,\n ...renderSlots(leftSide, 0),\n ].filter(isNotNil);\n\n const rightSlots = renderSlots(rightSide, 1);\n\n return (\n <div\n className={cnBanner({ view, form }, [\n cnMixFlex({\n justify:\n rightSlots.length && !leftSlots.length\n ? 'flex-end'\n : 'space-between',\n align: 'center',\n gap: 'm',\n }),\n cnMixSpace(space || { pH: size, pV: 'xs' }),\n cnText({ size: textSizeMap[size] }),\n status !== 'system' && view === 'filled'\n ? themeClassNames.color.accent\n : undefined,\n className,\n ])}\n style={{\n ...style,\n ['--banner-bg-color' as string]: `var(--color-bg-${status})`,\n ['--banner-inner-height' as string]: `var(--control-height-${controlSizeMap[size]})`,\n }}\n ref={ref}\n >\n {leftSlots.length ? (\n <div\n className={cnMixFlex({ gap: getGap(itemsGap, 0), align: 'center' })}\n >\n {leftSlots}\n </div>\n ) : undefined}\n {rightSlots.length ? (\n <div\n className={cnMixFlex({ gap: getGap(itemsGap, 1), align: 'center' })}\n >\n {rightSlots}\n </div>\n ) : undefined}\n </div>\n );\n});\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './Banner';
@@ -0,0 +1,2 @@
1
+ export*from"./Banner";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/Banner/index.ts"],"sourcesContent":["export * from './Banner';\n"],"mappings":"AAAA"}
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","view","width","form","iconLeft","iconRight","label","className","onClick","disabled","loading","type","tabIndex","as","onlyIcon","iconSize","formId"];import"./Button.css";import React,{useRef}from"react";import{Loader}from"../Loader";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{cnMixFocus}from"../../mixs/MixFocus/MixFocus";import{cn}from"../../utils/bem";import{getByMap}from"../../utils/getByMap";import{forwardRefWithAs}from"../../utils/types/PropsWithAsAttributes";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";export var buttonPropSize=["m","xs","s","l"];export var buttonPropSizeDefault=buttonPropSize[0];export var buttonPropView=["primary","clear","ghost","secondary"];export var buttonPropViewDefault=buttonPropView[0];export var buttonPropWidth=["default","full"];export var buttonPropWidthDefault=buttonPropWidth[0];export var buttonPropForm=["default","brick","round","brickRound","roundBrick","brickDefault","defaultBrick"];var mapStableForm={default:"default",defaultClear:"defaultBrick",defaultBrick:"defaultBrick",brick:"brick",brickDefault:"brickDefault",brickClear:"brick",brickRound:"brickRound",round:"round",roundClear:"roundBrick",roundBrick:"roundBrick",clearRound:"brickRound",clearDefault:"brickDefault",clearBrick:"brick",clearClear:"brick"};export var buttonPropFormDefault=buttonPropForm[0];export var COMPONENT_NAME="Button";export var cnButton=cn("Button");var sizeMap={xs:"xs",s:"xs",m:"s",l:"m"},sizeMapOnlyIcon={xs:"xs",s:"s",m:"m",l:"m"};export var Button=forwardRefWithAs(function(a,b){var c=useRef(null),d=usePropsHandler(COMPONENT_NAME,a,c),e=d.size,f=void 0===e?buttonPropSizeDefault:e,g=d.view,h=void 0===g?buttonPropViewDefault:g,i=d.width,j=void 0===i?buttonPropWidthDefault:i,k=d.form,l=void 0===k?buttonPropFormDefault:k,m=d.iconLeft,n=d.iconRight,o=d.label,p=d.className,q=d.onClick,r=d.disabled,s=d.loading,t=d.type,u=void 0===t?"button":t,v=d.tabIndex,w=d.as,x=void 0===w?"button":w,y=d.onlyIcon,z=d.iconSize,A=d.formId,B=_objectWithoutProperties(d,_excluded),C=(!o||y)&&(m||n),D=m,E=n,F=a.title||!!C&&o||void 0,G=C?getByMap(sizeMapOnlyIcon,f,z):getByMap(sizeMap,f,z);return React.createElement(x,Object.assign({},B,{onClick:q?function handleClick(a){r||s||!q||q(a)}:void 0,form:A,type:u,className:cnButton({size:f,view:h,width:j,form:mapStableForm[l],loading:s,disabled:r,withIcon:!!m||!!n,onlyIcon:!!C},[r||s?void 0:cnMixFocus(),p]),disabled:r,tabIndex:v,title:F,ref:useForkRef([b,c])}),C&&React.createElement(C,{className:cnButton("Icon"),size:G}),!C&&((D||E)&&o?React.createElement(React.Fragment,null,D&&React.createElement(D,{className:cnButton("Icon",{position:"left"}),size:G}),React.createElement("span",{className:cnButton("Label")},o),E&&React.createElement(E,{className:cnButton("Icon",{position:"right"}),size:G})):o),s&&React.createElement("div",{className:cnButton("Loader")},React.createElement(Loader,{size:"s"})))});
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","view","width","form","iconLeft","iconRight","label","className","onClick","disabled","loading","type","tabIndex","as","onlyIcon","iconSize","formId"];import"./Button.css";import React,{useRef}from"react";import{Loader}from"../Loader";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{cnMixFocus}from"../../mixs/MixFocus/MixFocus";import{cn}from"../../utils/bem";import{getByMap}from"../../utils/getByMap";import{forwardRefWithAs}from"../../utils/types/PropsWithAsAttributes";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";export var buttonPropSize=["m","xs","s","l"];export var buttonPropSizeDefault=buttonPropSize[0];export var buttonPropView=["primary","clear","ghost","secondary"];export var buttonPropViewDefault=buttonPropView[0];export var buttonPropWidth=["default","full"];export var buttonPropWidthDefault=buttonPropWidth[0];export var buttonPropForm=["default","brick","round","brickRound","roundBrick","brickDefault","defaultBrick"];var mapStableForm={default:"default",defaultClear:"defaultBrick",defaultBrick:"defaultBrick",brick:"brick",brickDefault:"brickDefault",brickClear:"brick",brickRound:"brickRound",round:"round",roundClear:"roundBrick",roundBrick:"roundBrick",clearRound:"brickRound",clearDefault:"brickDefault",clearBrick:"brick",clearClear:"brick"};export var buttonPropFormDefault=buttonPropForm[0];export var COMPONENT_NAME="Button";export var cnButton=cn("Button");var sizeMap={xs:"xs",s:"xs",m:"s",l:"m"},sizeMapOnlyIcon={xs:"xs",s:"s",m:"m",l:"m"};export var Button=forwardRefWithAs(function(a,b){var c=useRef(null),d=usePropsHandler(COMPONENT_NAME,a,c),e=d.size,f=void 0===e?buttonPropSizeDefault:e,g=d.view,h=void 0===g?buttonPropViewDefault:g,i=d.width,j=void 0===i?buttonPropWidthDefault:i,k=d.form,l=void 0===k?buttonPropFormDefault:k,m=d.iconLeft,n=d.iconRight,o=d.label,p=d.className,q=d.onClick,r=d.disabled,s=d.loading,t=d.type,u=void 0===t?"button":t,v=d.tabIndex,w=d.as,x=void 0===w?"button":w,y=d.onlyIcon,z=d.iconSize,A=d.formId,B=_objectWithoutProperties(d,_excluded),C=(!o||y)&&(m||n),D=m,E=n,F=a.title||!!C&&o||void 0,G=C?getByMap(sizeMapOnlyIcon,f,z):getByMap(sizeMap,f,z);return React.createElement(x,Object.assign({},B,{onClick:q?function handleClick(a){r||s||!q||q(a)}:void 0,form:A,type:u,className:cnButton({size:f,view:h,width:j,form:mapStableForm[l],loading:s,disabled:r,withIcon:!!m||!!n,onlyIcon:!!C},[r||s?void 0:cnMixFocus(),p]),disabled:r,tabIndex:v,title:F,ref:useForkRef([b,c])}),C&&React.createElement(C,{className:cnButton("Icon"),size:G}),!C&&((D||E)&&o?React.createElement(React.Fragment,null,D&&React.createElement(D,{className:cnButton("Icon",{position:"left"}),size:G}),React.createElement("span",{className:cnButton("Label")},o),E&&React.createElement(E,{className:cnButton("Icon",{position:"right"}),size:G})):o),s&&React.createElement("div",{className:cnButton("Loader")},React.createElement(Loader,{size:sizeMapOnlyIcon[f],type:"circle"})))});
2
2
  //# sourceMappingURL=Button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","names":["React","useRef","Loader","useForkRef","cnMixFocus","cn","getByMap","forwardRefWithAs","usePropsHandler","buttonPropSize","buttonPropSizeDefault","buttonPropView","buttonPropViewDefault","buttonPropWidth","buttonPropWidthDefault","buttonPropForm","mapStableForm","defaultClear","defaultBrick","brick","brickDefault","brickClear","brickRound","round","roundClear","roundBrick","clearRound","clearDefault","clearBrick","clearClear","buttonPropFormDefault","COMPONENT_NAME","cnButton","sizeMap","xs","s","m","l","sizeMapOnlyIcon","Button","props","ref","buttonRef","size","view","width","form","iconLeft","iconRight","label","className","onClick","disabled","loading","type","tabIndex","as","onlyIcon","iconSizeProp","iconSize","formId","otherProps","IconOnly","IconLeft","IconRight","title","handleClick","e","withIcon","position"],"sources":["../../../../../src/components/Button/Button.tsx"],"sourcesContent":["import './Button.css';\n\nimport { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React, { HTMLProps, useRef } from 'react';\n\nimport { Loader } from '##/components/Loader';\n\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { cnMixFocus } from '../../mixs/MixFocus/MixFocus';\nimport { cn } from '../../utils/bem';\nimport { getByMap } from '../../utils/getByMap';\nimport { forwardRefWithAs } from '../../utils/types/PropsWithAsAttributes';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\n\nexport const buttonPropSize = ['m', 'xs', 's', 'l'] as const;\nexport type ButtonPropSize = typeof buttonPropSize[number];\nexport const buttonPropSizeDefault: ButtonPropSize = buttonPropSize[0];\n\nexport const buttonPropView = [\n 'primary',\n 'clear',\n 'ghost',\n 'secondary',\n] as const;\nexport type ButtonPropView = typeof buttonPropView[number];\nexport const buttonPropViewDefault: ButtonPropView = buttonPropView[0];\n\nexport const buttonPropWidth = ['default', 'full'] as const;\nexport type ButtonPropWidth = typeof buttonPropWidth[number];\nexport const buttonPropWidthDefault: ButtonPropWidth = buttonPropWidth[0];\n\nexport const buttonPropForm = [\n 'default',\n 'brick',\n 'round',\n 'brickRound',\n 'roundBrick',\n 'brickDefault',\n 'defaultBrick',\n] as const;\n\nexport type ButtonPropForm = typeof buttonPropForm[number];\n\ntype GlobalForm =\n | 'default'\n | 'brick'\n | 'round'\n | 'brickRound'\n | 'roundBrick'\n | 'brickDefault'\n | 'defaultBrick'\n | 'defaultClear'\n | 'brickClear'\n | 'roundClear'\n | 'clearRound'\n | 'clearDefault'\n | 'clearBrick'\n | 'clearClear';\n\nconst mapStableForm: Record<GlobalForm, ButtonPropForm> = {\n default: 'default',\n defaultClear: 'defaultBrick',\n defaultBrick: 'defaultBrick',\n brick: 'brick',\n brickDefault: 'brickDefault',\n brickClear: 'brick',\n brickRound: 'brickRound',\n round: 'round',\n roundClear: 'roundBrick',\n roundBrick: 'roundBrick',\n clearRound: 'brickRound',\n clearDefault: 'brickDefault',\n clearBrick: 'brick',\n clearClear: 'brick',\n};\n\nexport const buttonPropFormDefault = buttonPropForm[0];\n\nexport type Props = {\n size?: ButtonPropSize;\n view?: ButtonPropView;\n width?: ButtonPropWidth;\n form?: ButtonPropForm;\n tabIndex?: number;\n disabled?: boolean;\n loading?: boolean;\n label?: string | number;\n onClick?: React.EventHandler<React.MouseEvent>;\n iconLeft?: IconComponent;\n iconRight?: IconComponent;\n onlyIcon?: boolean;\n iconSize?: IconPropSize;\n title?: string;\n children?: never;\n type?: 'button' | 'reset' | 'submit';\n formId?: HTMLProps<HTMLButtonElement>['form'];\n};\n\nexport const COMPONENT_NAME = 'Button' as const;\nexport const cnButton = cn(COMPONENT_NAME);\n\nconst sizeMap: Record<ButtonPropSize, IconPropSize> = {\n xs: 'xs',\n s: 'xs',\n m: 's',\n l: 'm',\n};\n\nconst sizeMapOnlyIcon: Record<ButtonPropSize, IconPropSize> = {\n xs: 'xs',\n s: 's',\n m: 'm',\n l: 'm',\n};\n\nexport const Button = forwardRefWithAs<Props, 'button'>((props, ref) => {\n const buttonRef = useRef<HTMLButtonElement | null>(null);\n\n const {\n size = buttonPropSizeDefault,\n view = buttonPropViewDefault,\n width = buttonPropWidthDefault,\n form = buttonPropFormDefault,\n iconLeft,\n iconRight,\n label,\n className,\n onClick,\n disabled,\n loading,\n type = 'button',\n tabIndex,\n as = 'button',\n onlyIcon,\n iconSize: iconSizeProp,\n formId,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, props, buttonRef);\n\n const Tag = as as string;\n const IconOnly = (!label || onlyIcon) && (iconLeft || iconRight);\n const IconLeft = iconLeft;\n const IconRight = iconRight;\n const withIcon = !!iconLeft || !!iconRight;\n const title = props.title || (!!IconOnly && label) || undefined;\n const iconSize = IconOnly\n ? getByMap(sizeMapOnlyIcon, size, iconSizeProp)\n : getByMap(sizeMap, size, iconSizeProp);\n\n const handleClick = (e: React.MouseEvent<HTMLElement>) => {\n if (!disabled && !loading && onClick) {\n onClick(e);\n }\n };\n\n return (\n <Tag\n {...otherProps}\n onClick={onClick ? handleClick : undefined}\n form={formId}\n type={type}\n className={cnButton(\n {\n size,\n view,\n width,\n form: mapStableForm[form],\n loading,\n disabled,\n withIcon,\n onlyIcon: !!IconOnly,\n },\n [!(disabled || loading) ? cnMixFocus() : undefined, className],\n )}\n disabled={disabled}\n tabIndex={tabIndex}\n title={title}\n ref={useForkRef([ref, buttonRef])}\n >\n {IconOnly && <IconOnly className={cnButton('Icon')} size={iconSize} />}\n {!IconOnly &&\n ((IconLeft || IconRight) && label ? (\n <>\n {IconLeft && (\n <IconLeft\n className={cnButton('Icon', { position: 'left' })}\n size={iconSize}\n />\n )}\n <span className={cnButton('Label')}>{label}</span>\n {IconRight && (\n <IconRight\n className={cnButton('Icon', { position: 'right' })}\n size={iconSize}\n />\n )}\n </>\n ) : (\n label\n ))}\n {loading && (\n <div className={cnButton('Loader')}>\n <Loader size=\"s\" />\n </div>\n )}\n </Tag>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","names":["React","useRef","Loader","useForkRef","cnMixFocus","cn","getByMap","forwardRefWithAs","usePropsHandler","buttonPropSize","buttonPropSizeDefault","buttonPropView","buttonPropViewDefault","buttonPropWidth","buttonPropWidthDefault","buttonPropForm","mapStableForm","defaultClear","defaultBrick","brick","brickDefault","brickClear","brickRound","round","roundClear","roundBrick","clearRound","clearDefault","clearBrick","clearClear","buttonPropFormDefault","COMPONENT_NAME","cnButton","sizeMap","xs","s","m","l","sizeMapOnlyIcon","Button","props","ref","buttonRef","size","view","width","form","iconLeft","iconRight","label","className","onClick","disabled","loading","type","tabIndex","as","onlyIcon","iconSizeProp","iconSize","formId","otherProps","IconOnly","IconLeft","IconRight","title","handleClick","e","withIcon","position"],"sources":["../../../../../src/components/Button/Button.tsx"],"sourcesContent":["import './Button.css';\n\nimport { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React, { HTMLProps, useRef } from 'react';\n\nimport { Loader } from '##/components/Loader';\n\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { cnMixFocus } from '../../mixs/MixFocus/MixFocus';\nimport { cn } from '../../utils/bem';\nimport { getByMap } from '../../utils/getByMap';\nimport { forwardRefWithAs } from '../../utils/types/PropsWithAsAttributes';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\n\nexport const buttonPropSize = ['m', 'xs', 's', 'l'] as const;\nexport type ButtonPropSize = typeof buttonPropSize[number];\nexport const buttonPropSizeDefault: ButtonPropSize = buttonPropSize[0];\n\nexport const buttonPropView = [\n 'primary',\n 'clear',\n 'ghost',\n 'secondary',\n] as const;\nexport type ButtonPropView = typeof buttonPropView[number];\nexport const buttonPropViewDefault: ButtonPropView = buttonPropView[0];\n\nexport const buttonPropWidth = ['default', 'full'] as const;\nexport type ButtonPropWidth = typeof buttonPropWidth[number];\nexport const buttonPropWidthDefault: ButtonPropWidth = buttonPropWidth[0];\n\nexport const buttonPropForm = [\n 'default',\n 'brick',\n 'round',\n 'brickRound',\n 'roundBrick',\n 'brickDefault',\n 'defaultBrick',\n] as const;\n\nexport type ButtonPropForm = typeof buttonPropForm[number];\n\ntype GlobalForm =\n | 'default'\n | 'brick'\n | 'round'\n | 'brickRound'\n | 'roundBrick'\n | 'brickDefault'\n | 'defaultBrick'\n | 'defaultClear'\n | 'brickClear'\n | 'roundClear'\n | 'clearRound'\n | 'clearDefault'\n | 'clearBrick'\n | 'clearClear';\n\nconst mapStableForm: Record<GlobalForm, ButtonPropForm> = {\n default: 'default',\n defaultClear: 'defaultBrick',\n defaultBrick: 'defaultBrick',\n brick: 'brick',\n brickDefault: 'brickDefault',\n brickClear: 'brick',\n brickRound: 'brickRound',\n round: 'round',\n roundClear: 'roundBrick',\n roundBrick: 'roundBrick',\n clearRound: 'brickRound',\n clearDefault: 'brickDefault',\n clearBrick: 'brick',\n clearClear: 'brick',\n};\n\nexport const buttonPropFormDefault = buttonPropForm[0];\n\nexport type Props = {\n size?: ButtonPropSize;\n view?: ButtonPropView;\n width?: ButtonPropWidth;\n form?: ButtonPropForm;\n tabIndex?: number;\n disabled?: boolean;\n loading?: boolean;\n label?: string | number;\n onClick?: React.EventHandler<React.MouseEvent>;\n iconLeft?: IconComponent;\n iconRight?: IconComponent;\n onlyIcon?: boolean;\n iconSize?: IconPropSize;\n title?: string;\n children?: never;\n type?: 'button' | 'reset' | 'submit';\n formId?: HTMLProps<HTMLButtonElement>['form'];\n};\n\nexport const COMPONENT_NAME = 'Button' as const;\nexport const cnButton = cn(COMPONENT_NAME);\n\nconst sizeMap = {\n xs: 'xs',\n s: 'xs',\n m: 's',\n l: 'm',\n} as const;\n\nconst sizeMapOnlyIcon = {\n xs: 'xs',\n s: 's',\n m: 'm',\n l: 'm',\n} as const;\n\nexport const Button = forwardRefWithAs<Props, 'button'>((props, ref) => {\n const buttonRef = useRef<HTMLButtonElement | null>(null);\n\n const {\n size = buttonPropSizeDefault,\n view = buttonPropViewDefault,\n width = buttonPropWidthDefault,\n form = buttonPropFormDefault,\n iconLeft,\n iconRight,\n label,\n className,\n onClick,\n disabled,\n loading,\n type = 'button',\n tabIndex,\n as = 'button',\n onlyIcon,\n iconSize: iconSizeProp,\n formId,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, props, buttonRef);\n\n const Tag = as as string;\n const IconOnly = (!label || onlyIcon) && (iconLeft || iconRight);\n const IconLeft = iconLeft;\n const IconRight = iconRight;\n const withIcon = !!iconLeft || !!iconRight;\n const title = props.title || (!!IconOnly && label) || undefined;\n const iconSize = IconOnly\n ? getByMap(sizeMapOnlyIcon, size, iconSizeProp)\n : getByMap(sizeMap, size, iconSizeProp);\n\n const handleClick = (e: React.MouseEvent<HTMLElement>) => {\n if (!disabled && !loading && onClick) {\n onClick(e);\n }\n };\n\n return (\n <Tag\n {...otherProps}\n onClick={onClick ? handleClick : undefined}\n form={formId}\n type={type}\n className={cnButton(\n {\n size,\n view,\n width,\n form: mapStableForm[form],\n loading,\n disabled,\n withIcon,\n onlyIcon: !!IconOnly,\n },\n [!(disabled || loading) ? cnMixFocus() : undefined, className],\n )}\n disabled={disabled}\n tabIndex={tabIndex}\n title={title}\n ref={useForkRef([ref, buttonRef])}\n >\n {IconOnly && <IconOnly className={cnButton('Icon')} size={iconSize} />}\n {!IconOnly &&\n ((IconLeft || IconRight) && label ? (\n <>\n {IconLeft && (\n <IconLeft\n className={cnButton('Icon', { position: 'left' })}\n size={iconSize}\n />\n )}\n <span className={cnButton('Label')}>{label}</span>\n {IconRight && (\n <IconRight\n className={cnButton('Icon', { position: 'right' })}\n size={iconSize}\n />\n )}\n </>\n ) : (\n label\n ))}\n {loading && (\n <div className={cnButton('Loader')}>\n <Loader size={sizeMapOnlyIcon[size]} type=\"circle\" />\n </div>\n )}\n </Tag>\n );\n});\n"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import './ProgressStepBarItem.css';
2
2
  import { ProgressStepBarItemComponent } from '../helpers';
3
+ export declare const cnProgressStepBarItem: import("@bem-react/classname").ClassNameFormatter;
3
4
  export declare const ProgressStepBarItem: ProgressStepBarItemComponent;
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["content","tooltipContent","label","point","status","progress","direction","size","pointRef","onClick","position","tooltipZIndex","className"];import"./ProgressStepBarItem.css";import React,{useMemo,useRef}from"react";import{ProgressSpin}from"../../ProgressSpin";import{Text}from"../../Text";import{Tooltip}from"../../Tooltip";import{useFlag}from"../../../hooks/useFlag/useFlag";import{useForkRef}from"../../../hooks/useForkRef";import{useMouseLeave}from"../../../hooks/useMouseLeave";import{cnMixFocus}from"../../../mixs/MixFocus/MixFocus";import{cn}from"../../../utils/bem";import{progressStepBarPropPositionDefault,progressStepBarPropStatusDefault}from"../helpers";var cnProgressStepBarItem=cn("ProgressStepBarItem"),possibleVerticalDirections=["leftCenter","rightCenter","rightUp","downCenter"],possibleHorizontalDirections=["downCenter","upCenter","downStartLeft","downStartRight"],renderPointContent=function(a,b,c){if(c)return React.createElement(ProgressSpin,{size:b});if(!a)return null;if("number"==typeof a)return React.createElement(Text,{className:cnProgressStepBarItem("PointText"),size:"s"===b?"2xs":"xs",weight:"bold",view:"primary",lineHeight:"m"},a);return React.createElement(a,{className:cnProgressStepBarItem("PointIcon"),size:"xs"})};export var ProgressStepBarItem=React.forwardRef(function(a,b){var c=a.content,d=a.tooltipContent,e=a.label,f=a.point,g=a.status,h=a.progress,i=a.direction,j=a.size,k=a.pointRef,l=a.onClick,m=a.position,n=void 0===m?progressStepBarPropPositionDefault:m,o=a.tooltipZIndex,p=a.className,q=_objectWithoutProperties(a,_excluded),r=useFlag(),s=_slicedToArray(r,2),t=s[0],u=s[1],v=useRef(null),w=useRef(null),x=useRef(null),y=useForkRef([x,k]),z={onMouseEnter:u.on,className:cnProgressStepBarItem("Point",{size:j,pointer:!!l},[l?cnMixFocus():void 0]),children:"xs"!==j&&renderPointContent(f,j,h),ref:y,onClick:l},A=useMemo(function(){if("vertical"===i)return{tooltipDirection:"leftUp",possibleDirections:possibleVerticalDirections,spareDirection:"rightCenter"};var a="downCenter";return"start"===n&&(a="rightCenter"),"end"===n&&(a="leftCenter"),{tooltipDirection:"downCenter",possibleDirections:possibleHorizontalDirections,spareDirection:a}},[i,n]),B=A.tooltipDirection,C=A.possibleDirections,D=A.spareDirection;return useMouseLeave({isActive:t,refs:[v,x,w],handler:u.off,debounce:100}),React.createElement(React.Fragment,null,React.createElement("div",Object.assign({ref:b,className:cnProgressStepBarItem({direction:i,position:n,status:g||progressStepBarPropStatusDefault,size:j},[p])},q),React.createElement("button",Object.assign({tabIndex:-1,type:"button"},z)),(e||c)&&React.createElement("div",{className:cnProgressStepBarItem("Content",{bottomOffset:!!c})},e&&React.createElement(Text,{className:cnProgressStepBarItem("Label"),ref:v,size:j,onMouseEnter:u.on,lineHeight:"s"===j?"xs":j,view:"primary"},e),c)),React.createElement(Tooltip,{ref:w,isOpen:!!d&&t,anchorRef:x,className:cnProgressStepBarItem("Tooltip"),direction:B,style:{zIndex:o},isInteractive:!1,possibleDirections:C,spareDirection:D},d))});
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["content","tooltipContent","label","point","status","progress","direction","size","pointRef","onClick","position","tooltipZIndex","className"];import"./ProgressStepBarItem.css";import React,{useMemo,useRef}from"react";import{ProgressSpin}from"../../ProgressSpin";import{Text}from"../../Text";import{Tooltip}from"../../Tooltip";import{useFlag}from"../../../hooks/useFlag/useFlag";import{useForkRef}from"../../../hooks/useForkRef";import{useMouseLeave}from"../../../hooks/useMouseLeave";import{cnMixFocus}from"../../../mixs/MixFocus/MixFocus";import{cn}from"../../../utils/bem";import{progressStepBarPropPositionDefault,progressStepBarPropStatusDefault}from"../helpers";export var cnProgressStepBarItem=cn("ProgressStepBarItem");var possibleVerticalDirections=["leftCenter","rightCenter","rightUp","downCenter"],possibleHorizontalDirections=["downCenter","upCenter","downStartLeft","downStartRight"],renderPointContent=function(a,b,c){if(c)return React.createElement(ProgressSpin,{size:b});if(!a)return null;if("number"==typeof a)return React.createElement(Text,{className:cnProgressStepBarItem("PointText"),size:"s"===b?"2xs":"xs",weight:"bold",view:"primary",lineHeight:"m"},a);return React.createElement(a,{className:cnProgressStepBarItem("PointIcon"),size:"xs"})};export var ProgressStepBarItem=React.forwardRef(function(a,b){var c=a.content,d=a.tooltipContent,e=a.label,f=a.point,g=a.status,h=a.progress,i=a.direction,j=a.size,k=a.pointRef,l=a.onClick,m=a.position,n=void 0===m?progressStepBarPropPositionDefault:m,o=a.tooltipZIndex,p=a.className,q=_objectWithoutProperties(a,_excluded),r=useFlag(),s=_slicedToArray(r,2),t=s[0],u=s[1],v=useRef(null),w=useRef(null),x=useRef(null),y=useForkRef([x,k]),z={onMouseEnter:u.on,className:cnProgressStepBarItem("Point",{size:j,pointer:!!l},[l?cnMixFocus():void 0]),children:"xs"!==j&&renderPointContent(f,j,h),ref:y,onClick:l},A=useMemo(function(){if("vertical"===i)return{tooltipDirection:"leftUp",possibleDirections:possibleVerticalDirections,spareDirection:"rightCenter"};var a="downCenter";return"start"===n&&(a="rightCenter"),"end"===n&&(a="leftCenter"),{tooltipDirection:"downCenter",possibleDirections:possibleHorizontalDirections,spareDirection:a}},[i,n]),B=A.tooltipDirection,C=A.possibleDirections,D=A.spareDirection;return useMouseLeave({isActive:t,refs:[v,x,w],handler:u.off,debounce:100}),React.createElement(React.Fragment,null,React.createElement("div",Object.assign({ref:b,className:cnProgressStepBarItem({direction:i,position:n,status:g||progressStepBarPropStatusDefault,size:j},[p])},q),React.createElement("button",Object.assign({tabIndex:-1,type:"button"},z)),(e||c)&&React.createElement("div",{className:cnProgressStepBarItem("Content",{bottomOffset:!!c})},e&&React.createElement(Text,{className:cnProgressStepBarItem("Label"),ref:v,size:j,onMouseEnter:u.on,lineHeight:"s"===j?"xs":j,view:"primary"},e),c)),React.createElement(Tooltip,{ref:w,isOpen:!!d&&t,anchorRef:x,className:cnProgressStepBarItem("Tooltip"),direction:B,style:{zIndex:o},isInteractive:!1,possibleDirections:C,spareDirection:D},d))});
2
2
  //# sourceMappingURL=ProgressStepBarItem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressStepBarItem.js","names":["React","useMemo","useRef","ProgressSpin","Text","Tooltip","useFlag","useForkRef","useMouseLeave","cnMixFocus","cn","progressStepBarPropPositionDefault","progressStepBarPropStatusDefault","cnProgressStepBarItem","possibleVerticalDirections","possibleHorizontalDirections","renderPointContent","point","size","progress","ProgressStepBarItem","forwardRef","props","ref","content","tooltipContent","label","status","direction","pointRefProp","pointRef","onClick","position","tooltipZIndex","className","otherProps","isTooltipVisible","setTooltipVisible","anchorRef","tooltipRef","pointForkedRef","pointProps","onMouseEnter","on","pointer","children","tooltipDirection","possibleDirections","spareDirection","isActive","refs","handler","off","debounce","bottomOffset","zIndex"],"sources":["../../../../../../src/components/ProgressStepBar/ProgressStepBarItem/ProgressStepBarItem.tsx"],"sourcesContent":["import './ProgressStepBarItem.css';\n\nimport { IconComponent } from '@consta/icons/Icon';\nimport React, { useMemo, useRef } from 'react';\n\nimport { Direction } from '##/components/Popover';\nimport { ProgressSpin } from '##/components/ProgressSpin';\nimport { Text } from '##/components/Text';\nimport { Tooltip } from '##/components/Tooltip';\nimport { useFlag } from '##/hooks/useFlag/useFlag';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { useMouseLeave } from '##/hooks/useMouseLeave';\nimport { cnMixFocus } from '##/mixs/MixFocus/MixFocus';\nimport { cn } from '##/utils/bem';\n\nimport {\n ProgressStepBarItemComponent,\n ProgressStepBarPointNumbersMap,\n progressStepBarPropPositionDefault,\n progressStepBarPropStatusDefault,\n} from '../helpers';\n\nconst cnProgressStepBarItem = cn('ProgressStepBarItem');\n\nconst possibleVerticalDirections: Direction[] = [\n 'leftCenter',\n 'rightCenter',\n 'rightUp',\n 'downCenter',\n];\nconst possibleHorizontalDirections: Direction[] = [\n 'downCenter',\n 'upCenter',\n 'downStartLeft',\n 'downStartRight',\n];\n\nconst renderPointContent = (\n point: ProgressStepBarPointNumbersMap | IconComponent | undefined,\n size: 'm' | 's',\n progress: boolean | undefined,\n) => {\n if (progress) return <ProgressSpin size={size} />;\n if (!point) return null;\n\n if (typeof point === 'number') {\n return (\n <Text\n className={cnProgressStepBarItem('PointText')}\n size={size === 's' ? '2xs' : 'xs'}\n weight=\"bold\"\n view=\"primary\"\n lineHeight=\"m\"\n >\n {point}\n </Text>\n );\n }\n\n const Icon = point;\n\n return <Icon className={cnProgressStepBarItem('PointIcon')} size=\"xs\" />;\n};\n\nexport const ProgressStepBarItem: ProgressStepBarItemComponent =\n React.forwardRef((props, ref) => {\n const {\n content,\n tooltipContent,\n label,\n point,\n status,\n progress,\n direction,\n size,\n pointRef: pointRefProp,\n onClick,\n position = progressStepBarPropPositionDefault,\n tooltipZIndex,\n className,\n ...otherProps\n } = props;\n\n const [isTooltipVisible, setTooltipVisible] = useFlag();\n\n const anchorRef = useRef<HTMLDivElement>(null);\n const tooltipRef = useRef<HTMLDivElement>(null);\n const pointRef = useRef<HTMLButtonElement>(null);\n\n const pointForkedRef = useForkRef([pointRef, pointRefProp]);\n\n const pointProps = {\n onMouseEnter: setTooltipVisible.on,\n className: cnProgressStepBarItem(\n 'Point',\n {\n size,\n pointer: !!onClick,\n },\n [onClick ? cnMixFocus() : undefined],\n ),\n children: size !== 'xs' && renderPointContent(point, size, progress),\n ref: pointForkedRef,\n onClick,\n };\n\n const { tooltipDirection, possibleDirections, spareDirection } = useMemo<{\n tooltipDirection: Direction;\n possibleDirections: Direction[];\n spareDirection: Direction;\n }>(() => {\n if (direction === 'vertical') {\n return {\n tooltipDirection: 'leftUp',\n possibleDirections: possibleVerticalDirections,\n spareDirection: 'rightCenter',\n };\n }\n let spareDirection: Direction = 'downCenter';\n if (position === 'start') {\n spareDirection = 'rightCenter';\n }\n if (position === 'end') {\n spareDirection = 'leftCenter';\n }\n return {\n tooltipDirection: 'downCenter',\n possibleDirections: possibleHorizontalDirections,\n spareDirection,\n };\n }, [direction, position]);\n\n useMouseLeave({\n isActive: isTooltipVisible,\n refs: [anchorRef, pointRef, tooltipRef],\n handler: setTooltipVisible.off,\n debounce: 100,\n });\n\n return (\n <>\n <div\n ref={ref}\n className={cnProgressStepBarItem(\n {\n direction,\n position,\n status: status || progressStepBarPropStatusDefault,\n size,\n },\n [className],\n )}\n {...otherProps}\n >\n <button tabIndex={-1} type=\"button\" {...pointProps} />\n {(label || content) && (\n <div\n className={cnProgressStepBarItem('Content', {\n bottomOffset: !!content,\n })}\n >\n {label && (\n <Text\n className={cnProgressStepBarItem('Label')}\n ref={anchorRef}\n size={size}\n onMouseEnter={setTooltipVisible.on}\n lineHeight={size === 's' ? 'xs' : size}\n view=\"primary\"\n >\n {label}\n </Text>\n )}\n {content}\n </div>\n )}\n </div>\n <Tooltip\n ref={tooltipRef}\n isOpen={!!tooltipContent && isTooltipVisible}\n anchorRef={pointRef}\n className={cnProgressStepBarItem('Tooltip')}\n direction={tooltipDirection}\n style={{ zIndex: tooltipZIndex }}\n isInteractive={false}\n possibleDirections={possibleDirections}\n spareDirection={spareDirection}\n >\n {tooltipContent}\n </Tooltip>\n </>\n );\n });\n"],"mappings":"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"}
1
+ {"version":3,"file":"ProgressStepBarItem.js","names":["React","useMemo","useRef","ProgressSpin","Text","Tooltip","useFlag","useForkRef","useMouseLeave","cnMixFocus","cn","progressStepBarPropPositionDefault","progressStepBarPropStatusDefault","cnProgressStepBarItem","possibleVerticalDirections","possibleHorizontalDirections","renderPointContent","point","size","progress","ProgressStepBarItem","forwardRef","props","ref","content","tooltipContent","label","status","direction","pointRefProp","pointRef","onClick","position","tooltipZIndex","className","otherProps","isTooltipVisible","setTooltipVisible","anchorRef","tooltipRef","pointForkedRef","pointProps","onMouseEnter","on","pointer","children","tooltipDirection","possibleDirections","spareDirection","isActive","refs","handler","off","debounce","bottomOffset","zIndex"],"sources":["../../../../../../src/components/ProgressStepBar/ProgressStepBarItem/ProgressStepBarItem.tsx"],"sourcesContent":["import './ProgressStepBarItem.css';\n\nimport { IconComponent } from '@consta/icons/Icon';\nimport React, { useMemo, useRef } from 'react';\n\nimport { Direction } from '##/components/Popover';\nimport { ProgressSpin } from '##/components/ProgressSpin';\nimport { Text } from '##/components/Text';\nimport { Tooltip } from '##/components/Tooltip';\nimport { useFlag } from '##/hooks/useFlag/useFlag';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { useMouseLeave } from '##/hooks/useMouseLeave';\nimport { cnMixFocus } from '##/mixs/MixFocus/MixFocus';\nimport { cn } from '##/utils/bem';\n\nimport {\n ProgressStepBarItemComponent,\n ProgressStepBarPointNumbersMap,\n progressStepBarPropPositionDefault,\n progressStepBarPropStatusDefault,\n} from '../helpers';\n\nexport const cnProgressStepBarItem = cn('ProgressStepBarItem');\n\nconst possibleVerticalDirections: Direction[] = [\n 'leftCenter',\n 'rightCenter',\n 'rightUp',\n 'downCenter',\n];\nconst possibleHorizontalDirections: Direction[] = [\n 'downCenter',\n 'upCenter',\n 'downStartLeft',\n 'downStartRight',\n];\n\nconst renderPointContent = (\n point: ProgressStepBarPointNumbersMap | IconComponent | undefined,\n size: 'm' | 's',\n progress: boolean | undefined,\n) => {\n if (progress) return <ProgressSpin size={size} />;\n if (!point) return null;\n\n if (typeof point === 'number') {\n return (\n <Text\n className={cnProgressStepBarItem('PointText')}\n size={size === 's' ? '2xs' : 'xs'}\n weight=\"bold\"\n view=\"primary\"\n lineHeight=\"m\"\n >\n {point}\n </Text>\n );\n }\n\n const Icon = point;\n\n return <Icon className={cnProgressStepBarItem('PointIcon')} size=\"xs\" />;\n};\n\nexport const ProgressStepBarItem: ProgressStepBarItemComponent =\n React.forwardRef((props, ref) => {\n const {\n content,\n tooltipContent,\n label,\n point,\n status,\n progress,\n direction,\n size,\n pointRef: pointRefProp,\n onClick,\n position = progressStepBarPropPositionDefault,\n tooltipZIndex,\n className,\n ...otherProps\n } = props;\n\n const [isTooltipVisible, setTooltipVisible] = useFlag();\n\n const anchorRef = useRef<HTMLDivElement>(null);\n const tooltipRef = useRef<HTMLDivElement>(null);\n const pointRef = useRef<HTMLButtonElement>(null);\n\n const pointForkedRef = useForkRef([pointRef, pointRefProp]);\n\n const pointProps = {\n onMouseEnter: setTooltipVisible.on,\n className: cnProgressStepBarItem(\n 'Point',\n {\n size,\n pointer: !!onClick,\n },\n [onClick ? cnMixFocus() : undefined],\n ),\n children: size !== 'xs' && renderPointContent(point, size, progress),\n ref: pointForkedRef,\n onClick,\n };\n\n const { tooltipDirection, possibleDirections, spareDirection } = useMemo<{\n tooltipDirection: Direction;\n possibleDirections: Direction[];\n spareDirection: Direction;\n }>(() => {\n if (direction === 'vertical') {\n return {\n tooltipDirection: 'leftUp',\n possibleDirections: possibleVerticalDirections,\n spareDirection: 'rightCenter',\n };\n }\n let spareDirection: Direction = 'downCenter';\n if (position === 'start') {\n spareDirection = 'rightCenter';\n }\n if (position === 'end') {\n spareDirection = 'leftCenter';\n }\n return {\n tooltipDirection: 'downCenter',\n possibleDirections: possibleHorizontalDirections,\n spareDirection,\n };\n }, [direction, position]);\n\n useMouseLeave({\n isActive: isTooltipVisible,\n refs: [anchorRef, pointRef, tooltipRef],\n handler: setTooltipVisible.off,\n debounce: 100,\n });\n\n return (\n <>\n <div\n ref={ref}\n className={cnProgressStepBarItem(\n {\n direction,\n position,\n status: status || progressStepBarPropStatusDefault,\n size,\n },\n [className],\n )}\n {...otherProps}\n >\n <button tabIndex={-1} type=\"button\" {...pointProps} />\n {(label || content) && (\n <div\n className={cnProgressStepBarItem('Content', {\n bottomOffset: !!content,\n })}\n >\n {label && (\n <Text\n className={cnProgressStepBarItem('Label')}\n ref={anchorRef}\n size={size}\n onMouseEnter={setTooltipVisible.on}\n lineHeight={size === 's' ? 'xs' : size}\n view=\"primary\"\n >\n {label}\n </Text>\n )}\n {content}\n </div>\n )}\n </div>\n <Tooltip\n ref={tooltipRef}\n isOpen={!!tooltipContent && isTooltipVisible}\n anchorRef={pointRef}\n className={cnProgressStepBarItem('Tooltip')}\n direction={tooltipDirection}\n style={{ zIndex: tooltipZIndex }}\n isInteractive={false}\n possibleDirections={possibleDirections}\n spareDirection={spareDirection}\n >\n {tooltipContent}\n </Tooltip>\n </>\n );\n });\n"],"mappings":"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"}
@@ -116,6 +116,5 @@ export declare function withDefaultGetters<ITEM>(props: ProgressStepBarProps<ITE
116
116
  getItemOnClick: ProgressStepBarPropGetItemOnClick<ProgressStepBarItemDefault> | ProgressStepBarPropGetItemOnClick<ITEM>;
117
117
  };
118
118
  export declare const getItemPosition: (index: number, length: number) => "center" | "start" | "end";
119
- export declare const getLineSize: (container: React.RefObject<HTMLElement>, activeElement: React.RefObject<HTMLElement>, direction: ProgressStepBarPropDirection) => number;
120
119
  export declare const calculateLines: (refs: React.RefObject<HTMLElement>[], direction: ProgressStepBarPropDirection) => number[];
121
120
  export declare const validateVisibleIndex: (length: number, index: number | undefined) => number | undefined;
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import{cn}from"../../utils/bem";export var progressStepBarPropSize=["s","xs","m"];export var progressStepBarPropSizeDefault=progressStepBarPropSize[0];export var progressStepBarPropDirection=["horizontal","vertical"];export var progressStepBarPropDirectionDefault=progressStepBarPropDirection[0];export var progressStepBarPropStatus=["normal","success","warning","alert"];export var progressStepBarPropStatusDefault=progressStepBarPropStatus[0];export var progressStepBarPointNumbersMap=[0,1,2,3,4,5,6,7,8,9];export var progressStepBarPropPosition=["center","start","end"];export var progressStepBarPropPositionDefault=progressStepBarPropPosition[0];export var cnProgressStepBar=cn("ProgressStepBar");export var defaultGetItemLabel=function(a){return a.label};export var defaultGetItemTooltipContent=function(a){return a.tooltipContent};export var defaultGetItemPoint=function(a){return a.point};export var defaultGetItemLineStatus=function(a){return a.lineStatus};export var defaultGetItemProgress=function(a){return a.progress};export var defaultGetItemContent=function(a){return a.content};export var defaultGetItemStatus=function(a){return a.status};export var defaultGetItemOnClick=function(a){return a.onClick};export function withDefaultGetters(a){return _objectSpread(_objectSpread({},a),{},{getItemLabel:a.getItemLabel||defaultGetItemLabel,getItemTooltipContent:a.getItemTooltipContent||defaultGetItemTooltipContent,getItemPoint:a.getItemPoint||defaultGetItemPoint,getItemProgress:a.getItemProgress||defaultGetItemProgress,getItemContent:a.getItemContent||defaultGetItemContent,getItemStatus:a.getItemStatus||defaultGetItemStatus,getItemLineStatus:a.getItemLineStatus||defaultGetItemLineStatus,getItemOnClick:a.getItemOnClick||defaultGetItemOnClick})}export var getItemPosition=function(a,b){var c="center";return a===b-1&&(c="end"),0===a&&(c="start"),c};export var getLineSize=function(a,b,c){var d=0;if(a&&a.current&&b&&b.current){var e=a.current.getBoundingClientRect(),f=b.current.getBoundingClientRect();d="vertical"===c?f.y-e.y+f.height:f.x-e.x}return d};var getRefSize=function(a){if(a.current){var b=a.current.getBoundingClientRect(),c=b.width,d=b.height;return[c,d]}return[0,0]};export var calculateLines=function(a,b){for(var c=[],d=0;d<a.length-1;d++){var e=a[d],f=getRefSize(e),g=getRefSize(a[d+1]),h=0;h=0==d?"horizontal"===b?f[0]+g[0]/2:f[1]:d===a.length-2?"horizontal"===b?f[0]/2+g[0]:f[1]+2:"horizontal"===b?f[0]/2+g[0]/2:f[1],c.push(h)}return c};export var validateVisibleIndex=function(a,b){return b?0>b?void 0:Math.min(b,a-1):b};
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import{cn}from"../../utils/bem";export var progressStepBarPropSize=["s","xs","m"];export var progressStepBarPropSizeDefault=progressStepBarPropSize[0];export var progressStepBarPropDirection=["horizontal","vertical"];export var progressStepBarPropDirectionDefault=progressStepBarPropDirection[0];export var progressStepBarPropStatus=["normal","success","warning","alert"];export var progressStepBarPropStatusDefault=progressStepBarPropStatus[0];export var progressStepBarPointNumbersMap=[0,1,2,3,4,5,6,7,8,9];export var progressStepBarPropPosition=["center","start","end"];export var progressStepBarPropPositionDefault=progressStepBarPropPosition[0];export var cnProgressStepBar=cn("ProgressStepBar");export var defaultGetItemLabel=function(a){return a.label};export var defaultGetItemTooltipContent=function(a){return a.tooltipContent};export var defaultGetItemPoint=function(a){return a.point};export var defaultGetItemLineStatus=function(a){return a.lineStatus};export var defaultGetItemProgress=function(a){return a.progress};export var defaultGetItemContent=function(a){return a.content};export var defaultGetItemStatus=function(a){return a.status};export var defaultGetItemOnClick=function(a){return a.onClick};export function withDefaultGetters(a){return _objectSpread(_objectSpread({},a),{},{getItemLabel:a.getItemLabel||defaultGetItemLabel,getItemTooltipContent:a.getItemTooltipContent||defaultGetItemTooltipContent,getItemPoint:a.getItemPoint||defaultGetItemPoint,getItemProgress:a.getItemProgress||defaultGetItemProgress,getItemContent:a.getItemContent||defaultGetItemContent,getItemStatus:a.getItemStatus||defaultGetItemStatus,getItemLineStatus:a.getItemLineStatus||defaultGetItemLineStatus,getItemOnClick:a.getItemOnClick||defaultGetItemOnClick})}export var getItemPosition=function(a,b){var c="center";return a===b-1&&(c="end"),0===a&&(c="start"),c};var getRefSize=function(a){if(a.current){var b=a.current.getBoundingClientRect(),c=b.width,d=b.height;return[c,d]}return[0,0]};export var calculateLines=function(a,b){var c=[],d=a.length;if(2>d)return c;for(var p=0;p<d-1;p++){var e=getRefSize(a[p]),f=_slicedToArray(e,2),g=f[0],h=f[1],j=getRefSize(a[p+1]),k=_slicedToArray(j,1),l=k[0],m=0;if("horizontal"===b){var n=0===p?g:g/2,o=p===d-2?l:l/2;m=n+o}else m=h,p===d-2&&(m+=2);c.push(m)}return c};export var validateVisibleIndex=function(a,b){return b?0>b?void 0:Math.min(b,a-1):b};
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["cn","progressStepBarPropSize","progressStepBarPropSizeDefault","progressStepBarPropDirection","progressStepBarPropDirectionDefault","progressStepBarPropStatus","progressStepBarPropStatusDefault","progressStepBarPointNumbersMap","progressStepBarPropPosition","progressStepBarPropPositionDefault","cnProgressStepBar","defaultGetItemLabel","item","label","defaultGetItemTooltipContent","tooltipContent","defaultGetItemPoint","point","defaultGetItemLineStatus","lineStatus","defaultGetItemProgress","progress","defaultGetItemContent","content","defaultGetItemStatus","status","defaultGetItemOnClick","onClick","withDefaultGetters","props","getItemLabel","getItemTooltipContent","getItemPoint","getItemProgress","getItemContent","getItemStatus","getItemLineStatus","getItemOnClick","getItemPosition","index","length","position","getLineSize","container","activeElement","direction","size","current","containerPosition","getBoundingClientRect","activeElementPosition","y","height","x","getRefSize","ref","width","calculateLines","refs","sizes","i","firstSize","secondSize","push","validateVisibleIndex","Math","min"],"sources":["../../../../../src/components/ProgressStepBar/helpers.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { cn } from '../../utils/bem';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport const progressStepBarPropSize = ['s', 'xs', 'm'] as const;\nexport type ProgressStepBarPropSize = typeof progressStepBarPropSize[number];\nexport const progressStepBarPropSizeDefault = progressStepBarPropSize[0];\n\nexport const progressStepBarPropDirection = ['horizontal', 'vertical'] as const;\nexport type ProgressStepBarPropDirection =\n typeof progressStepBarPropDirection[number];\nexport const progressStepBarPropDirectionDefault =\n progressStepBarPropDirection[0];\n\nexport const progressStepBarPropStatus = [\n 'normal',\n 'success',\n 'warning',\n 'alert',\n] as const;\nexport type ProgressStepBarPropStatus =\n typeof progressStepBarPropStatus[number];\nexport const progressStepBarPropStatusDefault = progressStepBarPropStatus[0];\n\nexport const progressStepBarPointNumbersMap = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,\n] as const;\nexport type ProgressStepBarPointNumbersMap =\n typeof progressStepBarPointNumbersMap[number];\n\nexport const progressStepBarPropPosition = ['center', 'start', 'end'] as const;\nexport type ProgressStepBarPropPosition =\n typeof progressStepBarPropPosition[number];\nexport const progressStepBarPropPositionDefault: ProgressStepBarPropPosition =\n progressStepBarPropPosition[0];\n\nexport type ProgressStepBarPropGetItemLabel<ITEM> = (\n item: ITEM,\n) => string | undefined;\nexport type ProgressStepBarPropGetItemKey<ITEM> = (\n item: ITEM,\n) => string | number;\nexport type ProgressStepBarPropGetItemTooltipContent<ITEM> = (\n item: ITEM,\n) => string | undefined;\nexport type ProgressStepBarPropGetItemLineStatus<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPropStatus | undefined;\nexport type ProgressStepBarPropGetItemPoint<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPointNumbersMap | IconComponent | undefined;\nexport type ProgressStepBarPropGetItemProgress<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\nexport type ProgressStepBarPropGetItemContent<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\nexport type ProgressStepBarPropGetItemStatus<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPropStatus | undefined;\nexport type ProgressStepBarPropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => React.EventHandler<React.MouseEvent> | undefined;\n\nexport type ProgressStepBarItemDefault = {\n label?: string;\n tooltipContent?: string;\n lineStatus?: ProgressStepBarPropStatus;\n point?: ProgressStepBarPointNumbersMap | IconComponent;\n status?: ProgressStepBarPropStatus;\n progress?: boolean;\n content?: React.ReactNode;\n onClick?: React.EventHandler<React.MouseEvent>;\n};\n\nexport type Line = {\n status: ProgressStepBarPropStatus;\n size: number;\n};\n\nexport type ProgressStepBarPropOnItemClick<ITEM> = (\n item: ITEM,\n props: {\n e: React.MouseEvent;\n index: number;\n },\n) => void;\n\nexport type ProgressStepBarProps<ITEM = ProgressStepBarItemDefault> =\n PropsWithHTMLAttributesAndRef<\n {\n steps: ITEM[];\n direction?: ProgressStepBarPropDirection;\n size?: ProgressStepBarPropSize;\n activeStepIndex?: number;\n onItemClick?: ProgressStepBarPropOnItemClick<ITEM>;\n getItemLabel?: ProgressStepBarPropGetItemLabel<ITEM>;\n getItemLineStatus?: ProgressStepBarPropGetItemLineStatus<ITEM>;\n getItemTooltipContent?: ProgressStepBarPropGetItemTooltipContent<ITEM>;\n getItemPoint?: ProgressStepBarPropGetItemPoint<ITEM>;\n getItemProgress?: ProgressStepBarPropGetItemProgress<ITEM>;\n getItemContent?: ProgressStepBarPropGetItemContent<ITEM>;\n getItemStatus?: ProgressStepBarPropGetItemStatus<ITEM>;\n getItemOnClick?: ProgressStepBarPropGetItemOnClick<ITEM>;\n },\n HTMLDivElement\n > &\n (ITEM extends { label: ProgressStepBarItemDefault['label'] }\n ? {}\n : { getItemLabel: ProgressStepBarPropGetItemLabel<ITEM> });\n\nexport type ProgressStepBarItemProps = {\n content?: React.ReactNode;\n label?: string;\n point?: ProgressStepBarPointNumbersMap | IconComponent;\n progress?: boolean;\n status?: ProgressStepBarPropStatus | 'system';\n tooltipContent?: string;\n tooltipZIndex?: number;\n position?: ProgressStepBarPropPosition;\n direction: ProgressStepBarPropDirection;\n size: ProgressStepBarPropSize;\n onClick?: (e: React.MouseEvent) => void;\n pointRef?: React.RefObject<HTMLButtonElement>;\n className?: string;\n};\n\nexport const cnProgressStepBar = cn('ProgressStepBar');\n\nexport const defaultGetItemLabel: ProgressStepBarPropGetItemLabel<\n ProgressStepBarItemDefault\n> = (item) => item.label;\nexport const defaultGetItemTooltipContent: ProgressStepBarPropGetItemTooltipContent<\n ProgressStepBarItemDefault\n> = (item) => item.tooltipContent;\nexport const defaultGetItemPoint: ProgressStepBarPropGetItemPoint<\n ProgressStepBarItemDefault\n> = (item) => item.point;\nexport const defaultGetItemLineStatus: ProgressStepBarPropGetItemLineStatus<\n ProgressStepBarItemDefault\n> = (item) => item.lineStatus;\nexport const defaultGetItemProgress: ProgressStepBarPropGetItemProgress<\n ProgressStepBarItemDefault\n> = (item) => item.progress;\nexport const defaultGetItemContent: ProgressStepBarPropGetItemContent<\n ProgressStepBarItemDefault\n> = (item) => item.content;\nexport const defaultGetItemStatus: ProgressStepBarPropGetItemStatus<\n ProgressStepBarItemDefault\n> = (item) => item.status;\nexport const defaultGetItemOnClick: ProgressStepBarPropGetItemOnClick<\n ProgressStepBarItemDefault\n> = (item) => item.onClick;\n\nexport type ProgressStepBarComponent = <ITEM = ProgressStepBarItemDefault>(\n props: ProgressStepBarProps<ITEM>,\n) => React.ReactNode | null;\n\nexport type ProgressStepBarItemComponent = (\n props: PropsWithHTMLAttributesAndRef<\n ProgressStepBarItemProps,\n HTMLDivElement\n >,\n) => React.ReactNode | null;\n\nexport function withDefaultGetters<ITEM>(props: ProgressStepBarProps<ITEM>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemTooltipContent:\n props.getItemTooltipContent || defaultGetItemTooltipContent,\n getItemPoint: props.getItemPoint || defaultGetItemPoint,\n getItemProgress: props.getItemProgress || defaultGetItemProgress,\n getItemContent: props.getItemContent || defaultGetItemContent,\n getItemStatus: props.getItemStatus || defaultGetItemStatus,\n getItemLineStatus: props.getItemLineStatus || defaultGetItemLineStatus,\n getItemOnClick: props.getItemOnClick || defaultGetItemOnClick,\n };\n}\n\nexport const getItemPosition = (index: number, length: number) => {\n let position: ProgressStepBarPropPosition = 'center';\n if (index === length - 1) position = 'end';\n if (index === 0) position = 'start';\n\n return position;\n};\n\nexport const getLineSize: (\n container: React.RefObject<HTMLElement>,\n activeElement: React.RefObject<HTMLElement>,\n direction: ProgressStepBarPropDirection,\n) => number = (container, activeElement, direction) => {\n let size = 0;\n if (\n container &&\n container.current &&\n activeElement &&\n activeElement.current\n ) {\n const containerPosition = container.current.getBoundingClientRect();\n const activeElementPosition = activeElement.current.getBoundingClientRect();\n if (direction === 'vertical')\n size =\n activeElementPosition.y -\n containerPosition.y +\n activeElementPosition.height;\n else size = activeElementPosition.x - containerPosition.x;\n }\n return size;\n};\n\nconst getRefSize = (ref: React.RefObject<HTMLElement>) => {\n if (ref.current) {\n const { width, height } = ref.current.getBoundingClientRect();\n return [width, height];\n }\n return [0, 0];\n};\n\nexport const calculateLines = (\n refs: React.RefObject<HTMLElement>[],\n direction: ProgressStepBarPropDirection,\n) => {\n const sizes: number[] = [];\n for (let i = 0; i < refs.length - 1; i++) {\n const ref = refs[i];\n const firstSize = getRefSize(ref);\n const secondSize = getRefSize(refs[i + 1]);\n let size = 0;\n if (i === 0) {\n size =\n direction === 'horizontal'\n ? firstSize[0] + secondSize[0] / 2\n : firstSize[1];\n } else if (i === refs.length - 2) {\n size =\n direction === 'horizontal'\n ? firstSize[0] / 2 + secondSize[0]\n : firstSize[1] + 2;\n } else {\n size =\n direction === 'horizontal'\n ? firstSize[0] / 2 + secondSize[0] / 2\n : firstSize[1];\n }\n sizes.push(size);\n }\n\n return sizes;\n};\n\nexport const validateVisibleIndex = (\n length: number,\n index: number | undefined,\n) => {\n if (!index) {\n return index;\n }\n\n if (index < 0) {\n return undefined;\n }\n\n return Math.min(index, length - 1);\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","names":["cn","progressStepBarPropSize","progressStepBarPropSizeDefault","progressStepBarPropDirection","progressStepBarPropDirectionDefault","progressStepBarPropStatus","progressStepBarPropStatusDefault","progressStepBarPointNumbersMap","progressStepBarPropPosition","progressStepBarPropPositionDefault","cnProgressStepBar","defaultGetItemLabel","item","label","defaultGetItemTooltipContent","tooltipContent","defaultGetItemPoint","point","defaultGetItemLineStatus","lineStatus","defaultGetItemProgress","progress","defaultGetItemContent","content","defaultGetItemStatus","status","defaultGetItemOnClick","onClick","withDefaultGetters","props","getItemLabel","getItemTooltipContent","getItemPoint","getItemProgress","getItemContent","getItemStatus","getItemLineStatus","getItemOnClick","getItemPosition","index","length","position","getRefSize","ref","current","getBoundingClientRect","width","height","calculateLines","refs","direction","sizes","i","width1","height1","width2","size","first","second","push","validateVisibleIndex","Math","min"],"sources":["../../../../../src/components/ProgressStepBar/helpers.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { cn } from '../../utils/bem';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport const progressStepBarPropSize = ['s', 'xs', 'm'] as const;\nexport type ProgressStepBarPropSize = typeof progressStepBarPropSize[number];\nexport const progressStepBarPropSizeDefault = progressStepBarPropSize[0];\n\nexport const progressStepBarPropDirection = ['horizontal', 'vertical'] as const;\nexport type ProgressStepBarPropDirection =\n typeof progressStepBarPropDirection[number];\nexport const progressStepBarPropDirectionDefault =\n progressStepBarPropDirection[0];\n\nexport const progressStepBarPropStatus = [\n 'normal',\n 'success',\n 'warning',\n 'alert',\n] as const;\nexport type ProgressStepBarPropStatus =\n typeof progressStepBarPropStatus[number];\nexport const progressStepBarPropStatusDefault = progressStepBarPropStatus[0];\n\nexport const progressStepBarPointNumbersMap = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,\n] as const;\nexport type ProgressStepBarPointNumbersMap =\n typeof progressStepBarPointNumbersMap[number];\n\nexport const progressStepBarPropPosition = ['center', 'start', 'end'] as const;\nexport type ProgressStepBarPropPosition =\n typeof progressStepBarPropPosition[number];\nexport const progressStepBarPropPositionDefault: ProgressStepBarPropPosition =\n progressStepBarPropPosition[0];\n\nexport type ProgressStepBarPropGetItemLabel<ITEM> = (\n item: ITEM,\n) => string | undefined;\nexport type ProgressStepBarPropGetItemKey<ITEM> = (\n item: ITEM,\n) => string | number;\nexport type ProgressStepBarPropGetItemTooltipContent<ITEM> = (\n item: ITEM,\n) => string | undefined;\nexport type ProgressStepBarPropGetItemLineStatus<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPropStatus | undefined;\nexport type ProgressStepBarPropGetItemPoint<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPointNumbersMap | IconComponent | undefined;\nexport type ProgressStepBarPropGetItemProgress<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\nexport type ProgressStepBarPropGetItemContent<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\nexport type ProgressStepBarPropGetItemStatus<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPropStatus | undefined;\nexport type ProgressStepBarPropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => React.EventHandler<React.MouseEvent> | undefined;\n\nexport type ProgressStepBarItemDefault = {\n label?: string;\n tooltipContent?: string;\n lineStatus?: ProgressStepBarPropStatus;\n point?: ProgressStepBarPointNumbersMap | IconComponent;\n status?: ProgressStepBarPropStatus;\n progress?: boolean;\n content?: React.ReactNode;\n onClick?: React.EventHandler<React.MouseEvent>;\n};\n\nexport type Line = {\n status: ProgressStepBarPropStatus;\n size: number;\n};\n\nexport type ProgressStepBarPropOnItemClick<ITEM> = (\n item: ITEM,\n props: {\n e: React.MouseEvent;\n index: number;\n },\n) => void;\n\nexport type ProgressStepBarProps<ITEM = ProgressStepBarItemDefault> =\n PropsWithHTMLAttributesAndRef<\n {\n steps: ITEM[];\n direction?: ProgressStepBarPropDirection;\n size?: ProgressStepBarPropSize;\n activeStepIndex?: number;\n onItemClick?: ProgressStepBarPropOnItemClick<ITEM>;\n getItemLabel?: ProgressStepBarPropGetItemLabel<ITEM>;\n getItemLineStatus?: ProgressStepBarPropGetItemLineStatus<ITEM>;\n getItemTooltipContent?: ProgressStepBarPropGetItemTooltipContent<ITEM>;\n getItemPoint?: ProgressStepBarPropGetItemPoint<ITEM>;\n getItemProgress?: ProgressStepBarPropGetItemProgress<ITEM>;\n getItemContent?: ProgressStepBarPropGetItemContent<ITEM>;\n getItemStatus?: ProgressStepBarPropGetItemStatus<ITEM>;\n getItemOnClick?: ProgressStepBarPropGetItemOnClick<ITEM>;\n },\n HTMLDivElement\n > &\n (ITEM extends { label: ProgressStepBarItemDefault['label'] }\n ? {}\n : { getItemLabel: ProgressStepBarPropGetItemLabel<ITEM> });\n\nexport type ProgressStepBarItemProps = {\n content?: React.ReactNode;\n label?: string;\n point?: ProgressStepBarPointNumbersMap | IconComponent;\n progress?: boolean;\n status?: ProgressStepBarPropStatus | 'system';\n tooltipContent?: string;\n tooltipZIndex?: number;\n position?: ProgressStepBarPropPosition;\n direction: ProgressStepBarPropDirection;\n size: ProgressStepBarPropSize;\n onClick?: (e: React.MouseEvent) => void;\n pointRef?: React.RefObject<HTMLButtonElement>;\n className?: string;\n};\n\nexport const cnProgressStepBar = cn('ProgressStepBar');\n\nexport const defaultGetItemLabel: ProgressStepBarPropGetItemLabel<\n ProgressStepBarItemDefault\n> = (item) => item.label;\nexport const defaultGetItemTooltipContent: ProgressStepBarPropGetItemTooltipContent<\n ProgressStepBarItemDefault\n> = (item) => item.tooltipContent;\nexport const defaultGetItemPoint: ProgressStepBarPropGetItemPoint<\n ProgressStepBarItemDefault\n> = (item) => item.point;\nexport const defaultGetItemLineStatus: ProgressStepBarPropGetItemLineStatus<\n ProgressStepBarItemDefault\n> = (item) => item.lineStatus;\nexport const defaultGetItemProgress: ProgressStepBarPropGetItemProgress<\n ProgressStepBarItemDefault\n> = (item) => item.progress;\nexport const defaultGetItemContent: ProgressStepBarPropGetItemContent<\n ProgressStepBarItemDefault\n> = (item) => item.content;\nexport const defaultGetItemStatus: ProgressStepBarPropGetItemStatus<\n ProgressStepBarItemDefault\n> = (item) => item.status;\nexport const defaultGetItemOnClick: ProgressStepBarPropGetItemOnClick<\n ProgressStepBarItemDefault\n> = (item) => item.onClick;\n\nexport type ProgressStepBarComponent = <ITEM = ProgressStepBarItemDefault>(\n props: ProgressStepBarProps<ITEM>,\n) => React.ReactNode | null;\n\nexport type ProgressStepBarItemComponent = (\n props: PropsWithHTMLAttributesAndRef<\n ProgressStepBarItemProps,\n HTMLDivElement\n >,\n) => React.ReactNode | null;\n\nexport function withDefaultGetters<ITEM>(props: ProgressStepBarProps<ITEM>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemTooltipContent:\n props.getItemTooltipContent || defaultGetItemTooltipContent,\n getItemPoint: props.getItemPoint || defaultGetItemPoint,\n getItemProgress: props.getItemProgress || defaultGetItemProgress,\n getItemContent: props.getItemContent || defaultGetItemContent,\n getItemStatus: props.getItemStatus || defaultGetItemStatus,\n getItemLineStatus: props.getItemLineStatus || defaultGetItemLineStatus,\n getItemOnClick: props.getItemOnClick || defaultGetItemOnClick,\n };\n}\n\nexport const getItemPosition = (index: number, length: number) => {\n let position: ProgressStepBarPropPosition = 'center';\n if (index === length - 1) position = 'end';\n if (index === 0) position = 'start';\n\n return position;\n};\n\nconst getRefSize = (ref: React.RefObject<HTMLElement>) => {\n if (ref.current) {\n const { width, height } = ref.current.getBoundingClientRect();\n return [width, height];\n }\n return [0, 0];\n};\n\nexport const calculateLines = (\n refs: React.RefObject<HTMLElement>[],\n direction: ProgressStepBarPropDirection,\n) => {\n const sizes: number[] = [];\n const { length } = refs;\n\n if (length < 2) {\n return sizes;\n }\n\n for (let i = 0; i < length - 1; i++) {\n const [width1, height1] = getRefSize(refs[i]);\n const [width2] = getRefSize(refs[i + 1]);\n\n let size = 0;\n if (direction === 'horizontal') {\n const first = i === 0 ? width1 : width1 / 2;\n const second = i === length - 2 ? width2 : width2 / 2;\n size = first + second;\n } else {\n size = height1;\n if (i === length - 2) {\n size += 2;\n }\n }\n sizes.push(size);\n }\n\n return sizes;\n};\n\nexport const validateVisibleIndex = (\n length: number,\n index: number | undefined,\n) => {\n if (!index) {\n return index;\n }\n\n if (index < 0) {\n return undefined;\n }\n\n return Math.min(index, length - 1);\n};\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@consta/uikit",
3
- "version": "5.24.2",
3
+ "version": "5.25.1",
4
4
  "keywords": [
5
5
  "ui-kit",
6
6
  "design-system",
@@ -1 +0,0 @@
1
- {"version":3,"file":"AutoComplete.js","names":["React","cnCanary","AutoCompleteTypeText","AutoCompleteTypeTextArray","typeMap","text","textarray","cnAutoComplete","AutoCompleteRender","props","ref","type","Component","className","AutoComplete","forwardRef"],"sources":["../../../../../src/components/AutoCompleteCanary/AutoComplete.tsx"],"sourcesContent":["import React from 'react';\n\nimport { cnCanary } from '##/utils/bem';\n\nimport { AutoCompleteTypeText } from './AutoCompleteTypeText';\nimport { AutoCompleteTypeTextArray } from './AutoCompleteTypeTextArray';\nimport {\n AutoCompleteComponent,\n AutoCompleteGroupDefault,\n AutoCompleteItemDefault,\n AutoCompleteProps,\n AutoCompleteTypeComponent,\n} from './types';\n\nconst typeMap: Record<\n string,\n AutoCompleteTypeComponent<string> | AutoCompleteTypeComponent<'textarray'>\n> = {\n text: AutoCompleteTypeText,\n textarray: AutoCompleteTypeTextArray,\n};\n\nexport const cnAutoComplete = cnCanary('AutoComplete');\n\nconst AutoCompleteRender = <\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n>(\n props: AutoCompleteProps<TYPE, ITEM, GROUP>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const type = props.type || 'text';\n const Component = typeMap[type] || typeMap.text;\n\n return (\n <Component\n {...(props as unknown as AutoCompleteTypeComponent<TYPE, ITEM, GROUP>)}\n ref={ref}\n className={cnAutoComplete({ type }, [props.className])}\n />\n );\n};\n\nexport const AutoComplete = React.forwardRef(\n AutoCompleteRender,\n) as AutoCompleteComponent;\n\nexport * from './types';\n"],"mappings":"AAAA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,QAAT,uBAEA,OAASC,oBAAT,8BACA,OAASC,yBAAT,mCASA,GAAMC,QAGL,CAAG,CACFC,IAAI,CAAEH,oBADJ,CAEFI,SAAS,CAAEH,yBAFT,CAHJ,CAQA,MAAO,IAAMI,eAAc,CAAGN,QAAQ,CAAC,cAAD,CAA/B,CAEP,GAAMO,mBAAkB,CAAG,SAKzBC,CALyB,CAMzBC,CANyB,CAOtB,IACGC,EAAI,CAAGF,CAAK,CAACE,IAAN,EAAc,MADxB,CAEGC,CAAS,CAAGR,OAAO,CAACO,CAAD,CAAP,EAAiBP,OAAO,CAACC,IAFxC,CAIH,MACE,qBAAC,CAAD,kBACOI,CADP,EAEE,GAAG,CAAEC,CAFP,CAGE,SAAS,CAAEH,cAAc,CAAC,CAAEI,IAAI,CAAJA,CAAF,CAAD,CAAW,CAACF,CAAK,CAACI,SAAP,CAAX,CAH3B,GAMH,CAlBD,CAoBA,MAAO,IAAMC,aAAY,CAAGd,KAAK,CAACe,UAAN,CAC1BP,kBAD0B,CAArB,CAIP"}