@consta/uikit 5.0.3 → 5.2.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/BookmarkTabs/BookmarkTabs.js +1 -1
- package/__internal__/src/components/BookmarkTabs/BookmarkTabs.js.map +1 -1
- package/__internal__/src/components/Chips/Chips.js +1 -1
- package/__internal__/src/components/Chips/Chips.js.map +1 -1
- package/__internal__/src/components/Chips/ChipsChoice/ChipsChoice.js +1 -1
- package/__internal__/src/components/Chips/ChipsChoice/ChipsChoice.js.map +1 -1
- package/__internal__/src/components/Chips/ChipsChoice/types.d.ts +1 -0
- package/__internal__/src/components/Chips/ChipsChoice/types.js.map +1 -1
- package/__internal__/src/components/Chips/ChipsItem/ChipsItem.css +2 -2
- package/__internal__/src/components/Chips/ChipsItem/ChipsItem.js +1 -1
- package/__internal__/src/components/Chips/ChipsItem/ChipsItem.js.map +1 -1
- package/__internal__/src/components/Chips/helpers.d.ts +6 -2
- package/__internal__/src/components/Chips/helpers.js +1 -1
- package/__internal__/src/components/Chips/helpers.js.map +1 -1
- package/__internal__/src/components/Chips/types.d.ts +4 -0
- package/__internal__/src/components/Chips/types.js.map +1 -1
- package/__internal__/src/components/ChoiceGroup/ChoiceGroup.js +1 -1
- package/__internal__/src/components/ChoiceGroup/ChoiceGroup.js.map +1 -1
- package/__internal__/src/components/ChoiceGroup/Item/ChoiceGroup-Item.js +1 -1
- package/__internal__/src/components/ChoiceGroup/Item/ChoiceGroup-Item.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePicker.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerAdditionalControls/DatePickerAdditionalControls.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerAdditionalControls/DatePickerAdditionalControls.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.d.ts +3 -3
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/helpers.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/helpers.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/helpers.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/helpers.d.ts +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDate/DatePickerTypeDate.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTime/DatePickerTypeDateTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonth/DatePickerTypeMonth.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeTime/DatePickerTypeTime.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYear/DatePickerTypeYear.js.map +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js +1 -1
- package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js.map +1 -1
- package/__internal__/src/components/DatePicker/helpers.d.ts +7 -0
- package/__internal__/src/components/DatePicker/helpers.js +1 -1
- package/__internal__/src/components/DatePicker/helpers.js.map +1 -1
- package/__internal__/src/components/DatePicker/useCalendarVisible.d.ts +3 -2
- package/__internal__/src/components/DatePicker/useCalendarVisible.js +1 -1
- package/__internal__/src/components/DatePicker/useCalendarVisible.js.map +1 -1
- package/__internal__/src/components/DateTime/DateTimeItem/DateTimeItem.css +1 -1
- package/__internal__/src/components/DateTime/DateTimeItem/DateTimeItem.js +1 -1
- package/__internal__/src/components/DateTime/DateTimeItem/DateTimeItem.js.map +1 -1
- package/__internal__/src/components/FieldLabel/FieldLabel.js +1 -1
- package/__internal__/src/components/FieldLabel/FieldLabel.js.map +1 -1
- package/__internal__/src/components/Pagination/Pagination.css +1 -1
- package/__internal__/src/components/Pagination/Pagination.js +1 -1
- package/__internal__/src/components/Pagination/Pagination.js.map +1 -1
- package/__internal__/src/components/Pagination/PaginationItem/PaginationItem.css +1 -1
- package/__internal__/src/components/Pagination/PaginationItem/PaginationItem.d.ts +1 -0
- package/__internal__/src/components/Pagination/PaginationItem/PaginationItem.js +1 -1
- package/__internal__/src/components/Pagination/PaginationItem/PaginationItem.js.map +1 -1
- package/__internal__/src/components/Pagination/PaginationList/PaginationList.css +1 -1
- package/__internal__/src/components/Pagination/PaginationList/PaginationList.js +1 -1
- package/__internal__/src/components/Pagination/PaginationList/PaginationList.js.map +1 -1
- package/__internal__/src/components/Pagination/PaginationNumberInput/PaginationNumberInput.js +1 -1
- package/__internal__/src/components/Pagination/PaginationNumberInput/PaginationNumberInput.js.map +1 -1
- package/__internal__/src/components/Pagination/PaginationSizeCalculateHelper/PaginationSizeCalculateHelper.css +1 -0
- package/__internal__/src/components/Pagination/PaginationSizeCalculateHelper/PaginationSizeCalculateHelper.d.ts +7 -0
- package/__internal__/src/components/Pagination/PaginationSizeCalculateHelper/PaginationSizeCalculateHelper.js +2 -0
- package/__internal__/src/components/Pagination/PaginationSizeCalculateHelper/PaginationSizeCalculateHelper.js.map +1 -0
- package/__internal__/src/components/Pagination/PaginationSizeCalculateHelper/index.d.ts +1 -0
- package/__internal__/src/components/Pagination/PaginationSizeCalculateHelper/index.js +2 -0
- package/__internal__/src/components/Pagination/PaginationSizeCalculateHelper/index.js.map +1 -0
- package/__internal__/src/components/Pagination/helpers.d.ts +11 -555
- package/__internal__/src/components/Pagination/helpers.js +1 -1
- package/__internal__/src/components/Pagination/helpers.js.map +1 -1
- package/__internal__/src/components/Pagination/index.d.ts +0 -1
- package/__internal__/src/components/Pagination/index.js +1 -1
- package/__internal__/src/components/Pagination/index.js.map +1 -1
- package/__internal__/src/components/Pagination/types.d.ts +17 -37
- package/__internal__/src/components/Pagination/types.js.map +1 -1
- package/__internal__/src/components/Pagination/usePaginationItems.d.ts +7 -6
- package/__internal__/src/components/Pagination/usePaginationItems.js +1 -1
- package/__internal__/src/components/Pagination/usePaginationItems.js.map +1 -1
- package/__internal__/src/components/Pagination/usePaginationKeys.d.ts +2 -2
- package/__internal__/src/components/Pagination/usePaginationKeys.js +1 -1
- package/__internal__/src/components/Pagination/usePaginationKeys.js.map +1 -1
- package/__internal__/src/components/ProgressStepBar/ProgressStepBar.js +1 -1
- package/__internal__/src/components/ProgressStepBar/ProgressStepBar.js.map +1 -1
- package/__internal__/src/components/Slider/useSlider/helper.d.ts +1 -0
- package/__internal__/src/components/Slider/useSlider/helper.js +1 -1
- package/__internal__/src/components/Slider/useSlider/helper.js.map +1 -1
- package/__internal__/src/components/Slider/useSlider/useSlider.js +1 -1
- package/__internal__/src/components/Slider/useSlider/useSlider.js.map +1 -1
- package/__internal__/src/components/Spoiler/Spoiler.js +1 -1
- package/__internal__/src/components/Spoiler/Spoiler.js.map +1 -1
- package/__internal__/src/components/Spoiler/types.d.ts +2 -0
- package/__internal__/src/components/Spoiler/types.js.map +1 -1
- package/__internal__/src/components/Switch/Switch.css +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/TabsFitModeScrollWrapper/TabsFitModeScrollWrapper.d.ts +1 -1
- package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/TabsFitModeScrollWrapper.js +1 -1
- package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/TabsFitModeScrollWrapper.js.map +1 -1
- package/__internal__/src/components/Tabs/helpers.d.ts +283 -1
- package/__internal__/src/components/Tabs/types.d.ts +9 -2
- package/__internal__/src/components/Tabs/types.js.map +1 -1
- package/__internal__/src/components/TextField/TextField.css +1 -1
- package/__internal__/src/components/TextField/TextField.js +1 -1
- package/__internal__/src/components/TextField/TextField.js.map +1 -1
- package/__internal__/src/components/TextField/types.d.ts +1 -0
- package/__internal__/src/components/TextField/types.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconAvi/FileIconAvi.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconBmp/FileIconBmp.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconCsv/FileIconCsv.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconDoc/FileIconDoc.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconExe/FileIconExe.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconGif/FileIconGif.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconJpg/FileIconJpg.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconJson/FileIconJson.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconLoading/FileIconLoading.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconMov/FileIconMov.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconMp3/FileIconMp3.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconMp4/FileIconMp4.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconPdf/FileIconPdf.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconPng/FileIconPng.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconRar/FileIconRar.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconRtf/FileIconRtf.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconTiff/FileIconTiff.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconTxt/FileIconTxt.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconUndefined/FileIconUndefined.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconWav/FileIconWav.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconXls/FileIconXls.js.map +1 -1
- package/__internal__/src/fileIcons/FileIconZip/FileIconZip.js.map +1 -1
- package/__internal__/src/hooks/useFlag/useFlag.d.ts +1 -2
- package/__internal__/src/hooks/useFlag/useFlag.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImage403/ResponsesImage403.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImage404/ResponsesImage404.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImage500/ResponsesImage500.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImage503/ResponsesImage503.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImageConnectionError/ResponsesImageConnectionError.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImageDeleted/ResponsesImageDeleted.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImageEmptyBox/ResponsesImageEmptyBox.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImageEmptyPockets/ResponsesImageEmptyPockets.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImageNothingFound/ResponsesImageNothingFound.js.map +1 -1
- package/__internal__/src/responsesImages/ResponsesImageSuccess/ResponsesImageSuccess.js.map +1 -1
- package/package.json +1 -1
- package/__internal__/src/components/Pagination/PaginationBase/PaginationBase.css +0 -1
- package/__internal__/src/components/Pagination/PaginationBase/PaginationBase.d.ts +0 -3
- package/__internal__/src/components/Pagination/PaginationBase/PaginationBase.js +0 -2
- package/__internal__/src/components/Pagination/PaginationBase/PaginationBase.js.map +0 -1
- package/__internal__/src/components/Pagination/PaginationBase/index.d.ts +0 -1
- package/__internal__/src/components/Pagination/PaginationBase/index.js +0 -2
- package/__internal__/src/components/Pagination/PaginationBase/index.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";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","onMouseLeave","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,useState}from"react";import{useComponentSize}from"../../hooks/useComponentSize";import{useForkRef}from"../../hooks/useForkRef";import{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.onMouseLeave,B=c.className,C=c.id,D=_objectWithoutProperties(c,_excluded2),E=useState(null),F=_slicedToArray(E,2),G=F[0],H=F[1],I=function(a){return!!f&&h(a)===h(f)},J=useBookmarkTabs({items:e,getItemFixed:o,size:u,withNavigationButtons:z,withAddButton:!!g}),K=J.refs,L=J.fixedTabs,M=J.fixedTabsRef,N=J.otherTabs,O=J.otherTabsRef,P=J.showControls,Q=J.wrapperRef,R=J.containerRef,S=J.controlsRef,T=J.addButtonRef,U=J.navigate,V=J.sizes,W=useComponentSize(M),X=W.width,Y=function(a,b,c,d,e,f){var g;return React.createElement("div",{className:cnBookmarkTabs("Tab"),onMouseEnter:function onMouseEnter(){return H(e)},onFocus:function onFocus(){return H(e)},ref:c},s({item:a,onClick:function onClick(b){return null===p||void 0===p?void 0:p(a,{e:b})},active:I(a),label:i(a),leftIcon:j(a),rightIcon:k(a),as:null!==(g=l(a))&&void 0!==g?g:"div",attributes:n(a),tabRef:m(a),fixed:b,bordered:d,onClose:q?function(b){return q(a,{e:b})}:void 0,size:u,view:y,hovered:G===e,form:w,tabWidth:f}))},Z=useMemo(function(){var a=[].concat(_toConsumableArray(L),_toConsumableArray(N)),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})},[L,N,f,w]);return React.createElement("div",Object.assign({className:cnBookmarkTabs({size:u,view:y,form:w},[B]),ref:useForkRef([b,R]),id:C,onMouseLeave:function onMouseLeave(a){null===A||void 0===A?void 0:A(a),H(null)}},D),P&&React.createElement("div",{ref:S,className:cnBookmarkTabs("ScrollControls")},React.createElement("div",{className:cnBookmarkTabs("Button")},React.createElement(Button,{view:"clear",size:"xs",type:"button",onClick:function onClick(){return U("prev")},iconLeft:IconArrowLeft,onlyIcon:!0})),React.createElement("div",{className:cnBookmarkTabs("Button")},React.createElement(Button,{view:"clear",size:"xs",type:"button",onClick:function onClick(){return U("next")},iconLeft:IconArrowRight,onlyIcon:!0}))),React.createElement("div",{ref:Q,className:cnBookmarkTabs("Wrapper")},React.createElement("div",{style:_defineProperty({},"--bookmarks-list-width","max-content"),ref:M,className:cnBookmarkTabs("List")},L.map(function(a,b){return React.createElement(React.Fragment,{key:h(a)},Y(a,!0,K[b],Z.includes(b),b))})),React.createElement("div",{style:_defineProperty({},"--bookmarks-list-width","calc(100% - ".concat(X,"px)")),className:cnBookmarkTabs("List"),ref:O},N.map(function(a,b){var c=L.length;return React.createElement(React.Fragment,{key:h(a)},Y(a,!1,K[c+b],Z.includes(c+b),c+b,V[b]))}))),g&&React.createElement("div",{ref:T,className:cnBookmarkTabs("Button",{type:"add"})},React.createElement(Button,{view:"clear",size:"xs",type:"button",onClick:g,iconLeft:IconAdd,onlyIcon:!0})),React.createElement("div",{className:cnBookmarkTabs("Empty")}))};export var BookmarkTabs=forwardRef(BookmarkTabsRender);
|
|
1
|
+
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";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","onMouseLeave","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,useState}from"react";import{useComponentSize}from"../../hooks/useComponentSize";import{useForkRef}from"../../hooks/useForkRef";import{cnMixScrollBar}from"../../mixs/MixScrollBar";import{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.onMouseLeave,B=c.className,C=c.id,D=_objectWithoutProperties(c,_excluded2),E=useState(null),F=_slicedToArray(E,2),G=F[0],H=F[1],I=function(a){return!!f&&h(a)===h(f)},J=useBookmarkTabs({items:e,getItemFixed:o,size:u,withNavigationButtons:z,withAddButton:!!g}),K=J.refs,L=J.fixedTabs,M=J.fixedTabsRef,N=J.otherTabs,O=J.otherTabsRef,P=J.showControls,Q=J.wrapperRef,R=J.containerRef,S=J.controlsRef,T=J.addButtonRef,U=J.navigate,V=J.sizes,W=useComponentSize(M),X=W.width,Y=function(a,b,c,d,e,f){var g;return React.createElement("div",{className:cnBookmarkTabs("Tab"),onMouseEnter:function onMouseEnter(){return H(e)},onFocus:function onFocus(){return H(e)},ref:c},s({item:a,onClick:function onClick(b){return null===p||void 0===p?void 0:p(a,{e:b})},active:I(a),label:i(a),leftIcon:j(a),rightIcon:k(a),as:null!==(g=l(a))&&void 0!==g?g:"div",attributes:n(a),tabRef:m(a),fixed:b,bordered:d,onClose:q?function(b){return q(a,{e:b})}:void 0,size:u,view:y,hovered:G===e,form:w,tabWidth:f}))},Z=useMemo(function(){var a=[].concat(_toConsumableArray(L),_toConsumableArray(N)),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})},[L,N,f,w]);return React.createElement("div",Object.assign({className:cnBookmarkTabs({size:u,view:y,form:w},[B]),ref:useForkRef([b,R]),id:C,onMouseLeave:function onMouseLeave(a){null===A||void 0===A?void 0:A(a),H(null)}},D),P&&React.createElement("div",{ref:S,className:cnBookmarkTabs("ScrollControls")},React.createElement("div",{className:cnBookmarkTabs("Button")},React.createElement(Button,{view:"clear",size:"xs",type:"button",onClick:function onClick(){return U("prev")},iconLeft:IconArrowLeft,onlyIcon:!0})),React.createElement("div",{className:cnBookmarkTabs("Button")},React.createElement(Button,{view:"clear",size:"xs",type:"button",onClick:function onClick(){return U("next")},iconLeft:IconArrowRight,onlyIcon:!0}))),React.createElement("div",{ref:Q,className:cnBookmarkTabs("Wrapper",cnMixScrollBar({invisible:!0}))},React.createElement("div",{style:_defineProperty({},"--bookmarks-list-width","max-content"),ref:M,className:cnBookmarkTabs("List")},L.map(function(a,b){return React.createElement(React.Fragment,{key:h(a)},Y(a,!0,K[b],Z.includes(b),b))})),React.createElement("div",{style:_defineProperty({},"--bookmarks-list-width","calc(100% - ".concat(X,"px)")),className:cnBookmarkTabs("List"),ref:O},N.map(function(a,b){var c=L.length;return React.createElement(React.Fragment,{key:h(a)},Y(a,!1,K[c+b],Z.includes(c+b),c+b,V[b]))}))),g&&React.createElement("div",{ref:T,className:cnBookmarkTabs("Button",{type:"add"})},React.createElement(Button,{view:"clear",size:"xs",type:"button",onClick:g,iconLeft:IconAdd,onlyIcon:!0})),React.createElement("div",{className:cnBookmarkTabs("Empty")}))};export var BookmarkTabs=forwardRef(BookmarkTabsRender);
|
|
2
2
|
//# sourceMappingURL=BookmarkTabs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookmarkTabs.js","names":["IconAdd","IconArrowLeft","IconArrowRight","React","forwardRef","useMemo","useState","useComponentSize","useForkRef","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","onMouseLeaveProp","onMouseLeave","className","id","higlightedIndex","setHighlitedIndex","getItemActive","withAddButton","refs","fixedTabs","fixedTabsRef","otherTabs","otherTabsRef","showControls","wrapperRef","containerRef","controlsRef","addButtonRef","navigate","sizes","fixedWidth","width","fixed","controlRef","bordered","index","tabWidth","onClick","e","active","label","leftIcon","rightIcon","tabRef","onClose","hovered","borderedIndexes","arr","activeIndex","indexOf","Array","from","length","keys","filter","el","map","includes","type","BookmarkTabs"],"sources":["../../../../../src/components/BookmarkTabs/BookmarkTabs.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, useState } from 'react';\n\nimport { useComponentSize } from '##/hooks/useComponentSize';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { 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 onMouseLeave: onMouseLeaveProp,\n className,\n id,\n ...otherProps\n } = withDefaultGetters(props);\n\n const [higlightedIndex, setHighlitedIndex] = useState<number | null>(null);\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<HTMLDivElement>,\n bordered: boolean,\n index: number,\n tabWidth?: string,\n ) => (\n <div\n className={cnBookmarkTabs('Tab')}\n onMouseEnter={() => setHighlitedIndex(index)}\n onFocus={() => setHighlitedIndex(index)}\n ref={controlRef}\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) ?? 'div',\n attributes: getItemAttributes(item),\n tabRef: getItemRef(item),\n fixed,\n bordered,\n onClose: onRemove ? (e) => onRemove(item, { e }) : undefined,\n size,\n view,\n hovered: higlightedIndex === index,\n form,\n tabWidth,\n })}\n </div>\n );\n\n const onMouseLeave: React.MouseEventHandler<HTMLDivElement> = (e) => {\n onMouseLeaveProp?.(e);\n setHighlitedIndex(null);\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 onMouseLeave={onMouseLeave}\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 type=\"button\"\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 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 const { length } = fixedTabs;\n return (\n <React.Fragment key={getItemKey(item)}>\n {renderItem(\n item,\n false,\n refs[length + index],\n borderedIndexes.includes(length + index),\n length + index,\n sizes[index],\n )}\n </React.Fragment>\n );\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 type=\"button\"\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
|
+
{"version":3,"file":"BookmarkTabs.js","names":["IconAdd","IconArrowLeft","IconArrowRight","React","forwardRef","useMemo","useState","useComponentSize","useForkRef","cnMixScrollBar","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","onMouseLeaveProp","onMouseLeave","className","id","higlightedIndex","setHighlitedIndex","getItemActive","withAddButton","refs","fixedTabs","fixedTabsRef","otherTabs","otherTabsRef","showControls","wrapperRef","containerRef","controlsRef","addButtonRef","navigate","sizes","fixedWidth","width","fixed","controlRef","bordered","index","tabWidth","onClick","e","active","label","leftIcon","rightIcon","tabRef","onClose","hovered","borderedIndexes","arr","activeIndex","indexOf","Array","from","length","keys","filter","el","invisible","map","includes","type","BookmarkTabs"],"sources":["../../../../../src/components/BookmarkTabs/BookmarkTabs.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, useState } from 'react';\n\nimport { useComponentSize } from '##/hooks/useComponentSize';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { cnMixScrollBar } from '##/mixs/MixScrollBar';\nimport { 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 onMouseLeave: onMouseLeaveProp,\n className,\n id,\n ...otherProps\n } = withDefaultGetters(props);\n\n const [higlightedIndex, setHighlitedIndex] = useState<number | null>(null);\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<HTMLDivElement>,\n bordered: boolean,\n index: number,\n tabWidth?: string,\n ) => (\n <div\n className={cnBookmarkTabs('Tab')}\n onMouseEnter={() => setHighlitedIndex(index)}\n onFocus={() => setHighlitedIndex(index)}\n ref={controlRef}\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) ?? 'div',\n attributes: getItemAttributes(item),\n tabRef: getItemRef(item),\n fixed,\n bordered,\n onClose: onRemove ? (e) => onRemove(item, { e }) : undefined,\n size,\n view,\n hovered: higlightedIndex === index,\n form,\n tabWidth,\n })}\n </div>\n );\n\n const onMouseLeave: React.MouseEventHandler<HTMLDivElement> = (e) => {\n onMouseLeaveProp?.(e);\n setHighlitedIndex(null);\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 onMouseLeave={onMouseLeave}\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 type=\"button\"\n onClick={() => navigate('next')}\n iconLeft={IconArrowRight}\n onlyIcon\n />\n </div>\n </div>\n )}\n <div\n ref={wrapperRef}\n className={cnBookmarkTabs(\n 'Wrapper',\n cnMixScrollBar({ invisible: true }),\n )}\n >\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 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 const { length } = fixedTabs;\n return (\n <React.Fragment key={getItemKey(item)}>\n {renderItem(\n item,\n false,\n refs[length + index],\n borderedIndexes.includes(length + index),\n length + index,\n sizes[index],\n )}\n </React.Fragment>\n );\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 type=\"button\"\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,2 +1,2 @@
|
|
|
1
|
-
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["items","getItemActive","getItemAs","getItemAttributes","getItemIconLeft","getItemIconRight","getItemLabel","getItemRef","getItemStatus","className","interactive","onItemClick","onItemRightIconClick","activeView","size"];import"./Chips.css";import React,{forwardRef}from"react";import{cn}from"../../utils/bem";import{ChipsItem}from"./ChipsItem";import{withDefaultGetters}from"./helpers";var cnChips=cn("Chips"),ChipsRender=function(a,b){var c=withDefaultGetters(a),d=c.items,e=c.getItemActive,f=c.
|
|
1
|
+
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["items","getItemActive","getItemDisabled","getItemAs","getItemAttributes","getItemIconLeft","getItemIconRight","getItemLabel","getItemRef","getItemStatus","className","interactive","onItemClick","onItemRightIconClick","activeView","size","disabled"];import"./Chips.css";import React,{forwardRef}from"react";import{cn}from"../../utils/bem";import{ChipsItem}from"./ChipsItem";import{withDefaultGetters}from"./helpers";var cnChips=cn("Chips"),ChipsRender=function(a,b){var c=withDefaultGetters(a),d=c.items,e=c.getItemActive,f=c.getItemDisabled,g=c.getItemAs,h=c.getItemAttributes,i=c.getItemIconLeft,j=c.getItemIconRight,k=c.getItemLabel,l=c.getItemRef,m=c.getItemStatus,n=c.className,o=c.interactive,p=c.onItemClick,q=c.onItemRightIconClick,r=c.activeView,s=c.size,t=c.disabled,u=_objectWithoutProperties(c,_excluded);return React.createElement("div",Object.assign({},u,{ref:b,className:cnChips(null,[n])}),d.map(function(a,b){var c=f(a)||void 0!==t&&t;return React.createElement(ChipsItem,Object.assign({},h(a),{key:b,size:s,activeView:r,onClick:p&&!c?function(b){return p(a,{e:b})}:void 0,onRightIconClick:q&&c?function(b){return q(a,{e:b})}:void 0,label:k(a),as:g(a),active:e(a),iconLeft:i(a),iconRight:j(a),ref:l(a),status:m(a),interactive:!c&&o,disabled:c}))}))};export var Chips=forwardRef(ChipsRender);
|
|
2
2
|
//# sourceMappingURL=Chips.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chips.js","names":["React","forwardRef","cn","ChipsItem","withDefaultGetters","cnChips","ChipsRender","props","ref","items","getItemActive","getItemAs","getItemAttributes","getItemIconLeft","getItemIconRight","getItemLabel","getItemRef","getItemStatus","className","interactive","onItemClick","onItemRightIconClick","activeView","size","otherProps","map","item","index","e","Chips"],"sources":["../../../../../src/components/Chips/Chips.tsx"],"sourcesContent":["import './Chips.css';\n\nimport React, { forwardRef } from 'react';\n\nimport { cn } from '##/utils/bem';\n\nimport { ChipsItem } from './ChipsItem';\nimport { withDefaultGetters } from './helpers';\nimport { ChipsComponent, ChipsProps } from './types';\n\nconst cnChips = cn('Chips');\n\nconst ChipsRender = (props: ChipsProps, ref: React.Ref<HTMLDivElement>) => {\n const {\n items,\n getItemActive,\n getItemAs,\n getItemAttributes,\n getItemIconLeft,\n getItemIconRight,\n getItemLabel,\n getItemRef,\n getItemStatus,\n className,\n interactive,\n onItemClick,\n onItemRightIconClick,\n activeView,\n size,\n ...otherProps\n } = withDefaultGetters(props);\n\n return (\n <div {...otherProps} ref={ref} className={cnChips(null, [className])}>\n {items.map((item, index) => {\n return (\n <ChipsItem\n {...getItemAttributes(item)}\n key={index}\n size={size}\n activeView={activeView}\n onClick={\n onItemClick\n ? (e: React.MouseEvent) => onItemClick(item, { e })\n : undefined\n }\n onRightIconClick={\n onItemRightIconClick\n ? (e: React.MouseEvent) => onItemRightIconClick(item, { e })\n : undefined\n }\n label={getItemLabel(item)}\n as={getItemAs(item)}\n active={getItemActive(item)}\n iconLeft={getItemIconLeft(item)}\n iconRight={getItemIconRight(item)}\n ref={getItemRef(item)}\n status={getItemStatus(item)}\n interactive={interactive}\n />\n );\n })}\n </div>\n );\n};\n\nexport const Chips = forwardRef(ChipsRender) as ChipsComponent;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Chips.js","names":["React","forwardRef","cn","ChipsItem","withDefaultGetters","cnChips","ChipsRender","props","ref","items","getItemActive","getItemDisabled","getItemAs","getItemAttributes","getItemIconLeft","getItemIconRight","getItemLabel","getItemRef","getItemStatus","className","interactive","onItemClick","onItemRightIconClick","activeView","size","disabled","otherProps","map","item","index","itemDisabled","e","Chips"],"sources":["../../../../../src/components/Chips/Chips.tsx"],"sourcesContent":["import './Chips.css';\n\nimport React, { forwardRef } from 'react';\n\nimport { cn } from '##/utils/bem';\n\nimport { ChipsItem } from './ChipsItem';\nimport { withDefaultGetters } from './helpers';\nimport { ChipsComponent, ChipsProps } from './types';\n\nconst cnChips = cn('Chips');\n\nconst ChipsRender = (props: ChipsProps, ref: React.Ref<HTMLDivElement>) => {\n const {\n items,\n getItemActive,\n getItemDisabled,\n getItemAs,\n getItemAttributes,\n getItemIconLeft,\n getItemIconRight,\n getItemLabel,\n getItemRef,\n getItemStatus,\n className,\n interactive,\n onItemClick,\n onItemRightIconClick,\n activeView,\n size,\n disabled = false,\n ...otherProps\n } = withDefaultGetters(props);\n\n return (\n <div {...otherProps} ref={ref} className={cnChips(null, [className])}>\n {items.map((item, index) => {\n const itemDisabled = getItemDisabled(item) || disabled;\n return (\n <ChipsItem\n {...getItemAttributes(item)}\n key={index}\n size={size}\n activeView={activeView}\n onClick={\n onItemClick && !itemDisabled\n ? (e: React.MouseEvent) => onItemClick(item, { e })\n : undefined\n }\n onRightIconClick={\n onItemRightIconClick && itemDisabled\n ? (e: React.MouseEvent) => onItemRightIconClick(item, { e })\n : undefined\n }\n label={getItemLabel(item)}\n as={getItemAs(item)}\n active={getItemActive(item)}\n iconLeft={getItemIconLeft(item)}\n iconRight={getItemIconRight(item)}\n ref={getItemRef(item)}\n status={getItemStatus(item)}\n interactive={!itemDisabled && interactive}\n disabled={itemDisabled}\n />\n );\n })}\n </div>\n );\n};\n\nexport const Chips = forwardRef(ChipsRender) as ChipsComponent;\n"],"mappings":"8VAAA,oBAEA,MAAOA,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAEA,OAASC,EAAT,uBAEA,OAASC,SAAT,mBACA,OAASC,kBAAT,iB,GAGMC,QAAO,CAAGH,EAAE,CAAC,OAAD,C,CAEZI,WAAW,CAAG,SAACC,CAAD,CAAoBC,CAApB,CAAuD,CACzE,MAmBIJ,kBAAkB,CAACG,CAAD,CAnBtB,CACEE,CADF,GACEA,KADF,CAEEC,CAFF,GAEEA,aAFF,CAGEC,CAHF,GAGEA,eAHF,CAIEC,CAJF,GAIEA,SAJF,CAKEC,CALF,GAKEA,iBALF,CAMEC,CANF,GAMEA,eANF,CAOEC,CAPF,GAOEA,gBAPF,CAQEC,CARF,GAQEA,YARF,CASEC,CATF,GASEA,UATF,CAUEC,CAVF,GAUEA,aAVF,CAWEC,CAXF,GAWEA,SAXF,CAYEC,CAZF,GAYEA,WAZF,CAaEC,CAbF,GAaEA,WAbF,CAcEC,CAdF,GAcEA,oBAdF,CAeEC,CAfF,GAeEA,UAfF,CAgBEC,CAhBF,GAgBEA,IAhBF,KAiBEC,QAjBF,CAkBKC,CAlBL,uCAqBA,MACE,4CAASA,CAAT,EAAqB,GAAG,CAAElB,CAA1B,CAA+B,SAAS,CAAEH,OAAO,CAAC,IAAD,CAAO,CAACc,CAAD,CAAP,CAAjD,GACGV,CAAK,CAACkB,GAAN,CAAU,SAACC,CAAD,CAAOC,CAAP,CAAiB,CAC1B,GAAMC,EAAY,CAAGnB,CAAe,CAACiB,CAAD,CAAf,eAArB,CACA,MACE,qBAAC,SAAD,kBACMf,CAAiB,CAACe,CAAD,CADvB,EAEE,GAAG,CAAEC,CAFP,CAGE,IAAI,CAAEL,CAHR,CAIE,UAAU,CAAED,CAJd,CAKE,OAAO,CACLF,CAAW,EAAI,CAACS,CAAhB,CACI,SAACC,CAAD,QAAyBV,EAAW,CAACO,CAAD,CAAO,CAAEG,CAAC,CAADA,CAAF,CAAP,CAApC,CADJ,OANJ,CAUE,gBAAgB,CACdT,CAAoB,EAAIQ,CAAxB,CACI,SAACC,CAAD,QAAyBT,EAAoB,CAACM,CAAD,CAAO,CAAEG,CAAC,CAADA,CAAF,CAAP,CAA7C,CADJ,OAXJ,CAeE,KAAK,CAAEf,CAAY,CAACY,CAAD,CAfrB,CAgBE,EAAE,CAAEhB,CAAS,CAACgB,CAAD,CAhBf,CAiBE,MAAM,CAAElB,CAAa,CAACkB,CAAD,CAjBvB,CAkBE,QAAQ,CAAEd,CAAe,CAACc,CAAD,CAlB3B,CAmBE,SAAS,CAAEb,CAAgB,CAACa,CAAD,CAnB7B,CAoBE,GAAG,CAAEX,CAAU,CAACW,CAAD,CApBjB,CAqBE,MAAM,CAAEV,CAAa,CAACU,CAAD,CArBvB,CAsBE,WAAW,CAAE,CAACE,CAAD,EAAiBV,CAtBhC,CAuBE,QAAQ,CAAEU,CAvBZ,GA0BH,CA7BA,CADH,CAiCH,C,CAED,MAAO,IAAME,MAAK,CAAG/B,UAAU,CAACK,WAAD,CAAxB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["value","onChange","multiple","getItemKey","getItemLabel"];import React,{forwardRef}from"react";import{Chips}from"./..";import{useChoiceGroup}from"../../../hooks/useChoiceGroup";import{defaultGetItemLabel}from"../helpers";export var getUndefined=function(){};export var getItemKeyDefault=function(a){return a.key};var ChipsChoiceRender=function(a,b){var c=a.value,d=a.onChange,e=a.multiple,f=a.getItemKey,g=void 0===f?getItemKeyDefault:f,h=a.getItemLabel,i=void 0===h?defaultGetItemLabel:h,j=_objectWithoutProperties(a,_excluded),
|
|
1
|
+
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["value","onChange","multiple","getItemKey","getItemLabel","disabled"];import React,{forwardRef}from"react";import{Chips}from"./..";import{useChoiceGroup}from"../../../hooks/useChoiceGroup";import{defaultGetItemLabel}from"../helpers";export var getUndefined=function(){};export var getItemKeyDefault=function(a){return a.key};var ChipsChoiceRender=function(a,b){var c=a.value,d=a.onChange,e=a.multiple,f=a.getItemKey,g=void 0===f?getItemKeyDefault:f,h=a.getItemLabel,i=void 0===h?defaultGetItemLabel:h,j=a.disabled,k=void 0!==j&&j,l=_objectWithoutProperties(a,_excluded),m=useChoiceGroup({getKey:function getKey(a){var b=g(a);return typeof b!==void 0&&b?b:i(a)},value:c,callBack:d,multiple:e}),n=m.getOnChange,o=m.getChecked;return React.createElement(Chips,Object.assign({},l,{ref:b,onItemRightIconClick:getUndefined,onItemClick:function onItemClick(a,b){var c=b.e;return!k&&n(a)(c)},getItemIconRight:getUndefined,getItemAttributes:getUndefined,getItemActive:o,interactive:!k,disabled:k}))};export var ChipsChoice=forwardRef(ChipsChoiceRender);
|
|
2
2
|
//# sourceMappingURL=ChipsChoice.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChipsChoice.js","names":["React","forwardRef","Chips","useChoiceGroup","defaultGetItemLabel","getUndefined","getItemKeyDefault","item","key","ChipsChoiceRender","props","ref","value","onChange","multiple","getItemKey","getItemLabel","otherProps","getKey","callBack","getOnChange","getChecked","e","ChipsChoice"],"sources":["../../../../../../src/components/Chips/ChipsChoice/ChipsChoice.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { Chips } from '##/components/Chips';\nimport { useChoiceGroup } from '##/hooks/useChoiceGroup';\n\nimport { defaultGetItemLabel } from '../helpers';\nimport {\n ChipsChoiceComponent,\n ChipsChoiceDefaultItem,\n ChipsChoicePropGetItemKey,\n ChipsChoiceProps,\n} from './types';\n\nexport const getUndefined = () => undefined;\nexport const getItemKeyDefault: ChipsChoicePropGetItemKey<\n ChipsChoiceDefaultItem\n> = (item) => item.key;\n\nconst ChipsChoiceRender = (\n props: ChipsChoiceProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n value,\n onChange,\n multiple,\n getItemKey = getItemKeyDefault,\n getItemLabel = defaultGetItemLabel,\n ...otherProps\n } = props;\n\n const { getOnChange, getChecked } = useChoiceGroup<\n ChipsChoiceDefaultItem,\n React.MouseEvent\n >({\n getKey: (item: ChipsChoiceDefaultItem) => {\n const key = getItemKey(item);\n return typeof key !== undefined && key ? key : getItemLabel(item);\n },\n value: value as ChipsChoiceDefaultItem,\n callBack: onChange,\n multiple: multiple as false,\n // привел к типам из-за того что\n // TS не понимает что параметры для не Multiple и Multiple не могут прийти одновременно\n });\n\n return (\n <Chips\n {...otherProps}\n ref={ref}\n onItemRightIconClick={getUndefined}\n onItemClick={(item, { e }) => getOnChange(item)(e)}\n getItemIconRight={getUndefined}\n getItemAttributes={getUndefined}\n getItemActive={getChecked}\n interactive\n />\n );\n};\n\nexport const ChipsChoice = forwardRef(\n ChipsChoiceRender,\n) as ChipsChoiceComponent;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChipsChoice.js","names":["React","forwardRef","Chips","useChoiceGroup","defaultGetItemLabel","getUndefined","getItemKeyDefault","item","key","ChipsChoiceRender","props","ref","value","onChange","multiple","getItemKey","getItemLabel","disabled","otherProps","getKey","callBack","getOnChange","getChecked","e","ChipsChoice"],"sources":["../../../../../../src/components/Chips/ChipsChoice/ChipsChoice.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { Chips } from '##/components/Chips';\nimport { useChoiceGroup } from '##/hooks/useChoiceGroup';\n\nimport { defaultGetItemLabel } from '../helpers';\nimport {\n ChipsChoiceComponent,\n ChipsChoiceDefaultItem,\n ChipsChoicePropGetItemKey,\n ChipsChoiceProps,\n} from './types';\n\nexport const getUndefined = () => undefined;\nexport const getItemKeyDefault: ChipsChoicePropGetItemKey<\n ChipsChoiceDefaultItem\n> = (item) => item.key;\n\nconst ChipsChoiceRender = (\n props: ChipsChoiceProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n value,\n onChange,\n multiple,\n getItemKey = getItemKeyDefault,\n getItemLabel = defaultGetItemLabel,\n disabled = false,\n ...otherProps\n } = props;\n\n const { getOnChange, getChecked } = useChoiceGroup<\n ChipsChoiceDefaultItem,\n React.MouseEvent\n >({\n getKey: (item: ChipsChoiceDefaultItem) => {\n const key = getItemKey(item);\n return typeof key !== undefined && key ? key : getItemLabel(item);\n },\n value: value as ChipsChoiceDefaultItem,\n callBack: onChange,\n multiple: multiple as false,\n // привел к типам из-за того что\n // TS не понимает что параметры для не Multiple и Multiple не могут прийти одновременно\n });\n\n return (\n <Chips\n {...otherProps}\n ref={ref}\n onItemRightIconClick={getUndefined}\n onItemClick={(item, { e }) => !disabled && getOnChange(item)(e)}\n getItemIconRight={getUndefined}\n getItemAttributes={getUndefined}\n getItemActive={getChecked}\n interactive={!disabled}\n disabled={disabled}\n />\n );\n};\n\nexport const ChipsChoice = forwardRef(\n ChipsChoiceRender,\n) as ChipsChoiceComponent;\n"],"mappings":"0KAAA,MAAOA,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAEA,OAASC,KAAT,YACA,OAASC,cAAT,qCAEA,OAASC,mBAAT,kBAQA,MAAO,IAAMC,aAAY,CAAG,YAArB,CACP,MAAO,IAAMC,kBAEZ,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,GAAf,CAFG,CAIP,GAAMC,kBAAiB,CAAG,SACxBC,CADwB,CAExBC,CAFwB,CAGrB,IAEDC,EAFC,CASCF,CATD,CAEDE,KAFC,CAGDC,CAHC,CASCH,CATD,CAGDG,QAHC,CAIDC,CAJC,CASCJ,CATD,CAIDI,QAJC,GASCJ,CATD,CAKDK,UALC,CAKDA,CALC,YAKYT,iBALZ,KASCI,CATD,CAMDM,YANC,CAMDA,CANC,YAMcZ,mBANd,KASCM,CATD,CAODO,QAPC,CAODA,CAPC,eAQEC,CARF,0BASCR,CATD,cAWiCP,cAAc,CAGhD,CACAgB,MAAM,CAAE,gBAACZ,CAAD,CAAkC,CACxC,GAAMC,EAAG,CAAGO,CAAU,CAACR,CAAD,CAAtB,CACA,MAAO,OAAOC,EAAP,WAA4BA,CAA5B,CAAkCA,CAAlC,CAAwCQ,CAAY,CAACT,CAAD,CAC5D,CAJD,CAKAK,KAAK,CAAEA,CALP,CAMAQ,QAAQ,CAAEP,CANV,CAOAC,QAAQ,CAAEA,CAPV,CAHgD,CAX/C,CAWKO,CAXL,GAWKA,WAXL,CAWkBC,CAXlB,GAWkBA,UAXlB,CA0BH,MACE,qBAAC,KAAD,kBACMJ,CADN,EAEE,GAAG,CAAEP,CAFP,CAGE,oBAAoB,CAAEN,YAHxB,CAIE,WAAW,CAAE,qBAACE,CAAD,OAASgB,EAAT,GAASA,CAAT,OAAiB,CAACN,CAAD,EAAaI,CAAW,CAACd,CAAD,CAAX,CAAkBgB,CAAlB,CAA9B,CAJf,CAKE,gBAAgB,CAAElB,YALpB,CAME,iBAAiB,CAAEA,YANrB,CAOE,aAAa,CAAEiB,CAPjB,CAQE,WAAW,CAAE,CAACL,CARhB,CASE,QAAQ,CAAEA,CATZ,GAYH,CA1CD,CA4CA,MAAO,IAAMO,YAAW,CAAGvB,UAAU,CACnCQ,iBADmC,CAA9B"}
|
|
@@ -21,6 +21,7 @@ export declare type ChipsChoiceProps<ITEM = ChipsChoiceDefaultItem, MULTIPLE ext
|
|
|
21
21
|
multiple?: MULTIPLE;
|
|
22
22
|
value?: ChipsChoicePropValue<ITEM, MULTIPLE>;
|
|
23
23
|
getItemKey?: ChipsChoicePropGetItemKey<ITEM>;
|
|
24
|
+
disabled?: boolean;
|
|
24
25
|
}, HTMLDivElement> & (ITEM extends {
|
|
25
26
|
label: string;
|
|
26
27
|
} ? {} : {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../../../src/components/Chips/ChipsChoice/types.ts"],"sourcesContent":["import {\n ChipsItemProps,\n ChipsPropActiveView,\n ChipsPropGetItemIconLeft,\n ChipsPropGetItemLabel,\n ChipsPropGetItemRef,\n ChipsPropGetItemStatus,\n ChipsPropSize,\n} from '##/components/Chips';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport type ChipsChoiceDefaultItem = Omit<\n ChipsItemProps,\n | 'size'\n | 'activeView'\n | 'interactive'\n | 'onRightIconClick'\n | 'iconRight'\n | 'as'\n> & {\n key: string;\n};\n\nexport type ChipsChoicePropGetItemKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\n\nexport type ChipsChoicePropOnChange<ITEM, MULTIPLE extends boolean> = (\n value: MULTIPLE extends true ? ITEM[] | null : ITEM,\n props: {\n e: React.MouseEvent;\n },\n) => void;\n\nexport type ChipsChoicePropValue<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null;\n\nexport type ChipsChoiceProps<\n ITEM = ChipsChoiceDefaultItem,\n MULTIPLE extends boolean = false,\n> = PropsWithHTMLAttributesAndRef<\n {\n size?: ChipsPropSize;\n activeView?: ChipsPropActiveView;\n items: ITEM[];\n getItemStatus?: ChipsPropGetItemStatus<ITEM>;\n getItemLabel?: ChipsPropGetItemLabel<ITEM>;\n getItemIconLeft?: ChipsPropGetItemIconLeft<ITEM>;\n getItemRef?: ChipsPropGetItemRef<ITEM>;\n onChange: ChipsChoicePropOnChange<ITEM, MULTIPLE>;\n multiple?: MULTIPLE;\n value?: ChipsChoicePropValue<ITEM, MULTIPLE>;\n getItemKey?: ChipsChoicePropGetItemKey<ITEM>;\n },\n HTMLDivElement\n> &\n (ITEM extends { label: string }\n ? {}\n : {\n getItemLabel?: ChipsPropGetItemLabel<ITEM>;\n });\n\nexport type ChipsChoiceComponent = <\n ITEM = ChipsChoiceDefaultItem,\n MULTIPLE extends boolean = false,\n>(\n props: ChipsChoiceProps<ITEM, MULTIPLE>,\n) => React.ReactElement | null;\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../../../src/components/Chips/ChipsChoice/types.ts"],"sourcesContent":["import {\n ChipsItemProps,\n ChipsPropActiveView,\n ChipsPropGetItemIconLeft,\n ChipsPropGetItemLabel,\n ChipsPropGetItemRef,\n ChipsPropGetItemStatus,\n ChipsPropSize,\n} from '##/components/Chips';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport type ChipsChoiceDefaultItem = Omit<\n ChipsItemProps,\n | 'size'\n | 'activeView'\n | 'interactive'\n | 'onRightIconClick'\n | 'iconRight'\n | 'as'\n> & {\n key: string;\n};\n\nexport type ChipsChoicePropGetItemKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\n\nexport type ChipsChoicePropOnChange<ITEM, MULTIPLE extends boolean> = (\n value: MULTIPLE extends true ? ITEM[] | null : ITEM,\n props: {\n e: React.MouseEvent;\n },\n) => void;\n\nexport type ChipsChoicePropValue<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null;\n\nexport type ChipsChoiceProps<\n ITEM = ChipsChoiceDefaultItem,\n MULTIPLE extends boolean = false,\n> = PropsWithHTMLAttributesAndRef<\n {\n size?: ChipsPropSize;\n activeView?: ChipsPropActiveView;\n items: ITEM[];\n getItemStatus?: ChipsPropGetItemStatus<ITEM>;\n getItemLabel?: ChipsPropGetItemLabel<ITEM>;\n getItemIconLeft?: ChipsPropGetItemIconLeft<ITEM>;\n getItemRef?: ChipsPropGetItemRef<ITEM>;\n onChange: ChipsChoicePropOnChange<ITEM, MULTIPLE>;\n multiple?: MULTIPLE;\n value?: ChipsChoicePropValue<ITEM, MULTIPLE>;\n getItemKey?: ChipsChoicePropGetItemKey<ITEM>;\n disabled?: boolean;\n },\n HTMLDivElement\n> &\n (ITEM extends { label: string }\n ? {}\n : {\n getItemLabel?: ChipsPropGetItemLabel<ITEM>;\n });\n\nexport type ChipsChoiceComponent = <\n ITEM = ChipsChoiceDefaultItem,\n MULTIPLE extends boolean = false,\n>(\n props: ChipsChoiceProps<ITEM, MULTIPLE>,\n) => React.ReactElement | null;\n"],"mappings":""}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
.ChipsItem{--chip-bg-color:var(--color-control-bg-ghost);--chip-bg-color-hover:var(--color-control-bg-ghost-hover);--chip-color:var(--color-control-typo-ghost);--chip-color-hover:var(--color-control-typo-ghost-hover);--chip-border:transparent;--chip-border-hover:transparent;align-items:center;background-color:var(--chip-bg-color);border:var(--control-border-width) solid var(--chip-border);border-radius:99rem;box-sizing:border-box;color:var(--chip-color);display:inline-flex;font-family:inherit;font-size:var(--chip-text-size);gap:calc(var(--chip-space)/2);height:var(--chip-height);justify-content:center;padding:0 var(--chip-space);text-decoration:none;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease,fill .15s ease;white-space:nowrap}.ChipsItem_status{padding:0 var(--chip-space) 0 calc(var(--chip-height)/2 - var(--chip-badge-size)/2)}.
|
|
1
|
+
.ChipsItem{--chip-bg-color:var(--color-control-bg-ghost);--chip-bg-color-hover:var(--color-control-bg-ghost-hover);--chip-color:var(--color-control-typo-ghost);--chip-color-hover:var(--color-control-typo-ghost-hover);--chip-border:transparent;--chip-border-hover:transparent;align-items:center;background-color:var(--chip-bg-color);border:var(--control-border-width) solid var(--chip-border);border-radius:99rem;box-sizing:border-box;color:var(--chip-color);display:inline-flex;font-family:inherit;font-size:var(--chip-text-size);gap:calc(var(--chip-space)/2);height:var(--chip-height);justify-content:center;padding:0 var(--chip-space);text-decoration:none;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease,fill .15s ease;white-space:nowrap}.ChipsItem_status{padding:0 var(--chip-space) 0 calc(var(--chip-height)/2 - var(--chip-badge-size)/2)}.ChipsItem_interactive{cursor:pointer}.ChipsItem_interactive:hover{background-color:var(--chip-bg-color-hover);border:var(--control-border-width) solid var(--chip-border-hover);color:var(--chip-color-hover)}.ChipsItem_size_xs{--chip-height:var(--control-height-xs);--chip-text-size:var(--control-text-size-xs);--chip-space:var(--space-xs);--chip-badge-size:10px}.ChipsItem_size_s{--chip-height:var(--control-height-s);--chip-text-size:var(--control-text-size-s);--chip-space:var(--space-s);--chip-badge-size:16px}.ChipsItem_size_m{--chip-height:var(--control-height-m);--chip-text-size:var(--control-text-size-m);--chip-space:var(--space-m);--chip-badge-size:16px}.ChipsItem_size_l{--chip-height:var(--control-height-l);--chip-text-size:var(--control-text-size-l);--chip-space:var(--space-l);--chip-badge-size:24px}.ChipsItem_activeView_primary{--chip-active-bg-color:var(--color-control-bg-primary);--chip-active-bg-color-hover:var(--color-control-bg-primary-hover);--chip-active-color:var(--color-control-typo-primary);--chip-active-color-hover:var(--color-control-typo-primary-hover);--chip-active-border:transparent;--chip-active-border-hover:transparent;--chip-active-disabled-bg-color:var(--color-control-bg-secondary);--chip-active-disabled-color:var(--color-control-typo-disable);--chip-active-disabled-border:var(--color-control-typo-disable)}.ChipsItem_activeView_secondary{--chip-active-bg-color:var(--color-control-bg-secondary);--chip-active-bg-color-hover:var(--color-control-bg-clear);--chip-active-color:var(--color-control-typo-secondary);--chip-active-color-hover:var(--color-control-typo-secondary-hover);--chip-active-border:var(--color-control-bg-border-secondary);--chip-active-border-hover:var(
|
|
2
2
|
--color-control-bg-border-secondary-hover
|
|
3
|
-
)}.ChipsItem-IconButton{background-color:transparent;border:transparent;border-radius:var(--control-radius);color:inherit;cursor:pointer;padding:0}
|
|
3
|
+
);--chip-active-disabled-bg-color:var(--color-control-bg-secondary);--chip-active-disabled-color:var(--color-control-typo-disable);--chip-active-disabled-border:var(--color-control-typo-disable)}.ChipsItem_disabled{--chip-bg-color:var(--color-control-bg-disable);--chip-bg-color-hover:none;--chip-color:var(--color-control-typo-disable);--chip-color-hover:none;--chip-border:transparent;--chip-border-hover:none}.ChipsItem_active{--chip-bg-color:var(--chip-active-bg-color);--chip-bg-color-hover:var(--chip-active-bg-color-hover);--chip-color:var(--chip-active-color);--chip-color-hover:var(--chip-active-color-hover);--chip-border:var(--chip-active-border);--chip-border-hover:var(--chip-active-border-hover)}.ChipsItem_disabled.ChipsItem_active{--chip-bg-color:var(--chip-active-disabled-bg-color);--chip-bg-color-hover:none;--chip-color:var(--chip-active-disabled-color);--chip-color-hover:none;--chip-border:var(--chip-active-disabled-border);--chip-border-hover:none}.ChipsItem-IconButton{background-color:transparent;border:transparent;border-radius:var(--control-radius);color:inherit;cursor:pointer;padding:0}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["as","label","size","status","activeView","className","interactive","style","active","iconLeft","iconRight","onRightIconClick","onKeyUp","tabIndex"];import"./ChipsItem.css";import React,{useRef}from"react";import{Badge}from"../../Badge";import{useForkRef}from"../../../hooks/useForkRef";import{useKeys}from"../../../hooks/useKeys";import{cnMixFocus}from"../../../mixs/MixFocus";import{cn}from"../../../utils/bem";import{forwardRefWithAs}from"../../../utils/types/PropsWithAsAttributes";import{chipsPropActiveViewDefault,chipsPropSizeDefault}from"../types";var cnChip=cn("ChipsItem"),iconSizeMap={l:"m",m:"s",s:"s",xs:"xs"};export var ChipsItem=forwardRefWithAs(function(a,b){var c=a.as,d=void 0===c?"span":c,e=a.label,f=a.size,g=void 0===f?chipsPropSizeDefault:f,h=a.status,i=a.activeView,j=void 0===i?chipsPropActiveViewDefault:i,k=a.className,l=a.interactive,m=a.style,n=a.active,o=a.iconLeft,p=a.iconRight,q=a.onRightIconClick,r=a.onKeyUp,s=a.tabIndex,t=_objectWithoutProperties(a,_excluded),
|
|
1
|
+
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["as","label","size","status","activeView","className","interactive","style","active","iconLeft","iconRight","onRightIconClick","onKeyUp","tabIndex","disabled"];import"./ChipsItem.css";import React,{useRef}from"react";import{Badge}from"../../Badge";import{useForkRef}from"../../../hooks/useForkRef";import{useKeys}from"../../../hooks/useKeys";import{cnMixFocus}from"../../../mixs/MixFocus";import{cn}from"../../../utils/bem";import{forwardRefWithAs}from"../../../utils/types/PropsWithAsAttributes";import{chipsPropActiveViewDefault,chipsPropSizeDefault}from"../types";var cnChip=cn("ChipsItem"),iconSizeMap={l:"m",m:"s",s:"s",xs:"xs"};export var ChipsItem=forwardRefWithAs(function(a,b){var c=a.as,d=void 0===c?"span":c,e=a.label,f=a.size,g=void 0===f?chipsPropSizeDefault:f,h=a.status,i=a.activeView,j=void 0===i?chipsPropActiveViewDefault:i,k=a.className,l=a.interactive,m=a.style,n=a.active,o=a.iconLeft,p=a.iconRight,q=a.onRightIconClick,r=a.onKeyUp,s=a.tabIndex,t=a.disabled,u=void 0!==t&&t,v=_objectWithoutProperties(a,_excluded),w=useRef(null),x=useRef(null),y=!u&&l,z=useKeys({keys:{Enter:function Enter(){if(x&&q){var a;null===(a=x.current)||void 0===a?void 0:a.focus()}else{var b;null===(b=w.current)||void 0===b?void 0:b.click()}},Escape:function Escape(){if(x&&q){var a;null===(a=w.current)||void 0===a?void 0:a.focus()}},Space:function Space(){var a;null===(a=w.current)||void 0===a?void 0:a.click()}},onEvent:r,isActive:!!y});return React.createElement(d,Object.assign({},v,{disabled:u,className:cnChip({size:g,interactive:y,activeView:j,active:n,disabled:u,status:!!h},[y?cnMixFocus():void 0,k]),ref:useForkRef([w,b]),onKeyUp:z,tabIndex:y?s||0:void 0,role:y?"button":void 0}),h&&React.createElement(Badge,{status:h,size:iconSizeMap[g],minified:!0}),!h&&o&&React.createElement(o,{size:iconSizeMap[g]}),e,p&&React.createElement(p,Object.assign({size:iconSizeMap[g]},q&&!u?{as:"button",role:"button",type:"button",onClick:q,className:cnChip("IconButton",[cnMixFocus()]),ref:x,tabIndex:-1}:{})))});
|
|
2
2
|
//# sourceMappingURL=ChipsItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChipsItem.js","names":["React","useRef","Badge","useForkRef","useKeys","cnMixFocus","cn","forwardRefWithAs","chipsPropActiveViewDefault","chipsPropSizeDefault","cnChip","iconSizeMap","l","m","s","xs","ChipsItem","props","ref","as","label","size","status","activeView","className","interactive","style","active","IconLeft","iconLeft","IconRight","iconRight","onRightIconClick","onKeyUpProp","onKeyUp","tabIndex","otherProps","componentRef","iconButtonRef","keys","Enter","current","focus","click","Escape","Space","onEvent","isActive","role","type","onClick"],"sources":["../../../../../../src/components/Chips/ChipsItem/ChipsItem.tsx"],"sourcesContent":["import './ChipsItem.css';\n\nimport { IconPropSize } from '@consta/icons/Icon';\nimport React, { useRef } from 'react';\n\nimport { Badge } from '##/components/Badge';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { useKeys } from '##/hooks/useKeys';\nimport { cnMixFocus } from '##/mixs/MixFocus';\nimport { cn } from '##/utils/bem';\nimport { forwardRefWithAs } from '##/utils/types/PropsWithAsAttributes';\n\nimport {\n ChipsItemProps,\n chipsPropActiveViewDefault,\n ChipsPropSize,\n chipsPropSizeDefault,\n} from '../types';\n\nconst cnChip = cn('ChipsItem');\n\nconst iconSizeMap: Record<ChipsPropSize, IconPropSize> = {\n l: 'm',\n m: 's',\n s: 's',\n xs: 'xs',\n};\n\nexport const ChipsItem = forwardRefWithAs<ChipsItemProps, 'span'>(\n (props, ref) => {\n const {\n as = 'span',\n label,\n size = chipsPropSizeDefault,\n status,\n activeView = chipsPropActiveViewDefault,\n className,\n interactive,\n style,\n active,\n iconLeft: IconLeft,\n iconRight: IconRight,\n onRightIconClick,\n onKeyUp: onKeyUpProp,\n tabIndex,\n ...otherProps\n } = props;\n\n const componentRef = useRef<HTMLElement>(null);\n const iconButtonRef = useRef<HTMLButtonElement>(null);\n\n const onKeyUp = useKeys({\n keys: {\n Enter: () => {\n if (iconButtonRef && onRightIconClick) {\n iconButtonRef.current?.focus();\n } else {\n componentRef.current?.click();\n }\n },\n Escape: () => {\n if (iconButtonRef && onRightIconClick) {\n componentRef.current?.focus();\n }\n },\n Space: () => {\n componentRef.current?.click();\n },\n },\n onEvent: onKeyUpProp,\n isActive: !!interactive,\n });\n\n const Tag = as as string;\n\n return (\n <Tag\n {...otherProps}\n className={cnChip(\n {
|
|
1
|
+
{"version":3,"file":"ChipsItem.js","names":["React","useRef","Badge","useForkRef","useKeys","cnMixFocus","cn","forwardRefWithAs","chipsPropActiveViewDefault","chipsPropSizeDefault","cnChip","iconSizeMap","l","m","s","xs","ChipsItem","props","ref","as","label","size","status","activeView","className","interactiveProp","interactive","style","active","IconLeft","iconLeft","IconRight","iconRight","onRightIconClick","onKeyUpProp","onKeyUp","tabIndex","disabled","otherProps","componentRef","iconButtonRef","keys","Enter","current","focus","click","Escape","Space","onEvent","isActive","role","type","onClick"],"sources":["../../../../../../src/components/Chips/ChipsItem/ChipsItem.tsx"],"sourcesContent":["import './ChipsItem.css';\n\nimport { IconPropSize } from '@consta/icons/Icon';\nimport React, { useRef } from 'react';\n\nimport { Badge } from '##/components/Badge';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { useKeys } from '##/hooks/useKeys';\nimport { cnMixFocus } from '##/mixs/MixFocus';\nimport { cn } from '##/utils/bem';\nimport { forwardRefWithAs } from '##/utils/types/PropsWithAsAttributes';\n\nimport {\n ChipsItemProps,\n chipsPropActiveViewDefault,\n ChipsPropSize,\n chipsPropSizeDefault,\n} from '../types';\n\nconst cnChip = cn('ChipsItem');\n\nconst iconSizeMap: Record<ChipsPropSize, IconPropSize> = {\n l: 'm',\n m: 's',\n s: 's',\n xs: 'xs',\n};\n\nexport const ChipsItem = forwardRefWithAs<ChipsItemProps, 'span'>(\n (props, ref) => {\n const {\n as = 'span',\n label,\n size = chipsPropSizeDefault,\n status,\n activeView = chipsPropActiveViewDefault,\n className,\n interactive: interactiveProp,\n style,\n active,\n iconLeft: IconLeft,\n iconRight: IconRight,\n onRightIconClick,\n onKeyUp: onKeyUpProp,\n tabIndex,\n disabled = false,\n ...otherProps\n } = props;\n\n const componentRef = useRef<HTMLElement>(null);\n const iconButtonRef = useRef<HTMLButtonElement>(null);\n const interactive = disabled ? false : interactiveProp;\n\n const onKeyUp = useKeys({\n keys: {\n Enter: () => {\n if (iconButtonRef && onRightIconClick) {\n iconButtonRef.current?.focus();\n } else {\n componentRef.current?.click();\n }\n },\n Escape: () => {\n if (iconButtonRef && onRightIconClick) {\n componentRef.current?.focus();\n }\n },\n Space: () => {\n componentRef.current?.click();\n },\n },\n onEvent: onKeyUpProp,\n isActive: !!interactive,\n });\n\n const Tag = as as string;\n\n return (\n <Tag\n {...otherProps}\n disabled={disabled}\n className={cnChip(\n {\n size,\n interactive,\n activeView,\n active,\n disabled,\n status: Boolean(status),\n },\n [interactive ? cnMixFocus() : undefined, className],\n )}\n ref={useForkRef([componentRef, ref])}\n onKeyUp={onKeyUp}\n tabIndex={interactive ? tabIndex || 0 : undefined}\n role={interactive ? 'button' : undefined}\n >\n {status && <Badge status={status} size={iconSizeMap[size]} minified />}\n {!status && IconLeft && <IconLeft size={iconSizeMap[size]} />}\n {label}\n {IconRight && (\n <IconRight\n size={iconSizeMap[size]}\n {...(onRightIconClick && !disabled\n ? {\n as: 'button',\n role: 'button',\n type: 'button',\n onClick: onRightIconClick,\n className: cnChip('IconButton', [cnMixFocus()]),\n ref: iconButtonRef,\n tabIndex: -1,\n }\n : {})}\n />\n )}\n </Tag>\n );\n },\n);\n"],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { ChipsDefaultItem, ChipsPropGetItemActive, ChipsPropGetItemAs, ChipsPropGetItemAttributes, ChipsPropGetItemIconLeft, ChipsPropGetItemIconRight, ChipsPropGetItemLabel, ChipsPropGetItemRef, ChipsPropGetItemStatus, ChipsProps } from './types';
|
|
2
|
+
import { ChipsDefaultItem, ChipsPropGetItemActive, ChipsPropGetItemAs, ChipsPropGetItemAttributes, ChipsPropGetItemDisabled, ChipsPropGetItemIconLeft, ChipsPropGetItemIconRight, ChipsPropGetItemLabel, ChipsPropGetItemRef, ChipsPropGetItemStatus, ChipsProps } from './types';
|
|
3
3
|
export declare const defaultGetItemIconRight: ChipsPropGetItemIconRight<ChipsDefaultItem>;
|
|
4
4
|
export declare const defaultGetItemActive: ChipsPropGetItemActive<ChipsDefaultItem>;
|
|
5
|
+
export declare const defaultGetItemDisabled: ChipsPropGetItemDisabled<ChipsDefaultItem>;
|
|
5
6
|
export declare const defaultGetItemIconLeft: ChipsPropGetItemIconLeft<ChipsDefaultItem>;
|
|
6
7
|
export declare const defaultGetItemStatus: ChipsPropGetItemStatus<ChipsDefaultItem>;
|
|
7
8
|
export declare const defaultGetItemLabel: ChipsPropGetItemLabel<ChipsDefaultItem>;
|
|
@@ -13,6 +14,7 @@ export declare function withDefaultGetters<ITEM>(props: ChipsProps<ITEM>): {
|
|
|
13
14
|
activeView?: "primary" | "secondary" | undefined;
|
|
14
15
|
items: ITEM[];
|
|
15
16
|
interactive?: boolean | undefined;
|
|
17
|
+
disabled?: boolean | undefined;
|
|
16
18
|
getItemStatus?: ChipsPropGetItemStatus<ITEM> | undefined;
|
|
17
19
|
getItemLabel?: ChipsPropGetItemLabel<ITEM> | undefined;
|
|
18
20
|
getItemIconLeft?: ChipsPropGetItemIconLeft<ITEM> | undefined;
|
|
@@ -21,9 +23,10 @@ export declare function withDefaultGetters<ITEM>(props: ChipsProps<ITEM>): {
|
|
|
21
23
|
getItemAs?: ChipsPropGetItemAs<ITEM> | undefined;
|
|
22
24
|
getItemAttributes?: ChipsPropGetItemAttributes<ITEM> | undefined;
|
|
23
25
|
getItemActive?: ChipsPropGetItemActive<ITEM> | undefined;
|
|
26
|
+
getItemDisabled?: ChipsPropGetItemDisabled<ITEM> | undefined;
|
|
24
27
|
onItemClick?: import("./types").ChipsPropOnItemClick<ITEM> | undefined;
|
|
25
28
|
onItemRightIconClick?: import("./types").ChipsPropItemOnRightIconClick<ITEM> | undefined;
|
|
26
|
-
} & Omit<import("react").HTMLAttributes<HTMLDivElement>, "size" | "css" | "items" | "getItemLabel" | "getItemStatus" | "onItemClick" | "getItemActive" | "getItemAs" | "getItemAttributes" | "getItemRef" | "interactive" | "getItemIconLeft" | "getItemIconRight" | "activeView" | "onItemRightIconClick"> & import("react").RefAttributes<HTMLDivElement> & (ITEM extends {
|
|
29
|
+
} & Omit<import("react").HTMLAttributes<HTMLDivElement>, "disabled" | "size" | "css" | "items" | "getItemLabel" | "getItemDisabled" | "getItemStatus" | "onItemClick" | "getItemActive" | "getItemAs" | "getItemAttributes" | "getItemRef" | "interactive" | "getItemIconLeft" | "getItemIconRight" | "activeView" | "onItemRightIconClick"> & import("react").RefAttributes<HTMLDivElement> & (ITEM extends {
|
|
27
30
|
label: string;
|
|
28
31
|
} ? {} : {
|
|
29
32
|
getItemLabel: ChipsPropGetItemLabel<ITEM>;
|
|
@@ -36,4 +39,5 @@ export declare function withDefaultGetters<ITEM>(props: ChipsProps<ITEM>): {
|
|
|
36
39
|
getItemAs: ChipsPropGetItemAs<ChipsDefaultItem> | ChipsPropGetItemAs<ITEM>;
|
|
37
40
|
getItemAttributes: ChipsPropGetItemAttributes<ChipsDefaultItem> | ChipsPropGetItemAttributes<ITEM>;
|
|
38
41
|
getItemActive: ChipsPropGetItemActive<ChipsDefaultItem> | ChipsPropGetItemActive<ITEM>;
|
|
42
|
+
getItemDisabled: ChipsPropGetItemDisabled<ChipsDefaultItem> | ChipsPropGetItemDisabled<ITEM>;
|
|
39
43
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}export var defaultGetItemIconRight=function(a){return a.iconRight};export var defaultGetItemActive=function(a){return a.active};export var defaultGetItemIconLeft=function(a){return a.iconLeft};export var defaultGetItemStatus=function(a){return a.status};export var defaultGetItemLabel=function(a){return a.label};export var defaultGetItemAs=function(a){return a.as};export var defaultGetItemAttributes=function(a){return a.attributes};export var defaultGetItemRef=function(a){return a.ref};export function withDefaultGetters(a){return _objectSpread(_objectSpread({},a),{},{getItemLabel:a.getItemLabel||defaultGetItemLabel,getItemIconRight:a.getItemIconRight||defaultGetItemIconRight,getItemIconLeft:a.getItemIconLeft||defaultGetItemIconLeft,getItemStatus:a.getItemStatus||defaultGetItemStatus,getItemRef:a.getItemRef||defaultGetItemRef,getItemAs:a.getItemAs||defaultGetItemAs,getItemAttributes:a.getItemAttributes||defaultGetItemAttributes,getItemActive:a.getItemActive||defaultGetItemActive})}
|
|
1
|
+
import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}export var defaultGetItemIconRight=function(a){return a.iconRight};export var defaultGetItemActive=function(a){return a.active};export var defaultGetItemDisabled=function(a){return a.disabled};export var defaultGetItemIconLeft=function(a){return a.iconLeft};export var defaultGetItemStatus=function(a){return a.status};export var defaultGetItemLabel=function(a){return a.label};export var defaultGetItemAs=function(a){return a.as};export var defaultGetItemAttributes=function(a){return a.attributes};export var defaultGetItemRef=function(a){return a.ref};export function withDefaultGetters(a){return _objectSpread(_objectSpread({},a),{},{getItemLabel:a.getItemLabel||defaultGetItemLabel,getItemIconRight:a.getItemIconRight||defaultGetItemIconRight,getItemIconLeft:a.getItemIconLeft||defaultGetItemIconLeft,getItemStatus:a.getItemStatus||defaultGetItemStatus,getItemRef:a.getItemRef||defaultGetItemRef,getItemAs:a.getItemAs||defaultGetItemAs,getItemAttributes:a.getItemAttributes||defaultGetItemAttributes,getItemActive:a.getItemActive||defaultGetItemActive,getItemDisabled:a.getItemDisabled||defaultGetItemDisabled})}
|
|
2
2
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","names":["defaultGetItemIconRight","item","iconRight","defaultGetItemActive","active","defaultGetItemIconLeft","iconLeft","defaultGetItemStatus","status","defaultGetItemLabel","label","defaultGetItemAs","as","defaultGetItemAttributes","attributes","defaultGetItemRef","ref","withDefaultGetters","props","getItemLabel","getItemIconRight","getItemIconLeft","getItemStatus","getItemRef","getItemAs","getItemAttributes","getItemActive"],"sources":["../../../../../src/components/Chips/helpers.ts"],"sourcesContent":["import {\n ChipsDefaultItem,\n ChipsPropGetItemActive,\n ChipsPropGetItemAs,\n ChipsPropGetItemAttributes,\n ChipsPropGetItemIconLeft,\n ChipsPropGetItemIconRight,\n ChipsPropGetItemLabel,\n ChipsPropGetItemRef,\n ChipsPropGetItemStatus,\n ChipsProps,\n} from './types';\n\nexport const defaultGetItemIconRight: ChipsPropGetItemIconRight<\n ChipsDefaultItem\n> = (item) => item.iconRight;\nexport const defaultGetItemActive: ChipsPropGetItemActive<ChipsDefaultItem> = (\n item,\n) => item.active;\nexport const defaultGetItemIconLeft: ChipsPropGetItemIconLeft<\n ChipsDefaultItem\n> = (item) => item.iconLeft;\nexport const defaultGetItemStatus: ChipsPropGetItemStatus<ChipsDefaultItem> = (\n item,\n) => item.status;\nexport const defaultGetItemLabel: ChipsPropGetItemLabel<ChipsDefaultItem> = (\n item,\n) => item.label;\nexport const defaultGetItemAs: ChipsPropGetItemAs<ChipsDefaultItem> = (item) =>\n item.as;\nexport const defaultGetItemAttributes: ChipsPropGetItemAttributes<\n ChipsDefaultItem\n> = (item) => item.attributes;\nexport const defaultGetItemRef: ChipsPropGetItemRef<ChipsDefaultItem> = (\n item,\n) => item.ref;\n\nexport function withDefaultGetters<ITEM>(props: ChipsProps<ITEM>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemIconRight: props.getItemIconRight || defaultGetItemIconRight,\n getItemIconLeft: props.getItemIconLeft || defaultGetItemIconLeft,\n getItemStatus: props.getItemStatus || defaultGetItemStatus,\n getItemRef: props.getItemRef || defaultGetItemRef,\n getItemAs: props.getItemAs || defaultGetItemAs,\n getItemAttributes: props.getItemAttributes || defaultGetItemAttributes,\n getItemActive: props.getItemActive || defaultGetItemActive,\n };\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.js","names":["defaultGetItemIconRight","item","iconRight","defaultGetItemActive","active","defaultGetItemDisabled","disabled","defaultGetItemIconLeft","iconLeft","defaultGetItemStatus","status","defaultGetItemLabel","label","defaultGetItemAs","as","defaultGetItemAttributes","attributes","defaultGetItemRef","ref","withDefaultGetters","props","getItemLabel","getItemIconRight","getItemIconLeft","getItemStatus","getItemRef","getItemAs","getItemAttributes","getItemActive","getItemDisabled"],"sources":["../../../../../src/components/Chips/helpers.ts"],"sourcesContent":["import {\n ChipsDefaultItem,\n ChipsPropGetItemActive,\n ChipsPropGetItemAs,\n ChipsPropGetItemAttributes,\n ChipsPropGetItemDisabled,\n ChipsPropGetItemIconLeft,\n ChipsPropGetItemIconRight,\n ChipsPropGetItemLabel,\n ChipsPropGetItemRef,\n ChipsPropGetItemStatus,\n ChipsProps,\n} from './types';\n\nexport const defaultGetItemIconRight: ChipsPropGetItemIconRight<\n ChipsDefaultItem\n> = (item) => item.iconRight;\nexport const defaultGetItemActive: ChipsPropGetItemActive<ChipsDefaultItem> = (\n item,\n) => item.active;\nexport const defaultGetItemDisabled: ChipsPropGetItemDisabled<\n ChipsDefaultItem\n> = (item) => item.disabled;\nexport const defaultGetItemIconLeft: ChipsPropGetItemIconLeft<\n ChipsDefaultItem\n> = (item) => item.iconLeft;\nexport const defaultGetItemStatus: ChipsPropGetItemStatus<ChipsDefaultItem> = (\n item,\n) => item.status;\nexport const defaultGetItemLabel: ChipsPropGetItemLabel<ChipsDefaultItem> = (\n item,\n) => item.label;\nexport const defaultGetItemAs: ChipsPropGetItemAs<ChipsDefaultItem> = (item) =>\n item.as;\nexport const defaultGetItemAttributes: ChipsPropGetItemAttributes<\n ChipsDefaultItem\n> = (item) => item.attributes;\nexport const defaultGetItemRef: ChipsPropGetItemRef<ChipsDefaultItem> = (\n item,\n) => item.ref;\n\nexport function withDefaultGetters<ITEM>(props: ChipsProps<ITEM>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemIconRight: props.getItemIconRight || defaultGetItemIconRight,\n getItemIconLeft: props.getItemIconLeft || defaultGetItemIconLeft,\n getItemStatus: props.getItemStatus || defaultGetItemStatus,\n getItemRef: props.getItemRef || defaultGetItemRef,\n getItemAs: props.getItemAs || defaultGetItemAs,\n getItemAttributes: props.getItemAttributes || defaultGetItemAttributes,\n getItemActive: props.getItemActive || defaultGetItemActive,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisabled,\n };\n}\n"],"mappings":"qqBAcA,MAAO,IAAMA,wBAEZ,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,SAAf,CAFG,CAGP,MAAO,IAAMC,qBAA8D,CAAG,SAC5EF,CAD4E,QAEzEA,EAAI,CAACG,MAFoE,CAAvE,CAGP,MAAO,IAAMC,uBAEZ,CAAG,SAACJ,CAAD,QAAUA,EAAI,CAACK,QAAf,CAFG,CAGP,MAAO,IAAMC,uBAEZ,CAAG,SAACN,CAAD,QAAUA,EAAI,CAACO,QAAf,CAFG,CAGP,MAAO,IAAMC,qBAA8D,CAAG,SAC5ER,CAD4E,QAEzEA,EAAI,CAACS,MAFoE,CAAvE,CAGP,MAAO,IAAMC,oBAA4D,CAAG,SAC1EV,CAD0E,QAEvEA,EAAI,CAACW,KAFkE,CAArE,CAGP,MAAO,IAAMC,iBAAsD,CAAG,SAACZ,CAAD,QACpEA,EAAI,CAACa,EAD+D,CAA/D,CAEP,MAAO,IAAMC,yBAEZ,CAAG,SAACd,CAAD,QAAUA,EAAI,CAACe,UAAf,CAFG,CAGP,MAAO,IAAMC,kBAAwD,CAAG,SACtEhB,CADsE,QAEnEA,EAAI,CAACiB,GAF8D,CAAjE,CAIP,MAAO,SAASC,mBAAT,CAAkCC,CAAlC,CAA2D,CAChE,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBV,mBAFtC,CAGEW,gBAAgB,CAAEF,CAAK,CAACE,gBAAN,EAA0BtB,uBAH9C,CAIEuB,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBhB,sBAJ5C,CAKEiB,aAAa,CAAEJ,CAAK,CAACI,aAAN,EAAuBf,oBALxC,CAMEgB,UAAU,CAAEL,CAAK,CAACK,UAAN,EAAoBR,iBANlC,CAOES,SAAS,CAAEN,CAAK,CAACM,SAAN,EAAmBb,gBAPhC,CAQEc,iBAAiB,CAAEP,CAAK,CAACO,iBAAN,EAA2BZ,wBARhD,CASEa,aAAa,CAAER,CAAK,CAACQ,aAAN,EAAuBzB,oBATxC,CAUE0B,eAAe,CAAET,CAAK,CAACS,eAAN,EAAyBxB,sBAV5C,EAYD"}
|
|
@@ -20,6 +20,7 @@ export declare type ChipsItemProps = {
|
|
|
20
20
|
status?: ChipsPropStatus;
|
|
21
21
|
label: string;
|
|
22
22
|
active?: boolean;
|
|
23
|
+
disabled?: boolean;
|
|
23
24
|
};
|
|
24
25
|
export declare type ChipsDefaultItem = Omit<ChipsItemProps, 'size' | 'activeView' | 'interactive' | 'onRightIconClick'> & {
|
|
25
26
|
attributes?: Omit<AsAttributes, 'children' | 'ref'>;
|
|
@@ -34,6 +35,7 @@ export declare type ChipsPropGetItemRef<ITEM> = (item: ITEM) => ChipsDefaultItem
|
|
|
34
35
|
export declare type ChipsPropGetItemAs<ITEM> = (item: ITEM) => ChipsDefaultItem['as'];
|
|
35
36
|
export declare type ChipsPropGetItemAttributes<ITEM> = (item: ITEM) => ChipsDefaultItem['attributes'];
|
|
36
37
|
export declare type ChipsPropGetItemActive<ITEM> = (item: ITEM) => ChipsDefaultItem['active'];
|
|
38
|
+
export declare type ChipsPropGetItemDisabled<ITEM> = (item: ITEM) => ChipsDefaultItem['disabled'];
|
|
37
39
|
export declare type ChipsPropOnItemClick<ITEM> = (item: ITEM, props: {
|
|
38
40
|
e: React.MouseEvent;
|
|
39
41
|
}) => void;
|
|
@@ -45,6 +47,7 @@ export declare type ChipsProps<ITEM = ChipsDefaultItem> = PropsWithHTMLAttribute
|
|
|
45
47
|
activeView?: ChipsPropActiveView;
|
|
46
48
|
items: ITEM[];
|
|
47
49
|
interactive?: boolean;
|
|
50
|
+
disabled?: boolean;
|
|
48
51
|
getItemStatus?: ChipsPropGetItemStatus<ITEM>;
|
|
49
52
|
getItemLabel?: ChipsPropGetItemLabel<ITEM>;
|
|
50
53
|
getItemIconLeft?: ChipsPropGetItemIconLeft<ITEM>;
|
|
@@ -53,6 +56,7 @@ export declare type ChipsProps<ITEM = ChipsDefaultItem> = PropsWithHTMLAttribute
|
|
|
53
56
|
getItemAs?: ChipsPropGetItemAs<ITEM>;
|
|
54
57
|
getItemAttributes?: ChipsPropGetItemAttributes<ITEM>;
|
|
55
58
|
getItemActive?: ChipsPropGetItemActive<ITEM>;
|
|
59
|
+
getItemDisabled?: ChipsPropGetItemDisabled<ITEM>;
|
|
56
60
|
onItemClick?: ChipsPropOnItemClick<ITEM>;
|
|
57
61
|
onItemRightIconClick?: ChipsPropItemOnRightIconClick<ITEM>;
|
|
58
62
|
}, HTMLDivElement> & (ITEM extends {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["chipsPropSize","chipsPropSizeDefault","chipsPropActiveView","chipsPropActiveViewDefault"],"sources":["../../../../../src/components/Chips/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"}
|
|
1
|
+
{"version":3,"file":"types.js","names":["chipsPropSize","chipsPropSizeDefault","chipsPropActiveView","chipsPropActiveViewDefault"],"sources":["../../../../../src/components/Chips/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 disabled?: 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 ChipsPropGetItemDisabled<ITEM> = (\n item: ITEM,\n) => ChipsDefaultItem['disabled'];\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 disabled?: 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 getItemDisabled?: ChipsPropGetItemDisabled<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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","form","view","width","onlyIcon","iconSize","value","multiple","items","getItemLabel","onChange","getItemIcon","getItemAttributes","getItemRef","getItemDisabled","name","className","disabled","truncate"];import"./ChoiceGroup.css";import React,{forwardRef}from"react";import{useChoiceGroup}from"../../hooks/useChoiceGroup
|
|
1
|
+
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","form","view","width","onlyIcon","iconSize","value","multiple","items","getItemLabel","onChange","getItemIcon","getItemAttributes","getItemRef","getItemDisabled","name","className","disabled","truncate"];import"./ChoiceGroup.css";import React,{forwardRef}from"react";import{useChoiceGroup}from"../../hooks/useChoiceGroup";import{cn}from"../../utils/bem";import{getByMap}from"../../utils/getByMap";import{withDefaultGetters}from"./helper";import{ChoiceGroupItem}from"./Item/ChoiceGroup-Item";import{choiceGroupDefaultForm,choiceGroupDefaultSize,choiceGroupDefaultView,choiceGroupWidthDefault}from"./types";var sizeMap={xs:"xs",s:"xs",m:"s",l:"m"};export var cnChoiceGroup=cn("ChoiceGroup");var ChoiceGroupRender=function(a,b){var c=withDefaultGetters(a),d=c.size,e=void 0===d?choiceGroupDefaultSize:d,f=c.form,g=void 0===f?choiceGroupDefaultForm:f,h=c.view,i=void 0===h?choiceGroupDefaultView:h,j=c.width,k=void 0===j?choiceGroupWidthDefault:j,l=c.onlyIcon,m=c.iconSize,n=c.value,o=void 0===n?null:n,p=c.multiple,q=void 0!==p&&p,r=c.items,s=c.getItemLabel,t=c.onChange,u=c.getItemIcon,v=c.getItemAttributes,w=c.getItemRef,x=c.getItemDisabled,y=c.name,z=c.className,A=c.disabled,B=void 0!==A&&A,C=c.truncate,D=_objectWithoutProperties(c,_excluded),E=useChoiceGroup({value:o,getKey:s,callBack:t,multiple:q}),F=E.getOnChange,G=E.getChecked,H=getByMap(sizeMap,e,m);return React.createElement("div",Object.assign({},D,{ref:b,className:cnChoiceGroup({size:e,form:g,view:i,width:k,onlyIcon:l,disabled:B,truncate:C},[z])}),r.map(function(a,b){var c,d=G(a),e=!!x&&x(a),f=null!==(c=v(a))&&void 0!==c?c:{},g=s(a).toString();return React.createElement(React.Fragment,{key:g},0<b&&React.createElement("div",{className:cnChoiceGroup("Divider",{checked:d,disabled:e})}),React.createElement(ChoiceGroupItem,Object.assign({onChange:F(a),checked:d,label:g,icon:u&&u(a),iconSize:H,multiple:q,onlyIcon:l,ref:w(a),name:y,disabled:B||e,title:l||C?g:void 0},f)))}))};export var ChoiceGroup=forwardRef(ChoiceGroupRender);export*from"./types";
|
|
2
2
|
//# sourceMappingURL=ChoiceGroup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceGroup.js","names":["React","forwardRef","useChoiceGroup","cn","getByMap","withDefaultGetters","ChoiceGroupItem","choiceGroupDefaultForm","choiceGroupDefaultSize","choiceGroupDefaultView","choiceGroupWidthDefault","sizeMap","xs","s","m","l","cnChoiceGroup","ChoiceGroupRender","props","ref","size","form","view","width","onlyIcon","iconSizeProp","iconSize","value","multiple","items","getItemLabel","onChange","getItemIcon","getItemAttributes","getItemRef","getItemDisabled","name","className","disabled","truncate","otherProps","getKey","callBack","getOnChange","getChecked","map","item","
|
|
1
|
+
{"version":3,"file":"ChoiceGroup.js","names":["React","forwardRef","useChoiceGroup","cn","getByMap","withDefaultGetters","ChoiceGroupItem","choiceGroupDefaultForm","choiceGroupDefaultSize","choiceGroupDefaultView","choiceGroupWidthDefault","sizeMap","xs","s","m","l","cnChoiceGroup","ChoiceGroupRender","props","ref","size","form","view","width","onlyIcon","iconSizeProp","iconSize","value","multiple","items","getItemLabel","onChange","getItemIcon","getItemAttributes","getItemRef","getItemDisabled","name","className","disabled","truncate","otherProps","getKey","callBack","getOnChange","getChecked","map","item","index","itemChecked","itemDisabled","attributes","label","toString","checked","ChoiceGroup"],"sources":["../../../../../src/components/ChoiceGroup/ChoiceGroup.tsx"],"sourcesContent":["import './ChoiceGroup.css';\n\nimport { IconPropSize } from '@consta/icons/Icon';\nimport React, { forwardRef } from 'react';\n\nimport { useChoiceGroup } from '##/hooks/useChoiceGroup';\nimport { cn } from '##/utils/bem';\nimport { getByMap } from '##/utils/getByMap';\n\nimport { withDefaultGetters } from './helper';\nimport { ChoiceGroupItem } from './Item/ChoiceGroup-Item';\nimport {\n ChoiceGroupComponent,\n choiceGroupDefaultForm,\n choiceGroupDefaultSize,\n choiceGroupDefaultView,\n ChoiceGroupPropOnChange,\n ChoiceGroupProps,\n ChoiceGroupPropSize,\n choiceGroupWidthDefault,\n} from './types';\n\nconst sizeMap: Record<ChoiceGroupPropSize, IconPropSize> = {\n xs: 'xs',\n s: 'xs',\n m: 's',\n l: 'm',\n};\n\nexport const cnChoiceGroup = cn('ChoiceGroup');\n\nconst ChoiceGroupRender = (\n props: ChoiceGroupProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n size = choiceGroupDefaultSize,\n form = choiceGroupDefaultForm,\n view = choiceGroupDefaultView,\n width = choiceGroupWidthDefault,\n onlyIcon,\n iconSize: iconSizeProp,\n value = null,\n multiple = false,\n items,\n getItemLabel,\n onChange,\n getItemIcon,\n getItemAttributes,\n getItemRef,\n getItemDisabled,\n name,\n className,\n disabled = false,\n truncate,\n ...otherProps\n } = withDefaultGetters(props);\n\n type Item = typeof items[number];\n\n const { getOnChange, getChecked } = useChoiceGroup<\n Item,\n React.ChangeEvent<HTMLInputElement>\n >({\n value: value as Item,\n getKey: getItemLabel,\n callBack: onChange as ChoiceGroupPropOnChange<Item, false>,\n multiple: multiple as false,\n // привел к типам из-за того что\n // TS не понимает что параметры для не Multiple и Multiple не могут прийти одновременно\n });\n\n const iconSize = getByMap(sizeMap, size, iconSizeProp);\n\n return (\n <div\n {...otherProps}\n ref={ref}\n className={cnChoiceGroup(\n { size, form, view, width, onlyIcon, disabled, truncate },\n [className],\n )}\n >\n {items.map((item, index) => {\n const itemChecked = getChecked(item);\n const itemDisabled = !!getItemDisabled && getItemDisabled(item);\n const attributes = getItemAttributes(item) ?? {};\n const label = getItemLabel(item).toString();\n\n return (\n <React.Fragment key={label}>\n {index > 0 && (\n <div\n className={cnChoiceGroup('Divider', {\n checked: itemChecked,\n disabled: itemDisabled,\n })}\n />\n )}\n <ChoiceGroupItem\n onChange={getOnChange(item)}\n checked={itemChecked}\n label={label}\n icon={getItemIcon && getItemIcon(item)}\n iconSize={iconSize}\n multiple={multiple}\n onlyIcon={onlyIcon}\n ref={getItemRef(item)}\n name={name}\n disabled={disabled || itemDisabled}\n title={onlyIcon || truncate ? label : undefined}\n {...attributes}\n />\n </React.Fragment>\n );\n })}\n </div>\n );\n};\n\nexport const ChoiceGroup = forwardRef(\n ChoiceGroupRender,\n) as ChoiceGroupComponent;\n\nexport * from './types';\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["label","onChange","checked","multiple","icon","onlyIcon","name","iconSize","disabled","className"];import React,{forwardRef}from"react";import{useFlag}from"../../../hooks/useFlag";import{cnMixFocus}from"../../../mixs/MixFocus/MixFocus";import{cnChoiceGroup}from"../ChoiceGroup";export var ChoiceGroupItem=forwardRef(function(a,b){var c=a.label,d=a.onChange,e=a.checked,f=a.multiple,g=a.icon,h=a.onlyIcon,i=a.name,j=a.iconSize,k=a.disabled,l=void 0!==k&&k,m=a.className,n=_objectWithoutProperties(a,_excluded),o=useFlag(),p=_slicedToArray(o,2),q=p[0],r=p[1];return React.createElement("label",Object.assign({className:cnChoiceGroup("Label",{focus:q,checked:e,disabled:l},[cnMixFocus(),m]),
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["label","onChange","checked","multiple","icon","onlyIcon","name","iconSize","disabled","className"];import React,{forwardRef}from"react";import{useFlag}from"../../../hooks/useFlag";import{cnMixFocus}from"../../../mixs/MixFocus/MixFocus";import{cnChoiceGroup}from"../ChoiceGroup";export var ChoiceGroupItem=forwardRef(function(a,b){var c=a.label,d=a.onChange,e=a.checked,f=a.multiple,g=a.icon,h=a.onlyIcon,i=a.name,j=a.iconSize,k=a.disabled,l=void 0!==k&&k,m=a.className,n=_objectWithoutProperties(a,_excluded),o=useFlag(),p=_slicedToArray(o,2),q=p[0],r=p[1];return React.createElement("label",Object.assign({},n,{className:cnChoiceGroup("Label",{focus:q,checked:e,disabled:l},[cnMixFocus(),m]),ref:b}),React.createElement("input",{type:f?"checkbox":"radio",className:cnChoiceGroup("Input"),checked:e,onFocus:r.on,onBlur:r.off,value:"".concat(i,"-").concat(c),onChange:d,name:i,disabled:l}),g&&React.createElement(g,{className:cnChoiceGroup("Icon"),size:j}),!h&&React.createElement("span",{className:cnChoiceGroup("Text")},c))});
|
|
2
2
|
//# sourceMappingURL=ChoiceGroup-Item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChoiceGroup-Item.js","names":["React","forwardRef","useFlag","cnMixFocus","cnChoiceGroup","ChoiceGroupItem","props","ref","label","onChange","checked","multiple","Icon","icon","onlyIcon","name","iconSize","disabled","className","otherProps","focus","setFocus","on","off"],"sources":["../../../../../../src/components/ChoiceGroup/Item/ChoiceGroup-Item.tsx"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React, { forwardRef } from 'react';\n\nimport { useFlag } from '##/hooks/useFlag';\nimport { PropsWithHTMLAttributes } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport { cnMixFocus } from '../../../mixs/MixFocus/MixFocus';\nimport { cnChoiceGroup } from '../ChoiceGroup';\n\ntype Props = PropsWithHTMLAttributes<\n {\n icon?: IconComponent;\n onlyIcon?: boolean;\n iconSize?: IconPropSize;\n label: string;\n name: string;\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n checked: boolean;\n multiple: boolean;\n disabled?: boolean;\n },\n HTMLLabelElement\n>;\n\nexport const ChoiceGroupItem = forwardRef<HTMLLabelElement, Props>(\n (props, ref) => {\n const {\n label,\n onChange,\n checked,\n multiple,\n icon: Icon,\n onlyIcon,\n name,\n iconSize,\n disabled = false,\n className,\n ...otherProps\n } = props;\n const [focus, setFocus] = useFlag();\n\n return (\n <label\n className={cnChoiceGroup('Label', { focus, checked, disabled }, [\n cnMixFocus(),\n className,\n ])}\n
|
|
1
|
+
{"version":3,"file":"ChoiceGroup-Item.js","names":["React","forwardRef","useFlag","cnMixFocus","cnChoiceGroup","ChoiceGroupItem","props","ref","label","onChange","checked","multiple","Icon","icon","onlyIcon","name","iconSize","disabled","className","otherProps","focus","setFocus","on","off"],"sources":["../../../../../../src/components/ChoiceGroup/Item/ChoiceGroup-Item.tsx"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React, { forwardRef } from 'react';\n\nimport { useFlag } from '##/hooks/useFlag';\nimport { PropsWithHTMLAttributes } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport { cnMixFocus } from '../../../mixs/MixFocus/MixFocus';\nimport { cnChoiceGroup } from '../ChoiceGroup';\n\ntype Props = PropsWithHTMLAttributes<\n {\n icon?: IconComponent;\n onlyIcon?: boolean;\n iconSize?: IconPropSize;\n label: string;\n name: string;\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n checked: boolean;\n multiple: boolean;\n disabled?: boolean;\n },\n HTMLLabelElement\n>;\n\nexport const ChoiceGroupItem = forwardRef<HTMLLabelElement, Props>(\n (props, ref) => {\n const {\n label,\n onChange,\n checked,\n multiple,\n icon: Icon,\n onlyIcon,\n name,\n iconSize,\n disabled = false,\n className,\n ...otherProps\n } = props;\n const [focus, setFocus] = useFlag();\n\n return (\n <label\n {...otherProps}\n className={cnChoiceGroup('Label', { focus, checked, disabled }, [\n cnMixFocus(),\n className,\n ])}\n ref={ref}\n >\n <input\n type={multiple ? 'checkbox' : 'radio'}\n className={cnChoiceGroup('Input')}\n checked={checked}\n onFocus={setFocus.on}\n onBlur={setFocus.off}\n value={`${name}-${label}`}\n onChange={onChange}\n name={name}\n disabled={disabled}\n />\n {Icon && <Icon className={cnChoiceGroup('Icon')} size={iconSize} />}\n {!onlyIcon && <span className={cnChoiceGroup('Text')}>{label}</span>}\n </label>\n );\n },\n);\n"],"mappings":"yQACA,MAAOA,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAEA,OAASC,OAAT,8BAGA,OAASC,UAAT,uCACA,OAASC,aAAT,sBAiBA,MAAO,IAAMC,gBAAe,CAAGJ,UAAU,CACvC,SAACK,CAAD,CAAQC,CAAR,CAAgB,IAEZC,EAFY,CAaVF,CAbU,CAEZE,KAFY,CAGZC,CAHY,CAaVH,CAbU,CAGZG,QAHY,CAIZC,CAJY,CAaVJ,CAbU,CAIZI,OAJY,CAKZC,CALY,CAaVL,CAbU,CAKZK,QALY,CAMNC,CANM,CAaVN,CAbU,CAMZO,IANY,CAOZC,CAPY,CAaVR,CAbU,CAOZQ,QAPY,CAQZC,CARY,CAaVT,CAbU,CAQZS,IARY,CASZC,CATY,CAaVV,CAbU,CASZU,QATY,GAaVV,CAbU,CAUZW,QAVY,CAUZA,CAVY,eAWZC,CAXY,CAaVZ,CAbU,CAWZY,SAXY,CAYTC,CAZS,0BAaVb,CAbU,cAcYJ,OAAO,EAdnB,uBAcPkB,CAdO,MAcAC,CAdA,MAgBd,MACE,8CACMF,CADN,EAEE,SAAS,CAAEf,aAAa,CAAC,OAAD,CAAU,CAAEgB,KAAK,CAALA,CAAF,CAASV,OAAO,CAAPA,CAAT,CAAkBO,QAAQ,CAARA,CAAlB,CAAV,CAAwC,CAC9Dd,UAAU,EADoD,CAE9De,CAF8D,CAAxC,CAF1B,CAME,GAAG,CAAEX,CANP,GAQE,6BACE,IAAI,CAAEI,CAAQ,CAAG,UAAH,CAAgB,OADhC,CAEE,SAAS,CAAEP,aAAa,CAAC,OAAD,CAF1B,CAGE,OAAO,CAAEM,CAHX,CAIE,OAAO,CAAEW,CAAQ,CAACC,EAJpB,CAKE,MAAM,CAAED,CAAQ,CAACE,GALnB,CAME,KAAK,WAAKR,CAAL,aAAaP,CAAb,CANP,CAOE,QAAQ,CAAEC,CAPZ,CAQE,IAAI,CAAEM,CARR,CASE,QAAQ,CAAEE,CATZ,EARF,CAmBGL,CAAI,EAAI,oBAAC,CAAD,EAAM,SAAS,CAAER,aAAa,CAAC,MAAD,CAA9B,CAAwC,IAAI,CAAEY,CAA9C,EAnBX,CAoBG,CAACF,CAAD,EAAa,4BAAM,SAAS,CAAEV,aAAa,CAAC,MAAD,CAA9B,EAAyCI,CAAzC,CApBhB,CAuBH,CAzCsC,CAAlC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.js","names":["React","forwardRef","useMemo","useRef","useForkRef","maxDateDefault","minDateDefault","getByMap","usePropsHandler","DatePickerTypeDate","DatePickerTypeDateRange","DatePickerTypeDateTime","DatePickerTypeDateTimeRange","DatePickerTypeMonth","DatePickerTypeMonthRange","DatePickerTypeTime","DatePickerTypeYear","DatePickerTypeYearRange","isTypeWithTime","datePickerPropTypeDefault","typeMap","COMPONENT_NAME","DatePicker","props","ref","datePickerRef","type","minDate","maxDate","labelPosition","multiplicityMinutes","multiplicitySeconds","multiplicityHours","otherProps","timeProps","Component"],"sources":["../../../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, useRef } from 'react';\n\nimport { useForkRef } from '
|
|
1
|
+
{"version":3,"file":"DatePicker.js","names":["React","forwardRef","useMemo","useRef","useForkRef","maxDateDefault","minDateDefault","getByMap","usePropsHandler","DatePickerTypeDate","DatePickerTypeDateRange","DatePickerTypeDateTime","DatePickerTypeDateTimeRange","DatePickerTypeMonth","DatePickerTypeMonthRange","DatePickerTypeTime","DatePickerTypeYear","DatePickerTypeYearRange","isTypeWithTime","datePickerPropTypeDefault","typeMap","COMPONENT_NAME","DatePicker","props","ref","datePickerRef","type","minDate","maxDate","labelPosition","multiplicityMinutes","multiplicitySeconds","multiplicityHours","otherProps","timeProps","Component"],"sources":["../../../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, useRef } from 'react';\n\nimport { useForkRef } from '##/hooks/useForkRef/useForkRef';\nimport { maxDateDefault, minDateDefault } from '##/utils/date';\nimport { getByMap } from '##/utils/getByMap';\n\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport { DatePickerTypeDate } from './DatePickerTypeDate/DatePickerTypeDate';\nimport { DatePickerTypeDateRange } from './DatePickerTypeDateRange/DatePickerTypeDateRange';\nimport { DatePickerTypeDateTime } from './DatePickerTypeDateTime/DatePickerTypeDateTime';\nimport { DatePickerTypeDateTimeRange } from './DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange';\nimport { DatePickerTypeMonth } from './DatePickerTypeMonth/DatePickerTypeMonth';\nimport { DatePickerTypeMonthRange } from './DatePickerTypeMonthRange/DatePickerTypeMonthRange';\nimport { DatePickerTypeTime } from './DatePickerTypeTime/DatePickerTypeTime';\nimport { DatePickerTypeYear } from './DatePickerTypeYear/DatePickerTypeYear';\nimport { DatePickerTypeYearRange } from './DatePickerTypeYearRange/DatePickerTypeYearRange';\nimport { isTypeWithTime } from './helpers';\nimport {\n DatePickerComponent,\n DatePickerPropType,\n datePickerPropTypeDefault,\n DatePickerTypeComponent,\n} from './types';\n\nconst typeMap: Record<\n DatePickerPropType,\n DatePickerTypeComponent<DatePickerPropType>\n> = {\n 'date': DatePickerTypeDate,\n 'date-range': DatePickerTypeDateRange,\n 'date-time': DatePickerTypeDateTime,\n 'date-time-range': DatePickerTypeDateTimeRange,\n 'time': DatePickerTypeTime,\n 'year': DatePickerTypeYear,\n 'year-range': DatePickerTypeYearRange,\n 'month': DatePickerTypeMonth,\n 'month-range': DatePickerTypeMonthRange,\n};\n\nexport const COMPONENT_NAME = 'DatePicker' as const;\n\nexport const DatePicker: DatePickerComponent = forwardRef((props, ref) => {\n const datePickerRef = useRef<HTMLDivElement>(null);\n const {\n type = datePickerPropTypeDefault,\n minDate = minDateDefault,\n maxDate = maxDateDefault,\n labelPosition = 'top',\n multiplicityMinutes,\n multiplicitySeconds,\n multiplicityHours,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, props, datePickerRef);\n\n const timeProps = useMemo(\n () =>\n isTypeWithTime(type)\n ? {\n multiplicityMinutes,\n multiplicitySeconds,\n multiplicityHours,\n }\n : undefined,\n [type, multiplicityMinutes, multiplicitySeconds, multiplicityHours],\n );\n\n const Component = getByMap(typeMap, type);\n\n return (\n <Component\n {...otherProps}\n {...timeProps}\n labelPosition={labelPosition}\n minDate={minDate}\n maxDate={maxDate}\n ref={useForkRef([ref, datePickerRef])}\n />\n );\n});\n\nexport * from './helpers';\nexport * from './types';\n"],"mappings":"gNAAA,MAAOA,MAAP,EAAgBC,UAAhB,CAA4BC,OAA5B,CAAqCC,MAArC,KAAmD,OAAnD,CAEA,OAASC,UAAT,yCACA,OAASC,cAAT,CAAyBC,cAAzB,wBACA,OAASC,QAAT,4BAEA,OAASC,eAAT,2CACA,OAASC,kBAAT,+CACA,OAASC,uBAAT,yDACA,OAASC,sBAAT,uDACA,OAASC,2BAAT,iEACA,OAASC,mBAAT,iDACA,OAASC,wBAAT,2DACA,OAASC,kBAAT,+CACA,OAASC,kBAAT,+CACA,OAASC,uBAAT,yDACA,OAASC,cAAT,iBACA,OAGEC,yBAHF,eAOA,GAAMC,QAGL,CAAG,CACF,KAAQX,kBADN,CAEF,aAAcC,uBAFZ,CAGF,YAAaC,sBAHX,CAIF,kBAAmBC,2BAJjB,CAKF,KAAQG,kBALN,CAMF,KAAQC,kBANN,CAOF,aAAcC,uBAPZ,CAQF,MAASJ,mBARP,CASF,cAAeC,wBATb,CAHJ,CAeA,MAAO,IAAMO,eAAc,CAAG,YAAvB,CAEP,MAAO,IAAMC,WAA+B,CAAGrB,UAAU,CAAC,SAACsB,CAAD,CAAQC,CAAR,CAAgB,IAClEC,EAAa,CAAGtB,MAAM,CAAiB,IAAjB,CAD4C,GAWpEK,eAAe,CAACa,cAAD,CAAiBE,CAAjB,CAAwBE,CAAxB,CAXqD,KAGtEC,IAHsE,CAGtEA,CAHsE,YAG/DP,yBAH+D,OAItEQ,OAJsE,CAItEA,CAJsE,YAI5DrB,cAJ4D,OAKtEsB,OALsE,CAKtEA,CALsE,YAK5DvB,cAL4D,OAMtEwB,aANsE,CAMtEA,CANsE,YAMtD,KANsD,GAOtEC,CAPsE,GAOtEA,mBAPsE,CAQtEC,CARsE,GAQtEA,mBARsE,CAStEC,CATsE,GAStEA,iBATsE,CAUnEC,CAVmE,uCAalEC,CAAS,CAAGhC,OAAO,CACvB,iBACEgB,eAAc,CAACQ,CAAD,CAAd,CACI,CACEI,mBAAmB,CAAnBA,CADF,CAEEC,mBAAmB,CAAnBA,CAFF,CAGEC,iBAAiB,CAAjBA,CAHF,CADJ,OADF,CADuB,CASvB,CAACN,CAAD,CAAOI,CAAP,CAA4BC,CAA5B,CAAiDC,CAAjD,CATuB,CAb+C,CAyBlEG,CAAS,CAAG5B,QAAQ,CAACa,OAAD,CAAUM,CAAV,CAzB8C,CA2BxE,MACE,qBAAC,CAAD,kBACMO,CADN,CAEMC,CAFN,EAGE,aAAa,CAAEL,CAHjB,CAIE,OAAO,CAAEF,CAJX,CAKE,OAAO,CAAEC,CALX,CAME,GAAG,CAAExB,UAAU,CAAC,CAACoB,CAAD,CAAMC,CAAN,CAAD,CANjB,GASH,CArCwD,CAAlD,CAuCP,uBACA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import './DatePickerAdditionalControls.css';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { PropsWithHTMLAttributes } from
|
|
3
|
+
import { PropsWithHTMLAttributes } from "../../../utils/types/PropsWithHTMLAttributes";
|
|
4
4
|
import { DatePickerAdditionalControlRenderProp, DatePickerPropDateTimeView, DatePickerPropType } from '../types';
|
|
5
5
|
declare type Props = PropsWithHTMLAttributes<{
|
|
6
6
|
renderAdditionalControls?: DatePickerAdditionalControlRenderProp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePickerAdditionalControls.js","names":["React","cn","isRenderFn","fn","call","cnDatePickerAdditionalControls","DatePickerAdditionalControls","props","renderAdditionalControls","currentVisibleDate","className","type","view","otherProps","content","contentType","Array","isArray"],"sources":["../../../../../../src/components/DatePicker/DatePickerAdditionalControls/DatePickerAdditionalControls.tsx"],"sourcesContent":["import './DatePickerAdditionalControls.css';\n\nimport React from 'react';\n\nimport { cn } from '
|
|
1
|
+
{"version":3,"file":"DatePickerAdditionalControls.js","names":["React","cn","isRenderFn","fn","call","cnDatePickerAdditionalControls","DatePickerAdditionalControls","props","renderAdditionalControls","currentVisibleDate","className","type","view","otherProps","content","contentType","Array","isArray"],"sources":["../../../../../../src/components/DatePicker/DatePickerAdditionalControls/DatePickerAdditionalControls.tsx"],"sourcesContent":["import './DatePickerAdditionalControls.css';\n\nimport React from 'react';\n\nimport { cn } from '##/utils/bem';\nimport { PropsWithHTMLAttributes } from '##/utils/types/PropsWithHTMLAttributes';\n\nimport {\n DatePickerAdditionalControlRenderFn,\n DatePickerAdditionalControlRenderProp,\n DatePickerPropDateTimeView,\n DatePickerPropType,\n} from '../types';\n\ntype Props = PropsWithHTMLAttributes<\n {\n renderAdditionalControls?: DatePickerAdditionalControlRenderProp;\n currentVisibleDate?: Date;\n type: DatePickerPropType;\n view: DatePickerPropDateTimeView;\n },\n HTMLDivElement\n>;\n\nfunction isRenderFn(\n fn: DatePickerAdditionalControlRenderProp,\n): fn is DatePickerAdditionalControlRenderFn {\n return (fn as DatePickerAdditionalControlRenderFn).call !== undefined;\n}\n\nconst cnDatePickerAdditionalControls = cn('DatePickerAdditionalControls');\n\nexport const DatePickerAdditionalControls: React.FC<Props> = (props) => {\n const {\n renderAdditionalControls,\n currentVisibleDate,\n className,\n type,\n view,\n ...otherProps\n } = props;\n\n if (typeof renderAdditionalControls !== 'undefined') {\n const content = isRenderFn(renderAdditionalControls)\n ? renderAdditionalControls({ currentVisibleDate })\n : renderAdditionalControls;\n\n return (\n <div\n {...otherProps}\n className={cnDatePickerAdditionalControls(\n { type, view, contentType: Array.isArray(content) && 'array' },\n [className],\n )}\n >\n {content}\n </div>\n );\n }\n\n return null;\n};\n"],"mappings":"+KAAA,2CAEA,MAAOA,MAAP,KAAkB,OAAlB,CAEA,OAASC,EAAT,0BAoBA,QAASC,WAAT,CACEC,CADF,CAE6C,CAC3C,MAAQA,EAAD,CAA4CC,IAA5C,SACR,CAED,GAAMC,+BAA8B,CAAGJ,EAAE,CAAC,8BAAD,CAAzC,CAEA,MAAO,IAAMK,6BAA6C,CAAG,SAACC,CAAD,CAAW,CACtE,GACEC,EADF,CAOID,CAPJ,CACEC,wBADF,CAEEC,CAFF,CAOIF,CAPJ,CAEEE,kBAFF,CAGEC,CAHF,CAOIH,CAPJ,CAGEG,SAHF,CAIEC,CAJF,CAOIJ,CAPJ,CAIEI,IAJF,CAKEC,CALF,CAOIL,CAPJ,CAKEK,IALF,CAMKC,CANL,0BAOIN,CAPJ,YASA,GAAwC,WAApC,QAAOC,EAAX,CAAqD,CACnD,GAAMM,EAAO,CAAGZ,UAAU,CAACM,CAAD,CAAV,CACZA,CAAwB,CAAC,CAAEC,kBAAkB,CAAlBA,CAAF,CAAD,CADZ,CAEZD,CAFJ,CAIA,MACE,4CACMK,CADN,EAEE,SAAS,CAAER,8BAA8B,CACvC,CAAEM,IAAI,CAAJA,CAAF,CAAQC,IAAI,CAAJA,CAAR,CAAcG,WAAW,CAAEC,KAAK,CAACC,OAAN,CAAcH,CAAd,GAA0B,OAArD,CADuC,CAEvC,CAACJ,CAAD,CAFuC,CAF3C,GAOGI,CAPH,CAUH,CAED,MAAO,KACR,CA7BM"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import './DatePickerDropdown.css';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { DateTimePropOnChange, DateTimePropType } from "../../DateTime";
|
|
4
|
+
import { DateRange } from "../../../utils/types/Date";
|
|
5
|
+
import { PropsWithHTMLAttributesAndRef } from "../../../utils/types/PropsWithHTMLAttributes";
|
|
6
6
|
import { DatePickerAdditionalControlRenderProp, DatePickerPropDateTimeView, DatePickerPropDropdownForm } from '../types';
|
|
7
7
|
export declare type DatePickerDropdownPropOnChange = DateTimePropOnChange;
|
|
8
8
|
export declare type DatePickerDropdownProps = PropsWithHTMLAttributesAndRef<{
|