@consta/uikit 4.28.1 → 4.29.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/AutoCompleteCanary/helpers.d.ts +1 -1
- package/__internal__/src/components/AvatarGroup/helpers.d.ts +1 -1
- package/__internal__/src/components/BadgeGroup/types.d.ts +3 -2
- package/__internal__/src/components/BadgeGroup/types.js.map +1 -1
- package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabs.css +1 -1
- package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsCanary.js +1 -1
- package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsCanary.js.map +1 -1
- package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.css +1 -1
- package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.js +1 -1
- package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.js.map +1 -1
- package/__internal__/src/components/BookmarkTabsCanary/helper.d.ts +1 -1
- package/__internal__/src/components/BookmarkTabsCanary/types.d.ts +10 -7
- package/__internal__/src/components/BookmarkTabsCanary/types.js.map +1 -1
- package/__internal__/src/components/Button/Button.css +1 -1
- package/__internal__/src/components/Button/Button.d.ts +1 -0
- package/__internal__/src/components/Button/Button.js +1 -1
- package/__internal__/src/components/Button/Button.js.map +1 -1
- package/__internal__/src/components/ChipsCanary/types.d.ts +3 -2
- package/__internal__/src/components/ChipsCanary/types.js.map +1 -1
- package/__internal__/src/components/ChoiceGroup/helper.d.ts +1 -1
- package/__internal__/src/components/CollapseGroup/helpers.d.ts +2 -2
- package/__internal__/src/components/Combobox/helpers.d.ts +2 -2
- package/__internal__/src/components/ComboboxCanary/helpers.d.ts +2 -2
- package/__internal__/src/components/ContextMenu/ContextMenuLevel/ContextMenuLevel.js.map +1 -1
- package/__internal__/src/components/ContextMenu/helpers.d.ts +4 -4
- package/__internal__/src/components/ContextMenu/types.d.ts +7 -6
- package/__internal__/src/components/ContextMenu/types.js.map +1 -1
- package/__internal__/src/components/ContextMenuDeprecated/helpers.d.ts +5 -4
- package/__internal__/src/components/ContextMenuDeprecated/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.d.ts +2 -2
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.d.ts +2 -2
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.d.ts +2 -2
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.d.ts +2 -2
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.d.ts +2 -2
- package/__internal__/src/components/FileField/FileField.d.ts +2 -1
- package/__internal__/src/components/FileField/FileField.js.map +1 -1
- package/__internal__/src/components/Header/Logo/HeaderLogo.d.ts +3 -2
- package/__internal__/src/components/Header/Logo/HeaderLogo.js.map +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/types.d.ts +5 -4
- package/__internal__/src/components/ListCanary/types.js.map +1 -1
- package/__internal__/src/components/ProgressStepBar/helpers.d.ts +2 -2
- package/__internal__/src/components/Select/helpers.d.ts +2 -2
- package/__internal__/src/components/SelectCanary/helpers.d.ts +2 -2
- package/__internal__/src/components/Sidebar/Sidebar.d.ts +2 -2
- package/__internal__/src/components/Sidebar/Sidebar.js.map +1 -1
- package/__internal__/src/components/SnackBar/helper.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 +4 -3
- 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/FitModeScrollWrapper/TabsFitModeScrollWrapper.js +1 -1
- package/__internal__/src/components/Tabs/FitModeScrollWrapper/TabsFitModeScrollWrapper.js.map +1 -1
- package/__internal__/src/components/Tabs/Line/TabsLine.d.ts +1 -0
- package/__internal__/src/components/Tabs/Line/TabsLine.js +1 -1
- package/__internal__/src/components/Tabs/Line/TabsLine.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/types.d.ts +7 -5
- package/__internal__/src/components/Tabs/types.js.map +1 -1
- package/__internal__/src/components/Tag/Tag.d.ts +3 -2
- package/__internal__/src/components/Tag/Tag.js.map +1 -1
- package/__internal__/src/components/TagBase/TagBase.d.ts +1 -1
- package/__internal__/src/components/UserSelect/helpers.d.ts +2 -2
- package/__internal__/src/components/UserSelectCanary/helpers.d.ts +2 -2
- package/__internal__/src/utils/types/AsTags.d.ts +3 -0
- package/__internal__/src/utils/types/AsTags.js +2 -0
- package/__internal__/src/utils/types/AsTags.js.map +1 -0
- package/__internal__/src/utils/types/PropsWithAsAttributes.d.ts +6 -5
- package/__internal__/src/utils/types/PropsWithAsAttributes.js.map +1 -1
- package/__internal__/src/utils/types/PropsWithJsxAttributes.d.ts +2 -1
- package/__internal__/src/utils/types/PropsWithJsxAttributes.js.map +1 -1
- package/package.json +1 -1
|
@@ -25,7 +25,7 @@ export declare function withDefaultGetters<TYPE extends string, ITEM = AutoCompl
|
|
|
25
25
|
onDropdownOpen?: ((isOpen: boolean) => void) | undefined;
|
|
26
26
|
dropdownOpen?: boolean | undefined;
|
|
27
27
|
ignoreOutsideClicksRefs?: readonly import("react").RefObject<HTMLElement>[] | undefined;
|
|
28
|
-
} & Omit<import("../TextField").TextFieldProps<TYPE>, "onChange" | "step" | "
|
|
28
|
+
} & Omit<import("../TextField").TextFieldProps<TYPE>, "onChange" | "step" | "width" | "max" | "min" | "incrementButtons"> & (ITEM extends {
|
|
29
29
|
label: string;
|
|
30
30
|
} ? {} : {
|
|
31
31
|
getItemLabel: AutoCompletePropGetItemLabel<ITEM>;
|
|
@@ -7,7 +7,7 @@ export declare function withDefaultGetters<ITEM>(props: AvatarGroupProps<ITEM>):
|
|
|
7
7
|
items?: ITEM[] | undefined;
|
|
8
8
|
visibleCount?: number | "auto" | undefined;
|
|
9
9
|
size?: "m" | "s" | "xs" | "l" | undefined;
|
|
10
|
-
form?: "default" | "
|
|
10
|
+
form?: "default" | "brick" | "round" | undefined;
|
|
11
11
|
monochrome?: boolean | undefined;
|
|
12
12
|
defaultChecked?: boolean | undefined;
|
|
13
13
|
defaultValue?: string | number | readonly string[] | undefined;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IconComponent } from '@consta/icons/Icon';
|
|
2
2
|
import React from 'react';
|
|
3
|
+
import { AsAttributes, AsTags } from "../../utils/types/AsTags";
|
|
3
4
|
import { PropsWithHTMLAttributesAndRef } from "../../utils/types/PropsWithHTMLAttributes";
|
|
4
5
|
import { BadgePropForm, BadgePropSize, BadgePropStatus, BadgePropView } from '../Badge/Badge';
|
|
5
6
|
export declare type BadgeGroupDefaultItem = {
|
|
@@ -9,9 +10,9 @@ export declare type BadgeGroupDefaultItem = {
|
|
|
9
10
|
label?: string;
|
|
10
11
|
iconLeft?: IconComponent;
|
|
11
12
|
iconRight?: IconComponent;
|
|
12
|
-
as?:
|
|
13
|
+
as?: AsTags;
|
|
13
14
|
ref?: React.RefObject<HTMLElement>;
|
|
14
|
-
attributes?: Omit<
|
|
15
|
+
attributes?: Omit<AsAttributes, 'children' | 'ref'>;
|
|
15
16
|
};
|
|
16
17
|
export declare type BadgeGroupPropGetItemKey<ITEM> = (item: ITEM) => BadgeGroupDefaultItem['key'];
|
|
17
18
|
export declare type BadgeGroupPropGetItemStatus<ITEM> = (item: ITEM) => BadgeGroupDefaultItem['status'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/BadgeGroup/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport {\n BadgePropForm,\n BadgePropSize,\n BadgePropStatus,\n BadgePropView,\n} from '../Badge/Badge';\n\nexport type BadgeGroupDefaultItem = {\n key: string | number;\n status?: BadgePropStatus;\n view?: BadgePropView;\n label?: string;\n iconLeft?: IconComponent;\n iconRight?: IconComponent;\n as?:
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/BadgeGroup/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { AsAttributes, AsTags } from '##/utils/types/AsTags';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport {\n BadgePropForm,\n BadgePropSize,\n BadgePropStatus,\n BadgePropView,\n} from '../Badge/Badge';\n\nexport type BadgeGroupDefaultItem = {\n key: string | number;\n status?: BadgePropStatus;\n view?: BadgePropView;\n label?: string;\n iconLeft?: IconComponent;\n iconRight?: IconComponent;\n as?: AsTags;\n ref?: React.RefObject<HTMLElement>;\n attributes?: Omit<AsAttributes, 'children' | 'ref'>;\n};\n\nexport type BadgeGroupPropGetItemKey<ITEM> = (\n item: ITEM,\n) => BadgeGroupDefaultItem['key'];\nexport type BadgeGroupPropGetItemStatus<ITEM> = (\n item: ITEM,\n) => BadgeGroupDefaultItem['status'];\nexport type BadgeGroupPropGetItemView<ITEM> = (\n item: ITEM,\n) => BadgeGroupDefaultItem['view'];\nexport type BadgeGroupPropGetItemLabel<ITEM> = (\n item: ITEM,\n) => BadgeGroupDefaultItem['label'];\nexport type BadgeGroupPropGetItemIconLeft<ITEM> = (\n item: ITEM,\n) => BadgeGroupDefaultItem['iconLeft'];\nexport type BadgeGroupPropGetItemIconRight<ITEM> = (\n item: ITEM,\n) => BadgeGroupDefaultItem['iconRight'];\nexport type BadgeGroupPropGetItemRef<ITEM> = (\n item: ITEM,\n) => BadgeGroupDefaultItem['ref'];\nexport type BadgeGroupPropGetItemAs<ITEM> = (\n item: ITEM,\n) => BadgeGroupDefaultItem['as'];\nexport type BadgeGroupPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) => BadgeGroupDefaultItem['attributes'];\n\nexport type BadgeGroupProps<ITEM = BadgeGroupDefaultItem> =\n PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n fitMode?: 'reduction' | 'wrap';\n getItemKey?: BadgeGroupPropGetItemKey<ITEM>;\n getItemLabel?: BadgeGroupPropGetItemLabel<ITEM>;\n getItemStatus?: BadgeGroupPropGetItemStatus<ITEM>;\n getItemView?: BadgeGroupPropGetItemView<ITEM>;\n getItemIconLeft?: BadgeGroupPropGetItemIconLeft<ITEM>;\n getItemIconRight?: BadgeGroupPropGetItemIconRight<ITEM>;\n getItemRef?: BadgeGroupPropGetItemRef<ITEM>;\n getItemAs?: BadgeGroupPropGetItemAs<ITEM>;\n getItemAttributes?: BadgeGroupPropGetItemAttributes<ITEM>;\n form?: BadgePropForm;\n size?: BadgePropSize;\n minified?: boolean;\n moreRef?: React.RefObject<HTMLDivElement>;\n moreAttributes?: Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>;\n },\n HTMLDivElement\n > &\n (ITEM extends { key: string | number }\n ? {}\n : {\n getItemKey: BadgeGroupPropGetItemKey<ITEM>;\n });\n\nexport type BadgeGroupComponent = <ITEM = BadgeGroupDefaultItem>(\n props: BadgeGroupProps<ITEM>,\n) => React.ReactElement | null;\n"],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.canary--BookmarkTabs{display:flex;flex-wrap:nowrap;height:var(--bookmark-tabs-tab-size);max-width:100%;white-space:nowrap;width:100%}.canary--BookmarkTabs-Wrapper{display:inline-flex;max-width:100%;overflow-x:auto;width:-moz-max-content;width:max-content}.canary--BookmarkTabs-Wrapper::-webkit-scrollbar:horizontal{display:none;height:0;width:0}.canary--BookmarkTabs-Wrapper::-webkit-scrollbar-thumb:horizontal{display:none}.canary--BookmarkTabs-List{display:inline-flex;height:var(--bookmark-tabs-tab-size);max-width:var(--bookmarks-list-width);width:-moz-max-content;width:max-content}.canary--BookmarkTabs-List>.canary--BookmarkTabsTab{flex:1}.canary--
|
|
1
|
+
.canary--BookmarkTabs{display:flex;flex-wrap:nowrap;height:var(--bookmark-tabs-tab-size);max-width:100%;white-space:nowrap;width:100%}.canary--BookmarkTabs-Wrapper{display:inline-flex;max-width:100%;overflow-x:auto;width:-moz-max-content;width:max-content}.canary--BookmarkTabs-Wrapper::-webkit-scrollbar:horizontal{display:none;height:0;width:0}.canary--BookmarkTabs-Wrapper::-webkit-scrollbar-thumb:horizontal{display:none}.canary--BookmarkTabs-List{display:inline-flex;height:var(--bookmark-tabs-tab-size);max-width:var(--bookmarks-list-width);width:-moz-max-content;width:max-content}.canary--BookmarkTabs-List>.canary--BookmarkTabsTab{flex:1}.canary--BookmarkTabs_form_brick{--bookmark-divider-height:100%;--bookmark-divider-top:0}.canary--BookmarkTabs_form_round{--bookmark-divider-top:calc(var(--space-l)/2);--bookmark-divider-height:calc(100% - var(--space-l))}.canary--BookmarkTabs_size_s{--bookmark-tabs-tab-size:var(--space-2xl)}.canary--BookmarkTabs_size_m{--bookmark-tabs-tab-size:var(--space-3xl)}.canary--BookmarkTabs_view_ghost{background:var(--color-bg-secondary)}.canary--BookmarkTabs-Empty{border-bottom:1px solid var(--color-bg-border);flex:auto}.canary--BookmarkTabs-Button{align-items:center;border-bottom:1px solid var(--color-bg-border);display:inline-flex;justify-content:center;min-height:var(--bookmark-tabs-tab-size);min-width:var(--bookmark-tabs-tab-size);position:relative}.canary--BookmarkTabs-Button_type_add:before{background:var(--color-bg-border);content:"";height:var(--bookmark-divider-height);left:0;position:absolute;top:var(--bookmark-divider-top);width:1px}.canary--BookmarkTabs-Block{max-width:100%;width:-moz-max-content;width:max-content}.canary--BookmarkTabs-ScrollControls{align-items:center;display:inline-flex;justify-content:center}.canary--BookmarkTabs-ScrollControls>*{border-right:1px solid var(--color-bg-border)}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["item","attributes"],_excluded2=["items","value","onCreate","getItemKey","getItemLabel","getItemLeftIcon","getItemRightIcon","getItemAs","getItemRef","getItemAttributes","getItemFixed","onChange","onRemove","renderItem","size","form","view","withNavigationButtons","className","id"];import"./BookmarkTabs.css";import{IconAdd}from"@consta/icons/IconAdd";import{IconArrowLeft}from"@consta/icons/IconArrowLeft";import{IconArrowRight}from"@consta/icons/IconArrowRight";import React,{forwardRef}from"react";import{useComponentSize}from"../../hooks/useComponentSize";import{useForkRef}from"../../hooks/useForkRef";import{cnCanary as cn}from"../../utils/bem";import{Button}from"../Button";import{BookmarkTabsTab}from"./BookmarkTabsTab";import{withDefaultGetters}from"./helper";import{bookmarkTabsPropFormDefault,bookmarkTabsPropSizeDefault,bookmarkTabsPropViewDefault}from"./types";import{useBookmarkTabs}from"./useBookmarkTabs";export var cnBookmarkTabs=cn("BookmarkTabs");var renderItemDefault=function(a){var b=a.item,c=a.attributes,d=void 0===c?{}:c,e=_objectWithoutProperties(a,_excluded);return React.createElement(BookmarkTabsTab,Object.assign({},d,e))},BookmarkTabsRender=function(a,b){var c=withDefaultGetters(a),d=c.items,e=void 0===d?[]:d,f=c.value,g=c.onCreate,h=c.getItemKey,i=c.getItemLabel,j=c.getItemLeftIcon,k=c.getItemRightIcon,l=c.getItemAs,m=c.getItemRef,n=c.getItemAttributes,o=c.getItemFixed,p=c.onChange,q=c.onRemove,r=c.renderItem,s=void 0===r?renderItemDefault:r,t=c.size,u=void 0===t?bookmarkTabsPropSizeDefault:t,v=c.form,w=void 0===v?bookmarkTabsPropFormDefault:v,x=c.view,y=void 0===x?bookmarkTabsPropViewDefault:x,z=c.withNavigationButtons,A=c.className,B=c.id,C=_objectWithoutProperties(c,_excluded2),D=function(a){return!!f&&h(a)===h(f)},E=useBookmarkTabs({items:e,getItemFixed:o,size:u,withNavigationButtons:z,withAddButton:!!g}),F=E.refs,G=E.fixedTabs,H=E.fixedTabsRef,I=E.otherTabs,J=E.otherTabsRef,K=E.showControls,L=E.wrapperRef,M=E.containerRef,N=E.controlsRef,O=E.addButtonRef,P=E.navigate,Q=E.sizes,R=useComponentSize(H),S=R.width,T=function(a,b,c,d){var
|
|
1
|
+
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["item","attributes","as"],_excluded2=["items","value","onCreate","getItemKey","getItemLabel","getItemLeftIcon","getItemRightIcon","getItemAs","getItemRef","getItemAttributes","getItemFixed","onChange","onRemove","renderItem","size","form","view","withNavigationButtons","className","id"];import"./BookmarkTabs.css";import{IconAdd}from"@consta/icons/IconAdd";import{IconArrowLeft}from"@consta/icons/IconArrowLeft";import{IconArrowRight}from"@consta/icons/IconArrowRight";import React,{forwardRef,useMemo}from"react";import{useComponentSize}from"../../hooks/useComponentSize";import{useForkRef}from"../../hooks/useForkRef";import{cnCanary as cn}from"../../utils/bem";import{Button}from"../Button";import{BookmarkTabsTab}from"./BookmarkTabsTab";import{withDefaultGetters}from"./helper";import{bookmarkTabsPropFormDefault,bookmarkTabsPropSizeDefault,bookmarkTabsPropViewDefault}from"./types";import{useBookmarkTabs}from"./useBookmarkTabs";export var cnBookmarkTabs=cn("BookmarkTabs");var renderItemDefault=function(a){var b=a.item,c=a.attributes,d=void 0===c?{}:c,e=a.as,f=_objectWithoutProperties(a,_excluded);return React.createElement(BookmarkTabsTab,Object.assign({},d,f,{as:e}))},BookmarkTabsRender=function(a,b){var c=withDefaultGetters(a),d=c.items,e=void 0===d?[]:d,f=c.value,g=c.onCreate,h=c.getItemKey,i=c.getItemLabel,j=c.getItemLeftIcon,k=c.getItemRightIcon,l=c.getItemAs,m=c.getItemRef,n=c.getItemAttributes,o=c.getItemFixed,p=c.onChange,q=c.onRemove,r=c.renderItem,s=void 0===r?renderItemDefault:r,t=c.size,u=void 0===t?bookmarkTabsPropSizeDefault:t,v=c.form,w=void 0===v?bookmarkTabsPropFormDefault:v,x=c.view,y=void 0===x?bookmarkTabsPropViewDefault:x,z=c.withNavigationButtons,A=c.className,B=c.id,C=_objectWithoutProperties(c,_excluded2),D=function(a){return!!f&&h(a)===h(f)},E=useBookmarkTabs({items:e,getItemFixed:o,size:u,withNavigationButtons:z,withAddButton:!!g}),F=E.refs,G=E.fixedTabs,H=E.fixedTabsRef,I=E.otherTabs,J=E.otherTabsRef,K=E.showControls,L=E.wrapperRef,M=E.containerRef,N=E.controlsRef,O=E.addButtonRef,P=E.navigate,Q=E.sizes,R=useComponentSize(H),S=R.width,T=function(a,b,c,d,e){var f;return s({item:a,onClick:function onClick(b){return null===p||void 0===p?void 0:p(a,{e:b})},active:D(a),label:i(a),leftIcon:j(a),rightIcon:k(a),as:null!==(f=l(a))&&void 0!==f?f:"button",attributes:n(a),tabRef:m(a),controlRef:c,fixed:b,bordered:d,onClose:q?function(b){return q(a,{e:b})}:void 0,size:u,view:y,form:w,tabWidth:e})},U=useMemo(function(){var a=[].concat(_toConsumableArray(G),_toConsumableArray(I)),b=f?a.indexOf(f):-1;return Array.from(Array(a.length-1).keys()).filter(function(a){return"round"!==w||a!==b&&a!==b-1})},[G,I,f,w]);return React.createElement("div",Object.assign({className:cnBookmarkTabs({size:u,view:y,form:w},[A]),ref:useForkRef([b,M]),id:B},C),K&&React.createElement("div",{ref:N,className:cnBookmarkTabs("ScrollControls")},React.createElement("div",{className:cnBookmarkTabs("Button")},React.createElement(Button,{view:"clear",size:"xs",type:"button",onClick:function onClick(){return P("prev")},iconLeft:IconArrowLeft,onlyIcon:!0})),React.createElement("div",{className:cnBookmarkTabs("Button")},React.createElement(Button,{view:"clear",size:"xs",onClick:function onClick(){return P("next")},iconLeft:IconArrowRight,onlyIcon:!0}))),React.createElement("div",{ref:L,className:cnBookmarkTabs("Wrapper")},React.createElement("div",{style:_defineProperty({},"--bookmarks-list-width","max-content"),ref:H,className:cnBookmarkTabs("List")},G.map(function(a,b){return React.createElement(React.Fragment,{key:h(a)},T(a,!0,F[b],U.includes(b)))})),React.createElement("div",{style:_defineProperty({},"--bookmarks-list-width","calc(100% - ".concat(S,"px)")),className:cnBookmarkTabs("List"),ref:J},I.map(function(a,b){return React.createElement(React.Fragment,{key:h(a)},T(a,!1,F[G.length+b],U.includes(G.length+b),Q[b]))}))),g&&React.createElement("div",{ref:O,className:cnBookmarkTabs("Button",{type:"add"})},React.createElement(Button,{view:"clear",size:"xs",onClick:g,iconLeft:IconAdd,onlyIcon:!0})),React.createElement("div",{className:cnBookmarkTabs("Empty")}))};export var BookmarkTabs=forwardRef(BookmarkTabsRender);
|
|
2
2
|
//# sourceMappingURL=BookmarkTabsCanary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookmarkTabsCanary.js","names":["IconAdd","IconArrowLeft","IconArrowRight","React","forwardRef","useComponentSize","useForkRef","cnCanary","cn","Button","BookmarkTabsTab","withDefaultGetters","bookmarkTabsPropFormDefault","bookmarkTabsPropSizeDefault","bookmarkTabsPropViewDefault","useBookmarkTabs","cnBookmarkTabs","renderItemDefault","props","_item","item","attributes","otherProps","BookmarkTabsRender","ref","items","value","onCreate","getItemKey","getItemLabel","getItemLeftIcon","getItemRightIcon","getItemAs","getItemRef","getItemAttributes","getItemFixed","onChange","onRemove","renderItem","renderItemProp","size","form","view","withNavigationButtons","className","id","getItemActive","withAddButton","refs","fixedTabs","fixedTabsRef","otherTabs","otherTabsRef","showControls","wrapperRef","containerRef","controlsRef","addButtonRef","navigate","sizes","fixedWidth","width","fixed","controlRef","tabWidth","onClick","e","active","label","leftIcon","rightIcon","as","tabRef","onClose","map","index","length","type","BookmarkTabs"],"sources":["../../../../../src/components/BookmarkTabsCanary/BookmarkTabsCanary.tsx"],"sourcesContent":["import './BookmarkTabs.css';\n\nimport { IconAdd } from '@consta/icons/IconAdd';\nimport { IconArrowLeft } from '@consta/icons/IconArrowLeft';\nimport { IconArrowRight } from '@consta/icons/IconArrowRight';\nimport React, { forwardRef } from 'react';\n\nimport { useComponentSize } from '##/hooks/useComponentSize';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { cnCanary as cn } from '##/utils/bem';\n\nimport { Button } from '../Button';\nimport { BookmarkTabsTab } from './BookmarkTabsTab';\nimport { withDefaultGetters } from './helper';\nimport {\n BookmarkTabsComponent,\n bookmarkTabsPropFormDefault,\n BookmarkTabsProps,\n bookmarkTabsPropSizeDefault,\n bookmarkTabsPropViewDefault,\n BookmarkTabsRenderItemProps,\n} from './types';\nimport { useBookmarkTabs } from './useBookmarkTabs';\n\nexport const cnBookmarkTabs = cn('BookmarkTabs');\n\nconst renderItemDefault = <ITEM,>(\n props: BookmarkTabsRenderItemProps<ITEM>,\n): React.ReactElement => {\n const { item: _item, attributes = {}, ...otherProps } = props;\n return <BookmarkTabsTab {...attributes} {...otherProps} />;\n};\n\nconst BookmarkTabsRender = (\n props: BookmarkTabsProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n items = [],\n value,\n onCreate,\n getItemKey,\n getItemLabel,\n getItemLeftIcon,\n getItemRightIcon,\n getItemAs,\n getItemRef,\n getItemAttributes,\n getItemFixed,\n onChange,\n onRemove,\n renderItem: renderItemProp = renderItemDefault,\n size = bookmarkTabsPropSizeDefault,\n form = bookmarkTabsPropFormDefault,\n view = bookmarkTabsPropViewDefault,\n withNavigationButtons,\n className,\n id,\n ...otherProps\n } = withDefaultGetters(props);\n\n type Item = typeof items[number];\n\n const getItemActive = (item: Item) => {\n return value ? getItemKey(item) === getItemKey(value) : false;\n };\n\n const {\n refs,\n fixedTabs,\n fixedTabsRef,\n otherTabs,\n otherTabsRef,\n showControls,\n wrapperRef,\n containerRef,\n controlsRef,\n addButtonRef,\n navigate,\n sizes,\n } = useBookmarkTabs({\n items,\n getItemFixed,\n size,\n withNavigationButtons,\n withAddButton: !!onCreate,\n });\n\n const { width: fixedWidth } = useComponentSize(fixedTabsRef);\n\n const renderItem = (\n item: Item,\n fixed: boolean,\n controlRef: React.RefObject<HTMLElement>,\n tabWidth?: string,\n ) =>\n renderItemProp({\n item,\n onClick: (e) => onChange?.(item, { e }),\n active: getItemActive(item),\n label: getItemLabel(item),\n leftIcon: getItemLeftIcon(item),\n rightIcon: getItemRightIcon(item),\n as: getItemAs(item) ?? 'button',\n attributes: getItemAttributes(item),\n tabRef: getItemRef(item),\n controlRef,\n fixed,\n onClose: onRemove ? (e) => onRemove(item, { e }) : undefined,\n size,\n view,\n form,\n tabWidth,\n });\n\n return (\n <div\n className={cnBookmarkTabs({ size, view, form }, [className])}\n ref={useForkRef([ref, containerRef])}\n id={id}\n {...otherProps}\n >\n {showControls && (\n <div ref={controlsRef} className={cnBookmarkTabs('ScrollControls')}>\n <div className={cnBookmarkTabs('Button')}>\n <Button\n view=\"clear\"\n size=\"xs\"\n type=\"button\"\n onClick={() => navigate('prev')}\n iconLeft={IconArrowLeft}\n onlyIcon\n />\n </div>\n <div className={cnBookmarkTabs('Button')}>\n <Button\n view=\"clear\"\n size=\"xs\"\n onClick={() => navigate('next')}\n iconLeft={IconArrowRight}\n onlyIcon\n />\n </div>\n </div>\n )}\n <div ref={wrapperRef} className={cnBookmarkTabs('Wrapper')}>\n <div\n style={{\n ['--bookmarks-list-width' as string]: `max-content`,\n }}\n ref={fixedTabsRef}\n className={cnBookmarkTabs('List')}\n >\n {fixedTabs.map((item, index) => (\n <React.Fragment key={getItemKey(item)}>\n {renderItem(item, true, refs[index])}\n </React.Fragment>\n ))}\n </div>\n <div\n style={{\n ['--bookmarks-list-width' as string]: `calc(100% - ${fixedWidth}px)`,\n }}\n className={cnBookmarkTabs('List')}\n ref={otherTabsRef}\n >\n {otherTabs.map((item, index) => (\n <React.Fragment key={getItemKey(item)}>\n {renderItem(\n item,\n false,\n refs[fixedTabs.length + index],\n sizes[index],\n )}\n </React.Fragment>\n ))}\n </div>\n </div>\n {onCreate && (\n <div\n ref={addButtonRef}\n className={cnBookmarkTabs('Button', { type: 'add' })}\n >\n <Button\n view=\"clear\"\n size=\"xs\"\n onClick={onCreate}\n iconLeft={IconAdd}\n onlyIcon\n />\n </div>\n )}\n <div className={cnBookmarkTabs('Empty')} />\n </div>\n );\n};\n\nexport const BookmarkTabs = forwardRef(\n BookmarkTabsRender,\n) as BookmarkTabsComponent;\n"],"mappings":"kcAAA,2BAEA,OAASA,OAAT,KAAwB,uBAAxB,CACA,OAASC,aAAT,KAA8B,6BAA9B,CACA,OAASC,cAAT,KAA+B,8BAA/B,CACA,MAAOC,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAEA,OAASC,gBAAT,oCACA,OAASC,UAAT,8BACA,OAASC,QAAQ,GAAIC,GAArB,uBAEA,OAASC,MAAT,iBACA,OAASC,eAAT,yBACA,OAASC,kBAAT,gBACA,OAEEC,2BAFF,CAIEC,2BAJF,CAKEC,2BALF,eAQA,OAASC,eAAT,yBAEA,MAAO,IAAMC,eAAc,CAAGR,EAAE,CAAC,cAAD,CAAzB,C,GAEDS,kBAAiB,CAAG,SACxBC,CADwB,CAED,CACvB,GAAcC,EAAd,CAAwDD,CAAxD,CAAQE,IAAR,GAAwDF,CAAxD,CAAqBG,UAArB,CAAqBA,CAArB,YAAkC,EAAlC,GAAyCC,CAAzC,0BAAwDJ,CAAxD,YACA,MAAO,qBAAC,eAAD,kBAAqBG,CAArB,CAAqCC,CAArC,EACR,C,CAEKC,kBAAkB,CAAG,SACzBL,CADyB,CAEzBM,CAFyB,CAGtB,OAuBCb,kBAAkB,CAACO,CAAD,CAvBnB,KAEDO,KAFC,CAEDA,CAFC,YAEO,EAFP,GAGDC,CAHC,GAGDA,KAHC,CAIDC,CAJC,GAIDA,QAJC,CAKDC,CALC,GAKDA,UALC,CAMDC,CANC,GAMDA,YANC,CAODC,CAPC,GAODA,eAPC,CAQDC,CARC,GAQDA,gBARC,CASDC,CATC,GASDA,SATC,CAUDC,CAVC,GAUDA,UAVC,CAWDC,CAXC,GAWDA,iBAXC,CAYDC,CAZC,GAYDA,YAZC,CAaDC,CAbC,GAaDA,QAbC,CAcDC,CAdC,GAcDA,QAdC,KAeDC,UAfC,CAeWC,CAfX,YAe4BtB,iBAf5B,OAgBDuB,IAhBC,CAgBDA,CAhBC,YAgBM3B,2BAhBN,OAiBD4B,IAjBC,CAiBDA,CAjBC,YAiBM7B,2BAjBN,OAkBD8B,IAlBC,CAkBDA,CAlBC,YAkBM5B,2BAlBN,GAmBD6B,CAnBC,GAmBDA,qBAnBC,CAoBDC,CApBC,GAoBDA,SApBC,CAqBDC,CArBC,GAqBDA,EArBC,CAsBEvB,CAtBF,wCA2BGwB,CAAa,CAAG,SAAC1B,CAAD,CAAgB,CACpC,QAAOM,CAAP,EAAeE,CAAU,CAACR,CAAD,CAAV,GAAqBQ,CAAU,CAACF,CAAD,CAC/C,CA7BE,GA4CCX,eAAe,CAAC,CAClBU,KAAK,CAALA,CADkB,CAElBU,YAAY,CAAZA,CAFkB,CAGlBK,IAAI,CAAJA,CAHkB,CAIlBG,qBAAqB,CAArBA,CAJkB,CAKlBI,aAAa,CAAE,CAAC,CAACpB,CALC,CAAD,CA5ChB,CAgCDqB,CAhCC,GAgCDA,IAhCC,CAiCDC,CAjCC,GAiCDA,SAjCC,CAkCDC,CAlCC,GAkCDA,YAlCC,CAmCDC,CAnCC,GAmCDA,SAnCC,CAoCDC,CApCC,GAoCDA,YApCC,CAqCDC,CArCC,GAqCDA,YArCC,CAsCDC,CAtCC,GAsCDA,UAtCC,CAuCDC,CAvCC,GAuCDA,YAvCC,CAwCDC,CAxCC,GAwCDA,WAxCC,CAyCDC,CAzCC,GAyCDA,YAzCC,CA0CDC,CA1CC,GA0CDA,QA1CC,CA2CDC,CA3CC,GA2CDA,KA3CC,GAoD2BtD,gBAAgB,CAAC6C,CAAD,CApD3C,CAoDYU,CApDZ,GAoDKC,KApDL,CAsDGvB,CAAU,CAAG,SACjBlB,CADiB,CAEjB0C,CAFiB,CAGjBC,CAHiB,CAIjBC,CAJiB,cAMjBzB,EAAc,CAAC,CACbnB,IAAI,CAAJA,CADa,CAEb6C,OAAO,CAAE,iBAACC,CAAD,gBAAO9B,CAAP,WAAOA,CAAP,QAAOA,CAAQ,CAAGhB,CAAH,CAAS,CAAE8C,CAAC,CAADA,CAAF,CAAT,CAAf,CAFI,CAGbC,MAAM,CAAErB,CAAa,CAAC1B,CAAD,CAHR,CAIbgD,KAAK,CAAEvC,CAAY,CAACT,CAAD,CAJN,CAKbiD,QAAQ,CAAEvC,CAAe,CAACV,CAAD,CALZ,CAMbkD,SAAS,CAAEvC,CAAgB,CAACX,CAAD,CANd,CAObmD,EAAE,WAAEvC,CAAS,CAACZ,CAAD,CAAX,gBAAqB,QAPV,CAQbC,UAAU,CAAEa,CAAiB,CAACd,CAAD,CARhB,CASboD,MAAM,CAAEvC,CAAU,CAACb,CAAD,CATL,CAUb2C,UAAU,CAAVA,CAVa,CAWbD,KAAK,CAALA,CAXa,CAYbW,OAAO,CAAEpC,CAAQ,CAAG,SAAC6B,CAAD,QAAO7B,EAAQ,CAACjB,CAAD,CAAO,CAAE8C,CAAC,CAADA,CAAF,CAAP,CAAf,CAAH,OAZJ,CAab1B,IAAI,CAAJA,CAba,CAcbE,IAAI,CAAJA,CAda,CAebD,IAAI,CAAJA,CAfa,CAgBbuB,QAAQ,CAARA,CAhBa,CAAD,CANG,CAtDhB,CA+EH,MACE,0CACE,SAAS,CAAEhD,cAAc,CAAC,CAAEwB,IAAI,CAAJA,CAAF,CAAQE,IAAI,CAAJA,CAAR,CAAcD,IAAI,CAAJA,CAAd,CAAD,CAAuB,CAACG,CAAD,CAAvB,CAD3B,CAEE,GAAG,CAAEtC,UAAU,CAAC,CAACkB,CAAD,CAAM+B,CAAN,CAAD,CAFjB,CAGE,EAAE,CAAEV,CAHN,EAIMvB,CAJN,EAMG+B,CAAY,EACX,2BAAK,GAAG,CAAEG,CAAV,CAAuB,SAAS,CAAExC,cAAc,CAAC,gBAAD,CAAhD,EACE,2BAAK,SAAS,CAAEA,cAAc,CAAC,QAAD,CAA9B,EACE,oBAAC,MAAD,EACE,IAAI,CAAC,OADP,CAEE,IAAI,CAAC,IAFP,CAGE,IAAI,CAAC,QAHP,CAIE,OAAO,CAAE,yBAAM0C,EAAQ,CAAC,MAAD,CAAd,CAJX,CAKE,QAAQ,CAAEzD,aALZ,CAME,QAAQ,GANV,EADF,CADF,CAWE,2BAAK,SAAS,CAAEe,cAAc,CAAC,QAAD,CAA9B,EACE,oBAAC,MAAD,EACE,IAAI,CAAC,OADP,CAEE,IAAI,CAAC,IAFP,CAGE,OAAO,CAAE,yBAAM0C,EAAQ,CAAC,MAAD,CAAd,CAHX,CAIE,QAAQ,CAAExD,cAJZ,CAKE,QAAQ,GALV,EADF,CAXF,CAPJ,CA6BE,2BAAK,GAAG,CAAEoD,CAAV,CAAsB,SAAS,CAAEtC,cAAc,CAAC,SAAD,CAA/C,EACE,2BACE,KAAK,oBACF,wBADE,eADP,CAIE,GAAG,CAAEkC,CAJP,CAKE,SAAS,CAAElC,cAAc,CAAC,MAAD,CAL3B,EAOGiC,CAAS,CAACyB,GAAV,CAAc,SAACtD,CAAD,CAAOuD,CAAP,QACb,qBAAC,KAAD,CAAO,QAAP,EAAgB,GAAG,CAAE/C,CAAU,CAACR,CAAD,CAA/B,EACGkB,CAAU,CAAClB,CAAD,IAAa4B,CAAI,CAAC2B,CAAD,CAAjB,CADb,CADa,CAAd,CAPH,CADF,CAcE,2BACE,KAAK,oBACF,wBADE,uBACkDf,CADlD,QADP,CAIE,SAAS,CAAE5C,cAAc,CAAC,MAAD,CAJ3B,CAKE,GAAG,CAAEoC,CALP,EAOGD,CAAS,CAACuB,GAAV,CAAc,SAACtD,CAAD,CAAOuD,CAAP,QACb,qBAAC,KAAD,CAAO,QAAP,EAAgB,GAAG,CAAE/C,CAAU,CAACR,CAAD,CAA/B,EACGkB,CAAU,CACTlB,CADS,IAGT4B,CAAI,CAACC,CAAS,CAAC2B,MAAV,CAAmBD,CAApB,CAHK,CAIThB,CAAK,CAACgB,CAAD,CAJI,CADb,CADa,CAAd,CAPH,CAdF,CA7BF,CA8DGhD,CAAQ,EACP,2BACE,GAAG,CAAE8B,CADP,CAEE,SAAS,CAAEzC,cAAc,CAAC,QAAD,CAAW,CAAE6D,IAAI,CAAE,KAAR,CAAX,CAF3B,EAIE,oBAAC,MAAD,EACE,IAAI,CAAC,OADP,CAEE,IAAI,CAAC,IAFP,CAGE,OAAO,CAAElD,CAHX,CAIE,QAAQ,CAAE3B,OAJZ,CAKE,QAAQ,GALV,EAJF,CA/DJ,CA4EE,2BAAK,SAAS,CAAEgB,cAAc,CAAC,OAAD,CAA9B,EA5EF,CA+EH,C,CAED,MAAO,IAAM8D,aAAY,CAAG1E,UAAU,CACpCmB,kBADoC,CAA/B"}
|
|
1
|
+
{"version":3,"file":"BookmarkTabsCanary.js","names":["IconAdd","IconArrowLeft","IconArrowRight","React","forwardRef","useMemo","useComponentSize","useForkRef","cnCanary","cn","Button","BookmarkTabsTab","withDefaultGetters","bookmarkTabsPropFormDefault","bookmarkTabsPropSizeDefault","bookmarkTabsPropViewDefault","useBookmarkTabs","cnBookmarkTabs","renderItemDefault","props","_item","item","attributes","as","otherProps","BookmarkTabsRender","ref","items","value","onCreate","getItemKey","getItemLabel","getItemLeftIcon","getItemRightIcon","getItemAs","getItemRef","getItemAttributes","getItemFixed","onChange","onRemove","renderItem","renderItemProp","size","form","view","withNavigationButtons","className","id","getItemActive","withAddButton","refs","fixedTabs","fixedTabsRef","otherTabs","otherTabsRef","showControls","wrapperRef","containerRef","controlsRef","addButtonRef","navigate","sizes","fixedWidth","width","fixed","controlRef","bordered","tabWidth","onClick","e","active","label","leftIcon","rightIcon","tabRef","onClose","borderedIndexes","arr","activeIndex","indexOf","Array","from","length","keys","filter","el","map","index","includes","type","BookmarkTabs"],"sources":["../../../../../src/components/BookmarkTabsCanary/BookmarkTabsCanary.tsx"],"sourcesContent":["import './BookmarkTabs.css';\n\nimport { IconAdd } from '@consta/icons/IconAdd';\nimport { IconArrowLeft } from '@consta/icons/IconArrowLeft';\nimport { IconArrowRight } from '@consta/icons/IconArrowRight';\nimport React, { forwardRef, useMemo } from 'react';\n\nimport { useComponentSize } from '##/hooks/useComponentSize';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { cnCanary as cn } from '##/utils/bem';\n\nimport { Button } from '../Button';\nimport { BookmarkTabsTab } from './BookmarkTabsTab';\nimport { withDefaultGetters } from './helper';\nimport {\n BookmarkTabsComponent,\n bookmarkTabsPropFormDefault,\n BookmarkTabsProps,\n bookmarkTabsPropSizeDefault,\n bookmarkTabsPropViewDefault,\n BookmarkTabsRenderItemProps,\n} from './types';\nimport { useBookmarkTabs } from './useBookmarkTabs';\n\nexport const cnBookmarkTabs = cn('BookmarkTabs');\n\nconst renderItemDefault = <ITEM,>(\n props: BookmarkTabsRenderItemProps<ITEM>,\n): React.ReactElement => {\n const { item: _item, attributes = {}, as, ...otherProps } = props;\n return <BookmarkTabsTab {...attributes} {...otherProps} as={as} />;\n};\n\nconst BookmarkTabsRender = (\n props: BookmarkTabsProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n items = [],\n value,\n onCreate,\n getItemKey,\n getItemLabel,\n getItemLeftIcon,\n getItemRightIcon,\n getItemAs,\n getItemRef,\n getItemAttributes,\n getItemFixed,\n onChange,\n onRemove,\n renderItem: renderItemProp = renderItemDefault,\n size = bookmarkTabsPropSizeDefault,\n form = bookmarkTabsPropFormDefault,\n view = bookmarkTabsPropViewDefault,\n withNavigationButtons,\n className,\n id,\n ...otherProps\n } = withDefaultGetters(props);\n\n type Item = typeof items[number];\n\n const getItemActive = (item: Item) => {\n return value ? getItemKey(item) === getItemKey(value) : false;\n };\n\n const {\n refs,\n fixedTabs,\n fixedTabsRef,\n otherTabs,\n otherTabsRef,\n showControls,\n wrapperRef,\n containerRef,\n controlsRef,\n addButtonRef,\n navigate,\n sizes,\n } = useBookmarkTabs({\n items,\n getItemFixed,\n size,\n withNavigationButtons,\n withAddButton: !!onCreate,\n });\n\n const { width: fixedWidth } = useComponentSize(fixedTabsRef);\n\n const renderItem = (\n item: Item,\n fixed: boolean,\n controlRef: React.RefObject<HTMLElement>,\n bordered: boolean,\n tabWidth?: string,\n ) =>\n renderItemProp({\n item,\n onClick: (e) => onChange?.(item, { e }),\n active: getItemActive(item),\n label: getItemLabel(item),\n leftIcon: getItemLeftIcon(item),\n rightIcon: getItemRightIcon(item),\n as: getItemAs(item) ?? 'button',\n attributes: getItemAttributes(item),\n tabRef: getItemRef(item),\n controlRef,\n fixed,\n bordered,\n onClose: onRemove ? (e) => onRemove(item, { e }) : undefined,\n size,\n view,\n form,\n tabWidth,\n });\n\n const borderedIndexes = useMemo(() => {\n const arr = [...fixedTabs, ...otherTabs];\n const activeIndex = value ? arr.indexOf(value) : -1;\n return Array.from(Array(arr.length - 1).keys()).filter((el) =>\n form === 'round' ? el !== activeIndex && el !== activeIndex - 1 : true,\n );\n }, [fixedTabs, otherTabs, value, form]);\n\n return (\n <div\n className={cnBookmarkTabs({ size, view, form }, [className])}\n ref={useForkRef([ref, containerRef])}\n id={id}\n {...otherProps}\n >\n {showControls && (\n <div ref={controlsRef} className={cnBookmarkTabs('ScrollControls')}>\n <div className={cnBookmarkTabs('Button')}>\n <Button\n view=\"clear\"\n size=\"xs\"\n type=\"button\"\n onClick={() => navigate('prev')}\n iconLeft={IconArrowLeft}\n onlyIcon\n />\n </div>\n <div className={cnBookmarkTabs('Button')}>\n <Button\n view=\"clear\"\n size=\"xs\"\n onClick={() => navigate('next')}\n iconLeft={IconArrowRight}\n onlyIcon\n />\n </div>\n </div>\n )}\n <div ref={wrapperRef} className={cnBookmarkTabs('Wrapper')}>\n <div\n style={{\n ['--bookmarks-list-width' as string]: `max-content`,\n }}\n ref={fixedTabsRef}\n className={cnBookmarkTabs('List')}\n >\n {fixedTabs.map((item, index) => (\n <React.Fragment key={getItemKey(item)}>\n {renderItem(\n item,\n true,\n refs[index],\n borderedIndexes.includes(index),\n )}\n </React.Fragment>\n ))}\n </div>\n <div\n style={{\n ['--bookmarks-list-width' as string]: `calc(100% - ${fixedWidth}px)`,\n }}\n className={cnBookmarkTabs('List')}\n ref={otherTabsRef}\n >\n {otherTabs.map((item, index) => (\n <React.Fragment key={getItemKey(item)}>\n {renderItem(\n item,\n false,\n refs[fixedTabs.length + index],\n borderedIndexes.includes(fixedTabs.length + index),\n sizes[index],\n )}\n </React.Fragment>\n ))}\n </div>\n </div>\n {onCreate && (\n <div\n ref={addButtonRef}\n className={cnBookmarkTabs('Button', { type: 'add' })}\n >\n <Button\n view=\"clear\"\n size=\"xs\"\n onClick={onCreate}\n iconLeft={IconAdd}\n onlyIcon\n />\n </div>\n )}\n <div className={cnBookmarkTabs('Empty')} />\n </div>\n );\n};\n\nexport const BookmarkTabs = forwardRef(\n BookmarkTabsRender,\n) as BookmarkTabsComponent;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.canary--BookmarkTabsTab{--bookmark-tabs-tab-close-size:0px;--bookmark-tabs-tab-right-icon-size:0px;align-items:center;background:none;border:none;box-sizing:border-box;cursor:pointer;display:inline-flex;height:var(--bookmark-tabs-tab-size);max-height:100%;max-width:200px;min-width:calc(var(--bookmark-tabs-tab-close-size) + var(--bookmark-tabs-tab-right-icon-size) + var(--bookmark-tabs-tab-left-icon-size) + var(--space-3xl) + var(--space-m));overflow:hidden;padding:var(--bookmark-tabs-tab-padding-top) var(--space-xs);position:relative;transition:background-color .3s,box-shadow .3s;width:var(--bookmarks-tab-width)}.canary--BookmarkTabsTab:hover,.canary--BookmarkTabsTab:not(.canary--BookmarkTabsTab_active):focus{--bookmark-tabs-tab-color:var(--color-control-typo-ghost-hover);background-color:var(--color-control-bg-ghost-hover)}.canary--BookmarkTabsTab:not(.canary--BookmarkTabsTab_active){border-bottom:1px solid var(--color-bg-border)}.canary--BookmarkTabsTab:not(.canary--BookmarkTabsTab_withLeftIcon){--bookmark-tabs-tab-left-icon-size:0px}.canary--BookmarkTabsTab_withCloseButton{--bookmark-tabs-tab-close-size:var(--space-2xl)}.canary--BookmarkTabsTab_withRightIcon{--bookmark-tabs-tab-right-icon-size:var(--space-l)}.canary--BookmarkTabsTab_view_ghost{--bookmark-tabs-tab-color:var(--color-typo-primary);background:var(--color-bg-secondary)}.canary--BookmarkTabsTab_view_clear{--bookmark-tabs-tab-color:var(--color-typo-secondary)}.canary--BookmarkTabsTab_size_s{--bookmark-tabs-tab-size:var(--space-2xl);--bookmark-tabs-tab-padding-top:var(--space-2xs);--bookmark-tabs-tab-left-icon-size:var(--space-l)}.canary--BookmarkTabsTab_size_m{--bookmark-tabs-tab-size:var(--space-3xl);--bookmark-tabs-tab-padding-top:var(--space-xs);--bookmark-tabs-tab-left-icon-size:var(--space-2xl)}.canary--BookmarkTabsTab_form_round{border-radius:var(--space-xs) var(--space-xs) 0 0}.canary--BookmarkTabsTab_form_round.canary--BookmarkTabsTab_active{border-left:1px solid var(--color-bg-border);border-right:1px solid var(--color-bg-border);border-top:1px solid var(--color-bg-border);padding-top:calc(var(--bookmark-tabs-tab-padding-top) - 1px)}.canary--BookmarkTabsTab_fixed{--bookmark-tabs-tab-padding-top:var(--space-xs);min-width:var(--bookmark-tabs-tab-size);width:var(--bookmark-tabs-tab-size)}.canary--BookmarkTabsTab_active{--bookmark-tabs-tab-color:var(--color-typo-primary);background:var(--color-bg-default)}.canary--BookmarkTabsTab-Icon_side_left,.canary--BookmarkTabsTab-Label.Text{color:var(--bookmark-tabs-tab-color);transition:color .3s}.canary--BookmarkTabsTab-Icon{display:block;min-width:var(--icon-size)}.canary--BookmarkTabsTab-Label{flex:auto;min-width:var(--space-3xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
1
|
+
.canary--BookmarkTabsTab{--bookmark-tabs-tab-close-size:0px;--bookmark-tabs-tab-right-icon-size:0px;align-items:center;background:none;border:none;box-sizing:border-box;cursor:pointer;display:inline-flex;height:var(--bookmark-tabs-tab-size);max-height:100%;max-width:200px;min-width:calc(var(--bookmark-tabs-tab-close-size) + var(--bookmark-tabs-tab-right-icon-size) + var(--bookmark-tabs-tab-left-icon-size) + var(--space-3xl) + var(--space-m));overflow:hidden;padding:var(--bookmark-tabs-tab-padding-top) var(--space-xs);position:relative;transition:background-color .3s,box-shadow .3s;width:var(--bookmarks-tab-width)}.canary--BookmarkTabsTab:hover,.canary--BookmarkTabsTab:not(.canary--BookmarkTabsTab_active):focus{--bookmark-tabs-tab-color:var(--color-control-typo-ghost-hover);background-color:var(--color-control-bg-ghost-hover)}.canary--BookmarkTabsTab:not(.canary--BookmarkTabsTab_active){border-bottom:1px solid var(--color-bg-border)}.canary--BookmarkTabsTab:not(.canary--BookmarkTabsTab_withLeftIcon){--bookmark-tabs-tab-left-icon-size:0px}.canary--BookmarkTabsTab_withCloseButton{--bookmark-tabs-tab-close-size:var(--space-2xl)}.canary--BookmarkTabsTab_withRightIcon{--bookmark-tabs-tab-right-icon-size:var(--space-l)}.canary--BookmarkTabsTab_view_ghost{--bookmark-tabs-tab-color:var(--color-typo-primary);background:var(--color-bg-secondary)}.canary--BookmarkTabsTab_view_clear{--bookmark-tabs-tab-color:var(--color-typo-secondary)}.canary--BookmarkTabsTab_size_s{--bookmark-tabs-tab-size:var(--space-2xl);--bookmark-tabs-tab-padding-top:var(--space-2xs);--bookmark-tabs-tab-left-icon-size:var(--space-l)}.canary--BookmarkTabsTab_size_m{--bookmark-tabs-tab-size:var(--space-3xl);--bookmark-tabs-tab-padding-top:var(--space-xs);--bookmark-tabs-tab-left-icon-size:var(--space-2xl)}.canary--BookmarkTabsTab_bordered:after{background:var(--color-bg-border);content:"";height:var(--bookmark-divider-height);position:absolute;right:0;top:var(--bookmark-divider-top);width:1px}.canary--BookmarkTabsTab_form_round{--bookmark-divider-top:calc(var(--space-l)/2);--bookmark-divider-height:calc(100% - var(--space-l));border-radius:var(--space-xs) var(--space-xs) 0 0}.canary--BookmarkTabsTab_form_round.canary--BookmarkTabsTab_active{border-left:1px solid var(--color-bg-border);border-right:1px solid var(--color-bg-border);border-top:1px solid var(--color-bg-border);padding-top:calc(var(--bookmark-tabs-tab-padding-top) - 1px)}.canary--BookmarkTabsTab_form_brick{--bookmark-divider-height:100%;--bookmark-divider-top:0}.canary--BookmarkTabsTab_fixed{--bookmark-tabs-tab-padding-top:var(--space-xs);min-width:var(--bookmark-tabs-tab-size);width:var(--bookmark-tabs-tab-size)}.canary--BookmarkTabsTab_active{--bookmark-tabs-tab-color:var(--color-typo-primary);background:var(--color-bg-default)}.canary--BookmarkTabsTab-Icon_side_left,.canary--BookmarkTabsTab-Label.Text{color:var(--bookmark-tabs-tab-color);transition:color .3s}.canary--BookmarkTabsTab-Icon{display:block;min-width:var(--icon-size)}.canary--BookmarkTabsTab-Label{flex:auto;min-width:var(--space-3xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["label","leftIcon","rightIcon","as","onClick","size","form","active","fixed","tabRef","controlRef","onClose","view","className","tabWidth","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"./BookmarkTabsTab.css";import{IconClose}from"@consta/icons/IconClose";import React,{forwardRef}from"react";import{Button}from"../../Button";import{Text}from"../../Text";import{useForkRef}from"../../../hooks/useForkRef";import{cnMixSpace}from"../../../mixs/MixSpace";import{cnCanary as cn}from"../../../utils/bem";export var cnBookmarkTabsTab=cn("BookmarkTabsTab");var BookmarkTabsTabRender=function(a,b){var c=a.label,d=a.leftIcon,e=a.rightIcon,f=a.as,g=void 0===f?"button":f,h=a.onClick,i=a.size,j=a.form,k=a.active,l=a.fixed,m=a.tabRef,n=a.controlRef,o=a.onClose,p=a.view,q=a.className,r=a.
|
|
1
|
+
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["label","leftIcon","rightIcon","as","onClick","size","form","active","fixed","tabRef","controlRef","onClose","view","className","bordered","tabWidth","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"./BookmarkTabsTab.css";import{IconClose}from"@consta/icons/IconClose";import React,{forwardRef}from"react";import{Button}from"../../Button";import{Text}from"../../Text";import{useForkRef}from"../../../hooks/useForkRef";import{cnMixSpace}from"../../../mixs/MixSpace";import{cnCanary as cn}from"../../../utils/bem";export var cnBookmarkTabsTab=cn("BookmarkTabsTab");var BookmarkTabsTabRender=function(a,b){var c=a.label,d=a.leftIcon,e=a.rightIcon,f=a.as,g=void 0===f?"button":f,h=a.onClick,i=a.size,j=a.form,k=a.active,l=a.fixed,m=a.tabRef,n=a.controlRef,o=a.onClose,p=a.view,q=a.className,r=a.bordered,s=a.tabWidth,t=void 0===s?"100%":s,u=a.style,v=_objectWithoutProperties(a,_excluded);return React.createElement(g,Object.assign({className:cnBookmarkTabsTab({size:i,form:j,view:p,active:k,fixed:l,bordered:r,withCloseButton:!!o,withLeftIcon:!!d,withRightIcon:!!e},[q]),role:"tab",type:"button",onClick:h,ref:useForkRef([b,m,n]),style:_objectSpread(_defineProperty({},"--bookmarks-tab-width",t),u)},v),d&&React.createElement(d,{className:cnBookmarkTabsTab("Icon",{side:"left"},[l?void 0:cnMixSpace({mR:"s"===i?"2xs":"xs"})]),size:i}),!l&&React.createElement(React.Fragment,null,React.createElement(Text,{align:"left",className:cnBookmarkTabsTab("Label"),size:i},c),e&&React.createElement(e,{className:cnBookmarkTabsTab("Icon",{side:"right"},[cnMixSpace({mL:"xs"})]),size:"xs",view:"secondary"}),o&&React.createElement(Button,{size:"xs",onlyIcon:!0,as:"div",view:"clear",className:cnBookmarkTabsTab("Button",[cnMixSpace({mL:"xs"})]),onClick:o,iconLeft:IconClose})))};export var BookmarkTabsTab=forwardRef(BookmarkTabsTabRender);
|
|
2
2
|
//# sourceMappingURL=BookmarkTabsTab.js.map
|
package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookmarkTabsTab.js","names":["IconClose","React","forwardRef","Button","Text","useForkRef","cnMixSpace","cnCanary","cn","cnBookmarkTabsTab","BookmarkTabsTabRender","props","ref","label","LeftIcon","leftIcon","RightIcon","rightIcon","as","Tag","onClick","size","form","active","fixed","tabRef","controlRef","onClose","view","className","tabWidth","style","otherProps","withCloseButton","withLeftIcon","withRightIcon","side","mR","mL","BookmarkTabsTab"],"sources":["../../../../../../src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.tsx"],"sourcesContent":["import './BookmarkTabsTab.css';\n\nimport { IconClose } from '@consta/icons/IconClose';\nimport React, { forwardRef } from 'react';\n\nimport { Button } from '##/components/Button';\nimport { Text } from '##/components/Text';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { cnCanary as cn } from '##/utils/bem';\n\nimport { BookmarkTabsTabComponent, BookmarkTabsTabProps } from '../types';\n\nexport const cnBookmarkTabsTab = cn('BookmarkTabsTab');\n\nconst BookmarkTabsTabRender = (\n props: BookmarkTabsTabProps,\n ref: React.Ref<HTMLButtonElement>,\n) => {\n const {\n label,\n leftIcon: LeftIcon,\n rightIcon: RightIcon,\n as: Tag = 'button',\n onClick,\n size,\n form,\n active,\n fixed,\n tabRef,\n controlRef,\n onClose,\n view,\n className,\n tabWidth = '100%',\n style,\n ...otherProps\n } = props;\n\n return (\n <Tag\n className={cnBookmarkTabsTab(\n {\n size,\n form,\n view,\n active,\n fixed,\n withCloseButton: !!onClose,\n withLeftIcon: !!LeftIcon,\n withRightIcon: !!RightIcon,\n },\n [className],\n )}\n role=\"tab\"\n type=\"button\"\n onClick={onClick}\n ref={useForkRef([ref, tabRef, controlRef])}\n style={{\n ['--bookmarks-tab-width' as string]: tabWidth,\n ...style,\n }}\n {...otherProps}\n >\n {LeftIcon && (\n <LeftIcon\n className={cnBookmarkTabsTab('Icon', { side: 'left' }, [\n fixed ? undefined : cnMixSpace({ mR: size === 's' ? '2xs' : 'xs' }),\n ])}\n size={size}\n />\n )}\n {!fixed && (\n <>\n <Text align=\"left\" className={cnBookmarkTabsTab('Label')} size={size}>\n {label}\n </Text>\n {RightIcon && (\n <RightIcon\n className={cnBookmarkTabsTab('Icon', { side: 'right' }, [\n cnMixSpace({ mL: 'xs' }),\n ])}\n size=\"xs\"\n view=\"secondary\"\n />\n )}\n {onClose && (\n <Button\n size=\"xs\"\n onlyIcon\n as=\"div\"\n view=\"clear\"\n className={cnBookmarkTabsTab('Button', [\n cnMixSpace({ mL: 'xs' }),\n ])}\n onClick={onClose}\n iconLeft={IconClose}\n />\n )}\n </>\n )}\n </Tag>\n );\n};\n\nexport const BookmarkTabsTab = forwardRef(\n BookmarkTabsTabRender,\n) as BookmarkTabsTabComponent;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"BookmarkTabsTab.js","names":["IconClose","React","forwardRef","Button","Text","useForkRef","cnMixSpace","cnCanary","cn","cnBookmarkTabsTab","BookmarkTabsTabRender","props","ref","label","LeftIcon","leftIcon","RightIcon","rightIcon","as","Tag","onClick","size","form","active","fixed","tabRef","controlRef","onClose","view","className","bordered","tabWidth","style","otherProps","withCloseButton","withLeftIcon","withRightIcon","side","mR","mL","BookmarkTabsTab"],"sources":["../../../../../../src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.tsx"],"sourcesContent":["import './BookmarkTabsTab.css';\n\nimport { IconClose } from '@consta/icons/IconClose';\nimport React, { forwardRef } from 'react';\n\nimport { Button } from '##/components/Button';\nimport { Text } from '##/components/Text';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { cnCanary as cn } from '##/utils/bem';\n\nimport { BookmarkTabsTabComponent, BookmarkTabsTabProps } from '../types';\n\nexport const cnBookmarkTabsTab = cn('BookmarkTabsTab');\n\nconst BookmarkTabsTabRender = (\n props: BookmarkTabsTabProps,\n ref: React.Ref<HTMLButtonElement>,\n) => {\n const {\n label,\n leftIcon: LeftIcon,\n rightIcon: RightIcon,\n as: Tag = 'button',\n onClick,\n size,\n form,\n active,\n fixed,\n tabRef,\n controlRef,\n onClose,\n view,\n className,\n bordered,\n tabWidth = '100%',\n style,\n ...otherProps\n } = props;\n\n return (\n <Tag\n className={cnBookmarkTabsTab(\n {\n size,\n form,\n view,\n active,\n fixed,\n bordered,\n withCloseButton: !!onClose,\n withLeftIcon: !!LeftIcon,\n withRightIcon: !!RightIcon,\n },\n [className],\n )}\n role=\"tab\"\n type=\"button\"\n onClick={onClick}\n ref={useForkRef([ref, tabRef, controlRef])}\n style={{\n ['--bookmarks-tab-width' as string]: tabWidth,\n ...style,\n }}\n {...otherProps}\n >\n {LeftIcon && (\n <LeftIcon\n className={cnBookmarkTabsTab('Icon', { side: 'left' }, [\n fixed ? undefined : cnMixSpace({ mR: size === 's' ? '2xs' : 'xs' }),\n ])}\n size={size}\n />\n )}\n {!fixed && (\n <>\n <Text align=\"left\" className={cnBookmarkTabsTab('Label')} size={size}>\n {label}\n </Text>\n {RightIcon && (\n <RightIcon\n className={cnBookmarkTabsTab('Icon', { side: 'right' }, [\n cnMixSpace({ mL: 'xs' }),\n ])}\n size=\"xs\"\n view=\"secondary\"\n />\n )}\n {onClose && (\n <Button\n size=\"xs\"\n onlyIcon\n as=\"div\"\n view=\"clear\"\n className={cnBookmarkTabsTab('Button', [\n cnMixSpace({ mL: 'xs' }),\n ])}\n onClick={onClose}\n iconLeft={IconClose}\n />\n )}\n </>\n )}\n </Tag>\n );\n};\n\nexport const BookmarkTabsTab = forwardRef(\n BookmarkTabsTabRender,\n) as BookmarkTabsTabComponent;\n"],"mappings":"w6BAAA,8BAEA,OAASA,SAAT,KAA0B,yBAA1B,CACA,MAAOC,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAEA,OAASC,MAAT,oBACA,OAASC,IAAT,kBACA,OAASC,UAAT,iCACA,OAASC,UAAT,8BACA,OAASC,QAAQ,GAAIC,GAArB,0BAIA,MAAO,IAAMC,kBAAiB,CAAGD,EAAE,CAAC,iBAAD,CAA5B,CAEP,GAAME,sBAAqB,CAAG,SAC5BC,CAD4B,CAE5BC,CAF4B,CAGzB,CACH,GACEC,EADF,CAmBIF,CAnBJ,CACEE,KADF,CAEYC,CAFZ,CAmBIH,CAnBJ,CAEEI,QAFF,CAGaC,CAHb,CAmBIL,CAnBJ,CAGEM,SAHF,GAmBIN,CAnBJ,CAIEO,EAJF,CAIMC,CAJN,YAIY,QAJZ,GAKEC,CALF,CAmBIT,CAnBJ,CAKES,OALF,CAMEC,CANF,CAmBIV,CAnBJ,CAMEU,IANF,CAOEC,CAPF,CAmBIX,CAnBJ,CAOEW,IAPF,CAQEC,CARF,CAmBIZ,CAnBJ,CAQEY,MARF,CASEC,CATF,CAmBIb,CAnBJ,CASEa,KATF,CAUEC,CAVF,CAmBId,CAnBJ,CAUEc,MAVF,CAWEC,CAXF,CAmBIf,CAnBJ,CAWEe,UAXF,CAYEC,CAZF,CAmBIhB,CAnBJ,CAYEgB,OAZF,CAaEC,CAbF,CAmBIjB,CAnBJ,CAaEiB,IAbF,CAcEC,CAdF,CAmBIlB,CAnBJ,CAcEkB,SAdF,CAeEC,CAfF,CAmBInB,CAnBJ,CAeEmB,QAfF,GAmBInB,CAnBJ,CAgBEoB,QAhBF,CAgBEA,CAhBF,YAgBa,MAhBb,GAiBEC,CAjBF,CAmBIrB,CAnBJ,CAiBEqB,KAjBF,CAkBKC,CAlBL,0BAmBItB,CAnBJ,YAqBA,MACE,qBAAC,CAAD,gBACE,SAAS,CAAEF,iBAAiB,CAC1B,CACEY,IAAI,CAAJA,CADF,CAEEC,IAAI,CAAJA,CAFF,CAGEM,IAAI,CAAJA,CAHF,CAIEL,MAAM,CAANA,CAJF,CAKEC,KAAK,CAALA,CALF,CAMEM,QAAQ,CAARA,CANF,CAOEI,eAAe,CAAE,CAAC,CAACP,CAPrB,CAQEQ,YAAY,CAAE,CAAC,CAACrB,CARlB,CASEsB,aAAa,CAAE,CAAC,CAACpB,CATnB,CAD0B,CAY1B,CAACa,CAAD,CAZ0B,CAD9B,CAeE,IAAI,CAAC,KAfP,CAgBE,IAAI,CAAC,QAhBP,CAiBE,OAAO,CAAET,CAjBX,CAkBE,GAAG,CAAEf,UAAU,CAAC,CAACO,CAAD,CAAMa,CAAN,CAAcC,CAAd,CAAD,CAlBjB,CAmBE,KAAK,kCACF,uBADE,CACkCK,CADlC,EAEAC,CAFA,CAnBP,EAuBMC,CAvBN,EAyBGnB,CAAQ,EACP,oBAAC,CAAD,EACE,SAAS,CAAEL,iBAAiB,CAAC,MAAD,CAAS,CAAE4B,IAAI,CAAE,MAAR,CAAT,CAA2B,CACrDb,CAAK,QAAelB,UAAU,CAAC,CAAEgC,EAAE,CAAW,GAAT,GAAAjB,CAAI,CAAW,KAAX,CAAmB,IAA7B,CAAD,CADuB,CAA3B,CAD9B,CAIE,IAAI,CAAEA,CAJR,EA1BJ,CAiCG,CAACG,CAAD,EACC,wCACE,oBAAC,IAAD,EAAM,KAAK,CAAC,MAAZ,CAAmB,SAAS,CAAEf,iBAAiB,CAAC,OAAD,CAA/C,CAA0D,IAAI,CAAEY,CAAhE,EACGR,CADH,CADF,CAIGG,CAAS,EACR,oBAAC,CAAD,EACE,SAAS,CAAEP,iBAAiB,CAAC,MAAD,CAAS,CAAE4B,IAAI,CAAE,OAAR,CAAT,CAA4B,CACtD/B,UAAU,CAAC,CAAEiC,EAAE,CAAE,IAAN,CAAD,CAD4C,CAA5B,CAD9B,CAIE,IAAI,CAAC,IAJP,CAKE,IAAI,CAAC,WALP,EALJ,CAaGZ,CAAO,EACN,oBAAC,MAAD,EACE,IAAI,CAAC,IADP,CAEE,QAAQ,GAFV,CAGE,EAAE,CAAC,KAHL,CAIE,IAAI,CAAC,OAJP,CAKE,SAAS,CAAElB,iBAAiB,CAAC,QAAD,CAAW,CACrCH,UAAU,CAAC,CAAEiC,EAAE,CAAE,IAAN,CAAD,CAD2B,CAAX,CAL9B,CAQE,OAAO,CAAEZ,CARX,CASE,QAAQ,CAAE3B,SATZ,EAdJ,CAlCJ,CAgEH,CA1FD,CA4FA,MAAO,IAAMwC,gBAAe,CAAGtC,UAAU,CACvCQ,qBADuC,CAAlC"}
|
|
@@ -10,7 +10,7 @@ export declare const withDefaultGetters: (props: BookmarkTabsProps) => {
|
|
|
10
10
|
getItemRef: BookmarkTabsPropGetItemRef<BookmarkTabsItemDefault>;
|
|
11
11
|
getItemAttributes: BookmarkTabsPropGetItemAttributes<BookmarkTabsItemDefault>;
|
|
12
12
|
size?: "m" | "s" | undefined;
|
|
13
|
-
form?: "
|
|
13
|
+
form?: "brick" | "round" | undefined;
|
|
14
14
|
view?: "ghost" | "clear" | undefined;
|
|
15
15
|
items: BookmarkTabsItemDefault[];
|
|
16
16
|
value?: BookmarkTabsItemDefault | null | undefined;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IconComponent } from '@consta/icons/Icon';
|
|
2
2
|
import React from 'react';
|
|
3
|
+
import { AsAttributes, AsTags } from "../../utils/types/AsTags";
|
|
3
4
|
import { PropsWithAsAttributes } from "../../utils/types/PropsWithAsAttributes";
|
|
4
5
|
import { PropsWithHTMLAttributesAndRef } from "../../utils/types/PropsWithHTMLAttributes";
|
|
5
6
|
export declare const bookmarkTabsPropSize: readonly ["m", "s"];
|
|
@@ -17,18 +18,18 @@ export declare type BookmarkTabsItemDefault = {
|
|
|
17
18
|
leftIcon?: IconComponent;
|
|
18
19
|
rightIcon?: IconComponent;
|
|
19
20
|
fixed?: boolean;
|
|
20
|
-
as?:
|
|
21
|
+
as?: AsTags;
|
|
21
22
|
ref?: React.RefObject<HTMLElement>;
|
|
22
|
-
attributes?:
|
|
23
|
+
attributes?: AsAttributes;
|
|
23
24
|
};
|
|
24
25
|
export declare type BookmarkTabsPropGetItemKey<ITEM> = (item: ITEM) => string | number;
|
|
25
26
|
export declare type BookmarkTabsPropGetItemLabel<ITEM> = (item: ITEM) => string | number | undefined;
|
|
26
27
|
export declare type BookmarkTabsPropGetItemLeftIcon<ITEM> = (item: ITEM) => IconComponent | undefined;
|
|
27
28
|
export declare type BookmarkTabsPropGetItemRightIcon<ITEM> = (item: ITEM) => IconComponent | undefined;
|
|
28
29
|
export declare type BookmarkTabsPropGetItemFixed<ITEM> = (item: ITEM) => boolean | undefined;
|
|
29
|
-
export declare type BookmarkTabsPropGetItemAs<ITEM> = (item: ITEM) =>
|
|
30
|
+
export declare type BookmarkTabsPropGetItemAs<ITEM> = (item: ITEM) => AsTags | undefined;
|
|
30
31
|
export declare type BookmarkTabsPropGetItemRef<ITEM> = (item: ITEM) => React.RefObject<HTMLElement> | undefined;
|
|
31
|
-
export declare type BookmarkTabsPropGetItemAttributes<ITEM> = (item: ITEM) =>
|
|
32
|
+
export declare type BookmarkTabsPropGetItemAttributes<ITEM> = (item: ITEM) => AsAttributes | undefined;
|
|
32
33
|
export declare type BookmarkTabsPropOnChange<ITEM> = (value: ITEM, params: {
|
|
33
34
|
e: React.MouseEvent;
|
|
34
35
|
id?: string;
|
|
@@ -41,6 +42,7 @@ export declare type BookmarkTabsRenderItemProps<ITEM> = {
|
|
|
41
42
|
size: BookmarkTabsPropSize;
|
|
42
43
|
form: BookmarkTabsPropForm;
|
|
43
44
|
view: BookmarkTabsPropView;
|
|
45
|
+
bordered?: boolean;
|
|
44
46
|
tabWidth?: string;
|
|
45
47
|
tabRef?: React.RefObject<HTMLElement>;
|
|
46
48
|
controlRef?: React.RefObject<HTMLElement>;
|
|
@@ -74,15 +76,16 @@ export declare type BookmarkTabsProps<ITEM = BookmarkTabsItemDefault> = PropsWit
|
|
|
74
76
|
getItemKey: BookmarkTabsPropGetItemKey<ITEM>;
|
|
75
77
|
});
|
|
76
78
|
export declare type BookmarkTabsComponent = <ITEM>(props: BookmarkTabsProps<ITEM>) => React.ReactElement | null;
|
|
77
|
-
export declare type BookmarkTabsTabProps<AS extends
|
|
79
|
+
export declare type BookmarkTabsTabProps<AS extends AsTags = 'button'> = PropsWithAsAttributes<{
|
|
78
80
|
size: BookmarkTabsPropSize;
|
|
79
81
|
form: BookmarkTabsPropForm;
|
|
80
82
|
view: BookmarkTabsPropView;
|
|
81
83
|
active?: boolean;
|
|
82
84
|
tabWidth?: string;
|
|
85
|
+
bordered?: boolean;
|
|
83
86
|
tabRef?: React.RefObject<HTMLElement>;
|
|
84
87
|
controlRef?: React.RefObject<HTMLElement>;
|
|
85
88
|
fixed?: boolean;
|
|
86
|
-
onClose?: React.
|
|
89
|
+
onClose?: React.ReactEventHandler;
|
|
87
90
|
}, AS> & Omit<BookmarkTabsItemDefault, 'key' | 'attributes' | 'ref'>;
|
|
88
|
-
export declare type BookmarkTabsTabComponent = <AS extends
|
|
91
|
+
export declare type BookmarkTabsTabComponent = <AS extends AsTags = 'button'>(props: BookmarkTabsTabProps<AS>) => React.ReactElement | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["bookmarkTabsPropSize","bookmarkTabsPropSizeDefault","bookmarkTabsPropForm","bookmarkTabsPropFormDefault","bookmarkTabsPropView","bookmarkTabsPropViewDefault"],"sources":["../../../../../src/components/BookmarkTabsCanary/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { PropsWithAsAttributes } from '##/utils/types/PropsWithAsAttributes';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport const bookmarkTabsPropSize = ['m', 's'] as const;\nexport type BookmarkTabsPropSize = typeof bookmarkTabsPropSize[number];\nexport const bookmarkTabsPropSizeDefault: BookmarkTabsPropSize =\n bookmarkTabsPropSize[0];\n\nexport const bookmarkTabsPropForm = ['brick', 'round'] as const;\nexport type BookmarkTabsPropForm = typeof bookmarkTabsPropForm[number];\nexport const bookmarkTabsPropFormDefault: BookmarkTabsPropForm =\n bookmarkTabsPropForm[0];\n\nexport const bookmarkTabsPropView = ['ghost', 'clear'] as const;\nexport type BookmarkTabsPropView = typeof bookmarkTabsPropView[number];\nexport const bookmarkTabsPropViewDefault: BookmarkTabsPropView =\n bookmarkTabsPropView[0];\n\nexport type BookmarkTabsItemDefault = {\n key: string | number;\n label?: string | number;\n leftIcon?: IconComponent;\n rightIcon?: IconComponent;\n fixed?: boolean;\n as?:
|
|
1
|
+
{"version":3,"file":"types.js","names":["bookmarkTabsPropSize","bookmarkTabsPropSizeDefault","bookmarkTabsPropForm","bookmarkTabsPropFormDefault","bookmarkTabsPropView","bookmarkTabsPropViewDefault"],"sources":["../../../../../src/components/BookmarkTabsCanary/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { AsAttributes, AsTags } from '##/utils/types/AsTags';\nimport { PropsWithAsAttributes } from '##/utils/types/PropsWithAsAttributes';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport const bookmarkTabsPropSize = ['m', 's'] as const;\nexport type BookmarkTabsPropSize = typeof bookmarkTabsPropSize[number];\nexport const bookmarkTabsPropSizeDefault: BookmarkTabsPropSize =\n bookmarkTabsPropSize[0];\n\nexport const bookmarkTabsPropForm = ['brick', 'round'] as const;\nexport type BookmarkTabsPropForm = typeof bookmarkTabsPropForm[number];\nexport const bookmarkTabsPropFormDefault: BookmarkTabsPropForm =\n bookmarkTabsPropForm[0];\n\nexport const bookmarkTabsPropView = ['ghost', 'clear'] as const;\nexport type BookmarkTabsPropView = typeof bookmarkTabsPropView[number];\nexport const bookmarkTabsPropViewDefault: BookmarkTabsPropView =\n bookmarkTabsPropView[0];\n\nexport type BookmarkTabsItemDefault = {\n key: string | number;\n label?: string | number;\n leftIcon?: IconComponent;\n rightIcon?: IconComponent;\n fixed?: boolean;\n as?: AsTags;\n ref?: React.RefObject<HTMLElement>;\n attributes?: AsAttributes;\n};\n\nexport type BookmarkTabsPropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type BookmarkTabsPropGetItemLabel<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type BookmarkTabsPropGetItemLeftIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\nexport type BookmarkTabsPropGetItemRightIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\nexport type BookmarkTabsPropGetItemFixed<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\nexport type BookmarkTabsPropGetItemAs<ITEM> = (\n item: ITEM,\n) => AsTags | undefined;\nexport type BookmarkTabsPropGetItemRef<ITEM> = (\n item: ITEM,\n) => React.RefObject<HTMLElement> | undefined;\nexport type BookmarkTabsPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) => AsAttributes | undefined;\n\nexport type BookmarkTabsPropOnChange<ITEM> = (\n value: ITEM,\n params: {\n e: React.MouseEvent;\n id?: string;\n },\n) => void;\n\nexport type BookmarkTabsRenderItemProps<ITEM> = {\n item: ITEM;\n onClick: React.MouseEventHandler;\n active?: boolean;\n onClose?: React.MouseEventHandler;\n size: BookmarkTabsPropSize;\n form: BookmarkTabsPropForm;\n view: BookmarkTabsPropView;\n bordered?: boolean;\n tabWidth?: string;\n tabRef?: React.RefObject<HTMLElement>;\n controlRef?: React.RefObject<HTMLElement>;\n} & Omit<BookmarkTabsItemDefault, 'key' | 'ref'>;\n\nexport type BookmarkTabsPropRenderItem<ITEM> = (\n props: BookmarkTabsRenderItemProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type BookmarkTabsProps<ITEM = BookmarkTabsItemDefault> =\n PropsWithHTMLAttributesAndRef<\n {\n size?: BookmarkTabsPropSize;\n form?: BookmarkTabsPropForm;\n view?: BookmarkTabsPropView;\n items: ITEM[];\n value?: ITEM | null;\n getItemKey?: BookmarkTabsPropGetItemKey<ITEM>;\n getItemLabel?: BookmarkTabsPropGetItemLabel<ITEM>;\n getItemLeftIcon?: BookmarkTabsPropGetItemLeftIcon<ITEM>;\n getItemRightIcon?: BookmarkTabsPropGetItemRightIcon<ITEM>;\n getItemFixed?: BookmarkTabsPropGetItemFixed<ITEM>;\n getItemAs?: BookmarkTabsPropGetItemAs<ITEM>;\n getItemRef?: BookmarkTabsPropGetItemRef<ITEM>;\n getItemAttributes?: BookmarkTabsPropGetItemAttributes<ITEM>;\n children?: never;\n withNavigationButtons?: boolean;\n onCreate?: React.MouseEventHandler;\n onRemove?: (item: ITEM, params: { e: React.MouseEvent }) => void;\n onChange?: BookmarkTabsPropOnChange<ITEM>;\n renderItem?: BookmarkTabsPropRenderItem<ITEM>;\n },\n HTMLDivElement\n > &\n (ITEM extends { key: string | number }\n ? {}\n : {\n getItemKey: BookmarkTabsPropGetItemKey<ITEM>;\n });\n\nexport type BookmarkTabsComponent = <ITEM>(\n props: BookmarkTabsProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type BookmarkTabsTabProps<AS extends AsTags = 'button'> =\n PropsWithAsAttributes<\n {\n size: BookmarkTabsPropSize;\n form: BookmarkTabsPropForm;\n view: BookmarkTabsPropView;\n active?: boolean;\n tabWidth?: string;\n bordered?: boolean;\n tabRef?: React.RefObject<HTMLElement>;\n controlRef?: React.RefObject<HTMLElement>;\n fixed?: boolean;\n onClose?: React.ReactEventHandler;\n },\n AS\n > &\n Omit<BookmarkTabsItemDefault, 'key' | 'attributes' | 'ref'>;\n\nexport type BookmarkTabsTabComponent = <AS extends AsTags = 'button'>(\n props: BookmarkTabsTabProps<AS>,\n) => React.ReactElement | null;\n"],"mappings":"AAOA,MAAO,IAAMA,qBAAoB,CAAG,CAAC,GAAD,CAAM,GAAN,CAA7B,CAEP,MAAO,IAAMC,4BAAiD,CAC5DD,oBAAoB,CAAC,CAAD,CADf,CAGP,MAAO,IAAME,qBAAoB,CAAG,CAAC,OAAD,CAAU,OAAV,CAA7B,CAEP,MAAO,IAAMC,4BAAiD,CAC5DD,oBAAoB,CAAC,CAAD,CADf,CAGP,MAAO,IAAME,qBAAoB,CAAG,CAAC,OAAD,CAAU,OAAV,CAA7B,CAEP,MAAO,IAAMC,4BAAiD,CAC5DD,oBAAoB,CAAC,CAAD,CADf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.Button{--button-loader-color:var(--button-color);--button-cursor:pointer;-webkit-appearance:none;background:var(--button-bg-color);border:none;border-radius:var(--control-radius);box-sizing:border-box;color:var(--button-color);cursor:var(--button-cursor);display:inline-block;flex-shrink:0;font-family:var(--font-primary);font-size:var(--button-font-size);font-weight:var(--font-weight-text-regular);height:var(--button-height);line-height:var(--button-height);max-width:100%;overflow:hidden;padding:0 var(--button-space);position:relative;text-decoration:none;text-overflow:ellipsis;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease,fill .15s ease;white-space:nowrap}.Button:not(.
|
|
1
|
+
.Button{--button-loader-color:var(--button-color);--button-cursor:pointer;-webkit-appearance:none;background:var(--button-bg-color);border:none;border-radius:var(--control-radius);box-sizing:border-box;color:var(--button-color);cursor:var(--button-cursor);display:inline-block;flex-shrink:0;font-family:var(--font-primary);font-size:var(--button-font-size);font-weight:var(--font-weight-text-regular);height:var(--button-height);line-height:var(--button-height);max-width:100%;overflow:hidden;padding:0 var(--button-space);position:relative;text-decoration:none;text-overflow:ellipsis;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease,fill .15s ease;white-space:nowrap}.Button:not(.Button_loading):hover,.Button:not(:disabled):hover,.Button:not(:disabled):not(.Button_loading):hover{background:var(--button-bg-color-hover);color:var(--button-color-hover)}.Button_form_brick{border-radius:0}.Button_form_round{border-radius:99rem}.Button_form_brickDefault{border-radius:0 var(--control-radius) var(--control-radius) 0}.Button_form_defaultBrick{border-radius:var(--control-radius) 0 0 var(--control-radius)}.Button_form_brickRound{border-radius:0 99rem 99rem 0}.Button_form_roundBrick{border-radius:99rem 0 0 99rem}.Button_size_xs{--button-height:var(--control-height-xs);--button-font-size:var(--control-text-size-xs);--button-space:calc(var(--control-space-xs) - var(--space-3xs));--button-icon-indent:var(--space-xs)}.Button_size_s{--button-height:var(--control-height-s);--button-font-size:var(--control-text-size-s);--button-space:var(--control-space-xs);--button-icon-indent:calc(var(--space-s) - var(--space-3xs))}.Button_size_m{--button-height:var(--control-height-m);--button-font-size:var(--control-text-size-m);--button-space:var(--control-space-s);--button-icon-indent:calc(var(--space-m) - var(--space-3xs))}.Button_size_l{--button-height:var(--control-height-l);--button-font-size:var(--control-text-size-l);--button-space:var(--control-space-m);--button-icon-indent:var(--space-l)}.Button_view_clear{--button-bg-color:var(--color-control-bg-clear);--button-bg-color-hover:var(--color-control-bg-clear-hover);--button-color:var(--color-control-typo-clear);--button-color-hover:var(--color-control-typo-clear-hover);--button-border:transparent;--button-bg-color-disable:var(--color-control-bg-border-disable);--button-color-disable:var(--color-control-typo-disable)}.Button_view_ghost{--button-bg-color:var(--color-control-bg-ghost);--button-bg-color-hover:var(--color-control-bg-ghost-hover);--button-color:var(--color-control-typo-ghost);--button-color-hover:var(--color-control-typo-ghost-hover);--button-border:transparent;--button-bg-color-disable:var(--color-control-bg-disable);--button-color-disable:var(--color-control-typo-disable)}.Button_view_primary{--button-bg-color:var(--color-control-bg-primary);--button-bg-color-hover:var(--color-control-bg-primary-hover);--button-color:var(--color-control-typo-primary);--button-color-hover:var(--color-control-typo-primary-hover);--button-border:transparent;--button-bg-color-disable:var(--color-control-bg-disable);--button-color-disable:var(--color-control-typo-disable)}.Button_view_secondary{--button-bg-color:var(--color-control-bg-secondary);--button-bg-color-hover:var(--color-control-bg-clear);--button-color:var(--color-control-typo-secondary);--button-color-hover:var(--color-control-typo-secondary-hover);--button-border:var(--color-control-bg-border-secondary);--button-border-hover:var(--color-control-bg-border-secondary-hover);--button-bg-color-disable:var(--color-control-bg-secondary);--button-color-disable:var(--color-control-typo-disable);--button-border-disable:var(--color-control-typo-disable);border:var(--control-border-width) solid var(--button-border);line-height:calc(var(--button-height) - var(--control-border-width)*2)}.Button_view_secondary:not(.Button_loading):hover,.Button_view_secondary:not(:disabled):hover,.Button_view_secondary:not(:disabled):not(.Button_loading):hover{border-color:var(--button-border-hover)}.Button_width_full{width:100%}.Button:disabled{--button-loader-color:var(--button-color-disable);--button-cursor:not-allowed;--button-color-hover:var(--button-color-disable);--button-border-hover:var(--button-color-disable);--button-bg-color-hover:var(--button-bg-color-disable);background-color:var(--button-bg-color-disable);border-color:var(--button-border-disable);color:var(--button-color-disable)}.Button_onlyIcon{--button-icon-indent:0;justify-content:center;padding:0;width:var(--button-height)}.Button_onlyIcon,.Button_withIcon{align-items:center;display:inline-flex}.Button-Icon{display:flex;flex-shrink:0}.Button-Icon_position_left{margin-right:var(--button-icon-indent)}.Button-Icon_position_right{margin-left:var(--button-icon-indent)}.Button-Label{flex-grow:1;flex-shrink:1;overflow:hidden;text-align:center;text-overflow:ellipsis}.Button_loading{--button-cursor:wait;color:transparent}.Button_loading:not(:disabled){--button-color-hover:transparent;--button-bg-color-hover:var(--button-bg-color)}.Button_loading:disabled{--button-cursor:not-allowed;color:transparent}.Button_loading .Button-Loader{--loaderBackgroundColor:var(--button-loader-color);position:absolute}
|
|
@@ -29,6 +29,7 @@ export declare type Props = {
|
|
|
29
29
|
iconSize?: IconPropSize;
|
|
30
30
|
title?: string;
|
|
31
31
|
children?: never;
|
|
32
|
+
type?: 'button' | 'reset' | 'submit';
|
|
32
33
|
};
|
|
33
34
|
export declare const COMPONENT_NAME: "Button";
|
|
34
35
|
export declare const cnButton: import("@bem-react/classname").ClassNameFormatter;
|
|
@@ -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","tabIndex","as","onlyIcon","iconSize"];import"./Button.css";import React,{useRef}from"react";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";import{Loader}from"../Loader/Loader";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.
|
|
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"];import"./Button.css";import React,{useRef}from"react";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";import{Loader}from"../Loader/Loader";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=_objectWithoutProperties(d,_excluded),B=(!o||y)&&(m||n),C=m,D=n,E=a.title||!!B&&o||void 0,F=B?getByMap(sizeMapOnlyIcon,f,z):getByMap(sizeMap,f,z);return React.createElement(x,Object.assign({},A,{onClick:q?function handleClick(a){r||s||!q||q(a)}:void 0,type:u,className:cnButton({size:f,view:h,width:j,form:mapStableForm[l],loading:s,disabled:r,withIcon:!!m||!!n,onlyIcon:!!B},[r||s?void 0:cnMixFocus(),p]),disabled:r,tabIndex:v,title:E,ref:useForkRef([b,c])}),B&&React.createElement(B,{className:cnButton("Icon"),size:F}),!B&&((C||D)&&o?React.createElement(React.Fragment,null,C&&React.createElement(C,{className:cnButton("Icon",{position:"left"}),size:F}),React.createElement("span",{className:cnButton("Label")},o),D&&React.createElement(D,{className:cnButton("Icon",{position:"right"}),size:F})):o),s&&React.createElement(Loader,{className:cnButton("Loader"),size:"s"}))});
|
|
2
2
|
//# sourceMappingURL=Button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","names":["React","useRef","useForkRef","cnMixFocus","cn","getByMap","forwardRefWithAs","usePropsHandler","Loader","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","tabIndex","as","onlyIcon","iconSizeProp","iconSize","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, { useRef } from 'react';\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';\nimport { Loader } from '../Loader/Loader';\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};\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 tabIndex,\n as = 'button',\n onlyIcon,\n iconSize: iconSizeProp,\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 className={cnButton(\n {\n size,\n view,\n width,\n form: mapStableForm[form],\n disabled,\n loading,\n withIcon,\n onlyIcon: !!IconOnly,\n },\n [!(disabled || loading) ? cnMixFocus() : undefined, className],\n )}\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 && <Loader className={cnButton('Loader')} size=\"s\" />}\n </Tag>\n );\n});\n"],"mappings":"kPAAA,qBAGA,MAAOA,MAAP,EAAgBC,MAAhB,KAA8B,OAA9B,CAEA,OAASC,UAAT,yCACA,OAASC,UAAT,oCACA,OAASC,EAAT,uBACA,OAASC,QAAT,4BACA,OAASC,gBAAT,+CACA,OAASC,eAAT,2CACA,OAASC,MAAT,wBAEA,MAAO,IAAMC,eAAc,CAAG,CAAC,GAAD,CAAM,IAAN,CAAY,GAAZ,CAAiB,GAAjB,CAAvB,CAEP,MAAO,IAAMC,sBAAqC,CAAGD,cAAc,CAAC,CAAD,CAA5D,CAEP,MAAO,IAAME,eAAc,CAAG,CAC5B,SAD4B,CAE5B,OAF4B,CAG5B,OAH4B,CAI5B,WAJ4B,CAAvB,CAOP,MAAO,IAAMC,sBAAqC,CAAGD,cAAc,CAAC,CAAD,CAA5D,CAEP,MAAO,IAAME,gBAAe,CAAG,CAAC,SAAD,CAAY,MAAZ,CAAxB,CAEP,MAAO,IAAMC,uBAAuC,CAAGD,eAAe,CAAC,CAAD,CAA/D,CAEP,MAAO,IAAME,eAAc,CAAG,CAC5B,SAD4B,CAE5B,OAF4B,CAG5B,OAH4B,CAI5B,YAJ4B,CAK5B,YAL4B,CAM5B,cAN4B,CAO5B,cAP4B,CAAvB,CA4BP,GAAMC,cAAiD,CAAG,CACxD,QAAS,SAD+C,CAExDC,YAAY,CAAE,cAF0C,CAGxDC,YAAY,CAAE,cAH0C,CAIxDC,KAAK,CAAE,OAJiD,CAKxDC,YAAY,CAAE,cAL0C,CAMxDC,UAAU,CAAE,OAN4C,CAOxDC,UAAU,CAAE,YAP4C,CAQxDC,KAAK,CAAE,OARiD,CASxDC,UAAU,CAAE,YAT4C,CAUxDC,UAAU,CAAE,YAV4C,CAWxDC,UAAU,CAAE,YAX4C,CAYxDC,YAAY,CAAE,cAZ0C,CAaxDC,UAAU,CAAE,OAb4C,CAcxDC,UAAU,CAAE,OAd4C,CAA1D,CAiBA,MAAO,IAAMC,sBAAqB,CAAGf,cAAc,CAAC,CAAD,CAA5C,CAoBP,MAAO,IAAMgB,eAAc,CAAG,QAAvB,CACP,MAAO,IAAMC,SAAQ,CAAG5B,EAAE,UAAnB,C,GAED6B,QAA6C,CAAG,CACpDC,EAAE,CAAE,IADgD,CAEpDC,CAAC,CAAE,IAFiD,CAGpDC,CAAC,CAAE,GAHiD,CAIpDC,CAAC,CAAE,GAJiD,C,CAOhDC,eAAqD,CAAG,CAC5DJ,EAAE,CAAE,IADwD,CAE5DC,CAAC,CAAE,GAFyD,CAG5DC,CAAC,CAAE,GAHyD,CAI5DC,CAAC,CAAE,GAJyD,C,CAO9D,MAAO,IAAME,OAAM,CAAGjC,gBAAgB,CAAkB,SAACkC,CAAD,CAAQC,CAAR,CAAgB,IAChEC,EAAS,CAAGzC,MAAM,CAA2B,IAA3B,CAD8C,GAoBlEM,eAAe,CAACwB,cAAD,CAAiBS,CAAjB,CAAwBE,CAAxB,CApBmD,KAIpEC,IAJoE,CAIpEA,CAJoE,YAI7DjC,qBAJ6D,OAKpEkC,IALoE,CAKpEA,CALoE,YAK7DhC,qBAL6D,OAMpEiC,KANoE,CAMpEA,CANoE,YAM5D/B,sBAN4D,OAOpEgC,IAPoE,CAOpEA,CAPoE,YAO7DhB,qBAP6D,GAQpEiB,CARoE,GAQpEA,QARoE,CASpEC,CAToE,GASpEA,SAToE,CAUpEC,CAVoE,GAUpEA,KAVoE,CAWpEC,CAXoE,GAWpEA,SAXoE,CAYpEC,CAZoE,GAYpEA,OAZoE,CAapEC,CAboE,GAapEA,QAboE,CAcpEC,CAdoE,GAcpEA,OAdoE,CAepEC,CAfoE,GAepEA,QAfoE,KAgBpEC,EAhBoE,CAgBpEA,CAhBoE,YAgB/D,QAhB+D,GAiBpEC,CAjBoE,GAiBpEA,QAjBoE,CAkB1DC,CAlB0D,GAkBpEC,QAlBoE,CAmBjEC,CAnBiE,uCAuBhEC,CAAQ,CAAG,CAAC,CAACX,CAAD,EAAUO,CAAX,IAAyBT,CAAQ,EAAIC,CAArC,CAvBqD,CAwBhEa,CAAQ,CAAGd,CAxBqD,CAyBhEe,CAAS,CAAGd,CAzBoD,CA2BhEe,CAAK,CAAGvB,CAAK,CAACuB,KAAN,EAAgB,CAAC,CAACH,CAAF,EAAcX,CAA9B,QA3BwD,CA4BhES,CAAQ,CAAGE,CAAQ,CACrBvD,QAAQ,CAACiC,eAAD,CAAkBK,CAAlB,CAAwBc,CAAxB,CADa,CAErBpD,QAAQ,CAAC4B,OAAD,CAAUU,CAAV,CAAgBc,CAAhB,CA9B0D,CAsCtE,MACE,qBAjBUF,CAiBV,kBACMI,CADN,EAEE,OAAO,CAAER,CAAO,CATA,QAAda,YAAc,CAACC,CAAD,CAAsC,CACnDb,CAAD,EAAcC,CAAd,GAAyBF,CAD2B,EAEtDA,CAAO,CAACc,CAAD,CAEV,CAKmB,OAFlB,CAGE,SAAS,CAAEjC,QAAQ,CACjB,CACEW,IAAI,CAAJA,CADF,CAEEC,IAAI,CAAJA,CAFF,CAGEC,KAAK,CAALA,CAHF,CAIEC,IAAI,CAAE9B,aAAa,CAAC8B,CAAD,CAJrB,CAKEM,QAAQ,CAARA,CALF,CAMEC,OAAO,CAAPA,CANF,CAOEa,QAAQ,CAxBC,CAAC,CAACnB,CAAF,EAAc,CAAC,CAACC,CAiB3B,CAQEQ,QAAQ,CAAE,CAAC,CAACI,CARd,CADiB,CAWjB,CAAGR,CAAQ,EAAIC,CAAd,QAAyBlD,UAAU,EAApC,CAAoD+C,CAApD,CAXiB,CAHrB,CAgBE,QAAQ,CAAEI,CAhBZ,CAiBE,KAAK,CAAES,CAjBT,CAkBE,GAAG,CAAE7D,UAAU,CAAC,CAACuC,CAAD,CAAMC,CAAN,CAAD,CAlBjB,GAoBGkB,CAAQ,EAAI,oBAAC,CAAD,EAAU,SAAS,CAAE5B,QAAQ,CAAC,MAAD,CAA7B,CAAuC,IAAI,CAAE0B,CAA7C,EApBf,CAqBG,CAACE,CAAD,GACE,CAACC,CAAQ,EAAIC,CAAb,GAA2Bb,CAA3B,CACC,wCACGY,CAAQ,EACP,oBAAC,CAAD,EACE,SAAS,CAAE7B,QAAQ,CAAC,MAAD,CAAS,CAAEmC,QAAQ,CAAE,MAAZ,CAAT,CADrB,CAEE,IAAI,CAAET,CAFR,EAFJ,CAOE,4BAAM,SAAS,CAAE1B,QAAQ,CAAC,OAAD,CAAzB,EAAqCiB,CAArC,CAPF,CAQGa,CAAS,EACR,oBAAC,CAAD,EACE,SAAS,CAAE9B,QAAQ,CAAC,MAAD,CAAS,CAAEmC,QAAQ,CAAE,OAAZ,CAAT,CADrB,CAEE,IAAI,CAAET,CAFR,EATJ,CADD,CAiBCT,CAlBH,CArBH,CAyCGI,CAAO,EAAI,oBAAC,MAAD,EAAQ,SAAS,CAAErB,QAAQ,CAAC,QAAD,CAA3B,CAAuC,IAAI,CAAC,GAA5C,EAzCd,CA4CH,CAnFqC,CAA/B"}
|
|
1
|
+
{"version":3,"file":"Button.js","names":["React","useRef","useForkRef","cnMixFocus","cn","getByMap","forwardRefWithAs","usePropsHandler","Loader","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","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, { useRef } from 'react';\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';\nimport { Loader } from '../Loader/Loader';\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};\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 ...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 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 && <Loader className={cnButton('Loader')} size=\"s\" />}\n </Tag>\n );\n});\n"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { IconComponent } from '@consta/icons/Icon';
|
|
3
3
|
import { badgePropStatus } from "../Badge";
|
|
4
|
+
import { AsAttributes, AsTags } from "../../utils/types/AsTags";
|
|
4
5
|
import { PropsWithHTMLAttributesAndRef } from "../../utils/types/PropsWithHTMLAttributes";
|
|
5
6
|
export declare const chipsPropSize: readonly ["xs", "s", "m", "l"];
|
|
6
7
|
export declare type ChipsPropSize = typeof chipsPropSize[number];
|
|
@@ -21,8 +22,8 @@ export declare type ChipsItemProps = {
|
|
|
21
22
|
active?: boolean;
|
|
22
23
|
};
|
|
23
24
|
export declare type ChipsDefaultItem = Omit<ChipsItemProps, 'size' | 'activeView' | 'interactive' | 'onRightIconClick'> & {
|
|
24
|
-
attributes?: Omit<
|
|
25
|
-
as?:
|
|
25
|
+
attributes?: Omit<AsAttributes, 'children' | 'ref'>;
|
|
26
|
+
as?: AsTags;
|
|
26
27
|
ref?: React.RefObject<HTMLElement>;
|
|
27
28
|
};
|
|
28
29
|
export declare type ChipsPropGetItemStatus<ITEM> = (item: ITEM) => ChipsDefaultItem['status'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["chipsPropSize","chipsPropSizeDefault","chipsPropActiveView","chipsPropActiveViewDefault"],"sources":["../../../../../src/components/ChipsCanary/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\n\nimport { badgePropStatus } from '##/components/Badge';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport const chipsPropSize = ['xs', 's', 'm', 'l'] as const;\nexport type ChipsPropSize = typeof chipsPropSize[number];\nexport const chipsPropSizeDefault: ChipsPropSize = 'm';\n\nexport const chipsPropActiveView = ['primary', 'secondary'] as const;\nexport type ChipsPropActiveView = typeof chipsPropActiveView[number];\nexport const chipsPropActiveViewDefault: ChipsPropActiveView = 'primary';\n\nexport type ChipsPropStatus = typeof badgePropStatus[number];\n\nexport type ChipsItemProps = {\n size?: ChipsPropSize;\n activeView?: ChipsPropActiveView;\n interactive?: boolean;\n onRightIconClick?: React.MouseEventHandler<HTMLButtonElement>;\n iconLeft?: IconComponent;\n iconRight?: IconComponent;\n status?: ChipsPropStatus;\n label: string;\n active?: boolean;\n};\n\nexport type ChipsDefaultItem = Omit<\n ChipsItemProps,\n 'size' | 'activeView' | 'interactive' | 'onRightIconClick'\n> & {\n attributes?: Omit
|
|
1
|
+
{"version":3,"file":"types.js","names":["chipsPropSize","chipsPropSizeDefault","chipsPropActiveView","chipsPropActiveViewDefault"],"sources":["../../../../../src/components/ChipsCanary/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\n\nimport { badgePropStatus } from '##/components/Badge';\nimport { AsAttributes, AsTags } from '##/utils/types/AsTags';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport const chipsPropSize = ['xs', 's', 'm', 'l'] as const;\nexport type ChipsPropSize = typeof chipsPropSize[number];\nexport const chipsPropSizeDefault: ChipsPropSize = 'm';\n\nexport const chipsPropActiveView = ['primary', 'secondary'] as const;\nexport type ChipsPropActiveView = typeof chipsPropActiveView[number];\nexport const chipsPropActiveViewDefault: ChipsPropActiveView = 'primary';\n\nexport type ChipsPropStatus = typeof badgePropStatus[number];\n\nexport type ChipsItemProps = {\n size?: ChipsPropSize;\n activeView?: ChipsPropActiveView;\n interactive?: boolean;\n onRightIconClick?: React.MouseEventHandler<HTMLButtonElement>;\n iconLeft?: IconComponent;\n iconRight?: IconComponent;\n status?: ChipsPropStatus;\n label: string;\n active?: boolean;\n};\n\nexport type ChipsDefaultItem = Omit<\n ChipsItemProps,\n 'size' | 'activeView' | 'interactive' | 'onRightIconClick'\n> & {\n attributes?: Omit<AsAttributes, 'children' | 'ref'>;\n as?: AsTags;\n ref?: React.RefObject<HTMLElement>;\n};\n\n// export type ChipsPropGetItemKey<ITEM> = (item: ITEM) => ChipsDefaultItem['key'];\nexport type ChipsPropGetItemStatus<ITEM> = (\n item: ITEM,\n) => ChipsDefaultItem['status'];\nexport type ChipsPropGetItemLabel<ITEM> = (\n item: ITEM,\n) => ChipsDefaultItem['label'];\nexport type ChipsPropGetItemIconLeft<ITEM> = (\n item: ITEM,\n) => ChipsDefaultItem['iconLeft'];\nexport type ChipsPropGetItemIconRight<ITEM> = (\n item: ITEM,\n) => ChipsDefaultItem['iconRight'];\nexport type ChipsPropGetItemRef<ITEM> = (item: ITEM) => ChipsDefaultItem['ref'];\nexport type ChipsPropGetItemAs<ITEM> = (item: ITEM) => ChipsDefaultItem['as'];\nexport type ChipsPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) => ChipsDefaultItem['attributes'];\nexport type ChipsPropGetItemActive<ITEM> = (\n item: ITEM,\n) => ChipsDefaultItem['active'];\nexport type ChipsPropOnItemClick<ITEM> = (\n item: ITEM,\n props: { e: React.MouseEvent },\n) => void;\nexport type ChipsPropItemOnRightIconClick<ITEM> = (\n item: ITEM,\n props: { e: React.MouseEvent },\n) => void;\n\nexport type ChipsProps<ITEM = ChipsDefaultItem> = PropsWithHTMLAttributesAndRef<\n {\n size?: ChipsPropSize;\n activeView?: ChipsPropActiveView;\n items: ITEM[];\n interactive?: boolean;\n getItemStatus?: ChipsPropGetItemStatus<ITEM>;\n getItemLabel?: ChipsPropGetItemLabel<ITEM>;\n getItemIconLeft?: ChipsPropGetItemIconLeft<ITEM>;\n getItemIconRight?: ChipsPropGetItemIconRight<ITEM>;\n getItemRef?: ChipsPropGetItemRef<ITEM>;\n getItemAs?: ChipsPropGetItemAs<ITEM>;\n getItemAttributes?: ChipsPropGetItemAttributes<ITEM>;\n getItemActive?: ChipsPropGetItemActive<ITEM>;\n onItemClick?: ChipsPropOnItemClick<ITEM>;\n onItemRightIconClick?: ChipsPropItemOnRightIconClick<ITEM>;\n },\n HTMLDivElement\n> &\n (ITEM extends { label: string }\n ? {}\n : {\n getItemLabel: ChipsPropGetItemLabel<ITEM>;\n });\n\nexport type ChipsComponent = <ITEM = ChipsDefaultItem>(\n props: ChipsProps<ITEM>,\n) => React.ReactElement | null;\n"],"mappings":"AAMA,MAAO,IAAMA,cAAa,CAAG,CAAC,IAAD,CAAO,GAAP,CAAY,GAAZ,CAAiB,GAAjB,CAAtB,CAEP,MAAO,IAAMC,qBAAmC,CAAG,GAA5C,CAEP,MAAO,IAAMC,oBAAmB,CAAG,CAAC,SAAD,CAAY,WAAZ,CAA5B,CAEP,MAAO,IAAMC,2BAA+C,CAAG,SAAxD"}
|
|
@@ -7,7 +7,7 @@ export declare const withDefaultGetters: (props: ChoiceGroupProps) => {
|
|
|
7
7
|
getItemAttributes: ChoiceGroupPropGetItemAttributes<ChoiceGroupDefaultItem>;
|
|
8
8
|
getItemRef: ChoiceGroupPropGetItemRef<ChoiceGroupDefaultItem>;
|
|
9
9
|
size?: "m" | "s" | "xs" | "l" | undefined;
|
|
10
|
-
form?: "default" | "
|
|
10
|
+
form?: "default" | "brick" | "round" | undefined;
|
|
11
11
|
view?: "primary" | "ghost" | "secondary" | undefined;
|
|
12
12
|
width?: "default" | "full" | undefined;
|
|
13
13
|
onlyIcon?: boolean | undefined;
|
|
@@ -66,7 +66,7 @@ export declare function withDefaultGetters<ITEM, IS_ACCORDION extends boolean>(p
|
|
|
66
66
|
icon?: IconComponent<"span"> | undefined;
|
|
67
67
|
divider?: boolean | undefined;
|
|
68
68
|
size?: "m" | "s" | "xs" | "l" | "2xs" | undefined;
|
|
69
|
-
form?: "default" | "
|
|
69
|
+
form?: "default" | "brick" | "round" | undefined;
|
|
70
70
|
view?: "primary" | "ghost" | "clear" | "secondary" | undefined;
|
|
71
71
|
horizontalSpace?: "m" | "s" | "xs" | "l" | "2xs" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "3xs" | undefined;
|
|
72
72
|
hoverEffect?: boolean | undefined;
|
|
@@ -101,7 +101,7 @@ export declare function withDefaultGetters<ITEM, IS_ACCORDION extends boolean>(p
|
|
|
101
101
|
icon?: IconComponent<"span"> | undefined;
|
|
102
102
|
divider?: boolean | undefined;
|
|
103
103
|
size?: "m" | "s" | "xs" | "l" | "2xs" | undefined;
|
|
104
|
-
form?: "default" | "
|
|
104
|
+
form?: "default" | "brick" | "round" | undefined;
|
|
105
105
|
view?: "primary" | "ghost" | "clear" | "secondary" | undefined;
|
|
106
106
|
horizontalSpace?: "m" | "s" | "xs" | "l" | "2xs" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "3xs" | undefined;
|
|
107
107
|
hoverEffect?: boolean | undefined;
|
|
@@ -109,8 +109,8 @@ export declare function withDefaultGetters<ITEM = DefaultItem, GROUP = DefaultGr
|
|
|
109
109
|
items: ITEM[];
|
|
110
110
|
onChange: PropOnChange<ITEM, MULTIPLE>;
|
|
111
111
|
disabled?: boolean | undefined;
|
|
112
|
-
form?: "default" | "
|
|
113
|
-
dropdownForm?: "default" | "
|
|
112
|
+
form?: "default" | "defaultClear" | "defaultBrick" | "brick" | "brickDefault" | "brickClear" | "brickRound" | "round" | "roundClear" | "roundBrick" | "clearRound" | "clearDefault" | "clearBrick" | "clearClear" | undefined;
|
|
113
|
+
dropdownForm?: "default" | "brick" | "round" | undefined;
|
|
114
114
|
size?: "m" | "s" | "xs" | "l" | undefined;
|
|
115
115
|
view?: "default" | "clear" | undefined;
|
|
116
116
|
placeholder?: string | undefined;
|
|
@@ -113,8 +113,8 @@ export declare function withDefaultGetters<ITEM = DefaultItem, GROUP = DefaultGr
|
|
|
113
113
|
items: ITEM[];
|
|
114
114
|
onChange: PropOnChange<ITEM, MULTIPLE>;
|
|
115
115
|
disabled?: boolean | undefined;
|
|
116
|
-
form?: "default" | "
|
|
117
|
-
dropdownForm?: "default" | "
|
|
116
|
+
form?: "default" | "defaultClear" | "defaultBrick" | "brick" | "brickDefault" | "brickClear" | "brickRound" | "round" | "roundClear" | "roundBrick" | "clearRound" | "clearDefault" | "clearBrick" | "clearClear" | undefined;
|
|
117
|
+
dropdownForm?: "default" | "brick" | "round" | undefined;
|
|
118
118
|
size?: "m" | "s" | "xs" | "l" | undefined;
|
|
119
119
|
view?: "default" | "clear" | undefined;
|
|
120
120
|
placeholder?: string | undefined;
|