@consta/uikit 4.25.0 → 4.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/BookmarkTabsCanary/index.d.ts +1 -0
  2. package/BookmarkTabsCanary/index.js +1 -0
  3. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.js +1 -1
  4. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.js.map +1 -1
  5. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabs.css +1 -0
  6. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsCanary.d.ts +4 -0
  7. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsCanary.js +2 -0
  8. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsCanary.js.map +1 -0
  9. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.css +1 -0
  10. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.d.ts +4 -0
  11. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.js +2 -0
  12. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.js.map +1 -0
  13. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/index.d.ts +1 -0
  14. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/index.js +2 -0
  15. package/__internal__/src/components/BookmarkTabsCanary/BookmarkTabsTab/index.js.map +1 -0
  16. package/__internal__/src/components/BookmarkTabsCanary/helper.d.ts +281 -0
  17. package/__internal__/src/components/BookmarkTabsCanary/helper.js +2 -0
  18. package/__internal__/src/components/BookmarkTabsCanary/helper.js.map +1 -0
  19. package/__internal__/src/components/BookmarkTabsCanary/index.d.ts +3 -0
  20. package/__internal__/src/components/BookmarkTabsCanary/index.js +2 -0
  21. package/__internal__/src/components/BookmarkTabsCanary/index.js.map +1 -0
  22. package/__internal__/src/components/BookmarkTabsCanary/types.d.ts +88 -0
  23. package/__internal__/src/components/BookmarkTabsCanary/types.js +2 -0
  24. package/__internal__/src/components/BookmarkTabsCanary/types.js.map +1 -0
  25. package/__internal__/src/components/BookmarkTabsCanary/useBookmarkTabs.d.ts +24 -0
  26. package/__internal__/src/components/BookmarkTabsCanary/useBookmarkTabs.js +2 -0
  27. package/__internal__/src/components/BookmarkTabsCanary/useBookmarkTabs.js.map +1 -0
  28. package/__internal__/src/components/Collapse/Collapse.css +1 -1
  29. package/__internal__/src/components/TextField/TextField.js +1 -1
  30. package/__internal__/src/components/TextField/TextField.js.map +1 -1
  31. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ export * from "../__internal__/src/components/BookmarkTabsCanary";
@@ -0,0 +1 @@
1
+ export * from "../__internal__/src/components/BookmarkTabsCanary";
@@ -1,2 +1,2 @@
1
- import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";function _createForOfIteratorHelper(a,b){var c="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!c){if(Array.isArray(a)||(c=_unsupportedIterableToArray(a))||b&&a&&"number"==typeof a.length){c&&(a=c);var d=0,e=function(){};return{s:e,n:function n(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){throw a}),f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f,g=!0,h=!1;return{s:function s(){c=c.call(a)},n:function n(){var a=c.next();return g=a.done,a},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){h=!0,f=a}),f:function f(){try{g||null==c["return"]||c["return"]()}finally{if(h)throw f}}}}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}import{useCallback,useEffect,useMemo,useRef,useState}from"react";import{scrollToIndex}from"../SelectComponentsCanary/useSelect/helpers";import{useClickOutside}from"../../hooks/useClickOutside";import{useFlag}from"../../hooks/useFlag";import{useKeys}from"../../hooks/useKeys";import{useRefs}from"../../hooks/useRefs";import{getGroups}from"../../utils/getGroups";export function useAutoComplete(a){var b=a.items,c=a.dropdownRef,d=a.controlRef,e=a.disabled,f=void 0!==e&&e,g=a.getItemLabel,h=a.getItemKey,i=a.searchFunction,j=a.getItemGroupKey,k=a.groups,l=a.getGroupKey,m=a.onFocus,n=a.onBlur,o=a.searchValue,p=a.isLoading,q=a.dropdownOpen,r=a.onDropdownOpen,s=a.ignoreOutsideClicksRefs,t=useRef(null),u=useFlag(),v=_slicedToArray(u,2),w=v[0],x=v[1],y=useState(0),z=_slicedToArray(y,2),A=z[0],B=z[1],C=function(a,b){return!!b&&-1!==g(a).toLocaleLowerCase().indexOf(b.toLocaleLowerCase())},D=useMemo(function(){return b.filter(function(a){return i?i(a,o||""):C(a,o||"")})},[o,b]),E=useMemo(function(){var a=getGroups(D,null!==k&&void 0!==k&&k.length?j:void 0,k,l,void 0);return a},[D,k,j,l]),F=useMemo(function(){return!!E.find(function(a){return 0<a.items.length})},[E]),G=useCallback(function(a){B(Math.min(Math.max(0,"function"==typeof a?a(A):a),D.length-1))},[D,A]),H=function(b,c){f||a.onChange({value:c,e:b})},I=function(a,b){f||(b.preventDefault(),x.on(),G(function(a){return a-1}))},J=function(a,b){f||(b.preventDefault(),x.on(),G(function(a){return a+1}))},K=useKeys({ArrowUp:I,ArrowDown:J,PageUp:I,PageDown:J,Home:I,End:J,Enter:function Enter(a,b){if(w){(o||D[A])&&b.preventDefault();var c=function(a){var b,c=0,d=_createForOfIteratorHelper(E);try{for(d.s();!(b=d.n()).done;){var e=b.value;if(e.items.length+c>a)return e.items[a-c];c+=e.items.length}}catch(a){d.e(a)}finally{d.f()}},d=c(A);d&&H(b,d)}else x.on()},Escape:function Escape(){x.off()},Tab:function Tab(a,b){w&&(b.preventDefault(),x.off())}}),L=useRefs(D.length,[w]);return useClickOutside({isActive:w,ignoreClicksInsideRefs:[c,d].concat(_toConsumableArray(s||[])),handler:x.off}),useEffect(function(){if(f){var a;x.off(),null===(a=t.current)||void 0===a?void 0:a.blur()}},[f]),useEffect(function(){0<D.length&&scrollToIndex(A,c,L,function(){return G(0)}),x.on()},[A]),useEffect(function(){null===r||void 0===r?void 0:r(w)},[w]),useEffect(function(){x.set(q||!1)},[q]),useEffect(function(){o&&x.on()},[o]),{isOpen:!!(w&&(!!p||F)),visibleItems:E,getOptionProps:function getOptionProps(a){var b=a.index,c=a.item,d=h(c);return{onClick:function onClick(a){H(a,c)},onMouseEnter:function onMouseEnter(){G(b)},active:!1,hovered:b===A,key:d}},handleInputFocus:function handleInputFocus(a){f||(x.toggle(),"function"==typeof m&&m(a))},handleInputBlur:function handleInputBlur(a){if(w){var b;return void(null===(b=t.current)||void 0===b?void 0:b.focus())}"function"==typeof n&&n(a)},inputRef:t,getKeyProps:K,hasItems:F,optionsRefs:L}}
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";function _createForOfIteratorHelper(a,b){var c="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!c){if(Array.isArray(a)||(c=_unsupportedIterableToArray(a))||b&&a&&"number"==typeof a.length){c&&(a=c);var d=0,e=function(){};return{s:e,n:function n(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){throw a}),f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f,g=!0,h=!1;return{s:function s(){c=c.call(a)},n:function n(){var a=c.next();return g=a.done,a},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){h=!0,f=a}),f:function f(){try{g||null==c["return"]||c["return"]()}finally{if(h)throw f}}}}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}import{useCallback,useEffect,useMemo,useRef,useState}from"react";import{scrollToIndex}from"../SelectComponentsCanary/useSelect/helpers";import{useClickOutside}from"../../hooks/useClickOutside";import{useFlag}from"../../hooks/useFlag";import{useKeys}from"../../hooks/useKeys";import{useRefs}from"../../hooks/useRefs";import{getGroups}from"../../utils/getGroups";export function useAutoComplete(a){var b=a.items,c=a.dropdownRef,d=a.controlRef,e=a.disabled,f=void 0!==e&&e,g=a.getItemLabel,h=a.getItemKey,i=a.searchFunction,j=a.getItemGroupKey,k=a.groups,l=a.getGroupKey,m=a.onFocus,n=a.onBlur,o=a.searchValue,p=a.isLoading,q=a.dropdownOpen,r=a.onDropdownOpen,s=a.ignoreOutsideClicksRefs,t=useRef(null),u=useFlag(),v=_slicedToArray(u,2),w=v[0],x=v[1],y=useState(0),z=_slicedToArray(y,2),A=z[0],B=z[1],C=function(a,b){return!!b&&-1!==g(a).toLocaleLowerCase().indexOf(b.toLocaleLowerCase())},D=useMemo(function(){return b.filter(function(a){return i?i(a,o||""):C(a,o||"")})},[o,b]),E=useMemo(function(){var a=getGroups(D,null!==k&&void 0!==k&&k.length?j:void 0,k,l,void 0);return a},[D,k,j,l]),F=useMemo(function(){return!!E.find(function(a){return 0<a.items.length})},[E]),G=useCallback(function(a){B(Math.min(Math.max(0,"function"==typeof a?a(A):a),D.length-1))},[D,A]),H=function(b,c){f||a.onChange({value:c,e:b})},I=function(a,b){f||(b.preventDefault(),x.on(),G(function(a){return a-1}))},J=function(a,b){f||(b.preventDefault(),x.on(),G(function(a){return a+1}))},K=useKeys({ArrowUp:I,ArrowDown:J,PageUp:I,PageDown:J,Home:I,End:J,Enter:function Enter(a,b){if(w){(o||D[A])&&b.preventDefault();var c=function(a){var b,c=0,d=_createForOfIteratorHelper(E);try{for(d.s();!(b=d.n()).done;){var e=b.value;if(e.items.length+c>a)return e.items[a-c];c+=e.items.length}}catch(a){d.e(a)}finally{d.f()}},d=c(A);d&&H(b,d)}else x.on()},Escape:function Escape(){x.off()},Tab:function Tab(a,b){x.off(),w&&F&&b.preventDefault()}}),L=useRefs(D.length,[w]);return useClickOutside({isActive:w,ignoreClicksInsideRefs:[c,d].concat(_toConsumableArray(s||[])),handler:x.off}),useEffect(function(){if(f){var a;x.off(),null===(a=t.current)||void 0===a?void 0:a.blur()}},[f]),useEffect(function(){0<D.length&&scrollToIndex(A,c,L,function(){return G(0)}),x.on()},[A]),useEffect(function(){null===r||void 0===r?void 0:r(w)},[w]),useEffect(function(){x.set(q||!1)},[q]),useEffect(function(){o&&x.on()},[o]),{isOpen:!!(w&&(!!p||F)),visibleItems:E,getOptionProps:function getOptionProps(a){var b=a.index,c=a.item,d=h(c);return{onClick:function onClick(a){H(a,c)},onMouseEnter:function onMouseEnter(){G(b)},active:!1,hovered:b===A,key:d}},handleInputFocus:function handleInputFocus(a){f||(x.toggle(),"function"==typeof m&&m(a))},handleInputBlur:function handleInputBlur(a){if(w){var b;return void(null===(b=t.current)||void 0===b?void 0:b.focus())}"function"==typeof n&&n(a)},inputRef:t,getKeyProps:K,hasItems:F,optionsRefs:L}}
2
2
  //# sourceMappingURL=useAutoComplete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAutoComplete.js","names":["useCallback","useEffect","useMemo","useRef","useState","scrollToIndex","useClickOutside","useFlag","useKeys","useRefs","getGroups","useAutoComplete","params","items","dropdownRef","controlRef","disabled","getItemLabel","getItemKey","searchFunction","getItemGroupKey","groups","getGroupKey","onFocus","onBlur","searchValue","isLoading","dropdownOpen","onDropdownOpen","ignoreOutsideClicksRefs","inputRef","isOpen","setIsOpen","highlightedIndex","setHighlightedIndex","searchFunctionDefault","item","toLocaleLowerCase","indexOf","filteredOptions","filter","visibleItems","resultGroups","length","hasItems","find","group","highlightIndex","indexForHighlight","Math","min","max","onChange","e","value","ArrowUp","_","preventDefault","on","old","ArrowDown","getKeyProps","PageUp","PageDown","Home","End","Enter","getItem","index","couter","Escape","off","Tab","optionsRefs","isActive","ignoreClicksInsideRefs","handler","current","blur","set","getOptionProps","key","onClick","onMouseEnter","active","hovered","handleInputFocus","toggle","handleInputBlur","focus"],"sources":["../../../../../src/components/AutoCompleteCanary/useAutoComplete.ts"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { scrollToIndex } from '##/components/SelectComponentsCanary/useSelect/helpers';\nimport { useClickOutside } from '##/hooks/useClickOutside';\nimport { useFlag } from '##/hooks/useFlag';\nimport { KeyHandler, useKeys } from '##/hooks/useKeys';\nimport { useRefs } from '##/hooks/useRefs';\nimport { getGroups } from '##/utils/getGroups';\n\ntype IndexForHighlight = number | ((oldIndex: number) => number);\n\ntype GetItemGroupKey<ITEM> = (item: ITEM) => string | number | undefined;\ntype GetGroupKey<GROUP> = (item: GROUP) => string | number | undefined;\n\ntype OnChangeProp<ITEM> = (props: {\n value: ITEM | null;\n e: React.SyntheticEvent;\n}) => void;\n\ntype UseAutoCompleteProps<ITEM, GROUP> = {\n getItemGroupKey?: GetItemGroupKey<ITEM> | undefined;\n getGroupKey?: GetGroupKey<GROUP>;\n groups?: GROUP[];\n items: ITEM[];\n dropdownRef: React.MutableRefObject<HTMLDivElement | null>;\n controlRef: React.MutableRefObject<HTMLDivElement | null>;\n disabled?: boolean;\n getItemLabel: (item: ITEM) => string;\n getItemKey: (item: ITEM) => string | number;\n searchFunction?: (item: ITEM, searchValue: string) => boolean;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n searchValue?: string;\n onChange: OnChangeProp<ITEM>;\n isLoading?: boolean;\n dropdownOpen?: boolean;\n onDropdownOpen?: (isOpen: boolean) => void;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n};\n\ntype OptionProps<ITEM> = {\n index: number;\n item: ITEM;\n keyPrefix: number;\n};\n\ntype GetOptionPropsResult = {\n onClick: (e: React.SyntheticEvent) => void;\n onMouseEnter: (e: React.SyntheticEvent) => void;\n active: boolean;\n hovered: boolean;\n key: string | number;\n};\n\nexport function useAutoComplete<ITEM, GROUP>(\n params: UseAutoCompleteProps<ITEM, GROUP>,\n) {\n const {\n items,\n dropdownRef,\n controlRef,\n disabled = false,\n getItemLabel,\n getItemKey,\n searchFunction,\n getItemGroupKey,\n groups,\n getGroupKey,\n onFocus,\n onBlur,\n searchValue,\n isLoading,\n dropdownOpen,\n onDropdownOpen,\n ignoreOutsideClicksRefs,\n } = params;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const [isOpen, setIsOpen] = useFlag();\n const [highlightedIndex, setHighlightedIndex] = useState<number>(0);\n\n const searchFunctionDefault = (item: ITEM, searchValue: string) => {\n if (!searchValue) {\n return false;\n }\n return (\n getItemLabel(item)\n .toLocaleLowerCase()\n .indexOf(searchValue.toLocaleLowerCase()) !== -1\n );\n };\n\n const filteredOptions = useMemo(\n () =>\n items.filter((item) =>\n searchFunction\n ? searchFunction(item, searchValue || '')\n : searchFunctionDefault(item, searchValue || ''),\n ),\n [searchValue, items],\n );\n\n const visibleItems = useMemo(() => {\n const resultGroups = getGroups(\n filteredOptions,\n groups?.length ? getItemGroupKey : undefined,\n groups,\n getGroupKey,\n undefined,\n );\n\n return resultGroups;\n }, [filteredOptions, groups, getItemGroupKey, getGroupKey]);\n\n const hasItems = useMemo(() => {\n return !!visibleItems.find((group) => group.items.length > 0);\n }, [visibleItems]);\n\n const highlightIndex = useCallback(\n (indexForHighlight: IndexForHighlight) => {\n setHighlightedIndex(\n Math.min(\n Math.max(\n 0,\n typeof indexForHighlight === 'function'\n ? indexForHighlight(highlightedIndex)\n : indexForHighlight,\n ),\n filteredOptions.length - 1,\n ),\n );\n },\n [filteredOptions, highlightedIndex],\n );\n\n const onChange = (e: React.SyntheticEvent, item: ITEM) => {\n if (!disabled) {\n params.onChange({ value: item, e });\n }\n };\n\n // Prop Getters\n\n const ArrowUp: KeyHandler = (_, e): void => {\n if (!disabled) {\n e.preventDefault();\n setIsOpen.on();\n highlightIndex((old) => old - 1);\n }\n };\n\n const ArrowDown: KeyHandler = (_, e): void => {\n if (!disabled) {\n e.preventDefault();\n setIsOpen.on();\n highlightIndex((old) => old + 1);\n }\n };\n\n const Enter: KeyHandler = (_, e): void => {\n if (isOpen) {\n if (searchValue || filteredOptions[highlightedIndex]) {\n e.preventDefault();\n }\n\n const getItem = (index: number) => {\n let couter = 0;\n for (const group of visibleItems) {\n if (group.items.length + couter > index) {\n return group.items[index - couter];\n }\n couter += group.items.length;\n }\n return undefined;\n };\n\n const item = getItem(highlightedIndex);\n\n if (item) {\n onChange(e, item);\n }\n } else {\n setIsOpen.on();\n }\n };\n\n const Escape: KeyHandler = (): void => {\n setIsOpen.off();\n };\n\n const Tab: KeyHandler = (_, e): void => {\n if (isOpen) {\n e.preventDefault();\n setIsOpen.off();\n }\n };\n\n const getKeyProps = useKeys({\n ArrowUp,\n ArrowDown,\n PageUp: ArrowUp,\n PageDown: ArrowDown,\n Home: ArrowUp,\n End: ArrowDown,\n Enter,\n Escape,\n Tab,\n });\n\n const getOptionProps = ({\n index,\n item,\n }: OptionProps<ITEM>): GetOptionPropsResult => {\n const key = getItemKey(item);\n return {\n onClick: (e: React.SyntheticEvent) => {\n onChange(e, item);\n },\n onMouseEnter: () => {\n highlightIndex(index);\n },\n active: false,\n hovered: index === highlightedIndex,\n key,\n };\n };\n\n const optionsRefs = useRefs<HTMLDivElement>(filteredOptions.length, [isOpen]);\n\n const handleInputFocus = (e: React.FocusEvent<HTMLInputElement>): void => {\n if (!disabled) {\n setIsOpen.toggle();\n\n if (typeof onFocus === 'function') {\n onFocus(e);\n }\n }\n };\n\n const handleInputBlur = (e: React.FocusEvent<HTMLInputElement>): void => {\n if (isOpen) {\n inputRef.current?.focus();\n return;\n }\n\n if (typeof onBlur === 'function') {\n onBlur(e);\n }\n };\n\n useClickOutside({\n isActive: isOpen,\n ignoreClicksInsideRefs: [\n dropdownRef,\n controlRef,\n ...(ignoreOutsideClicksRefs || []),\n ],\n handler: setIsOpen.off,\n });\n\n useEffect(() => {\n if (disabled) {\n setIsOpen.off();\n inputRef.current?.blur();\n }\n }, [disabled]);\n\n useEffect(() => {\n if (filteredOptions.length > 0) {\n scrollToIndex(highlightedIndex, dropdownRef, optionsRefs, () =>\n highlightIndex(0),\n );\n }\n setIsOpen.on();\n }, [highlightedIndex]);\n\n useEffect(() => {\n onDropdownOpen?.(isOpen);\n }, [isOpen]);\n\n useEffect(() => {\n setIsOpen.set(dropdownOpen || false);\n }, [dropdownOpen]);\n\n useEffect(() => {\n if (searchValue) {\n setIsOpen.on();\n }\n }, [searchValue]);\n\n return {\n isOpen: Boolean(isOpen && (isLoading ? true : hasItems)),\n visibleItems,\n getOptionProps,\n handleInputFocus,\n handleInputBlur,\n inputRef,\n getKeyProps,\n hasItems,\n optionsRefs,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useAutoComplete.js","names":["useCallback","useEffect","useMemo","useRef","useState","scrollToIndex","useClickOutside","useFlag","useKeys","useRefs","getGroups","useAutoComplete","params","items","dropdownRef","controlRef","disabled","getItemLabel","getItemKey","searchFunction","getItemGroupKey","groups","getGroupKey","onFocus","onBlur","searchValue","isLoading","dropdownOpen","onDropdownOpen","ignoreOutsideClicksRefs","inputRef","isOpen","setIsOpen","highlightedIndex","setHighlightedIndex","searchFunctionDefault","item","toLocaleLowerCase","indexOf","filteredOptions","filter","visibleItems","resultGroups","length","hasItems","find","group","highlightIndex","indexForHighlight","Math","min","max","onChange","e","value","ArrowUp","_","preventDefault","on","old","ArrowDown","getKeyProps","PageUp","PageDown","Home","End","Enter","getItem","index","couter","Escape","off","Tab","optionsRefs","isActive","ignoreClicksInsideRefs","handler","current","blur","set","getOptionProps","key","onClick","onMouseEnter","active","hovered","handleInputFocus","toggle","handleInputBlur","focus"],"sources":["../../../../../src/components/AutoCompleteCanary/useAutoComplete.ts"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { scrollToIndex } from '##/components/SelectComponentsCanary/useSelect/helpers';\nimport { useClickOutside } from '##/hooks/useClickOutside';\nimport { useFlag } from '##/hooks/useFlag';\nimport { KeyHandler, useKeys } from '##/hooks/useKeys';\nimport { useRefs } from '##/hooks/useRefs';\nimport { getGroups } from '##/utils/getGroups';\n\ntype IndexForHighlight = number | ((oldIndex: number) => number);\n\ntype GetItemGroupKey<ITEM> = (item: ITEM) => string | number | undefined;\ntype GetGroupKey<GROUP> = (item: GROUP) => string | number | undefined;\n\ntype OnChangeProp<ITEM> = (props: {\n value: ITEM | null;\n e: React.SyntheticEvent;\n}) => void;\n\ntype UseAutoCompleteProps<ITEM, GROUP> = {\n getItemGroupKey?: GetItemGroupKey<ITEM> | undefined;\n getGroupKey?: GetGroupKey<GROUP>;\n groups?: GROUP[];\n items: ITEM[];\n dropdownRef: React.MutableRefObject<HTMLDivElement | null>;\n controlRef: React.MutableRefObject<HTMLDivElement | null>;\n disabled?: boolean;\n getItemLabel: (item: ITEM) => string;\n getItemKey: (item: ITEM) => string | number;\n searchFunction?: (item: ITEM, searchValue: string) => boolean;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n searchValue?: string;\n onChange: OnChangeProp<ITEM>;\n isLoading?: boolean;\n dropdownOpen?: boolean;\n onDropdownOpen?: (isOpen: boolean) => void;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n};\n\ntype OptionProps<ITEM> = {\n index: number;\n item: ITEM;\n keyPrefix: number;\n};\n\ntype GetOptionPropsResult = {\n onClick: (e: React.SyntheticEvent) => void;\n onMouseEnter: (e: React.SyntheticEvent) => void;\n active: boolean;\n hovered: boolean;\n key: string | number;\n};\n\nexport function useAutoComplete<ITEM, GROUP>(\n params: UseAutoCompleteProps<ITEM, GROUP>,\n) {\n const {\n items,\n dropdownRef,\n controlRef,\n disabled = false,\n getItemLabel,\n getItemKey,\n searchFunction,\n getItemGroupKey,\n groups,\n getGroupKey,\n onFocus,\n onBlur,\n searchValue,\n isLoading,\n dropdownOpen,\n onDropdownOpen,\n ignoreOutsideClicksRefs,\n } = params;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const [isOpen, setIsOpen] = useFlag();\n const [highlightedIndex, setHighlightedIndex] = useState<number>(0);\n\n const searchFunctionDefault = (item: ITEM, searchValue: string) => {\n if (!searchValue) {\n return false;\n }\n return (\n getItemLabel(item)\n .toLocaleLowerCase()\n .indexOf(searchValue.toLocaleLowerCase()) !== -1\n );\n };\n\n const filteredOptions = useMemo(\n () =>\n items.filter((item) =>\n searchFunction\n ? searchFunction(item, searchValue || '')\n : searchFunctionDefault(item, searchValue || ''),\n ),\n [searchValue, items],\n );\n\n const visibleItems = useMemo(() => {\n const resultGroups = getGroups(\n filteredOptions,\n groups?.length ? getItemGroupKey : undefined,\n groups,\n getGroupKey,\n undefined,\n );\n\n return resultGroups;\n }, [filteredOptions, groups, getItemGroupKey, getGroupKey]);\n\n const hasItems = useMemo(() => {\n return !!visibleItems.find((group) => group.items.length > 0);\n }, [visibleItems]);\n\n const highlightIndex = useCallback(\n (indexForHighlight: IndexForHighlight) => {\n setHighlightedIndex(\n Math.min(\n Math.max(\n 0,\n typeof indexForHighlight === 'function'\n ? indexForHighlight(highlightedIndex)\n : indexForHighlight,\n ),\n filteredOptions.length - 1,\n ),\n );\n },\n [filteredOptions, highlightedIndex],\n );\n\n const onChange = (e: React.SyntheticEvent, item: ITEM) => {\n if (!disabled) {\n params.onChange({ value: item, e });\n }\n };\n\n // Prop Getters\n\n const ArrowUp: KeyHandler = (_, e): void => {\n if (!disabled) {\n e.preventDefault();\n setIsOpen.on();\n highlightIndex((old) => old - 1);\n }\n };\n\n const ArrowDown: KeyHandler = (_, e): void => {\n if (!disabled) {\n e.preventDefault();\n setIsOpen.on();\n highlightIndex((old) => old + 1);\n }\n };\n\n const Enter: KeyHandler = (_, e): void => {\n if (isOpen) {\n if (searchValue || filteredOptions[highlightedIndex]) {\n e.preventDefault();\n }\n\n const getItem = (index: number) => {\n let couter = 0;\n for (const group of visibleItems) {\n if (group.items.length + couter > index) {\n return group.items[index - couter];\n }\n couter += group.items.length;\n }\n return undefined;\n };\n\n const item = getItem(highlightedIndex);\n\n if (item) {\n onChange(e, item);\n }\n } else {\n setIsOpen.on();\n }\n };\n\n const Escape: KeyHandler = (): void => {\n setIsOpen.off();\n };\n\n const Tab: KeyHandler = (_, e): void => {\n setIsOpen.off();\n if (isOpen && hasItems) {\n e.preventDefault();\n }\n };\n\n const getKeyProps = useKeys({\n ArrowUp,\n ArrowDown,\n PageUp: ArrowUp,\n PageDown: ArrowDown,\n Home: ArrowUp,\n End: ArrowDown,\n Enter,\n Escape,\n Tab,\n });\n\n const getOptionProps = ({\n index,\n item,\n }: OptionProps<ITEM>): GetOptionPropsResult => {\n const key = getItemKey(item);\n return {\n onClick: (e: React.SyntheticEvent) => {\n onChange(e, item);\n },\n onMouseEnter: () => {\n highlightIndex(index);\n },\n active: false,\n hovered: index === highlightedIndex,\n key,\n };\n };\n\n const optionsRefs = useRefs<HTMLDivElement>(filteredOptions.length, [isOpen]);\n\n const handleInputFocus = (e: React.FocusEvent<HTMLInputElement>): void => {\n if (!disabled) {\n setIsOpen.toggle();\n\n if (typeof onFocus === 'function') {\n onFocus(e);\n }\n }\n };\n\n const handleInputBlur = (e: React.FocusEvent<HTMLInputElement>): void => {\n if (isOpen) {\n inputRef.current?.focus();\n return;\n }\n\n if (typeof onBlur === 'function') {\n onBlur(e);\n }\n };\n\n useClickOutside({\n isActive: isOpen,\n ignoreClicksInsideRefs: [\n dropdownRef,\n controlRef,\n ...(ignoreOutsideClicksRefs || []),\n ],\n handler: setIsOpen.off,\n });\n\n useEffect(() => {\n if (disabled) {\n setIsOpen.off();\n inputRef.current?.blur();\n }\n }, [disabled]);\n\n useEffect(() => {\n if (filteredOptions.length > 0) {\n scrollToIndex(highlightedIndex, dropdownRef, optionsRefs, () =>\n highlightIndex(0),\n );\n }\n setIsOpen.on();\n }, [highlightedIndex]);\n\n useEffect(() => {\n onDropdownOpen?.(isOpen);\n }, [isOpen]);\n\n useEffect(() => {\n setIsOpen.set(dropdownOpen || false);\n }, [dropdownOpen]);\n\n useEffect(() => {\n if (searchValue) {\n setIsOpen.on();\n }\n }, [searchValue]);\n\n return {\n isOpen: Boolean(isOpen && (isLoading ? true : hasItems)),\n visibleItems,\n getOptionProps,\n handleInputFocus,\n handleInputBlur,\n inputRef,\n getKeyProps,\n hasItems,\n optionsRefs,\n };\n}\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ .canary--BookmarkTabs{display:flex;flex-wrap:nowrap;height:var(--bookmark-tabs-tab-size);max-width:100%;white-space:nowrap;width:100%}.canary--BookmarkTabs-Wrapper{display:inline-flex;max-width:100%;overflow-x:auto;width:-moz-max-content;width:max-content}.canary--BookmarkTabs-Wrapper::-webkit-scrollbar:horizontal{display:none;height:0;width:0}.canary--BookmarkTabs-Wrapper::-webkit-scrollbar-thumb:horizontal{display:none}.canary--BookmarkTabs-List{display:inline-flex;height:var(--bookmark-tabs-tab-size);max-width:var(--bookmarks-list-width);width:-moz-max-content;width:max-content}.canary--BookmarkTabs-List>.canary--BookmarkTabsTab{flex:1}.canary--BookmarkTabs-List>.canary--BookmarkTabsTab:not(.canary--BookmarkTabsTab_form_round.canary--BookmarkTabsTab_active):not(.canary--BookmarkTabsTab_form_round:has(+.canary--BookmarkTabsTab_active)):after{background:var(--color-bg-border);content:"";height:var(--bookmark-divider-height);position:absolute;right:0;top:var(--bookmark-divider-top);width:1px}.canary--BookmarkTabs-List:has(+.canary--BookmarkTabs-List>.canary--BookmarkTabsTab:first-child.canary--BookmarkTabsTab_active)>.canary--BookmarkTabsTab_form_round:last-child:after{display:none}.canary--BookmarkTabs-List:last-child>.canary--BookmarkTabsTab:last-child:after{display:none}.canary--BookmarkTabs_form_brick{--bookmark-divider-height:100%;--bookmark-divider-top:0}.canary--BookmarkTabs_form_round{--bookmark-divider-top:calc(var(--space-l)/2);--bookmark-divider-height:calc(100% - var(--space-l))}.canary--BookmarkTabs_size_s{--bookmark-tabs-tab-size:var(--space-2xl)}.canary--BookmarkTabs_size_m{--bookmark-tabs-tab-size:var(--space-3xl)}.canary--BookmarkTabs_view_ghost{background:var(--color-bg-secondary)}.canary--BookmarkTabs-Empty{border-bottom:1px solid var(--color-bg-border);flex:auto}.canary--BookmarkTabs-Button{align-items:center;border-bottom:1px solid var(--color-bg-border);display:inline-flex;justify-content:center;min-height:var(--bookmark-tabs-tab-size);min-width:var(--bookmark-tabs-tab-size);position:relative}.canary--BookmarkTabs-Button_type_add:before{background:var(--color-bg-border);content:"";height:var(--bookmark-divider-height);left:0;position:absolute;top:var(--bookmark-divider-top);width:1px}.canary--BookmarkTabs-Block{max-width:100%;width:-moz-max-content;width:max-content}.canary--BookmarkTabs-ScrollControls{align-items:center;display:inline-flex;justify-content:center}.canary--BookmarkTabs-ScrollControls>*{border-right:1px solid var(--color-bg-border)}
@@ -0,0 +1,4 @@
1
+ import './BookmarkTabs.css';
2
+ import { BookmarkTabsComponent } from './types';
3
+ export declare const cnBookmarkTabs: import("@bem-react/classname").ClassNameFormatter;
4
+ export declare const BookmarkTabs: BookmarkTabsComponent;
@@ -0,0 +1,2 @@
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["item","attributes"],_excluded2=["items","value","onCreate","getItemKey","getItemLabel","getItemLeftIcon","getItemRightIcon","getItemAs","getItemRef","getItemAttributes","getItemFixed","onChange","onRemove","renderItem","size","form","view","withNavigationButtons","className","id"];import"./BookmarkTabs.css";import{IconAdd}from"@consta/icons/IconAdd";import{IconArrowLeft}from"@consta/icons/IconArrowLeft";import{IconArrowRight}from"@consta/icons/IconArrowRight";import React,{forwardRef}from"react";import{useComponentSize}from"../../hooks/useComponentSize";import{useForkRef}from"../../hooks/useForkRef";import{cnCanary as cn}from"../../utils/bem";import{Button}from"../Button";import{BookmarkTabsTab}from"./BookmarkTabsTab";import{withDefaultGetters}from"./helper";import{bookmarkTabsPropFormDefault,bookmarkTabsPropSizeDefault,bookmarkTabsPropViewDefault}from"./types";import{useBookmarkTabs}from"./useBookmarkTabs";export var cnBookmarkTabs=cn("BookmarkTabs");var renderItemDefault=function(a){var b=a.item,c=a.attributes,d=void 0===c?{}:c,e=_objectWithoutProperties(a,_excluded);return React.createElement(BookmarkTabsTab,Object.assign({},d,e))},BookmarkTabsRender=function(a,b){var c=withDefaultGetters(a),d=c.items,e=void 0===d?[]:d,f=c.value,g=c.onCreate,h=c.getItemKey,i=c.getItemLabel,j=c.getItemLeftIcon,k=c.getItemRightIcon,l=c.getItemAs,m=c.getItemRef,n=c.getItemAttributes,o=c.getItemFixed,p=c.onChange,q=c.onRemove,r=c.renderItem,s=void 0===r?renderItemDefault:r,t=c.size,u=void 0===t?bookmarkTabsPropSizeDefault:t,v=c.form,w=void 0===v?bookmarkTabsPropFormDefault:v,x=c.view,y=void 0===x?bookmarkTabsPropViewDefault:x,z=c.withNavigationButtons,A=c.className,B=c.id,C=_objectWithoutProperties(c,_excluded2),D=function(a){return!!f&&h(a)===h(f)},E=useBookmarkTabs({items:e,getItemFixed:o,size:u,withNavigationButtons:z,withAddButton:!!g}),F=E.refs,G=E.fixedTabs,H=E.fixedTabsRef,I=E.otherTabs,J=E.otherTabsRef,K=E.showControls,L=E.wrapperRef,M=E.containerRef,N=E.controlsRef,O=E.addButtonRef,P=E.navigate,Q=E.sizes,R=useComponentSize(H),S=R.width,T=function(a,b,c,d){var e;return s({item:a,onClick:function onClick(b){return null===p||void 0===p?void 0:p(a,{e:b})},active:D(a),label:i(a),leftIcon:j(a),rightIcon:k(a),as:null!==(e=l(a))&&void 0!==e?e:"button",attributes:n(a),tabRef:m(a),controlRef:c,fixed:b,onClose:q?function(b){return q(a,{e:b})}:void 0,size:u,view:y,form:w,tabWidth:d})};return React.createElement("div",Object.assign({className:cnBookmarkTabs({size:u,view:y,form:w},[A]),ref:useForkRef([b,M]),id:B},C),K&&React.createElement("div",{ref:N,className:cnBookmarkTabs("ScrollControls")},React.createElement("div",{className:cnBookmarkTabs("Button")},React.createElement(Button,{view:"clear",size:"xs",type:"button",onClick:function onClick(){return P("prev")},iconLeft:IconArrowLeft,onlyIcon:!0})),React.createElement("div",{className:cnBookmarkTabs("Button")},React.createElement(Button,{view:"clear",size:"xs",onClick:function onClick(){return P("next")},iconLeft:IconArrowRight,onlyIcon:!0}))),React.createElement("div",{ref:L,className:cnBookmarkTabs("Wrapper")},React.createElement("div",{style:_defineProperty({},"--bookmarks-list-width","max-content"),ref:H,className:cnBookmarkTabs("List")},G.map(function(a,b){return React.createElement(React.Fragment,{key:h(a)},T(a,!0,F[b]))})),React.createElement("div",{style:_defineProperty({},"--bookmarks-list-width","calc(100% - ".concat(S,"px)")),className:cnBookmarkTabs("List"),ref:J},I.map(function(a,b){return React.createElement(React.Fragment,{key:h(a)},T(a,!1,F[G.length+b],Q[b]))}))),g&&React.createElement("div",{ref:O,className:cnBookmarkTabs("Button",{type:"add"})},React.createElement(Button,{view:"clear",size:"xs",onClick:g,iconLeft:IconAdd,onlyIcon:!0})),React.createElement("div",{className:cnBookmarkTabs("Empty")}))};export var BookmarkTabs=forwardRef(BookmarkTabsRender);
2
+ //# sourceMappingURL=BookmarkTabsCanary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BookmarkTabsCanary.js","names":["IconAdd","IconArrowLeft","IconArrowRight","React","forwardRef","useComponentSize","useForkRef","cnCanary","cn","Button","BookmarkTabsTab","withDefaultGetters","bookmarkTabsPropFormDefault","bookmarkTabsPropSizeDefault","bookmarkTabsPropViewDefault","useBookmarkTabs","cnBookmarkTabs","renderItemDefault","props","_item","item","attributes","otherProps","BookmarkTabsRender","ref","items","value","onCreate","getItemKey","getItemLabel","getItemLeftIcon","getItemRightIcon","getItemAs","getItemRef","getItemAttributes","getItemFixed","onChange","onRemove","renderItem","renderItemProp","size","form","view","withNavigationButtons","className","id","getItemActive","withAddButton","refs","fixedTabs","fixedTabsRef","otherTabs","otherTabsRef","showControls","wrapperRef","containerRef","controlsRef","addButtonRef","navigate","sizes","fixedWidth","width","fixed","controlRef","tabWidth","onClick","e","active","label","leftIcon","rightIcon","as","tabRef","onClose","map","index","length","type","BookmarkTabs"],"sources":["../../../../../src/components/BookmarkTabsCanary/BookmarkTabsCanary.tsx"],"sourcesContent":["import './BookmarkTabs.css';\n\nimport { IconAdd } from '@consta/icons/IconAdd';\nimport { IconArrowLeft } from '@consta/icons/IconArrowLeft';\nimport { IconArrowRight } from '@consta/icons/IconArrowRight';\nimport React, { forwardRef } from 'react';\n\nimport { useComponentSize } from '##/hooks/useComponentSize';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { cnCanary as cn } from '##/utils/bem';\n\nimport { Button } from '../Button';\nimport { BookmarkTabsTab } from './BookmarkTabsTab';\nimport { withDefaultGetters } from './helper';\nimport {\n BookmarkTabsComponent,\n bookmarkTabsPropFormDefault,\n BookmarkTabsProps,\n bookmarkTabsPropSizeDefault,\n bookmarkTabsPropViewDefault,\n BookmarkTabsRenderItemProps,\n} from './types';\nimport { useBookmarkTabs } from './useBookmarkTabs';\n\nexport const cnBookmarkTabs = cn('BookmarkTabs');\n\nconst renderItemDefault = <ITEM,>(\n props: BookmarkTabsRenderItemProps<ITEM>,\n): React.ReactElement => {\n const { item: _item, attributes = {}, ...otherProps } = props;\n return <BookmarkTabsTab {...attributes} {...otherProps} />;\n};\n\nconst BookmarkTabsRender = (\n props: BookmarkTabsProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n items = [],\n value,\n onCreate,\n getItemKey,\n getItemLabel,\n getItemLeftIcon,\n getItemRightIcon,\n getItemAs,\n getItemRef,\n getItemAttributes,\n getItemFixed,\n onChange,\n onRemove,\n renderItem: renderItemProp = renderItemDefault,\n size = bookmarkTabsPropSizeDefault,\n form = bookmarkTabsPropFormDefault,\n view = bookmarkTabsPropViewDefault,\n withNavigationButtons,\n className,\n id,\n ...otherProps\n } = withDefaultGetters(props);\n\n type Item = typeof items[number];\n\n const getItemActive = (item: Item) => {\n return value ? getItemKey(item) === getItemKey(value) : false;\n };\n\n const {\n refs,\n fixedTabs,\n fixedTabsRef,\n otherTabs,\n otherTabsRef,\n showControls,\n wrapperRef,\n containerRef,\n controlsRef,\n addButtonRef,\n navigate,\n sizes,\n } = useBookmarkTabs({\n items,\n getItemFixed,\n size,\n withNavigationButtons,\n withAddButton: !!onCreate,\n });\n\n const { width: fixedWidth } = useComponentSize(fixedTabsRef);\n\n const renderItem = (\n item: Item,\n fixed: boolean,\n controlRef: React.RefObject<HTMLElement>,\n tabWidth?: string,\n ) =>\n renderItemProp({\n item,\n onClick: (e) => onChange?.(item, { e }),\n active: getItemActive(item),\n label: getItemLabel(item),\n leftIcon: getItemLeftIcon(item),\n rightIcon: getItemRightIcon(item),\n as: getItemAs(item) ?? 'button',\n attributes: getItemAttributes(item),\n tabRef: getItemRef(item),\n controlRef,\n fixed,\n onClose: onRemove ? (e) => onRemove(item, { e }) : undefined,\n size,\n view,\n form,\n tabWidth,\n });\n\n return (\n <div\n className={cnBookmarkTabs({ size, view, form }, [className])}\n ref={useForkRef([ref, containerRef])}\n id={id}\n {...otherProps}\n >\n {showControls && (\n <div ref={controlsRef} className={cnBookmarkTabs('ScrollControls')}>\n <div className={cnBookmarkTabs('Button')}>\n <Button\n view=\"clear\"\n size=\"xs\"\n type=\"button\"\n onClick={() => navigate('prev')}\n iconLeft={IconArrowLeft}\n onlyIcon\n />\n </div>\n <div className={cnBookmarkTabs('Button')}>\n <Button\n view=\"clear\"\n size=\"xs\"\n onClick={() => navigate('next')}\n iconLeft={IconArrowRight}\n onlyIcon\n />\n </div>\n </div>\n )}\n <div ref={wrapperRef} className={cnBookmarkTabs('Wrapper')}>\n <div\n style={{\n ['--bookmarks-list-width' as string]: `max-content`,\n }}\n ref={fixedTabsRef}\n className={cnBookmarkTabs('List')}\n >\n {fixedTabs.map((item, index) => (\n <React.Fragment key={getItemKey(item)}>\n {renderItem(item, true, refs[index])}\n </React.Fragment>\n ))}\n </div>\n <div\n style={{\n ['--bookmarks-list-width' as string]: `calc(100% - ${fixedWidth}px)`,\n }}\n className={cnBookmarkTabs('List')}\n ref={otherTabsRef}\n >\n {otherTabs.map((item, index) => (\n <React.Fragment key={getItemKey(item)}>\n {renderItem(\n item,\n false,\n refs[fixedTabs.length + index],\n sizes[index],\n )}\n </React.Fragment>\n ))}\n </div>\n </div>\n {onCreate && (\n <div\n ref={addButtonRef}\n className={cnBookmarkTabs('Button', { type: 'add' })}\n >\n <Button\n view=\"clear\"\n size=\"xs\"\n onClick={onCreate}\n iconLeft={IconAdd}\n onlyIcon\n />\n </div>\n )}\n <div className={cnBookmarkTabs('Empty')} />\n </div>\n );\n};\n\nexport const BookmarkTabs = forwardRef(\n BookmarkTabsRender,\n) as BookmarkTabsComponent;\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ .canary--BookmarkTabsTab{--bookmark-tabs-tab-close-size:0px;--bookmark-tabs-tab-right-icon-size:0px;align-items:center;background:none;border:none;box-sizing:border-box;cursor:pointer;display:inline-flex;height:var(--bookmark-tabs-tab-size);max-height:100%;max-width:200px;min-width:calc(var(--bookmark-tabs-tab-close-size) + var(--bookmark-tabs-tab-right-icon-size) + var(--bookmark-tabs-tab-left-icon-size) + var(--space-3xl) + var(--space-m));overflow:hidden;padding:var(--bookmark-tabs-tab-padding-top) var(--space-xs);position:relative;transition:background-color .3s,box-shadow .3s;width:var(--bookmarks-tab-width)}.canary--BookmarkTabsTab:hover,.canary--BookmarkTabsTab:not(.canary--BookmarkTabsTab_active):focus{--bookmark-tabs-tab-color:var(--color-control-typo-ghost-hover);background-color:var(--color-control-bg-ghost-hover)}.canary--BookmarkTabsTab:not(.canary--BookmarkTabsTab_active){border-bottom:1px solid var(--color-bg-border)}.canary--BookmarkTabsTab:not(.canary--BookmarkTabsTab_withLeftIcon){--bookmark-tabs-tab-left-icon-size:0px}.canary--BookmarkTabsTab_withCloseButton{--bookmark-tabs-tab-close-size:var(--space-2xl)}.canary--BookmarkTabsTab_withRightIcon{--bookmark-tabs-tab-right-icon-size:var(--space-l)}.canary--BookmarkTabsTab_view_ghost{--bookmark-tabs-tab-color:var(--color-typo-primary);background:var(--color-bg-secondary)}.canary--BookmarkTabsTab_view_clear{--bookmark-tabs-tab-color:var(--color-typo-secondary)}.canary--BookmarkTabsTab_size_s{--bookmark-tabs-tab-size:var(--space-2xl);--bookmark-tabs-tab-padding-top:var(--space-2xs);--bookmark-tabs-tab-left-icon-size:var(--space-l)}.canary--BookmarkTabsTab_size_m{--bookmark-tabs-tab-size:var(--space-3xl);--bookmark-tabs-tab-padding-top:var(--space-xs);--bookmark-tabs-tab-left-icon-size:var(--space-2xl)}.canary--BookmarkTabsTab_form_round{border-radius:var(--space-xs) var(--space-xs) 0 0}.canary--BookmarkTabsTab_form_round.canary--BookmarkTabsTab_active{border-left:1px solid var(--color-bg-border);border-right:1px solid var(--color-bg-border);border-top:1px solid var(--color-bg-border);padding-top:calc(var(--bookmark-tabs-tab-padding-top) - 1px)}.canary--BookmarkTabsTab_fixed{--bookmark-tabs-tab-padding-top:var(--space-xs);min-width:var(--bookmark-tabs-tab-size);width:var(--bookmark-tabs-tab-size)}.canary--BookmarkTabsTab_active{--bookmark-tabs-tab-color:var(--color-typo-primary);background:var(--color-bg-default)}.canary--BookmarkTabsTab-Icon_side_left,.canary--BookmarkTabsTab-Label.Text{color:var(--bookmark-tabs-tab-color);transition:color .3s}.canary--BookmarkTabsTab-Icon{display:block;min-width:var(--icon-size)}.canary--BookmarkTabsTab-Label{flex:auto;min-width:var(--space-3xl);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@@ -0,0 +1,4 @@
1
+ import './BookmarkTabsTab.css';
2
+ import { BookmarkTabsTabComponent } from '../types';
3
+ export declare const cnBookmarkTabsTab: import("@bem-react/classname").ClassNameFormatter;
4
+ export declare const BookmarkTabsTab: BookmarkTabsTabComponent;
@@ -0,0 +1,2 @@
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["label","leftIcon","rightIcon","as","onClick","size","form","active","fixed","tabRef","controlRef","onClose","view","className","tabWidth","style"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./BookmarkTabsTab.css";import{IconClose}from"@consta/icons/IconClose";import React,{forwardRef}from"react";import{Button}from"../../Button";import{Text}from"../../Text";import{useForkRef}from"../../../hooks/useForkRef";import{cnMixSpace}from"../../../mixs/MixSpace";import{cnCanary as cn}from"../../../utils/bem";export var cnBookmarkTabsTab=cn("BookmarkTabsTab");var BookmarkTabsTabRender=function(a,b){var c=a.label,d=a.leftIcon,e=a.rightIcon,f=a.as,g=void 0===f?"button":f,h=a.onClick,i=a.size,j=a.form,k=a.active,l=a.fixed,m=a.tabRef,n=a.controlRef,o=a.onClose,p=a.view,q=a.className,r=a.tabWidth,s=void 0===r?"100%":r,t=a.style,u=_objectWithoutProperties(a,_excluded);return React.createElement(g,Object.assign({className:cnBookmarkTabsTab({size:i,form:j,view:p,active:k,fixed:l,withCloseButton:!!o,withLeftIcon:!!d,withRightIcon:!!e},[q]),role:"tab",type:"button",onClick:h,ref:useForkRef([b,m,n]),style:_objectSpread(_defineProperty({},"--bookmarks-tab-width",s),t)},u),d&&React.createElement(d,{className:cnBookmarkTabsTab("Icon",{side:"left"},[l?void 0:cnMixSpace({mR:"s"===i?"2xs":"xs"})]),size:i}),!l&&React.createElement(React.Fragment,null,React.createElement(Text,{align:"left",className:cnBookmarkTabsTab("Label"),size:i},c),e&&React.createElement(e,{className:cnBookmarkTabsTab("Icon",{side:"right"},[cnMixSpace({mL:"xs"})]),size:"xs",view:"secondary"}),o&&React.createElement(Button,{size:"xs",onlyIcon:!0,as:"div",view:"clear",className:cnBookmarkTabsTab("Button",[cnMixSpace({mL:"xs"})]),onClick:o,iconLeft:IconClose})))};export var BookmarkTabsTab=forwardRef(BookmarkTabsTabRender);
2
+ //# sourceMappingURL=BookmarkTabsTab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BookmarkTabsTab.js","names":["IconClose","React","forwardRef","Button","Text","useForkRef","cnMixSpace","cnCanary","cn","cnBookmarkTabsTab","BookmarkTabsTabRender","props","ref","label","LeftIcon","leftIcon","RightIcon","rightIcon","as","Tag","onClick","size","form","active","fixed","tabRef","controlRef","onClose","view","className","tabWidth","style","otherProps","withCloseButton","withLeftIcon","withRightIcon","side","mR","mL","BookmarkTabsTab"],"sources":["../../../../../../src/components/BookmarkTabsCanary/BookmarkTabsTab/BookmarkTabsTab.tsx"],"sourcesContent":["import './BookmarkTabsTab.css';\n\nimport { IconClose } from '@consta/icons/IconClose';\nimport React, { forwardRef } from 'react';\n\nimport { Button } from '##/components/Button';\nimport { Text } from '##/components/Text';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { cnCanary as cn } from '##/utils/bem';\n\nimport { BookmarkTabsTabComponent, BookmarkTabsTabProps } from '../types';\n\nexport const cnBookmarkTabsTab = cn('BookmarkTabsTab');\n\nconst BookmarkTabsTabRender = (\n props: BookmarkTabsTabProps,\n ref: React.Ref<HTMLButtonElement>,\n) => {\n const {\n label,\n leftIcon: LeftIcon,\n rightIcon: RightIcon,\n as: Tag = 'button',\n onClick,\n size,\n form,\n active,\n fixed,\n tabRef,\n controlRef,\n onClose,\n view,\n className,\n tabWidth = '100%',\n style,\n ...otherProps\n } = props;\n\n return (\n <Tag\n className={cnBookmarkTabsTab(\n {\n size,\n form,\n view,\n active,\n fixed,\n withCloseButton: !!onClose,\n withLeftIcon: !!LeftIcon,\n withRightIcon: !!RightIcon,\n },\n [className],\n )}\n role=\"tab\"\n type=\"button\"\n onClick={onClick}\n ref={useForkRef([ref, tabRef, controlRef])}\n style={{\n ['--bookmarks-tab-width' as string]: tabWidth,\n ...style,\n }}\n {...otherProps}\n >\n {LeftIcon && (\n <LeftIcon\n className={cnBookmarkTabsTab('Icon', { side: 'left' }, [\n fixed ? undefined : cnMixSpace({ mR: size === 's' ? '2xs' : 'xs' }),\n ])}\n size={size}\n />\n )}\n {!fixed && (\n <>\n <Text align=\"left\" className={cnBookmarkTabsTab('Label')} size={size}>\n {label}\n </Text>\n {RightIcon && (\n <RightIcon\n className={cnBookmarkTabsTab('Icon', { side: 'right' }, [\n cnMixSpace({ mL: 'xs' }),\n ])}\n size=\"xs\"\n view=\"secondary\"\n />\n )}\n {onClose && (\n <Button\n size=\"xs\"\n onlyIcon\n as=\"div\"\n view=\"clear\"\n className={cnBookmarkTabsTab('Button', [\n cnMixSpace({ mL: 'xs' }),\n ])}\n onClick={onClose}\n iconLeft={IconClose}\n />\n )}\n </>\n )}\n </Tag>\n );\n};\n\nexport const BookmarkTabsTab = forwardRef(\n BookmarkTabsTabRender,\n) as BookmarkTabsTabComponent;\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './BookmarkTabsTab';
@@ -0,0 +1,2 @@
1
+ export*from"./BookmarkTabsTab";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../../src/components/BookmarkTabsCanary/BookmarkTabsTab/index.ts"],"sourcesContent":["export * from './BookmarkTabsTab';\n"],"mappings":"AAAA"}
@@ -0,0 +1,281 @@
1
+ /// <reference types="react" />
2
+ import { BookmarkTabsItemDefault, BookmarkTabsPropGetItemAs, BookmarkTabsPropGetItemAttributes, BookmarkTabsPropGetItemFixed, BookmarkTabsPropGetItemKey, BookmarkTabsPropGetItemLabel, BookmarkTabsPropGetItemLeftIcon, BookmarkTabsPropGetItemRef, BookmarkTabsPropGetItemRightIcon, BookmarkTabsProps } from './types';
3
+ export declare const withDefaultGetters: (props: BookmarkTabsProps) => {
4
+ getItemKey: BookmarkTabsPropGetItemKey<BookmarkTabsItemDefault>;
5
+ getItemLabel: BookmarkTabsPropGetItemLabel<BookmarkTabsItemDefault>;
6
+ getItemLeftIcon: BookmarkTabsPropGetItemLeftIcon<BookmarkTabsItemDefault>;
7
+ getItemRightIcon: BookmarkTabsPropGetItemRightIcon<BookmarkTabsItemDefault>;
8
+ getItemFixed: BookmarkTabsPropGetItemFixed<BookmarkTabsItemDefault>;
9
+ getItemAs: BookmarkTabsPropGetItemAs<BookmarkTabsItemDefault>;
10
+ getItemRef: BookmarkTabsPropGetItemRef<BookmarkTabsItemDefault>;
11
+ getItemAttributes: BookmarkTabsPropGetItemAttributes<BookmarkTabsItemDefault>;
12
+ size?: "m" | "s" | undefined;
13
+ form?: "round" | "brick" | undefined;
14
+ view?: "ghost" | "clear" | undefined;
15
+ items: BookmarkTabsItemDefault[];
16
+ value?: BookmarkTabsItemDefault | null | undefined;
17
+ children?: undefined;
18
+ withNavigationButtons?: boolean | undefined;
19
+ onCreate?: import("react").MouseEventHandler<Element> | undefined;
20
+ onRemove?: ((item: BookmarkTabsItemDefault, params: {
21
+ e: import("react").MouseEvent<Element, MouseEvent>;
22
+ }) => void) | undefined;
23
+ onChange?: import("./types").BookmarkTabsPropOnChange<BookmarkTabsItemDefault> | undefined;
24
+ renderItem?: import("./types").BookmarkTabsPropRenderItem<BookmarkTabsItemDefault> | undefined;
25
+ defaultChecked?: boolean | undefined;
26
+ defaultValue?: string | number | readonly string[] | undefined;
27
+ suppressContentEditableWarning?: boolean | undefined;
28
+ suppressHydrationWarning?: boolean | undefined;
29
+ accessKey?: string | undefined;
30
+ className?: string | undefined;
31
+ contentEditable?: (boolean | "true" | "false") | "inherit" | undefined;
32
+ contextMenu?: string | undefined;
33
+ dir?: string | undefined;
34
+ draggable?: (boolean | "true" | "false") | undefined;
35
+ hidden?: boolean | undefined;
36
+ id?: string | undefined;
37
+ lang?: string | undefined;
38
+ placeholder?: string | undefined;
39
+ slot?: string | undefined;
40
+ spellCheck?: (boolean | "true" | "false") | undefined;
41
+ style?: import("react").CSSProperties | undefined;
42
+ tabIndex?: number | undefined;
43
+ title?: string | undefined;
44
+ translate?: "yes" | "no" | undefined;
45
+ radioGroup?: string | undefined;
46
+ role?: import("react").AriaRole | undefined;
47
+ about?: string | undefined;
48
+ datatype?: string | undefined;
49
+ inlist?: any;
50
+ prefix?: string | undefined;
51
+ property?: string | undefined;
52
+ resource?: string | undefined;
53
+ typeof?: string | undefined;
54
+ vocab?: string | undefined;
55
+ autoCapitalize?: string | undefined;
56
+ autoCorrect?: string | undefined;
57
+ autoSave?: string | undefined;
58
+ color?: string | undefined;
59
+ itemProp?: string | undefined;
60
+ itemScope?: boolean | undefined;
61
+ itemType?: string | undefined;
62
+ itemID?: string | undefined;
63
+ itemRef?: string | undefined;
64
+ results?: number | undefined;
65
+ security?: string | undefined;
66
+ unselectable?: "on" | "off" | undefined;
67
+ inputMode?: "search" | "text" | "none" | "tel" | "url" | "email" | "numeric" | "decimal" | undefined;
68
+ is?: string | undefined;
69
+ 'aria-activedescendant'?: string | undefined;
70
+ 'aria-atomic'?: (boolean | "true" | "false") | undefined;
71
+ 'aria-autocomplete'?: "list" | "none" | "inline" | "both" | undefined;
72
+ 'aria-busy'?: (boolean | "true" | "false") | undefined;
73
+ 'aria-checked'?: boolean | "true" | "false" | "mixed" | undefined;
74
+ 'aria-colcount'?: number | undefined;
75
+ 'aria-colindex'?: number | undefined;
76
+ 'aria-colspan'?: number | undefined;
77
+ 'aria-controls'?: string | undefined;
78
+ 'aria-current'?: boolean | "time" | "true" | "false" | "page" | "step" | "location" | "date" | undefined;
79
+ 'aria-describedby'?: string | undefined;
80
+ 'aria-details'?: string | undefined;
81
+ 'aria-disabled'?: (boolean | "true" | "false") | undefined;
82
+ 'aria-dropeffect'?: "link" | "none" | "copy" | "execute" | "move" | "popup" | undefined;
83
+ 'aria-errormessage'?: string | undefined;
84
+ 'aria-expanded'?: (boolean | "true" | "false") | undefined;
85
+ 'aria-flowto'?: string | undefined;
86
+ 'aria-grabbed'?: (boolean | "true" | "false") | undefined;
87
+ 'aria-haspopup'?: boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree" | undefined;
88
+ 'aria-hidden'?: (boolean | "true" | "false") | undefined;
89
+ 'aria-invalid'?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
90
+ 'aria-keyshortcuts'?: string | undefined;
91
+ 'aria-label'?: string | undefined;
92
+ 'aria-labelledby'?: string | undefined;
93
+ 'aria-level'?: number | undefined;
94
+ 'aria-live'?: "off" | "assertive" | "polite" | undefined;
95
+ 'aria-modal'?: (boolean | "true" | "false") | undefined;
96
+ 'aria-multiline'?: (boolean | "true" | "false") | undefined;
97
+ 'aria-multiselectable'?: (boolean | "true" | "false") | undefined;
98
+ 'aria-orientation'?: "horizontal" | "vertical" | undefined;
99
+ 'aria-owns'?: string | undefined;
100
+ 'aria-placeholder'?: string | undefined;
101
+ 'aria-posinset'?: number | undefined;
102
+ 'aria-pressed'?: boolean | "true" | "false" | "mixed" | undefined;
103
+ 'aria-readonly'?: (boolean | "true" | "false") | undefined;
104
+ 'aria-relevant'?: "text" | "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
105
+ 'aria-required'?: (boolean | "true" | "false") | undefined;
106
+ 'aria-roledescription'?: string | undefined;
107
+ 'aria-rowcount'?: number | undefined;
108
+ 'aria-rowindex'?: number | undefined;
109
+ 'aria-rowspan'?: number | undefined;
110
+ 'aria-selected'?: (boolean | "true" | "false") | undefined;
111
+ 'aria-setsize'?: number | undefined;
112
+ 'aria-sort'?: "none" | "ascending" | "descending" | "other" | undefined;
113
+ 'aria-valuemax'?: number | undefined;
114
+ 'aria-valuemin'?: number | undefined;
115
+ 'aria-valuenow'?: number | undefined;
116
+ 'aria-valuetext'?: string | undefined;
117
+ dangerouslySetInnerHTML?: {
118
+ __html: string;
119
+ } | undefined;
120
+ onCopy?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
121
+ onCopyCapture?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
122
+ onCut?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
123
+ onCutCapture?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
124
+ onPaste?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
125
+ onPasteCapture?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
126
+ onCompositionEnd?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
127
+ onCompositionEndCapture?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
128
+ onCompositionStart?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
129
+ onCompositionStartCapture?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
130
+ onCompositionUpdate?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
131
+ onCompositionUpdateCapture?: import("react").CompositionEventHandler<HTMLDivElement> | undefined;
132
+ onFocus?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
133
+ onFocusCapture?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
134
+ onBlur?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
135
+ onBlurCapture?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
136
+ onChangeCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
137
+ onBeforeInput?: import("react").FormEventHandler<HTMLDivElement> | undefined;
138
+ onBeforeInputCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
139
+ onInput?: import("react").FormEventHandler<HTMLDivElement> | undefined;
140
+ onInputCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
141
+ onReset?: import("react").FormEventHandler<HTMLDivElement> | undefined;
142
+ onResetCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
143
+ onSubmit?: import("react").FormEventHandler<HTMLDivElement> | undefined;
144
+ onSubmitCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
145
+ onInvalid?: import("react").FormEventHandler<HTMLDivElement> | undefined;
146
+ onInvalidCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
147
+ onLoad?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
148
+ onLoadCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
149
+ onError?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
150
+ onErrorCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
151
+ onKeyDown?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
152
+ onKeyDownCapture?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
153
+ onKeyPress?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
154
+ onKeyPressCapture?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
155
+ onKeyUp?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
156
+ onKeyUpCapture?: import("react").KeyboardEventHandler<HTMLDivElement> | undefined;
157
+ onAbort?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
158
+ onAbortCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
159
+ onCanPlay?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
160
+ onCanPlayCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
161
+ onCanPlayThrough?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
162
+ onCanPlayThroughCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
163
+ onDurationChange?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
164
+ onDurationChangeCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
165
+ onEmptied?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
166
+ onEmptiedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
167
+ onEncrypted?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
168
+ onEncryptedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
169
+ onEnded?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
170
+ onEndedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
171
+ onLoadedData?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
172
+ onLoadedDataCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
173
+ onLoadedMetadata?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
174
+ onLoadedMetadataCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
175
+ onLoadStart?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
176
+ onLoadStartCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
177
+ onPause?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
178
+ onPauseCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
179
+ onPlay?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
180
+ onPlayCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
181
+ onPlaying?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
182
+ onPlayingCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
183
+ onProgress?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
184
+ onProgressCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
185
+ onRateChange?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
186
+ onRateChangeCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
187
+ onSeeked?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
188
+ onSeekedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
189
+ onSeeking?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
190
+ onSeekingCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
191
+ onStalled?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
192
+ onStalledCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
193
+ onSuspend?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
194
+ onSuspendCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
195
+ onTimeUpdate?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
196
+ onTimeUpdateCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
197
+ onVolumeChange?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
198
+ onVolumeChangeCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
199
+ onWaiting?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
200
+ onWaitingCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
201
+ onAuxClick?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
202
+ onAuxClickCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
203
+ onClick?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
204
+ onClickCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
205
+ onContextMenu?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
206
+ onContextMenuCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
207
+ onDoubleClick?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
208
+ onDoubleClickCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
209
+ onDrag?: import("react").DragEventHandler<HTMLDivElement> | undefined;
210
+ onDragCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
211
+ onDragEnd?: import("react").DragEventHandler<HTMLDivElement> | undefined;
212
+ onDragEndCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
213
+ onDragEnter?: import("react").DragEventHandler<HTMLDivElement> | undefined;
214
+ onDragEnterCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
215
+ onDragExit?: import("react").DragEventHandler<HTMLDivElement> | undefined;
216
+ onDragExitCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
217
+ onDragLeave?: import("react").DragEventHandler<HTMLDivElement> | undefined;
218
+ onDragLeaveCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
219
+ onDragOver?: import("react").DragEventHandler<HTMLDivElement> | undefined;
220
+ onDragOverCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
221
+ onDragStart?: import("react").DragEventHandler<HTMLDivElement> | undefined;
222
+ onDragStartCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
223
+ onDrop?: import("react").DragEventHandler<HTMLDivElement> | undefined;
224
+ onDropCapture?: import("react").DragEventHandler<HTMLDivElement> | undefined;
225
+ onMouseDown?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
226
+ onMouseDownCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
227
+ onMouseEnter?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
228
+ onMouseLeave?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
229
+ onMouseMove?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
230
+ onMouseMoveCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
231
+ onMouseOut?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
232
+ onMouseOutCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
233
+ onMouseOver?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
234
+ onMouseOverCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
235
+ onMouseUp?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
236
+ onMouseUpCapture?: import("react").MouseEventHandler<HTMLDivElement> | undefined;
237
+ onSelect?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
238
+ onSelectCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
239
+ onTouchCancel?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
240
+ onTouchCancelCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
241
+ onTouchEnd?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
242
+ onTouchEndCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
243
+ onTouchMove?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
244
+ onTouchMoveCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
245
+ onTouchStart?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
246
+ onTouchStartCapture?: import("react").TouchEventHandler<HTMLDivElement> | undefined;
247
+ onPointerDown?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
248
+ onPointerDownCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
249
+ onPointerMove?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
250
+ onPointerMoveCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
251
+ onPointerUp?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
252
+ onPointerUpCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
253
+ onPointerCancel?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
254
+ onPointerCancelCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
255
+ onPointerEnter?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
256
+ onPointerEnterCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
257
+ onPointerLeave?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
258
+ onPointerLeaveCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
259
+ onPointerOver?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
260
+ onPointerOverCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
261
+ onPointerOut?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
262
+ onPointerOutCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
263
+ onGotPointerCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
264
+ onGotPointerCaptureCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
265
+ onLostPointerCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
266
+ onLostPointerCaptureCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
267
+ onScroll?: import("react").UIEventHandler<HTMLDivElement> | undefined;
268
+ onScrollCapture?: import("react").UIEventHandler<HTMLDivElement> | undefined;
269
+ onWheel?: import("react").WheelEventHandler<HTMLDivElement> | undefined;
270
+ onWheelCapture?: import("react").WheelEventHandler<HTMLDivElement> | undefined;
271
+ onAnimationStart?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
272
+ onAnimationStartCapture?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
273
+ onAnimationEnd?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
274
+ onAnimationEndCapture?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
275
+ onAnimationIteration?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
276
+ onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
277
+ onTransitionEnd?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
278
+ onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
279
+ ref?: import("react").Ref<HTMLDivElement> | undefined;
280
+ key?: import("react").Key | null | undefined;
281
+ };
@@ -0,0 +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}var defaultGetItemKey=function(a){return a.key},defaultGetItemLabel=function(a){return a.label},defaultGetItemLeftIcon=function(a){return a.leftIcon},defaultGetItemRightIcon=function(a){return a.rightIcon},defaultGetItemFixed=function(a){return a.fixed},defaultGetItemAs=function(a){return a.as},defaultGetItemRef=function(a){return a.ref},defaultGetItemAttributes=function(a){return a.attributes};export var withDefaultGetters=function(a){var b,c,d,e,f,g,h,i;return _objectSpread(_objectSpread({},a),{},{getItemKey:null!==(b=a.getItemKey)&&void 0!==b?b:defaultGetItemKey,getItemLabel:null!==(c=a.getItemLabel)&&void 0!==c?c:defaultGetItemLabel,getItemLeftIcon:null!==(d=a.getItemLeftIcon)&&void 0!==d?d:defaultGetItemLeftIcon,getItemRightIcon:null!==(e=a.getItemRightIcon)&&void 0!==e?e:defaultGetItemRightIcon,getItemFixed:null!==(f=a.getItemFixed)&&void 0!==f?f:defaultGetItemFixed,getItemAs:null!==(g=a.getItemAs)&&void 0!==g?g:defaultGetItemAs,getItemRef:null!==(h=a.getItemRef)&&void 0!==h?h:defaultGetItemRef,getItemAttributes:null!==(i=a.getItemAttributes)&&void 0!==i?i:defaultGetItemAttributes})};
2
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","names":["defaultGetItemKey","item","key","defaultGetItemLabel","label","defaultGetItemLeftIcon","leftIcon","defaultGetItemRightIcon","rightIcon","defaultGetItemFixed","fixed","defaultGetItemAs","as","defaultGetItemRef","ref","defaultGetItemAttributes","attributes","withDefaultGetters","props","getItemKey","getItemLabel","getItemLeftIcon","getItemRightIcon","getItemFixed","getItemAs","getItemRef","getItemAttributes"],"sources":["../../../../../src/components/BookmarkTabsCanary/helper.ts"],"sourcesContent":["import {\n BookmarkTabsItemDefault,\n BookmarkTabsPropGetItemAs,\n BookmarkTabsPropGetItemAttributes,\n BookmarkTabsPropGetItemFixed,\n BookmarkTabsPropGetItemKey,\n BookmarkTabsPropGetItemLabel,\n BookmarkTabsPropGetItemLeftIcon,\n BookmarkTabsPropGetItemRef,\n BookmarkTabsPropGetItemRightIcon,\n BookmarkTabsProps,\n} from './types';\n\nconst defaultGetItemKey: BookmarkTabsPropGetItemKey<BookmarkTabsItemDefault> = (\n item,\n) => item.key;\nconst defaultGetItemLabel: BookmarkTabsPropGetItemLabel<\n BookmarkTabsItemDefault\n> = (item) => item.label;\nconst defaultGetItemLeftIcon: BookmarkTabsPropGetItemLeftIcon<\n BookmarkTabsItemDefault\n> = (item) => item.leftIcon;\nconst defaultGetItemRightIcon: BookmarkTabsPropGetItemRightIcon<\n BookmarkTabsItemDefault\n> = (item) => item.rightIcon;\nconst defaultGetItemFixed: BookmarkTabsPropGetItemFixed<\n BookmarkTabsItemDefault\n> = (item) => item.fixed;\nconst defaultGetItemAs: BookmarkTabsPropGetItemAs<BookmarkTabsItemDefault> = (\n item,\n) => item.as;\nconst defaultGetItemRef: BookmarkTabsPropGetItemRef<BookmarkTabsItemDefault> = (\n item,\n) => item.ref;\nconst defaultGetItemAttributes: BookmarkTabsPropGetItemAttributes<\n BookmarkTabsItemDefault\n> = (item) => item.attributes;\n\nexport const withDefaultGetters = (props: BookmarkTabsProps) => {\n return {\n ...props,\n getItemKey: props.getItemKey ?? defaultGetItemKey,\n getItemLabel: props.getItemLabel ?? defaultGetItemLabel,\n getItemLeftIcon: props.getItemLeftIcon ?? defaultGetItemLeftIcon,\n getItemRightIcon: props.getItemRightIcon ?? defaultGetItemRightIcon,\n getItemFixed: props.getItemFixed ?? defaultGetItemFixed,\n getItemAs: props.getItemAs ?? defaultGetItemAs,\n getItemRef: props.getItemRef ?? defaultGetItemRef,\n getItemAttributes: props.getItemAttributes ?? defaultGetItemAttributes,\n };\n};\n"],"mappings":"wqBAaMA,kBAAsE,CAAG,SAC7EC,CAD6E,QAE1EA,EAAI,CAACC,GAFqE,C,CAGzEC,mBAEL,CAAG,SAACF,CAAD,QAAUA,EAAI,CAACG,KAAf,C,CACEC,sBAEL,CAAG,SAACJ,CAAD,QAAUA,EAAI,CAACK,QAAf,C,CACEC,uBAEL,CAAG,SAACN,CAAD,QAAUA,EAAI,CAACO,SAAf,C,CACEC,mBAEL,CAAG,SAACR,CAAD,QAAUA,EAAI,CAACS,KAAf,C,CACEC,gBAAoE,CAAG,SAC3EV,CAD2E,QAExEA,EAAI,CAACW,EAFmE,C,CAGvEC,iBAAsE,CAAG,SAC7EZ,CAD6E,QAE1EA,EAAI,CAACa,GAFqE,C,CAGzEC,wBAEL,CAAG,SAACd,CAAD,QAAUA,EAAI,CAACe,UAAf,C,CAEJ,MAAO,IAAMC,mBAAkB,CAAG,SAACC,CAAD,CAA8B,qBAC9D,sCACKA,CADL,MAEEC,UAAU,WAAED,CAAK,CAACC,UAAR,gBAAsBnB,iBAFlC,CAGEoB,YAAY,WAAEF,CAAK,CAACE,YAAR,gBAAwBjB,mBAHtC,CAIEkB,eAAe,WAAEH,CAAK,CAACG,eAAR,gBAA2BhB,sBAJ5C,CAKEiB,gBAAgB,WAAEJ,CAAK,CAACI,gBAAR,gBAA4Bf,uBAL9C,CAMEgB,YAAY,WAAEL,CAAK,CAACK,YAAR,gBAAwBd,mBANtC,CAOEe,SAAS,WAAEN,CAAK,CAACM,SAAR,gBAAqBb,gBAPhC,CAQEc,UAAU,WAAEP,CAAK,CAACO,UAAR,gBAAsBZ,iBARlC,CASEa,iBAAiB,WAAER,CAAK,CAACQ,iBAAR,gBAA6BX,wBAThD,EAWD,CAZM"}
@@ -0,0 +1,3 @@
1
+ export * from './BookmarkTabsCanary';
2
+ export * from './BookmarkTabsTab';
3
+ export * from './types';
@@ -0,0 +1,2 @@
1
+ export*from"./BookmarkTabsCanary";export*from"./BookmarkTabsTab";export*from"./types";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/BookmarkTabsCanary/index.ts"],"sourcesContent":["export * from './BookmarkTabsCanary';\nexport * from './BookmarkTabsTab';\nexport * from './types';\n"],"mappings":"AAAA,kCACA,+BACA"}
@@ -0,0 +1,88 @@
1
+ import { IconComponent } from '@consta/icons/Icon';
2
+ import React from 'react';
3
+ import { PropsWithAsAttributes } from "../../utils/types/PropsWithAsAttributes";
4
+ import { PropsWithHTMLAttributesAndRef } from "../../utils/types/PropsWithHTMLAttributes";
5
+ export declare const bookmarkTabsPropSize: readonly ["m", "s"];
6
+ export declare type BookmarkTabsPropSize = typeof bookmarkTabsPropSize[number];
7
+ export declare const bookmarkTabsPropSizeDefault: BookmarkTabsPropSize;
8
+ export declare const bookmarkTabsPropForm: readonly ["brick", "round"];
9
+ export declare type BookmarkTabsPropForm = typeof bookmarkTabsPropForm[number];
10
+ export declare const bookmarkTabsPropFormDefault: BookmarkTabsPropForm;
11
+ export declare const bookmarkTabsPropView: readonly ["ghost", "clear"];
12
+ export declare type BookmarkTabsPropView = typeof bookmarkTabsPropView[number];
13
+ export declare const bookmarkTabsPropViewDefault: BookmarkTabsPropView;
14
+ export declare type BookmarkTabsItemDefault = {
15
+ key: string | number;
16
+ label?: string | number;
17
+ leftIcon?: IconComponent;
18
+ rightIcon?: IconComponent;
19
+ fixed?: boolean;
20
+ as?: keyof JSX.IntrinsicElements;
21
+ ref?: React.RefObject<HTMLElement>;
22
+ attributes?: JSX.IntrinsicElements[keyof JSX.IntrinsicElements];
23
+ };
24
+ export declare type BookmarkTabsPropGetItemKey<ITEM> = (item: ITEM) => string | number;
25
+ export declare type BookmarkTabsPropGetItemLabel<ITEM> = (item: ITEM) => string | number | undefined;
26
+ export declare type BookmarkTabsPropGetItemLeftIcon<ITEM> = (item: ITEM) => IconComponent | undefined;
27
+ export declare type BookmarkTabsPropGetItemRightIcon<ITEM> = (item: ITEM) => IconComponent | undefined;
28
+ export declare type BookmarkTabsPropGetItemFixed<ITEM> = (item: ITEM) => boolean | undefined;
29
+ export declare type BookmarkTabsPropGetItemAs<ITEM> = (item: ITEM) => keyof JSX.IntrinsicElements | undefined;
30
+ export declare type BookmarkTabsPropGetItemRef<ITEM> = (item: ITEM) => React.RefObject<HTMLElement> | undefined;
31
+ export declare type BookmarkTabsPropGetItemAttributes<ITEM> = (item: ITEM) => JSX.IntrinsicElements[keyof JSX.IntrinsicElements] | undefined;
32
+ export declare type BookmarkTabsPropOnChange<ITEM> = (value: ITEM, params: {
33
+ e: React.MouseEvent;
34
+ id?: string;
35
+ }) => void;
36
+ export declare type BookmarkTabsRenderItemProps<ITEM> = {
37
+ item: ITEM;
38
+ onClick: React.MouseEventHandler;
39
+ active?: boolean;
40
+ onClose?: React.MouseEventHandler;
41
+ size: BookmarkTabsPropSize;
42
+ form: BookmarkTabsPropForm;
43
+ view: BookmarkTabsPropView;
44
+ tabWidth?: string;
45
+ tabRef?: React.RefObject<HTMLElement>;
46
+ controlRef?: React.RefObject<HTMLElement>;
47
+ } & Omit<BookmarkTabsItemDefault, 'key' | 'ref'>;
48
+ export declare type BookmarkTabsPropRenderItem<ITEM> = (props: BookmarkTabsRenderItemProps<ITEM>) => React.ReactElement | null;
49
+ export declare type BookmarkTabsProps<ITEM = BookmarkTabsItemDefault> = PropsWithHTMLAttributesAndRef<{
50
+ size?: BookmarkTabsPropSize;
51
+ form?: BookmarkTabsPropForm;
52
+ view?: BookmarkTabsPropView;
53
+ items: ITEM[];
54
+ value?: ITEM | null;
55
+ getItemKey?: BookmarkTabsPropGetItemKey<ITEM>;
56
+ getItemLabel?: BookmarkTabsPropGetItemLabel<ITEM>;
57
+ getItemLeftIcon?: BookmarkTabsPropGetItemLeftIcon<ITEM>;
58
+ getItemRightIcon?: BookmarkTabsPropGetItemRightIcon<ITEM>;
59
+ getItemFixed?: BookmarkTabsPropGetItemFixed<ITEM>;
60
+ getItemAs?: BookmarkTabsPropGetItemAs<ITEM>;
61
+ getItemRef?: BookmarkTabsPropGetItemRef<ITEM>;
62
+ getItemAttributes?: BookmarkTabsPropGetItemAttributes<ITEM>;
63
+ children?: never;
64
+ withNavigationButtons?: boolean;
65
+ onCreate?: React.MouseEventHandler;
66
+ onRemove?: (item: ITEM, params: {
67
+ e: React.MouseEvent;
68
+ }) => void;
69
+ onChange?: BookmarkTabsPropOnChange<ITEM>;
70
+ renderItem?: BookmarkTabsPropRenderItem<ITEM>;
71
+ }, HTMLDivElement> & (ITEM extends {
72
+ key: string | number;
73
+ } ? {} : {
74
+ getItemKey: BookmarkTabsPropGetItemKey<ITEM>;
75
+ });
76
+ export declare type BookmarkTabsComponent = <ITEM>(props: BookmarkTabsProps<ITEM>) => React.ReactElement | null;
77
+ export declare type BookmarkTabsTabProps<AS extends keyof JSX.IntrinsicElements = 'button'> = PropsWithAsAttributes<{
78
+ size: BookmarkTabsPropSize;
79
+ form: BookmarkTabsPropForm;
80
+ view: BookmarkTabsPropView;
81
+ active?: boolean;
82
+ tabWidth?: string;
83
+ tabRef?: React.RefObject<HTMLElement>;
84
+ controlRef?: React.RefObject<HTMLElement>;
85
+ fixed?: boolean;
86
+ onClose?: React.MouseEventHandler;
87
+ }, AS> & Omit<BookmarkTabsItemDefault, 'key' | 'attributes' | 'ref'>;
88
+ export declare type BookmarkTabsTabComponent = <AS extends keyof JSX.IntrinsicElements = 'button'>(props: BookmarkTabsTabProps<AS>) => React.ReactElement | null;
@@ -0,0 +1,2 @@
1
+ export var bookmarkTabsPropSize=["m","s"];export var bookmarkTabsPropSizeDefault=bookmarkTabsPropSize[0];export var bookmarkTabsPropForm=["brick","round"];export var bookmarkTabsPropFormDefault=bookmarkTabsPropForm[0];export var bookmarkTabsPropView=["ghost","clear"];export var bookmarkTabsPropViewDefault=bookmarkTabsPropView[0];
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":["bookmarkTabsPropSize","bookmarkTabsPropSizeDefault","bookmarkTabsPropForm","bookmarkTabsPropFormDefault","bookmarkTabsPropView","bookmarkTabsPropViewDefault"],"sources":["../../../../../src/components/BookmarkTabsCanary/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { PropsWithAsAttributes } from '##/utils/types/PropsWithAsAttributes';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport const bookmarkTabsPropSize = ['m', 's'] as const;\nexport type BookmarkTabsPropSize = typeof bookmarkTabsPropSize[number];\nexport const bookmarkTabsPropSizeDefault: BookmarkTabsPropSize =\n bookmarkTabsPropSize[0];\n\nexport const bookmarkTabsPropForm = ['brick', 'round'] as const;\nexport type BookmarkTabsPropForm = typeof bookmarkTabsPropForm[number];\nexport const bookmarkTabsPropFormDefault: BookmarkTabsPropForm =\n bookmarkTabsPropForm[0];\n\nexport const bookmarkTabsPropView = ['ghost', 'clear'] as const;\nexport type BookmarkTabsPropView = typeof bookmarkTabsPropView[number];\nexport const bookmarkTabsPropViewDefault: BookmarkTabsPropView =\n bookmarkTabsPropView[0];\n\nexport type BookmarkTabsItemDefault = {\n key: string | number;\n label?: string | number;\n leftIcon?: IconComponent;\n rightIcon?: IconComponent;\n fixed?: boolean;\n as?: keyof JSX.IntrinsicElements;\n ref?: React.RefObject<HTMLElement>;\n attributes?: JSX.IntrinsicElements[keyof JSX.IntrinsicElements];\n};\n\nexport type BookmarkTabsPropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type BookmarkTabsPropGetItemLabel<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type BookmarkTabsPropGetItemLeftIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\nexport type BookmarkTabsPropGetItemRightIcon<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\nexport type BookmarkTabsPropGetItemFixed<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\nexport type BookmarkTabsPropGetItemAs<ITEM> = (\n item: ITEM,\n) => keyof JSX.IntrinsicElements | undefined;\nexport type BookmarkTabsPropGetItemRef<ITEM> = (\n item: ITEM,\n) => React.RefObject<HTMLElement> | undefined;\nexport type BookmarkTabsPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) => JSX.IntrinsicElements[keyof JSX.IntrinsicElements] | undefined;\n\nexport type BookmarkTabsPropOnChange<ITEM> = (\n value: ITEM,\n params: {\n e: React.MouseEvent;\n id?: string;\n },\n) => void;\n\nexport type BookmarkTabsRenderItemProps<ITEM> = {\n item: ITEM;\n onClick: React.MouseEventHandler;\n active?: boolean;\n onClose?: React.MouseEventHandler;\n size: BookmarkTabsPropSize;\n form: BookmarkTabsPropForm;\n view: BookmarkTabsPropView;\n tabWidth?: string;\n tabRef?: React.RefObject<HTMLElement>;\n controlRef?: React.RefObject<HTMLElement>;\n} & Omit<BookmarkTabsItemDefault, 'key' | 'ref'>;\n\nexport type BookmarkTabsPropRenderItem<ITEM> = (\n props: BookmarkTabsRenderItemProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type BookmarkTabsProps<ITEM = BookmarkTabsItemDefault> =\n PropsWithHTMLAttributesAndRef<\n {\n size?: BookmarkTabsPropSize;\n form?: BookmarkTabsPropForm;\n view?: BookmarkTabsPropView;\n items: ITEM[];\n value?: ITEM | null;\n getItemKey?: BookmarkTabsPropGetItemKey<ITEM>;\n getItemLabel?: BookmarkTabsPropGetItemLabel<ITEM>;\n getItemLeftIcon?: BookmarkTabsPropGetItemLeftIcon<ITEM>;\n getItemRightIcon?: BookmarkTabsPropGetItemRightIcon<ITEM>;\n getItemFixed?: BookmarkTabsPropGetItemFixed<ITEM>;\n getItemAs?: BookmarkTabsPropGetItemAs<ITEM>;\n getItemRef?: BookmarkTabsPropGetItemRef<ITEM>;\n getItemAttributes?: BookmarkTabsPropGetItemAttributes<ITEM>;\n children?: never;\n withNavigationButtons?: boolean;\n onCreate?: React.MouseEventHandler;\n onRemove?: (item: ITEM, params: { e: React.MouseEvent }) => void;\n onChange?: BookmarkTabsPropOnChange<ITEM>;\n renderItem?: BookmarkTabsPropRenderItem<ITEM>;\n },\n HTMLDivElement\n > &\n (ITEM extends { key: string | number }\n ? {}\n : {\n getItemKey: BookmarkTabsPropGetItemKey<ITEM>;\n });\n\nexport type BookmarkTabsComponent = <ITEM>(\n props: BookmarkTabsProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type BookmarkTabsTabProps<\n AS extends keyof JSX.IntrinsicElements = 'button',\n> = PropsWithAsAttributes<\n {\n size: BookmarkTabsPropSize;\n form: BookmarkTabsPropForm;\n view: BookmarkTabsPropView;\n active?: boolean;\n tabWidth?: string;\n tabRef?: React.RefObject<HTMLElement>;\n controlRef?: React.RefObject<HTMLElement>;\n fixed?: boolean;\n onClose?: React.MouseEventHandler;\n },\n AS\n> &\n Omit<BookmarkTabsItemDefault, 'key' | 'attributes' | 'ref'>;\n\nexport type BookmarkTabsTabComponent = <\n AS extends keyof JSX.IntrinsicElements = 'button',\n>(\n props: BookmarkTabsTabProps<AS>,\n) => React.ReactElement | null;\n"],"mappings":"AAMA,MAAO,IAAMA,qBAAoB,CAAG,CAAC,GAAD,CAAM,GAAN,CAA7B,CAEP,MAAO,IAAMC,4BAAiD,CAC5DD,oBAAoB,CAAC,CAAD,CADf,CAGP,MAAO,IAAME,qBAAoB,CAAG,CAAC,OAAD,CAAU,OAAV,CAA7B,CAEP,MAAO,IAAMC,4BAAiD,CAC5DD,oBAAoB,CAAC,CAAD,CADf,CAGP,MAAO,IAAME,qBAAoB,CAAG,CAAC,OAAD,CAAU,OAAV,CAA7B,CAEP,MAAO,IAAMC,4BAAiD,CAC5DD,oBAAoB,CAAC,CAAD,CADf"}
@@ -0,0 +1,24 @@
1
+ /// <reference types="react" />
2
+ import { BookmarkTabsItemDefault, BookmarkTabsPropGetItemFixed, BookmarkTabsPropSize } from './types';
3
+ declare type UseBookmarkTabsProps<ITEM = BookmarkTabsItemDefault> = {
4
+ items: ITEM[];
5
+ getItemFixed: BookmarkTabsPropGetItemFixed<ITEM>;
6
+ withNavigationButtons?: boolean;
7
+ withAddButton?: boolean;
8
+ size: BookmarkTabsPropSize;
9
+ };
10
+ export declare const useBookmarkTabs: <ITEM>(props: UseBookmarkTabsProps<ITEM>) => {
11
+ refs: import("react").RefObject<HTMLElement>[];
12
+ containerRef: import("react").RefObject<HTMLDivElement>;
13
+ wrapperRef: import("react").RefObject<HTMLDivElement>;
14
+ fixedTabsRef: import("react").RefObject<HTMLDivElement>;
15
+ otherTabsRef: import("react").RefObject<HTMLDivElement>;
16
+ showControls: boolean;
17
+ fixedTabs: ITEM[];
18
+ otherTabs: ITEM[];
19
+ navigate: (type: 'next' | 'prev') => void;
20
+ sizes: string[];
21
+ controlsRef: import("react").RefObject<HTMLDivElement>;
22
+ addButtonRef: import("react").RefObject<HTMLDivElement>;
23
+ };
24
+ export {};
@@ -0,0 +1,2 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{useLayoutEffect,useMemo,useState}from"react";import{useRefs}from"../../hooks/useRefs";var MAX_TAB_SIZE=200;export var useBookmarkTabs=function(a){var b=a.items,c=a.getItemFixed,d=a.withNavigationButtons,e=useRefs(b.length),f=useRefs(6),g=_slicedToArray(f,6),h=g[0],i=g[1],j=g[2],k=g[3],l=g[4],m=g[5],n=useState([]),o=_slicedToArray(n,2),p=o[0],q=o[1],r=useState(!1),s=_slicedToArray(r,2),t=s[0],u=s[1],v=useMemo(function(){var a=[],d=[];return b.forEach(function(b){c(b)?a.push(b):d.push(b)}),{fixedTabs:a,otherTabs:d}},[b,c]),w=v.fixedTabs,x=v.otherTabs;return useLayoutEffect(function(){for(var a,b=[i,j,h,k,l],c=new ResizeObserver(function(){var a,b,c,e,f,g,h,n,o,p,r,s,t,v,w=null!==(a=null===(b=i.current)||void 0===b?void 0:b.offsetWidth)&&void 0!==a?a:0,y=null!==(c=null===(e=j.current)||void 0===e?void 0:e.offsetWidth)&&void 0!==c?c:0,z=(null!==(f=null===(g=j.current)||void 0===g?void 0:g.scrollWidth)&&void 0!==f?f:0)+(null!==(h=null===(n=k.current)||void 0===n?void 0:n.scrollWidth)&&void 0!==h?h:0)>w-(null!==(o=null===(p=m.current)||void 0===p?void 0:p.offsetWidth)&&void 0!==o?o:0)&&!!d,A=w-(null!==(r=null===(s=l.current)||void 0===s?void 0:s.offsetWidth)&&void 0!==r?r:0)-(null!==(t=null===(v=m.current)||void 0===v?void 0:v.offsetWidth)&&void 0!==t?t:0)-y,B="".concat(A?Math.min(A/x.length,MAX_TAB_SIZE):MAX_TAB_SIZE,"px");q(Array.from({length:x.length}).fill(B)),u(z)}),e=0,f=b;e<f.length;e++)a=f[e],a.current&&c.observe(a.current);return function(){c.disconnect()}},[x.length,w.length,d,h.current,i.current,j.current,l.current]),{refs:e,containerRef:i,wrapperRef:h,fixedTabsRef:j,otherTabsRef:k,showControls:t,fixedTabs:w,otherTabs:x,navigate:function navigate(a){var b=h.current;if(b)for(var g,j=0;j<e.length;j++)if(g=e[j],g.current&&g.current.offsetLeft>=b.offsetLeft+b.scrollLeft){var c,d=j+("next"===a?1:-1),f=null===(c=e[d])||void 0===c?void 0:c.current;return void(f&&b.scrollTo({left:f.offsetLeft-b.offsetLeft,behavior:"smooth"}))}},sizes:p,controlsRef:l,addButtonRef:m}};
2
+ //# sourceMappingURL=useBookmarkTabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBookmarkTabs.js","names":["useLayoutEffect","useMemo","useState","useRefs","MAX_TAB_SIZE","useBookmarkTabs","props","items","getItemFixed","withNavigationButtons","refs","length","wrapperRef","containerRef","fixedTabsRef","otherTabsRef","controlsRef","addButtonRef","sizes","setSizes","showControls","setShowControls","fixedTabs","otherTabs","forEach","item","push","ref","resizeObserver","ResizeObserver","containerWidth","current","offsetWidth","fixedWidth","scrollWidth","otherWidth","itemSize","Math","min","Array","from","fill","observe","disconnect","navigate","type","container","i","offsetLeft","scrollLeft","index","node","scrollTo","left","behavior"],"sources":["../../../../../src/components/BookmarkTabsCanary/useBookmarkTabs.ts"],"sourcesContent":["import { useLayoutEffect, useMemo, useState } from 'react';\n\nimport { useRefs } from '##/hooks/useRefs';\n\nimport {\n BookmarkTabsItemDefault,\n BookmarkTabsPropGetItemFixed,\n BookmarkTabsPropSize,\n} from './types';\n\ntype UseBookmarkTabsProps<ITEM = BookmarkTabsItemDefault> = {\n items: ITEM[];\n getItemFixed: BookmarkTabsPropGetItemFixed<ITEM>;\n withNavigationButtons?: boolean;\n withAddButton?: boolean;\n size: BookmarkTabsPropSize;\n};\n\nconst MAX_TAB_SIZE = 200;\n\nexport const useBookmarkTabs = <ITEM>(props: UseBookmarkTabsProps<ITEM>) => {\n const { items, getItemFixed, withNavigationButtons } = props;\n\n const refs = useRefs<HTMLElement>(items.length);\n\n const [\n wrapperRef,\n containerRef,\n fixedTabsRef,\n otherTabsRef,\n controlsRef,\n addButtonRef,\n ] = useRefs<HTMLDivElement>(6);\n\n const [sizes, setSizes] = useState<string[]>([]);\n\n const [showControls, setShowControls] = useState(false);\n\n const { fixedTabs, otherTabs } = useMemo(() => {\n const fixedTabs: ITEM[] = [];\n const otherTabs: ITEM[] = [];\n\n items.forEach((item) => {\n if (getItemFixed(item)) {\n fixedTabs.push(item);\n } else {\n otherTabs.push(item);\n }\n });\n\n return {\n fixedTabs,\n otherTabs,\n };\n }, [items, getItemFixed]);\n\n const navigate = (type: 'next' | 'prev') => {\n const container = wrapperRef.current;\n if (container) {\n for (let i = 0; i < refs.length; i++) {\n const ref = refs[i];\n if (ref.current) {\n if (\n ref.current.offsetLeft >=\n container.offsetLeft + container.scrollLeft\n ) {\n const index = i + (type === 'next' ? 1 : -1);\n const node = refs[index]?.current;\n if (node) {\n container.scrollTo({\n left: node.offsetLeft - container.offsetLeft,\n behavior: 'smooth',\n });\n }\n return;\n }\n }\n }\n }\n };\n\n useLayoutEffect(() => {\n const refs = [\n containerRef,\n fixedTabsRef,\n wrapperRef,\n otherTabsRef,\n controlsRef,\n ];\n const resizeObserver = new ResizeObserver(() => {\n const containerWidth = containerRef.current?.offsetWidth ?? 0;\n const fixedWidth = fixedTabsRef.current?.offsetWidth ?? 0;\n\n const showControls =\n (fixedTabsRef.current?.scrollWidth ?? 0) +\n (otherTabsRef.current?.scrollWidth ?? 0) >\n containerWidth - (addButtonRef.current?.offsetWidth ?? 0) &&\n !!withNavigationButtons;\n\n const otherWidth =\n containerWidth -\n (controlsRef.current?.offsetWidth ?? 0) -\n (addButtonRef.current?.offsetWidth ?? 0) -\n fixedWidth;\n\n const itemSize = `${\n otherWidth\n ? Math.min(otherWidth / otherTabs.length, MAX_TAB_SIZE)\n : MAX_TAB_SIZE\n }px`;\n setSizes(Array.from<string>({ length: otherTabs.length }).fill(itemSize));\n setShowControls(showControls);\n });\n\n for (const ref of refs) {\n ref.current && resizeObserver.observe(ref.current);\n }\n\n return () => {\n resizeObserver.disconnect();\n };\n }, [\n otherTabs.length,\n fixedTabs.length,\n withNavigationButtons,\n wrapperRef.current,\n containerRef.current,\n fixedTabsRef.current,\n controlsRef.current,\n ]);\n\n return {\n refs,\n containerRef,\n wrapperRef,\n fixedTabsRef,\n otherTabsRef,\n showControls,\n fixedTabs,\n otherTabs,\n navigate,\n sizes,\n controlsRef,\n addButtonRef,\n };\n};\n"],"mappings":"iEAAA,OAASA,eAAT,CAA0BC,OAA1B,CAAmCC,QAAnC,KAAmD,OAAnD,CAEA,OAASC,OAAT,2BAgBA,GAAMC,aAAY,CAAG,GAArB,CAEA,MAAO,IAAMC,gBAAe,CAAG,SAAOC,CAAP,CAA6C,IAClEC,EADkE,CACnBD,CADmB,CAClEC,KADkE,CAC3DC,CAD2D,CACnBF,CADmB,CAC3DE,YAD2D,CAC7CC,CAD6C,CACnBH,CADmB,CAC7CG,qBAD6C,CAGpEC,CAAI,CAAGP,OAAO,CAAcI,CAAK,CAACI,MAApB,CAHsD,GAYtER,OAAO,CAAiB,CAAjB,CAZ+D,uBAMxES,CANwE,MAOxEC,CAPwE,MAQxEC,CARwE,MASxEC,CATwE,MAUxEC,CAVwE,MAWxEC,CAXwE,QAchDf,QAAQ,CAAW,EAAX,CAdwC,uBAcnEgB,CAdmE,MAc5DC,CAd4D,QAgBlCjB,QAAQ,IAhB0B,uBAgBnEkB,CAhBmE,MAgBrDC,CAhBqD,QAkBzCpB,OAAO,CAAC,UAAM,IACvCqB,EAAiB,CAAG,EADmB,CAEvCC,CAAiB,CAAG,EAFmB,CAY7C,MARAhB,EAAK,CAACiB,OAAN,CAAc,SAACC,CAAD,CAAU,CAClBjB,CAAY,CAACiB,CAAD,CADM,CAEpBH,CAAS,CAACI,IAAV,CAAeD,CAAf,CAFoB,CAIpBF,CAAS,CAACG,IAAV,CAAeD,CAAf,CAEH,CAND,CAQA,CAAO,CACLH,SAAS,CAATA,CADK,CAELC,SAAS,CAATA,CAFK,CAIR,CAhBuC,CAgBrC,CAAChB,CAAD,CAAQC,CAAR,CAhBqC,CAlBkC,CAkBlEc,CAlBkE,GAkBlEA,SAlBkE,CAkBvDC,CAlBuD,GAkBvDA,SAlBuD,CA+G1E,MAlDAvB,gBAAe,CAAC,UAAM,CAiCpB,OAAW2B,EAAX,CAhCMjB,CAAI,CAAG,CACXG,CADW,CAEXC,CAFW,CAGXF,CAHW,CAIXG,CAJW,CAKXC,CALW,CAgCb,CAzBMY,CAAc,CAAG,GAAIC,eAAJ,CAAmB,UAAM,iCACxCC,CAAc,qBAAGjB,CAAY,CAACkB,OAAhB,qBAAG,EAAsBC,WAAzB,gBAAwC,CADd,CAExCC,CAAU,qBAAGnB,CAAY,CAACiB,OAAhB,qBAAG,EAAsBC,WAAzB,gBAAwC,CAFV,CAIxCZ,CAAY,CAChB,qBAACN,CAAY,CAACiB,OAAd,qBAAC,EAAsBG,WAAvB,gBAAsC,CAAtC,uBACGnB,CAAY,CAACgB,OADhB,qBACG,EAAsBG,WADzB,gBACwC,CADxC,EAEEJ,CAAc,sBAAIb,CAAY,CAACc,OAAjB,qBAAI,EAAsBC,WAA1B,gBAAyC,CAAzC,CAFhB,EAGA,CAAC,CAACvB,CAR0C,CAUxC0B,CAAU,CACdL,CAAc,sBACbd,CAAW,CAACe,OADC,qBACb,EAAqBC,WADR,gBACuB,CADvB,CAAd,sBAECf,CAAY,CAACc,OAFd,qBAEC,EAAsBC,WAFvB,gBAEsC,CAFtC,EAGAC,CAd4C,CAgBxCG,CAAQ,WACZD,CAAU,CACNE,IAAI,CAACC,GAAL,CAASH,CAAU,CAAGZ,CAAS,CAACZ,MAAhC,CAAwCP,YAAxC,CADM,CAENA,YAHQ,MAhBgC,CAqB9Ce,CAAQ,CAACoB,KAAK,CAACC,IAAN,CAAmB,CAAE7B,MAAM,CAAEY,CAAS,CAACZ,MAApB,CAAnB,EAAiD8B,IAAjD,CAAsDL,CAAtD,CAAD,CArBsC,CAsB9Cf,CAAe,CAACD,CAAD,CAChB,CAvBsB,CAyBvB,OAAkBV,CAAlB,gBAAWiB,CAAX,MACEA,CAAG,CAACI,OAAJ,EAAeH,CAAc,CAACc,OAAf,CAAuBf,CAAG,CAACI,OAA3B,CADjB,CAIA,MAAO,WAAM,CACXH,CAAc,CAACe,UAAf,EACD,CACF,CAxCc,CAwCZ,CACDpB,CAAS,CAACZ,MADT,CAEDW,CAAS,CAACX,MAFT,CAGDF,CAHC,CAIDG,CAAU,CAACmB,OAJV,CAKDlB,CAAY,CAACkB,OALZ,CAMDjB,CAAY,CAACiB,OANZ,CAODf,CAAW,CAACe,OAPX,CAxCY,CAkDf,CAAO,CACLrB,IAAI,CAAJA,CADK,CAELG,YAAY,CAAZA,CAFK,CAGLD,UAAU,CAAVA,CAHK,CAILE,YAAY,CAAZA,CAJK,CAKLC,YAAY,CAAZA,CALK,CAMLK,YAAY,CAAZA,CANK,CAOLE,SAAS,CAATA,CAPK,CAQLC,SAAS,CAATA,CARK,CASLqB,QAAQ,CApFO,QAAXA,SAAW,CAACC,CAAD,CAA2B,CAC1C,GAAMC,EAAS,CAAGlC,CAAU,CAACmB,OAA7B,CACA,GAAIe,CAAJ,CACE,IAAK,GACGnB,EADH,CAAIoB,CAAC,CAAG,CAAb,CAAgBA,CAAC,CAAGrC,CAAI,CAACC,MAAzB,CAAiCoC,CAAC,EAAlC,CAEE,GADMpB,CACN,CADYjB,CAAI,CAACqC,CAAD,CAChB,CAAIpB,CAAG,CAACI,OAAR,EAEIJ,CAAG,CAACI,OAAJ,CAAYiB,UAAZ,EACAF,CAAS,CAACE,UAAV,CAAuBF,CAAS,CAACG,UAHrC,CAII,OACMC,CAAK,CAAGH,CAAC,EAAa,MAAT,GAAAF,CAAI,CAAc,CAAd,CAAkB,CAAC,CAA3B,CADf,CAEMM,CAAI,WAAGzC,CAAI,CAACwC,CAAD,CAAP,qBAAG,EAAanB,OAF1B,CASA,YANIoB,CAMJ,EALEL,CAAS,CAACM,QAAV,CAAmB,CACjBC,IAAI,CAAEF,CAAI,CAACH,UAAL,CAAkBF,CAAS,CAACE,UADjB,CAEjBM,QAAQ,CAAE,QAFO,CAAnB,CAKF,CACD,CAIR,CAoDM,CAULpC,KAAK,CAALA,CAVK,CAWLF,WAAW,CAAXA,CAXK,CAYLC,YAAY,CAAZA,CAZK,CAcR,CA7HM"}
@@ -1 +1 @@
1
- .Collapse{color:var(--color-typo-primary)}.Collapse_size_2xs,.Collapse_size_xs{--vertical-space:var(--space-2xs);--elements-offset:var(--space-xs);--body-offset-up:var(--space-2xs);--body-offset-bottom:var(--space-xs)}.Collapse_size_s{--vertical-space:var(--space-xs);--elements-offset:var(--space-xs);--body-offset-up:var(--space-xs);--body-offset-bottom:var(--space-m)}.Collapse_size_l,.Collapse_size_m{--vertical-space:var(--space-s);--elements-offset:var(--space-s);--body-offset-up:var(--space-s);--body-offset-bottom:var(--space-xl)}.Collapse_view_clear{--collapse-bg:transparent;--collapse-bg-hover:var(--color-control-bg-clear-hover)}.Collapse_view_ghost{--collapse-bg:var(--color-control-bg-ghost);--collapse-bg-hover:var(--color-control-bg-ghost-hover)}.Collapse-Label{align-items:center;background:var(--collapse-bg);border-radius:var(--collapse-label-radius);cursor:pointer;display:flex;flex-direction:row;padding:var(--collapse-label-padding);transition:background .3s}.Collapse-Label_hoverEffect:hover{background:var(--collapse-bg-hover)}.Collapse-Label_form_brick{--collapse-label-padding:var(--vertical-space) var(--horizontal-space);--collapse-label-radius:0}.Collapse-Label_form_default{--collapse-label-padding:var(--vertical-space) var(--horizontal-space);--collapse-label-radius:var(--control-radius)}.Collapse-Label_form_round{--collapse-label-padding:var(--vertical-space) var(--horizontal-space);--collapse-label-radius:var(--space-3xl)}.Collapse-Body{max-height:0;overflow:hidden;transition:max-height .3s;transition-timing-function:cubic-bezier(.7,0,.5,1)}.Collapse-Body_isOpen{max-height:var(--collapse-body-max-height)}.Collapse-Body_divider{border-bottom:1px solid var(--color-bg-border)}.Collapse-Side{line-height:0;margin-left:var(--elements-offset)}.Collapse-Content{padding:var(--body-offset-up) var(--horizontal-space) var(--body-offset-bottom) var(--horizontal-space)}.Collapse-Icon{flex:none}.Collapse-Icon_position_left{margin-right:var(--elements-offset)}.Collapse-Icon_position_right{margin-left:var(--elements-offset)}.Collapse-LabelText{flex:1}
1
+ .Collapse{color:var(--color-typo-primary)}.Collapse_size_2xs,.Collapse_size_xs{--vertical-space:var(--space-2xs);--elements-offset:var(--space-xs);--body-offset-up:var(--space-2xs);--body-offset-bottom:var(--space-xs)}.Collapse_size_s{--vertical-space:var(--space-xs);--elements-offset:var(--space-xs);--body-offset-up:var(--space-xs);--body-offset-bottom:var(--space-m)}.Collapse_size_l,.Collapse_size_m{--vertical-space:var(--space-s);--elements-offset:var(--space-s);--body-offset-up:var(--space-s);--body-offset-bottom:var(--space-xl)}.Collapse_view_clear{--collapse-bg:transparent;--collapse-bg-hover:var(--color-control-bg-clear-hover)}.Collapse_view_ghost{--collapse-bg:var(--color-control-bg-ghost);--collapse-bg-hover:var(--color-control-bg-ghost-hover)}.Collapse-Label{align-items:center;background:var(--collapse-bg);border-radius:var(--collapse-label-radius);cursor:pointer;display:flex;flex-direction:row;padding:var(--collapse-label-padding);transition:background .3s}.Collapse-Label_hoverEffect:hover{background:var(--collapse-bg-hover)}.Collapse-Label_form_brick{--collapse-label-padding:var(--vertical-space) var(--horizontal-space);--collapse-label-radius:0}.Collapse-Label_form_default{--collapse-label-padding:var(--vertical-space) var(--horizontal-space);--collapse-label-radius:var(--control-radius)}.Collapse-Label_form_round{--collapse-label-padding:var(--vertical-space) var(--horizontal-space);--collapse-label-radius:var(--space-3xl)}.Collapse-Body{max-height:0;overflow:hidden;transition:max-height .3s;transition-timing-function:cubic-bezier(.7,0,.5,1)}.Collapse-Body_isOpen{max-height:var(--collapse-body-max-height)}.Collapse-Body_divider{border-bottom:1px solid var(--color-bg-border)}.Collapse-Body_divider:not(.Collapse-Body_isOpen){margin-top:-1px}.Collapse-Side{line-height:0;margin-left:var(--elements-offset)}.Collapse-Content{padding:var(--body-offset-up) var(--horizontal-space) var(--body-offset-bottom) var(--horizontal-space)}.Collapse-Icon{flex:none}.Collapse-Icon_position_left{margin-right:var(--elements-offset)}.Collapse-Icon_position_right{margin-left:var(--elements-offset)}.Collapse-LabelText{flex:1}
@@ -1,2 +1,2 @@
1
- import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","type","value","onChange","id","name","rows","cols","minRows","maxRows","inputRef","maxLength","disabled","size","view","form","state","status","width","onBlur","onFocus","autoFocus","placeholder","leftSide","rightSide","autoComplete","withClearButton","incrementButtons","max","min","readOnly","required","step","tabIndex","ariaLabel","label","labelIcon","inputContainerRef","labelPosition","caption","iconSize","focused","onClick","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture"];import"./TextField.css";import{IconClear}from"@consta/icons/IconClear";import{IconEye}from"@consta/icons/IconEye";import{IconEyeClose}from"@consta/icons/IconEyeClose";import{IconSelect}from"@consta/icons/IconSelect";import{IconSelectOpen}from"@consta/icons/IconSelectOpen";import React,{forwardRef,useCallback,useEffect}from"react";import TextAreaAutoSize from"react-textarea-autosize";import{useFlag}from"../../hooks/useFlag/useFlag";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{useMutableRef}from"../../hooks/useMutableRef/useMutableRef";import{useSortSteps}from"../../hooks/useSortSteps/useSortSteps";import{cn}from"../../utils/bem";import{getByMap}from"../../utils/getByMap";import{isString}from"../../utils/type-guards";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{FieldCaption}from"../FieldCaption/FieldCaption";import{FieldLabel}from"../FieldLabel/FieldLabel";import{getIncrementFlag,getTypeForRender,getValueByStep,sizeMap}from"./helpers";import{textFieldPropFormDefault,textFieldPropSizeDefault,textFieldPropViewDefault,textFieldPropWidthDefault}from"./types";export var COMPONENT_NAME="TextField";export var cnTextField=cn("TextField");export var TextFieldRender=function(a,b){var c=React.useRef(null),d=React.useRef(null),e=usePropsHandler(COMPONENT_NAME,a,c),f=e.className,g=e.type,h=void 0===g?"text":g,i=e.value,j=e.onChange,k=e.id,l=e.name,m=e.rows,n=e.cols,o=e.minRows,p=e.maxRows,q=e.inputRef,r=e.maxLength,s=e.disabled,t=e.size,u=void 0===t?textFieldPropSizeDefault:t,v=e.view,w=void 0===v?textFieldPropViewDefault:v,x=e.form,y=void 0===x?textFieldPropFormDefault:x,z=e.state,A=e.status,B=e.width,C=void 0===B?textFieldPropWidthDefault:B,D=e.onBlur,E=e.onFocus,F=e.autoFocus,G=void 0!==F&&F,H=e.placeholder,I=e.leftSide,J=e.rightSide,K=e.autoComplete,L=e.withClearButton,M=e.incrementButtons,N=e.max,O=e.min,P=e.readOnly,Q=e.required,R=e.step,S=void 0===R?1:R,T=e.tabIndex,U=e.ariaLabel,V=e.label,W=e.labelIcon,X=e.inputContainerRef,Y=e.labelPosition,Z=void 0===Y?"top":Y,$=e.caption,_=e.iconSize,aa=e.focused,ba=e.onClick,ca=e.onKeyDown,da=e.onKeyDownCapture,ea=e.onKeyPress,fa=e.onKeyPressCapture,ga=e.onKeyUp,ha=e.onKeyUpCapture,ia=_objectWithoutProperties(e,_excluded),ja=useFlag(G),ka=_slicedToArray(ja,2),la=ka[0],ma=ka[1],na=useFlag(!1),oa=_slicedToArray(na,2),pa=oa[0],qa=oa[1],ra=useMutableRef(i),sa=useMutableRef(ba),ta=useMutableRef(j),ua=useCallback(function(a){var b;a.stopPropagation(),qa.toggle(),null===(b=d.current)||void 0===b?void 0:b.focus()},[]),va=I,wa=J,xa=isString(I),ya=isString(J),za=getByMap(sizeMap,u,_),Aa=useSortSteps({step:S,min:+O,max:+N}),Ba=useCallback(function(a){var b;s||(null===(b=ta.current)||void 0===b?void 0:b.call(ta,{e:a,id:k,name:l,value:a.target.value||null}))},[k,l,s]),Ca=function(a){ma.on(),null===E||void 0===E?void 0:E(a)},Da={className:cnTextField("Input"),value:i||"",onChange:Ba,maxLength:r,disabled:s,onBlur:function handleBlur(a){ma.off(),null===D||void 0===D?void 0:D(a)},onFocus:Ca,autoFocus:G,placeholder:H,autoComplete:K,readOnly:P,tabIndex:T,name:l,onKeyDownCapture:da,onKeyPress:ea,onKeyPressCapture:fa,onKeyUp:ga,onKeyUpCapture:ha,id:k?k.toString():"","aria-label":U},Ea=pa?IconEyeClose:IconEye,Fa={rows:m,cols:n,minRows:o||m,maxRows:p||m,ref:useForkRef([d,q])},Ga={type:getTypeForRender(h,pa),max:N,min:O,step:Array.isArray(Aa)?0:Aa,onKeyDown:function onKeyDown(a){var b=getIncrementFlag(a);if(null===ca||void 0===ca?void 0:ca(a),"number"===h&&"boolean"==typeof b&&!s){var c;a.preventDefault(),null===(c=ta.current)||void 0===c?void 0:c.call(ta,{e:a,id:k,name:l,value:getValueByStep(Aa,i,b,O,N)})}},ref:useForkRef([d,q])},Ha=useCallback(function(a){var b;null===(b=ta.current)||void 0===b?void 0:b.call(ta,{e:a,id:k,name:l,value:null})},[]),Ia=function(a){var b,c=!(1<arguments.length&&void 0!==arguments[1])||arguments[1];null===(b=ta.current)||void 0===b?void 0:b.call(ta,{e:a,id:k,name:l,value:getValueByStep(Aa,i,c,O,N)})},Ja={onClick:useCallback(function(a){var b,c;null===(b=d.current)||void 0===b?void 0:b.focus(),null===(c=sa.current)||void 0===c?void 0:c.call(sa,a)},[])};return useEffect(function(){if("password"===h&&d.current){var a;d.current.selectionStart=(null===(a=ra.current)||void 0===a?void 0:a.length)||0}},[pa]),React.createElement("div",Object.assign({className:cnTextField({labelPosition:Z,size:u,view:w,width:C},[f]),ref:useForkRef([b,c])},Ja,ia),V&&React.createElement(FieldLabel,{as:"label",htmlFor:null===k||void 0===k?void 0:k.toString(),icon:W,required:Q,className:cnTextField("Label",{labelPosition:Z}),size:u},V),React.createElement("div",{className:cnTextField("Body")},React.createElement("div",{ref:X,className:cnTextField("InputContainer",{view:w,form:y,status:A||z,disabled:s,type:h,focus:la||aa,withValue:!!i})},va&&React.createElement("div",{className:cnTextField("Side",{position:"left",type:xa?"string":"icon"}),title:"string"==typeof I?I:void 0},xa?I:React.createElement(va,{className:cnTextField("Icon"),size:za})),"textarea"===h?React.createElement(TextAreaAutoSize,Object.assign({},Da,Fa)):React.createElement("input",Object.assign({},Da,Ga)),"number"===h&&(void 0===M||M)&&React.createElement("div",{className:cnTextField("Counter")},React.createElement("button",{onFocus:Ca,onClick:function(a){return Ia(a,!0)},type:"button",className:cnTextField("CounterButton")},React.createElement(IconSelectOpen,{size:"xs"})),React.createElement("button",{onFocus:Ca,onClick:function(a){return Ia(a,!1)},type:"button",className:cnTextField("CounterButton")},React.createElement(IconSelect,{size:"xs"}))),i&&L&&"number"!==h&&React.createElement("button",{type:"button",disabled:s,tabIndex:-1,onClick:Ha,className:cnTextField("ClearButton")},React.createElement(IconClear,{size:sizeMap[u],className:cnTextField("ClearButtonIcon")})),"password"===h&&i&&React.createElement("button",{className:cnTextField("ClearButton"),type:"button",onClick:ua},React.createElement(Ea,{className:cnTextField("Icon"),size:za})),wa&&"number"!==h&&"password"!==h&&React.createElement("div",{className:cnTextField("Side",{position:"right",type:ya?"string":"icon"}),title:"string"==typeof J?J:void 0},ya?J:React.createElement(wa,{className:cnTextField("Icon"),size:za}))),$&&React.createElement(FieldCaption,{className:cnTextField("Caption"),status:A||z},$)))};export var TextField=forwardRef(TextFieldRender);export*from"./types";
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","type","value","onChange","id","name","rows","cols","minRows","maxRows","inputRef","maxLength","disabled","size","view","form","state","status","width","onBlur","onFocus","autoFocus","placeholder","leftSide","rightSide","autoComplete","withClearButton","incrementButtons","max","min","readOnly","required","step","tabIndex","ariaLabel","label","labelIcon","inputContainerRef","labelPosition","caption","iconSize","focused","onClick","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture"];import"./TextField.css";import{IconClear}from"@consta/icons/IconClear";import{IconEye}from"@consta/icons/IconEye";import{IconEyeClose}from"@consta/icons/IconEyeClose";import{IconSelect}from"@consta/icons/IconSelect";import{IconSelectOpen}from"@consta/icons/IconSelectOpen";import React,{forwardRef,useCallback,useEffect}from"react";import TextAreaAutoSize from"react-textarea-autosize";import{useFlag}from"../../hooks/useFlag/useFlag";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{useMutableRef}from"../../hooks/useMutableRef/useMutableRef";import{useSortSteps}from"../../hooks/useSortSteps/useSortSteps";import{cn}from"../../utils/bem";import{getByMap}from"../../utils/getByMap";import{isString}from"../../utils/type-guards";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{FieldCaption}from"../FieldCaption/FieldCaption";import{FieldLabel}from"../FieldLabel/FieldLabel";import{getIncrementFlag,getTypeForRender,getValueByStep,sizeMap}from"./helpers";import{textFieldPropFormDefault,textFieldPropSizeDefault,textFieldPropViewDefault,textFieldPropWidthDefault}from"./types";export var COMPONENT_NAME="TextField";export var cnTextField=cn("TextField");export var TextFieldRender=function(a,b){var c=React.useRef(null),d=React.useRef(null),e=usePropsHandler(COMPONENT_NAME,a,c),f=e.className,g=e.type,h=void 0===g?"text":g,i=e.value,j=e.onChange,k=e.id,l=e.name,m=e.rows,n=e.cols,o=e.minRows,p=e.maxRows,q=e.inputRef,r=e.maxLength,s=e.disabled,t=e.size,u=void 0===t?textFieldPropSizeDefault:t,v=e.view,w=void 0===v?textFieldPropViewDefault:v,x=e.form,y=void 0===x?textFieldPropFormDefault:x,z=e.state,A=e.status,B=e.width,C=void 0===B?textFieldPropWidthDefault:B,D=e.onBlur,E=e.onFocus,F=e.autoFocus,G=void 0!==F&&F,H=e.placeholder,I=e.leftSide,J=e.rightSide,K=e.autoComplete,L=e.withClearButton,M=e.incrementButtons,N=e.max,O=e.min,P=e.readOnly,Q=e.required,R=e.step,S=void 0===R?1:R,T=e.tabIndex,U=e.ariaLabel,V=e.label,W=e.labelIcon,X=e.inputContainerRef,Y=e.labelPosition,Z=void 0===Y?"top":Y,$=e.caption,_=e.iconSize,aa=e.focused,ba=e.onClick,ca=e.onKeyDown,da=e.onKeyDownCapture,ea=e.onKeyPress,fa=e.onKeyPressCapture,ga=e.onKeyUp,ha=e.onKeyUpCapture,ia=_objectWithoutProperties(e,_excluded),ja=useFlag(G),ka=_slicedToArray(ja,2),la=ka[0],ma=ka[1],na=useFlag(!1),oa=_slicedToArray(na,2),pa=oa[0],qa=oa[1],ra=useMutableRef(i),sa=useMutableRef(ba),ta=useMutableRef(j),ua=useCallback(function(a){var b;a.stopPropagation(),qa.toggle(),null===(b=d.current)||void 0===b?void 0:b.focus()},[]),va=I,wa=J,xa=isString(I),ya=isString(J),za=getByMap(sizeMap,u,_),Aa=useSortSteps({step:S,min:+O,max:+N}),Ba=useCallback(function(a){var b;s||(null===(b=ta.current)||void 0===b?void 0:b.call(ta,{e:a,id:k,name:l,value:a.target.value||null}))},[k,l,s]),Ca=function(a){ma.on(),null===E||void 0===E?void 0:E(a)},Da={className:cnTextField("Input"),value:null!==i&&void 0!==i?i:"",onChange:Ba,maxLength:r,disabled:s,onBlur:function handleBlur(a){ma.off(),null===D||void 0===D?void 0:D(a)},onFocus:Ca,autoFocus:G,placeholder:H,autoComplete:K,readOnly:P,tabIndex:T,name:l,onKeyDownCapture:da,onKeyPress:ea,onKeyPressCapture:fa,onKeyUp:ga,onKeyUpCapture:ha,id:k?k.toString():"","aria-label":U},Ea=pa?IconEyeClose:IconEye,Fa={rows:m,cols:n,minRows:o||m,maxRows:p||m,ref:useForkRef([d,q])},Ga={type:getTypeForRender(h,pa),max:N,min:O,step:Array.isArray(Aa)?0:Aa,onKeyDown:function onKeyDown(a){var b=getIncrementFlag(a);if(null===ca||void 0===ca?void 0:ca(a),"number"===h&&"boolean"==typeof b&&!s){var c;a.preventDefault(),null===(c=ta.current)||void 0===c?void 0:c.call(ta,{e:a,id:k,name:l,value:getValueByStep(Aa,i,b,O,N)})}},ref:useForkRef([d,q])},Ha=useCallback(function(a){var b;null===(b=ta.current)||void 0===b?void 0:b.call(ta,{e:a,id:k,name:l,value:null})},[]),Ia=function(a){var b,c=!(1<arguments.length&&void 0!==arguments[1])||arguments[1];null===(b=ta.current)||void 0===b?void 0:b.call(ta,{e:a,id:k,name:l,value:getValueByStep(Aa,i,c,O,N)})},Ja={onClick:useCallback(function(a){var b,c;null===(b=d.current)||void 0===b?void 0:b.focus(),null===(c=sa.current)||void 0===c?void 0:c.call(sa,a)},[])};return useEffect(function(){if("password"===h&&d.current){var a;d.current.selectionStart=(null===(a=ra.current)||void 0===a?void 0:a.length)||0}},[pa]),React.createElement("div",Object.assign({className:cnTextField({labelPosition:Z,size:u,view:w,width:C},[f]),ref:useForkRef([b,c])},Ja,ia),V&&React.createElement(FieldLabel,{as:"label",htmlFor:null===k||void 0===k?void 0:k.toString(),icon:W,required:Q,className:cnTextField("Label",{labelPosition:Z}),size:u},V),React.createElement("div",{className:cnTextField("Body")},React.createElement("div",{ref:X,className:cnTextField("InputContainer",{view:w,form:y,status:A||z,disabled:s,type:h,focus:la||aa,withValue:!!i})},va&&React.createElement("div",{className:cnTextField("Side",{position:"left",type:xa?"string":"icon"}),title:"string"==typeof I?I:void 0},xa?I:React.createElement(va,{className:cnTextField("Icon"),size:za})),"textarea"===h?React.createElement(TextAreaAutoSize,Object.assign({},Da,Fa)):React.createElement("input",Object.assign({},Da,Ga)),"number"===h&&(void 0===M||M)&&React.createElement("div",{className:cnTextField("Counter")},React.createElement("button",{onFocus:Ca,onClick:function(a){return Ia(a,!0)},type:"button",className:cnTextField("CounterButton")},React.createElement(IconSelectOpen,{size:"xs"})),React.createElement("button",{onFocus:Ca,onClick:function(a){return Ia(a,!1)},type:"button",className:cnTextField("CounterButton")},React.createElement(IconSelect,{size:"xs"}))),!!i&&L&&"number"!==h&&React.createElement("button",{type:"button",disabled:s,tabIndex:-1,onClick:Ha,className:cnTextField("ClearButton")},React.createElement(IconClear,{size:sizeMap[u],className:cnTextField("ClearButtonIcon")})),"password"===h&&!!i&&React.createElement("button",{className:cnTextField("ClearButton"),type:"button",onClick:ua},React.createElement(Ea,{className:cnTextField("Icon"),size:za})),wa&&"number"!==h&&"password"!==h&&React.createElement("div",{className:cnTextField("Side",{position:"right",type:ya?"string":"icon"}),title:"string"==typeof J?J:void 0},ya?J:React.createElement(wa,{className:cnTextField("Icon"),size:za}))),$&&React.createElement(FieldCaption,{className:cnTextField("Caption"),status:A||z},$)))};export var TextField=forwardRef(TextFieldRender);export*from"./types";
2
2
  //# sourceMappingURL=TextField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextField.js","names":["IconClear","IconEye","IconEyeClose","IconSelect","IconSelectOpen","React","forwardRef","useCallback","useEffect","TextAreaAutoSize","useFlag","useForkRef","useMutableRef","useSortSteps","cn","getByMap","isString","usePropsHandler","FieldCaption","FieldLabel","getIncrementFlag","getTypeForRender","getValueByStep","sizeMap","textFieldPropFormDefault","textFieldPropSizeDefault","textFieldPropViewDefault","textFieldPropWidthDefault","COMPONENT_NAME","cnTextField","TextFieldRender","props","ref","textFieldRef","useRef","inputRef","className","type","value","onChange","id","name","rows","cols","minRows","maxRows","inputRefProp","maxLength","disabled","size","view","form","state","status","width","onBlur","onFocus","autoFocus","placeholder","leftSide","rightSide","autoComplete","withClearButton","incrementButtons","max","min","readOnly","required","step","tabIndex","ariaLabel","label","labelIcon","inputContainerRef","labelPosition","caption","iconSizeProp","iconSize","focused","onClick","onKeyDownProp","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","otherProps","focus","setFocus","passwordVisible","setPasswordVisuble","valueRef","onClickRef","onChangeRef","handleEyeClick","e","stopPropagation","toggle","current","LeftIcon","RightIcon","leftSideIsString","rightSideIsString","sortedSteps","handleChange","target","handleFocus","on","commonProps","handleBlur","off","toString","Eye","textareaProps","inputProps","Array","isArray","flag","preventDefault","handleClear","changeNumberValue","isIncrement","rootProps","selectionStart","length","withValue","position","TextField"],"sources":["../../../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import './TextField.css';\n\nimport { IconClear } from '@consta/icons/IconClear';\nimport { IconEye } from '@consta/icons/IconEye';\nimport { IconEyeClose } from '@consta/icons/IconEyeClose';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport { IconSelectOpen } from '@consta/icons/IconSelectOpen';\nimport React, { forwardRef, useCallback, useEffect } from 'react';\nimport TextAreaAutoSize from 'react-textarea-autosize';\n\nimport { useFlag } from '../../hooks/useFlag/useFlag';\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { useMutableRef } from '../../hooks/useMutableRef/useMutableRef';\nimport { useSortSteps } from '../../hooks/useSortSteps/useSortSteps';\nimport { cn } from '../../utils/bem';\nimport { getByMap } from '../../utils/getByMap';\nimport { isString } from '../../utils/type-guards';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport { FieldCaption } from '../FieldCaption/FieldCaption';\nimport { FieldLabel } from '../FieldLabel/FieldLabel';\nimport {\n getIncrementFlag,\n getTypeForRender,\n getValueByStep,\n sizeMap,\n} from './helpers';\nimport {\n TextFieldComponent,\n textFieldPropFormDefault,\n TextFieldProps,\n textFieldPropSizeDefault,\n textFieldPropViewDefault,\n textFieldPropWidthDefault,\n} from './types';\n\nexport const COMPONENT_NAME = 'TextField' as const;\nexport const cnTextField = cn(COMPONENT_NAME);\n\nexport const TextFieldRender = <TYPE extends string>(\n props: TextFieldProps<TYPE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const textFieldRef = React.useRef<HTMLDivElement>(null);\n const inputRef = React.useRef<HTMLInputElement | HTMLTextAreaElement>(null);\n\n const {\n className,\n type = 'text',\n value,\n onChange,\n id,\n name,\n rows,\n cols,\n minRows,\n maxRows,\n inputRef: inputRefProp,\n maxLength,\n disabled,\n size = textFieldPropSizeDefault,\n view = textFieldPropViewDefault,\n form = textFieldPropFormDefault,\n state,\n status,\n width = textFieldPropWidthDefault,\n onBlur,\n onFocus,\n autoFocus = false,\n placeholder,\n leftSide,\n rightSide,\n autoComplete,\n withClearButton,\n incrementButtons = true,\n max,\n min,\n readOnly,\n required,\n step = 1,\n tabIndex,\n ariaLabel,\n label,\n labelIcon,\n inputContainerRef,\n labelPosition = 'top',\n caption,\n iconSize: iconSizeProp,\n focused,\n onClick,\n // onkey props\n onKeyDown: onKeyDownProp,\n onKeyDownCapture,\n onKeyPress,\n onKeyPressCapture,\n onKeyUp,\n onKeyUpCapture,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, props, textFieldRef);\n const [focus, setFocus] = useFlag(autoFocus);\n const [passwordVisible, setPasswordVisuble] = useFlag(false);\n\n const valueRef = useMutableRef(value);\n const onClickRef = useMutableRef(onClick);\n const onChangeRef = useMutableRef(onChange);\n\n const handleEyeClick = useCallback(\n (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n e.stopPropagation();\n setPasswordVisuble.toggle();\n inputRef.current?.focus();\n },\n [],\n );\n\n const textarea = type === 'textarea';\n const LeftIcon = leftSide;\n const RightIcon = rightSide;\n const leftSideIsString = isString(leftSide);\n const rightSideIsString = isString(rightSide);\n const iconSize = getByMap(sizeMap, size, iconSizeProp);\n\n const sortedSteps = useSortSteps({\n step,\n min: Number(min),\n max: Number(max),\n });\n\n const handleChange: React.ChangeEventHandler<\n HTMLInputElement | HTMLTextAreaElement\n > = useCallback(\n (e) => {\n !disabled &&\n onChangeRef.current?.({ e, id, name, value: e.target.value || null });\n },\n [id, name, disabled],\n );\n\n const handleBlur: React.FocusEventHandler<HTMLElement> = (e) => {\n setFocus.off();\n onBlur?.(e);\n };\n\n const handleFocus: React.FocusEventHandler<HTMLElement> = (e) => {\n setFocus.on();\n onFocus?.(e);\n };\n\n const commonProps = {\n 'className': cnTextField('Input'),\n 'value': value || '',\n 'onChange': handleChange,\n maxLength,\n disabled,\n 'onBlur': handleBlur,\n 'onFocus': handleFocus,\n autoFocus,\n placeholder,\n autoComplete,\n readOnly,\n tabIndex,\n name,\n onKeyDownCapture,\n onKeyPress,\n onKeyPressCapture,\n onKeyUp,\n onKeyUpCapture,\n 'id': id ? id.toString() : '',\n 'aria-label': ariaLabel,\n };\n\n const Eye = passwordVisible ? IconEyeClose : IconEye;\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n const flag = getIncrementFlag(e);\n onKeyDownProp?.(e);\n if (type === 'number' && typeof flag === 'boolean' && !disabled) {\n e.preventDefault();\n onChangeRef.current?.({\n e,\n id,\n name,\n value: getValueByStep(sortedSteps, value, flag, min, max),\n });\n }\n };\n\n const textareaProps = {\n rows,\n cols,\n minRows: minRows || rows,\n maxRows: maxRows || rows,\n ref: useForkRef([inputRef, inputRefProp]) as (\n node: HTMLTextAreaElement,\n ) => void,\n };\n\n const inputProps = {\n type: getTypeForRender(type, passwordVisible),\n max,\n min,\n step: !Array.isArray(sortedSteps) ? sortedSteps : 0,\n onKeyDown,\n ref: useForkRef([\n inputRef,\n inputRefProp,\n ]) as React.RefCallback<HTMLInputElement>,\n };\n\n const handleClear = useCallback((e: React.MouseEvent<HTMLButtonElement>) => {\n onChangeRef.current?.({\n e,\n id,\n name,\n value: null,\n });\n }, []);\n\n const changeNumberValue = (\n e: React.MouseEvent<HTMLButtonElement>,\n isIncrement = true,\n ) => {\n onChangeRef.current?.({\n e,\n id,\n name,\n value: getValueByStep(sortedSteps, value, isIncrement, min, max),\n });\n };\n\n const rootProps = {\n onClick: useCallback((e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n inputRef.current?.focus();\n onClickRef.current?.(e);\n }, []),\n };\n\n // при смене passwordVible, перемещаем курсор в конец строки\n useEffect(() => {\n if (type === 'password' && inputRef.current) {\n inputRef.current.selectionStart = valueRef.current?.length || 0;\n }\n }, [passwordVisible]);\n\n return (\n <div\n className={cnTextField({ labelPosition, size, view, width }, [className])}\n ref={useForkRef([ref, textFieldRef])}\n {...rootProps}\n {...otherProps}\n >\n {label && (\n <FieldLabel\n as=\"label\"\n htmlFor={id?.toString()}\n icon={labelIcon}\n required={required}\n className={cnTextField('Label', { labelPosition })}\n size={size}\n >\n {label}\n </FieldLabel>\n )}\n <div className={cnTextField('Body')}>\n <div\n ref={inputContainerRef}\n className={cnTextField('InputContainer', {\n view,\n form,\n status: status || state,\n disabled,\n type,\n focus: focus || focused,\n withValue: !!value,\n })}\n >\n {LeftIcon && (\n <div\n className={cnTextField('Side', {\n position: 'left',\n type: leftSideIsString ? 'string' : 'icon',\n })}\n title={typeof leftSide === 'string' ? leftSide : undefined}\n >\n {leftSideIsString ? (\n leftSide\n ) : (\n <LeftIcon className={cnTextField('Icon')} size={iconSize} />\n )}\n </div>\n )}\n {textarea ? (\n <TextAreaAutoSize {...commonProps} {...textareaProps} />\n ) : (\n <input {...commonProps} {...inputProps} />\n )}\n\n {type === 'number' && incrementButtons && (\n <div className={cnTextField('Counter')}>\n <button\n onFocus={handleFocus}\n onClick={(e) => changeNumberValue(e, true)}\n type=\"button\"\n className={cnTextField('CounterButton')}\n >\n <IconSelectOpen size=\"xs\" />\n </button>\n <button\n onFocus={handleFocus}\n onClick={(e) => changeNumberValue(e, false)}\n type=\"button\"\n className={cnTextField('CounterButton')}\n >\n <IconSelect size=\"xs\" />\n </button>\n </div>\n )}\n\n {value && withClearButton && type !== 'number' && (\n <button\n type=\"button\"\n disabled={disabled}\n tabIndex={-1}\n onClick={handleClear}\n className={cnTextField('ClearButton')}\n >\n <IconClear\n size={sizeMap[size]}\n className={cnTextField('ClearButtonIcon')}\n />\n </button>\n )}\n\n {type === 'password' && value && (\n <button\n className={cnTextField('ClearButton')}\n type=\"button\"\n onClick={handleEyeClick}\n >\n <Eye className={cnTextField('Icon')} size={iconSize} />\n </button>\n )}\n\n {RightIcon && type !== 'number' && type !== 'password' && (\n <div\n className={cnTextField('Side', {\n position: 'right',\n type: rightSideIsString ? 'string' : 'icon',\n })}\n title={typeof rightSide === 'string' ? rightSide : undefined}\n >\n {rightSideIsString ? (\n rightSide\n ) : (\n <RightIcon className={cnTextField('Icon')} size={iconSize} />\n )}\n </div>\n )}\n </div>\n {caption && (\n <FieldCaption\n className={cnTextField('Caption')}\n status={status || state}\n >\n {caption}\n </FieldCaption>\n )}\n </div>\n </div>\n );\n};\n\nexport const TextField = forwardRef(TextFieldRender) as TextFieldComponent;\nexport * from './types';\n"],"mappings":"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"}
1
+ {"version":3,"file":"TextField.js","names":["IconClear","IconEye","IconEyeClose","IconSelect","IconSelectOpen","React","forwardRef","useCallback","useEffect","TextAreaAutoSize","useFlag","useForkRef","useMutableRef","useSortSteps","cn","getByMap","isString","usePropsHandler","FieldCaption","FieldLabel","getIncrementFlag","getTypeForRender","getValueByStep","sizeMap","textFieldPropFormDefault","textFieldPropSizeDefault","textFieldPropViewDefault","textFieldPropWidthDefault","COMPONENT_NAME","cnTextField","TextFieldRender","props","ref","textFieldRef","useRef","inputRef","className","type","value","onChange","id","name","rows","cols","minRows","maxRows","inputRefProp","maxLength","disabled","size","view","form","state","status","width","onBlur","onFocus","autoFocus","placeholder","leftSide","rightSide","autoComplete","withClearButton","incrementButtons","max","min","readOnly","required","step","tabIndex","ariaLabel","label","labelIcon","inputContainerRef","labelPosition","caption","iconSizeProp","iconSize","focused","onClick","onKeyDownProp","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","otherProps","focus","setFocus","passwordVisible","setPasswordVisuble","valueRef","onClickRef","onChangeRef","handleEyeClick","e","stopPropagation","toggle","current","LeftIcon","RightIcon","leftSideIsString","rightSideIsString","sortedSteps","handleChange","target","handleFocus","on","commonProps","handleBlur","off","toString","Eye","textareaProps","inputProps","Array","isArray","flag","preventDefault","handleClear","changeNumberValue","isIncrement","rootProps","selectionStart","length","withValue","position","TextField"],"sources":["../../../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import './TextField.css';\n\nimport { IconClear } from '@consta/icons/IconClear';\nimport { IconEye } from '@consta/icons/IconEye';\nimport { IconEyeClose } from '@consta/icons/IconEyeClose';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport { IconSelectOpen } from '@consta/icons/IconSelectOpen';\nimport React, { forwardRef, useCallback, useEffect } from 'react';\nimport TextAreaAutoSize from 'react-textarea-autosize';\n\nimport { useFlag } from '../../hooks/useFlag/useFlag';\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { useMutableRef } from '../../hooks/useMutableRef/useMutableRef';\nimport { useSortSteps } from '../../hooks/useSortSteps/useSortSteps';\nimport { cn } from '../../utils/bem';\nimport { getByMap } from '../../utils/getByMap';\nimport { isString } from '../../utils/type-guards';\nimport { usePropsHandler } from '../EventInterceptor/usePropsHandler';\nimport { FieldCaption } from '../FieldCaption/FieldCaption';\nimport { FieldLabel } from '../FieldLabel/FieldLabel';\nimport {\n getIncrementFlag,\n getTypeForRender,\n getValueByStep,\n sizeMap,\n} from './helpers';\nimport {\n TextFieldComponent,\n textFieldPropFormDefault,\n TextFieldProps,\n textFieldPropSizeDefault,\n textFieldPropViewDefault,\n textFieldPropWidthDefault,\n} from './types';\n\nexport const COMPONENT_NAME = 'TextField' as const;\nexport const cnTextField = cn(COMPONENT_NAME);\n\nexport const TextFieldRender = <TYPE extends string>(\n props: TextFieldProps<TYPE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const textFieldRef = React.useRef<HTMLDivElement>(null);\n const inputRef = React.useRef<HTMLInputElement | HTMLTextAreaElement>(null);\n\n const {\n className,\n type = 'text',\n value,\n onChange,\n id,\n name,\n rows,\n cols,\n minRows,\n maxRows,\n inputRef: inputRefProp,\n maxLength,\n disabled,\n size = textFieldPropSizeDefault,\n view = textFieldPropViewDefault,\n form = textFieldPropFormDefault,\n state,\n status,\n width = textFieldPropWidthDefault,\n onBlur,\n onFocus,\n autoFocus = false,\n placeholder,\n leftSide,\n rightSide,\n autoComplete,\n withClearButton,\n incrementButtons = true,\n max,\n min,\n readOnly,\n required,\n step = 1,\n tabIndex,\n ariaLabel,\n label,\n labelIcon,\n inputContainerRef,\n labelPosition = 'top',\n caption,\n iconSize: iconSizeProp,\n focused,\n onClick,\n // onkey props\n onKeyDown: onKeyDownProp,\n onKeyDownCapture,\n onKeyPress,\n onKeyPressCapture,\n onKeyUp,\n onKeyUpCapture,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, props, textFieldRef);\n const [focus, setFocus] = useFlag(autoFocus);\n const [passwordVisible, setPasswordVisuble] = useFlag(false);\n\n const valueRef = useMutableRef(value);\n const onClickRef = useMutableRef(onClick);\n const onChangeRef = useMutableRef(onChange);\n\n const handleEyeClick = useCallback(\n (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n e.stopPropagation();\n setPasswordVisuble.toggle();\n inputRef.current?.focus();\n },\n [],\n );\n\n const textarea = type === 'textarea';\n const LeftIcon = leftSide;\n const RightIcon = rightSide;\n const leftSideIsString = isString(leftSide);\n const rightSideIsString = isString(rightSide);\n const iconSize = getByMap(sizeMap, size, iconSizeProp);\n\n const sortedSteps = useSortSteps({\n step,\n min: Number(min),\n max: Number(max),\n });\n\n const handleChange: React.ChangeEventHandler<\n HTMLInputElement | HTMLTextAreaElement\n > = useCallback(\n (e) => {\n !disabled &&\n onChangeRef.current?.({ e, id, name, value: e.target.value || null });\n },\n [id, name, disabled],\n );\n\n const handleBlur: React.FocusEventHandler<HTMLElement> = (e) => {\n setFocus.off();\n onBlur?.(e);\n };\n\n const handleFocus: React.FocusEventHandler<HTMLElement> = (e) => {\n setFocus.on();\n onFocus?.(e);\n };\n\n const commonProps = {\n 'className': cnTextField('Input'),\n 'value': value ?? '',\n 'onChange': handleChange,\n maxLength,\n disabled,\n 'onBlur': handleBlur,\n 'onFocus': handleFocus,\n autoFocus,\n placeholder,\n autoComplete,\n readOnly,\n tabIndex,\n name,\n onKeyDownCapture,\n onKeyPress,\n onKeyPressCapture,\n onKeyUp,\n onKeyUpCapture,\n 'id': id ? id.toString() : '',\n 'aria-label': ariaLabel,\n };\n\n const Eye = passwordVisible ? IconEyeClose : IconEye;\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n const flag = getIncrementFlag(e);\n onKeyDownProp?.(e);\n if (type === 'number' && typeof flag === 'boolean' && !disabled) {\n e.preventDefault();\n onChangeRef.current?.({\n e,\n id,\n name,\n value: getValueByStep(sortedSteps, value, flag, min, max),\n });\n }\n };\n\n const textareaProps = {\n rows,\n cols,\n minRows: minRows || rows,\n maxRows: maxRows || rows,\n ref: useForkRef([inputRef, inputRefProp]) as (\n node: HTMLTextAreaElement,\n ) => void,\n };\n\n const inputProps = {\n type: getTypeForRender(type, passwordVisible),\n max,\n min,\n step: !Array.isArray(sortedSteps) ? sortedSteps : 0,\n onKeyDown,\n ref: useForkRef([\n inputRef,\n inputRefProp,\n ]) as React.RefCallback<HTMLInputElement>,\n };\n\n const handleClear = useCallback((e: React.MouseEvent<HTMLButtonElement>) => {\n onChangeRef.current?.({\n e,\n id,\n name,\n value: null,\n });\n }, []);\n\n const changeNumberValue = (\n e: React.MouseEvent<HTMLButtonElement>,\n isIncrement = true,\n ) => {\n onChangeRef.current?.({\n e,\n id,\n name,\n value: getValueByStep(sortedSteps, value, isIncrement, min, max),\n });\n };\n\n const rootProps = {\n onClick: useCallback((e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n inputRef.current?.focus();\n onClickRef.current?.(e);\n }, []),\n };\n\n // при смене passwordVible, перемещаем курсор в конец строки\n useEffect(() => {\n if (type === 'password' && inputRef.current) {\n inputRef.current.selectionStart = valueRef.current?.length || 0;\n }\n }, [passwordVisible]);\n\n return (\n <div\n className={cnTextField({ labelPosition, size, view, width }, [className])}\n ref={useForkRef([ref, textFieldRef])}\n {...rootProps}\n {...otherProps}\n >\n {label && (\n <FieldLabel\n as=\"label\"\n htmlFor={id?.toString()}\n icon={labelIcon}\n required={required}\n className={cnTextField('Label', { labelPosition })}\n size={size}\n >\n {label}\n </FieldLabel>\n )}\n <div className={cnTextField('Body')}>\n <div\n ref={inputContainerRef}\n className={cnTextField('InputContainer', {\n view,\n form,\n status: status || state,\n disabled,\n type,\n focus: focus || focused,\n withValue: !!value,\n })}\n >\n {LeftIcon && (\n <div\n className={cnTextField('Side', {\n position: 'left',\n type: leftSideIsString ? 'string' : 'icon',\n })}\n title={typeof leftSide === 'string' ? leftSide : undefined}\n >\n {leftSideIsString ? (\n leftSide\n ) : (\n <LeftIcon className={cnTextField('Icon')} size={iconSize} />\n )}\n </div>\n )}\n {textarea ? (\n <TextAreaAutoSize {...commonProps} {...textareaProps} />\n ) : (\n <input {...commonProps} {...inputProps} />\n )}\n\n {type === 'number' && incrementButtons && (\n <div className={cnTextField('Counter')}>\n <button\n onFocus={handleFocus}\n onClick={(e) => changeNumberValue(e, true)}\n type=\"button\"\n className={cnTextField('CounterButton')}\n >\n <IconSelectOpen size=\"xs\" />\n </button>\n <button\n onFocus={handleFocus}\n onClick={(e) => changeNumberValue(e, false)}\n type=\"button\"\n className={cnTextField('CounterButton')}\n >\n <IconSelect size=\"xs\" />\n </button>\n </div>\n )}\n\n {!!value && withClearButton && type !== 'number' && (\n <button\n type=\"button\"\n disabled={disabled}\n tabIndex={-1}\n onClick={handleClear}\n className={cnTextField('ClearButton')}\n >\n <IconClear\n size={sizeMap[size]}\n className={cnTextField('ClearButtonIcon')}\n />\n </button>\n )}\n\n {type === 'password' && !!value && (\n <button\n className={cnTextField('ClearButton')}\n type=\"button\"\n onClick={handleEyeClick}\n >\n <Eye className={cnTextField('Icon')} size={iconSize} />\n </button>\n )}\n\n {RightIcon && type !== 'number' && type !== 'password' && (\n <div\n className={cnTextField('Side', {\n position: 'right',\n type: rightSideIsString ? 'string' : 'icon',\n })}\n title={typeof rightSide === 'string' ? rightSide : undefined}\n >\n {rightSideIsString ? (\n rightSide\n ) : (\n <RightIcon className={cnTextField('Icon')} size={iconSize} />\n )}\n </div>\n )}\n </div>\n {caption && (\n <FieldCaption\n className={cnTextField('Caption')}\n status={status || state}\n >\n {caption}\n </FieldCaption>\n )}\n </div>\n </div>\n );\n};\n\nexport const TextField = forwardRef(TextFieldRender) as TextFieldComponent;\nexport * from './types';\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@consta/uikit",
3
- "version": "4.25.0",
3
+ "version": "4.26.1",
4
4
  "keywords": [
5
5
  "ui-kit",
6
6
  "design-system",