@consta/header 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Badges/Badges.js +1 -1
- package/Badges/Badges.js.map +1 -1
- package/ButtonMenu/ButtonMenu.css +1 -0
- package/ButtonMenu/ButtonMenu.d.ts +5 -0
- package/ButtonMenu/ButtonMenu.js +2 -0
- package/ButtonMenu/ButtonMenu.js.map +1 -0
- package/ButtonMenu/helpers.d.ts +43 -0
- package/ButtonMenu/helpers.js +2 -0
- package/ButtonMenu/helpers.js.map +1 -0
- package/ButtonMenu/index.d.ts +1 -0
- package/ButtonMenu/index.js +2 -0
- package/ButtonMenu/index.js.map +1 -0
- package/ButtonMenu/types.d.ts +38 -0
- package/ButtonMenu/types.js +2 -0
- package/ButtonMenu/types.js.map +1 -0
- package/Header/Header.css +1 -1
- package/Header/Header.js +1 -1
- package/Header/Header.js.map +1 -1
- package/Header/HeaderSearch/HeaderSearch.css +1 -0
- package/Header/HeaderSearch/HeaderSearch.d.ts +15 -0
- package/Header/HeaderSearch/HeaderSearch.js +2 -0
- package/Header/HeaderSearch/HeaderSearch.js.map +1 -0
- package/Header/HeaderSearch/index.d.ts +1 -0
- package/Header/HeaderSearch/index.js +2 -0
- package/Header/HeaderSearch/index.js.map +1 -0
- package/Header/helpers.d.ts +9 -0
- package/Header/helpers.js +2 -0
- package/Header/helpers.js.map +1 -0
- package/Header/types.d.ts +68 -5
- package/Header/types.js +1 -1
- package/Header/types.js.map +1 -1
- package/Languages/Languages.d.ts +3 -0
- package/Languages/Languages.js +2 -0
- package/Languages/Languages.js.map +1 -0
- package/Languages/helpers.d.ts +20 -0
- package/Languages/helpers.js +2 -0
- package/Languages/helpers.js.map +1 -0
- package/Languages/index.d.ts +1 -0
- package/Languages/index.js +2 -0
- package/Languages/index.js.map +1 -0
- package/Languages/types.d.ts +23 -0
- package/Languages/types.js +2 -0
- package/Languages/types.js.map +1 -0
- package/Menu/Menu.js +1 -1
- package/Menu/Menu.js.map +1 -1
- package/Menu/helpers.d.ts +17 -4
- package/Menu/helpers.js +1 -1
- package/Menu/helpers.js.map +1 -1
- package/MobileMenu/MobileMenu.js +1 -1
- package/MobileMenu/MobileMenu.js.map +1 -1
- package/MobileMenu/types.d.ts +5 -2
- package/MobileMenu/types.js +1 -1
- package/MobileMenu/types.js.map +1 -1
- package/Notifications/Notifications.js +1 -1
- package/Notifications/Notifications.js.map +1 -1
- package/SelectMenu/SelectMenu.css +1 -0
- package/SelectMenu/SelectMenu.d.ts +5 -0
- package/SelectMenu/SelectMenu.js +2 -0
- package/SelectMenu/SelectMenu.js.map +1 -0
- package/SelectMenu/helpers.d.ts +40 -0
- package/SelectMenu/helpers.js +2 -0
- package/SelectMenu/helpers.js.map +1 -0
- package/SelectMenu/index.d.ts +1 -0
- package/SelectMenu/index.js +2 -0
- package/SelectMenu/index.js.map +1 -0
- package/SelectMenu/types.d.ts +33 -0
- package/SelectMenu/types.js +2 -0
- package/SelectMenu/types.js.map +1 -0
- package/TileMenu/TileMenu.js +1 -1
- package/TileMenu/TileMenu.js.map +1 -1
- package/TileMenu/TileMenuList/TileMenuList.js +1 -1
- package/TileMenu/TileMenuList/TileMenuList.js.map +1 -1
- package/TileMenu/helpers.d.ts +3 -3
- package/TileMenu/helpers.js +1 -1
- package/TileMenu/helpers.js.map +1 -1
- package/TileMenu/types.d.ts +5 -5
- package/TileMenu/types.js.map +1 -1
- package/VerticalMenu/VerticalMenu.js +1 -1
- package/VerticalMenu/VerticalMenu.js.map +1 -1
- package/VerticalMenu/VerticalMenuItem/VerticalMenuItem.js +1 -1
- package/VerticalMenu/VerticalMenuItem/VerticalMenuItem.js.map +1 -1
- package/VerticalMenu/VerticalMenuLevel/VerticalMenuLevel.css +1 -1
- package/VerticalMenu/VerticalMenuLevel/VerticalMenuLevel.js +1 -1
- package/VerticalMenu/VerticalMenuLevel/VerticalMenuLevel.js.map +1 -1
- package/VerticalMenu/helpers.d.ts +6 -3
- package/VerticalMenu/helpers.js +1 -1
- package/VerticalMenu/helpers.js.map +1 -1
- package/VerticalMenu/types.d.ts +8 -0
- package/__private__/AnimatedContextMenu/AnimatedContextMenu.css +1 -1
- package/__private__/AnimatedContextMenu/AnimatedContextMenu.js +1 -1
- package/__private__/AnimatedContextMenu/AnimatedContextMenu.js.map +1 -1
- package/__private__/helpers/getItemClick.d.ts +7 -0
- package/__private__/helpers/getItemClick.js +2 -0
- package/__private__/helpers/getItemClick.js.map +1 -0
- package/package.json +2 -2
- package/__private__/hooks/useHideElementsLine.d.ts +0 -8
- package/__private__/hooks/useHideElementsLine.js +0 -2
- package/__private__/hooks/useHideElementsLine.js.map +0 -1
- package/__private__/mixs/MixPopoverAnimate/MixPopoverAnimate.css +0 -1
- package/__private__/mixs/MixPopoverAnimate/MixPopoverAnimate.d.ts +0 -4
- package/__private__/mixs/MixPopoverAnimate/MixPopoverAnimate.js +0 -2
- package/__private__/mixs/MixPopoverAnimate/MixPopoverAnimate.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import _jsx from"@babel/runtime/helpers/jsx";import _objectSpread from"@babel/runtime/helpers/objectSpread";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import React,{useRef,useCallback,forwardRef}from"react";import{cn}from"../__private__/utils/bem";import{withDefaultGetters}from"./helpers";import"./SelectMenu.css";import{Text}from"@consta/uikit/Text";import{IconSelect}from"@consta/uikit/IconSelect";import{useFlag}from"@consta/uikit/useFlag";import{useMutableRef}from"@consta/uikit/useMutableRef";import{useForkRef}from"@consta/uikit/useForkRef";import{AnimatedContextMenu}from"../__private__/AnimatedContextMenu/AnimatedContextMenu";export const cnSelectMenu=cn("SelectMenu");var _ref=_jsx(IconSelect,{size:"xs"});const SelectMenuRender=(a,b)=>{const c=withDefaultGetters(a),{items:d,className:e,getItemHref:f,getItemLabel:g,getItemOnClick:h,getItemTarget:i,onItemClick:j,label:k,onClick:l,getItemSubMenu:m,style:n}=c,o=_objectWithoutProperties(c,["items","className","getItemHref","getItemLabel","getItemOnClick","getItemTarget","onItemClick","label","onClick","getItemSubMenu","style"]),[p,q]=useFlag(),r=useRef(null),s=useMutableRef(f),t=useMutableRef(i),u=useMutableRef(l),v=useCallback(a=>s.current(a)?"a":"span",[]),w=useCallback(a=>{const b=s.current(a),c=t.current(a);return _objectSpread({},b&&{href:s.current(a)},c&&{href:t.current(a)})},[]),x=useCallback(a=>{var b;null===(b=u.current)||void 0===b?void 0:b.call(u,a),q.toogle()},[]);return React.createElement(React.Fragment,null,React.createElement("div",Object.assign({},o,{className:cnSelectMenu(null,[e]),ref:useForkRef([r,b]),onClick:x,style:n}),_jsx(Text,{className:cnSelectMenu("Label"),size:"s"},void 0,k),_jsx("span",{className:cnSelectMenu("ArrowBox",{open:p})},void 0,_ref)),d&&_jsx(AnimatedContextMenu,{className:cnSelectMenu("Menu"),anchorRef:r,isOpen:p,items:d,getLabel:g,getItemOnClick:h,getItemAs:v,getItemHTMLAttributes:w,onClickOutside:q.off,onItemClick:j,direction:"rightStartDown",possibleDirections:["downStartLeft","upStartLeft","downStartRight","upStartRight"],getSubItems:m,style:{zIndex:"number"==typeof(null===n||void 0===n?void 0:n.zIndex)?n.zIndex+1:"auto"}}))};export const SelectMenu=forwardRef(SelectMenuRender);export*from"./types";
|
|
2
|
+
//# sourceMappingURL=SelectMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/SelectMenu/SelectMenu.tsx"],"names":["React","useRef","useCallback","forwardRef","cn","withDefaultGetters","Text","IconSelect","useFlag","useMutableRef","useForkRef","AnimatedContextMenu","cnSelectMenu","SelectMenuRender","props","componentRef","items","className","getItemHref","getItemLabel","getItemOnClick","getItemTarget","onItemClick","label","onClick","onClickProp","getItemSubMenu","style","otherProps","open","setOpen","ref","getItemHrefRef","getItemTargetRef","onClickRef","getItemAs","item","current","getItemHTMLAttributes","href","target","e","toogle","off","zIndex","SelectMenu"],"mappings":"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","sourcesContent":["import React, { useRef, useCallback, forwardRef } from 'react'\n\nimport { cn } from '@/__private__/utils/bem'\n\nimport { withDefaultGetters } from './helpers'\nimport { SelectMenuComponent, SelectMenuProps, DefaultItem } from './types'\nimport './SelectMenu.css'\nimport { Text } from '@consta/uikit/Text'\nimport { IconSelect } from '@consta/uikit/IconSelect'\nimport { useFlag } from '@consta/uikit/useFlag'\nimport { useMutableRef } from '@consta/uikit/useMutableRef'\nimport { useForkRef } from '@consta/uikit/useForkRef'\nimport { AnimatedContextMenu } from '@/__private__/AnimatedContextMenu/AnimatedContextMenu'\n\nexport const cnSelectMenu = cn('SelectMenu')\n\nconst SelectMenuRender = (props: SelectMenuProps, componentRef: React.Ref<HTMLDivElement>) => {\n const {\n items,\n className,\n getItemHref,\n getItemLabel,\n getItemOnClick,\n getItemTarget,\n onItemClick,\n label,\n onClick: onClickProp,\n getItemSubMenu,\n style,\n ...otherProps\n } = withDefaultGetters(props)\n\n const [open, setOpen] = useFlag()\n\n const ref = useRef<HTMLDivElement>(null)\n\n const getItemHrefRef = useMutableRef(getItemHref)\n const getItemTargetRef = useMutableRef(getItemTarget)\n const onClickRef = useMutableRef(onClickProp)\n\n const getItemAs = useCallback((item: DefaultItem) => {\n if (!!getItemHrefRef.current(item)) {\n return 'a'\n }\n return 'span'\n }, [])\n\n const getItemHTMLAttributes = useCallback((item: DefaultItem) => {\n const href = getItemHrefRef.current(item)\n const target = getItemTargetRef.current(item)\n\n return {\n ...(href && { href: getItemHrefRef.current(item) }),\n ...(target && { href: getItemTargetRef.current(item) }),\n }\n }, [])\n\n const onClick = useCallback((e: React.MouseEvent<HTMLDivElement>) => {\n onClickRef.current?.(e)\n setOpen.toogle()\n }, [])\n\n return (\n <>\n <div\n {...otherProps}\n className={cnSelectMenu(null, [className])}\n ref={useForkRef([ref, componentRef])}\n onClick={onClick}\n style={style}\n >\n <Text className={cnSelectMenu('Label')} size=\"s\">\n {label}\n </Text>\n <span className={cnSelectMenu('ArrowBox', { open })}>\n <IconSelect size=\"xs\" />\n </span>\n </div>\n {items && (\n <AnimatedContextMenu\n className={cnSelectMenu('Menu')}\n anchorRef={ref}\n isOpen={open}\n items={items}\n getLabel={getItemLabel}\n getItemOnClick={getItemOnClick}\n getItemAs={getItemAs}\n getItemHTMLAttributes={getItemHTMLAttributes}\n onClickOutside={setOpen.off}\n onItemClick={onItemClick}\n direction=\"rightStartDown\"\n possibleDirections={['downStartLeft', 'upStartLeft', 'downStartRight', 'upStartRight']}\n getSubItems={getItemSubMenu}\n style={{ zIndex: typeof style?.zIndex === 'number' ? style.zIndex + 1 : 'auto' }}\n />\n )}\n </>\n )\n}\n\nexport const SelectMenu = forwardRef(SelectMenuRender) as SelectMenuComponent\n\nexport * from './types'\n"],"file":"SelectMenu.js"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { DefaultItem, SelectMenuProps, SelectMenuPropGetItemHref, SelectMenuPropGetItemLabel, SelectMenuPropGetItemOnClick, SelectMenuPropGetItemTarget, SelectMenuPropGetItemSubMenu } from "./types";
|
|
3
|
+
export declare const defaultGetItemLabel: SelectMenuPropGetItemLabel<DefaultItem>;
|
|
4
|
+
export declare const defaultGetItemHref: SelectMenuPropGetItemHref<DefaultItem>;
|
|
5
|
+
export declare const defaultGetItemOnClick: SelectMenuPropGetItemOnClick<DefaultItem>;
|
|
6
|
+
export declare const defaultGetItemTarget: SelectMenuPropGetItemTarget<DefaultItem>;
|
|
7
|
+
export declare const defaultGetItemSubMenu: SelectMenuPropGetItemSubMenu<DefaultItem>;
|
|
8
|
+
export declare const getGetters: <ITEM>(props: {
|
|
9
|
+
getItemLabel?: SelectMenuPropGetItemLabel<ITEM> | undefined;
|
|
10
|
+
getItemHref?: SelectMenuPropGetItemHref<ITEM> | undefined;
|
|
11
|
+
getItemOnClick?: SelectMenuPropGetItemOnClick<ITEM> | undefined;
|
|
12
|
+
getItemTarget?: SelectMenuPropGetItemTarget<ITEM> | undefined;
|
|
13
|
+
getItemSubMenu?: SelectMenuPropGetItemSubMenu<ITEM> | undefined;
|
|
14
|
+
}) => {
|
|
15
|
+
getItemLabel: SelectMenuPropGetItemLabel<DefaultItem> | SelectMenuPropGetItemLabel<ITEM>;
|
|
16
|
+
getItemHref: SelectMenuPropGetItemHref<DefaultItem> | SelectMenuPropGetItemHref<ITEM>;
|
|
17
|
+
getItemOnClick: SelectMenuPropGetItemOnClick<DefaultItem> | SelectMenuPropGetItemOnClick<ITEM>;
|
|
18
|
+
getItemTarget: SelectMenuPropGetItemTarget<DefaultItem> | SelectMenuPropGetItemTarget<ITEM>;
|
|
19
|
+
getItemSubMenu: SelectMenuPropGetItemSubMenu<DefaultItem> | SelectMenuPropGetItemSubMenu<ITEM>;
|
|
20
|
+
};
|
|
21
|
+
export declare function withDefaultGetters<ITEM>(props: SelectMenuProps<ITEM>): {
|
|
22
|
+
items: ITEM[];
|
|
23
|
+
onItemClick?: import("./types").SelectMenuPropOnItemClick<ITEM> | undefined;
|
|
24
|
+
getItemHref?: SelectMenuPropGetItemHref<ITEM> | undefined;
|
|
25
|
+
getItemLabel?: SelectMenuPropGetItemLabel<ITEM> | undefined;
|
|
26
|
+
getItemTarget?: SelectMenuPropGetItemTarget<ITEM> | undefined;
|
|
27
|
+
getItemOnClick?: SelectMenuPropGetItemOnClick<ITEM> | undefined;
|
|
28
|
+
getItemSubMenu?: SelectMenuPropGetItemSubMenu<ITEM> | undefined;
|
|
29
|
+
label: string;
|
|
30
|
+
} & Pick<import("react").HTMLAttributes<HTMLDivElement>, "hidden" | "dir" | "slot" | "style" | "title" | "color" | "children" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & import("react").RefAttributes<HTMLDivElement> & (ITEM extends {
|
|
31
|
+
label: string;
|
|
32
|
+
} ? {} : {
|
|
33
|
+
getItemLabel: SelectMenuPropGetItemLabel<ITEM>;
|
|
34
|
+
}) & {
|
|
35
|
+
getItemLabel: SelectMenuPropGetItemLabel<DefaultItem> | SelectMenuPropGetItemLabel<ITEM>;
|
|
36
|
+
getItemHref: SelectMenuPropGetItemHref<DefaultItem> | SelectMenuPropGetItemHref<ITEM>;
|
|
37
|
+
getItemOnClick: SelectMenuPropGetItemOnClick<DefaultItem> | SelectMenuPropGetItemOnClick<ITEM>;
|
|
38
|
+
getItemTarget: SelectMenuPropGetItemTarget<DefaultItem> | SelectMenuPropGetItemTarget<ITEM>;
|
|
39
|
+
getItemSubMenu: SelectMenuPropGetItemSubMenu<DefaultItem> | SelectMenuPropGetItemSubMenu<ITEM>;
|
|
40
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import _objectSpread from"@babel/runtime/helpers/objectSpread";export const defaultGetItemLabel=a=>a.label;export const defaultGetItemHref=a=>a.href;export const defaultGetItemOnClick=a=>a.onClick;export const defaultGetItemTarget=a=>a.target;export const defaultGetItemSubMenu=a=>a.subMenu;export const getGetters=a=>({getItemLabel:a.getItemLabel||defaultGetItemLabel,getItemHref:a.getItemHref||defaultGetItemHref,getItemOnClick:a.getItemOnClick||defaultGetItemOnClick,getItemTarget:a.getItemTarget||defaultGetItemTarget,getItemSubMenu:a.getItemSubMenu||defaultGetItemSubMenu});export function withDefaultGetters(a){return _objectSpread({},a,getGetters(a))}
|
|
2
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/SelectMenu/helpers.ts"],"names":["defaultGetItemLabel","item","label","defaultGetItemHref","href","defaultGetItemOnClick","onClick","defaultGetItemTarget","target","defaultGetItemSubMenu","subMenu","getGetters","props","getItemLabel","getItemHref","getItemOnClick","getItemTarget","getItemSubMenu","withDefaultGetters"],"mappings":"+DAUA,MAAO,MAAMA,CAAAA,mBAA4D,CAAGC,CAAI,EAAIA,CAAI,CAACC,KAAlF,CACP,MAAO,MAAMC,CAAAA,kBAA0D,CAAGF,CAAI,EAAIA,CAAI,CAACG,IAAhF,CACP,MAAO,MAAMC,CAAAA,qBAAgE,CAAGJ,CAAI,EAAIA,CAAI,CAACK,OAAtF,CACP,MAAO,MAAMC,CAAAA,oBAA8D,CAAGN,CAAI,EAAIA,CAAI,CAACO,MAApF,CACP,MAAO,MAAMC,CAAAA,qBAAgE,CAAGR,CAAI,EAAIA,CAAI,CAACS,OAAtF,CAEP,MAAO,MAAMC,CAAAA,UAAU,CAAUC,CAAP,GAOjB,CACLC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBb,mBAD/B,CAELc,WAAW,CAAEF,CAAK,CAACE,WAAN,EAAqBX,kBAF7B,CAGLY,cAAc,CAAEH,CAAK,CAACG,cAAN,EAAwBV,qBAHnC,CAILW,aAAa,CAAEJ,CAAK,CAACI,aAAN,EAAuBT,oBAJjC,CAKLU,cAAc,CAAEL,CAAK,CAACK,cAAN,EAAwBR,qBALnC,CAPiB,CAAnB,CAgBP,MAAO,SAASS,CAAAA,kBAAT,CAAkCN,CAAlC,CAAgE,CACrE,wBACKA,CADL,CAEKD,UAAU,CAACC,CAAD,CAFf,CAID","sourcesContent":["import {\n DefaultItem,\n SelectMenuProps,\n SelectMenuPropGetItemHref,\n SelectMenuPropGetItemLabel,\n SelectMenuPropGetItemOnClick,\n SelectMenuPropGetItemTarget,\n SelectMenuPropGetItemSubMenu,\n} from './types'\n\nexport const defaultGetItemLabel: SelectMenuPropGetItemLabel<DefaultItem> = item => item.label\nexport const defaultGetItemHref: SelectMenuPropGetItemHref<DefaultItem> = item => item.href\nexport const defaultGetItemOnClick: SelectMenuPropGetItemOnClick<DefaultItem> = item => item.onClick\nexport const defaultGetItemTarget: SelectMenuPropGetItemTarget<DefaultItem> = item => item.target\nexport const defaultGetItemSubMenu: SelectMenuPropGetItemSubMenu<DefaultItem> = item => item.subMenu\n\nexport const getGetters = <ITEM>(props: {\n getItemLabel?: SelectMenuPropGetItemLabel<ITEM>\n getItemHref?: SelectMenuPropGetItemHref<ITEM>\n getItemOnClick?: SelectMenuPropGetItemOnClick<ITEM>\n getItemTarget?: SelectMenuPropGetItemTarget<ITEM>\n getItemSubMenu?: SelectMenuPropGetItemSubMenu<ITEM>\n}) => {\n return {\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemHref: props.getItemHref || defaultGetItemHref,\n getItemOnClick: props.getItemOnClick || defaultGetItemOnClick,\n getItemTarget: props.getItemTarget || defaultGetItemTarget,\n getItemSubMenu: props.getItemSubMenu || defaultGetItemSubMenu,\n }\n}\n\nexport function withDefaultGetters<ITEM>(props: SelectMenuProps<ITEM>) {\n return {\n ...props,\n ...getGetters(props),\n }\n}\n"],"file":"helpers.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./SelectMenu";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/SelectMenu/index.ts"],"names":[],"mappings":"AAAA","sourcesContent":["export * from './SelectMenu'\n"],"file":"index.js"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { PropsWithHTMLAttributesAndRef } from "../__private__/utils/types/PropsWithHTMLAttributes";
|
|
3
|
+
export declare type DefaultItem = {
|
|
4
|
+
label: string;
|
|
5
|
+
href?: string;
|
|
6
|
+
target?: string;
|
|
7
|
+
onClick?: React.EventHandler<React.MouseEvent>;
|
|
8
|
+
subMenu?: DefaultItem[];
|
|
9
|
+
};
|
|
10
|
+
export declare type SelectMenuPropGetItemLabel<ITEM> = (item: ITEM) => string;
|
|
11
|
+
export declare type SelectMenuPropGetItemHref<ITEM> = (item: ITEM) => string | undefined;
|
|
12
|
+
export declare type SelectMenuPropGetItemTarget<ITEM> = (item: ITEM) => string | undefined;
|
|
13
|
+
export declare type SelectMenuPropGetItemOnClick<ITEM> = (item: ITEM) => React.EventHandler<React.MouseEvent> | undefined;
|
|
14
|
+
export declare type SelectMenuPropOnItemClick<ITEM> = (props: {
|
|
15
|
+
e: React.MouseEvent;
|
|
16
|
+
item: ITEM;
|
|
17
|
+
}) => void;
|
|
18
|
+
export declare type SelectMenuPropGetItemSubMenu<ITEM> = (item: ITEM) => ITEM[] | undefined;
|
|
19
|
+
export declare type SelectMenuProps<ITEM = DefaultItem> = PropsWithHTMLAttributesAndRef<{
|
|
20
|
+
items: ITEM[];
|
|
21
|
+
onItemClick?: SelectMenuPropOnItemClick<ITEM>;
|
|
22
|
+
getItemHref?: SelectMenuPropGetItemHref<ITEM>;
|
|
23
|
+
getItemLabel?: SelectMenuPropGetItemLabel<ITEM>;
|
|
24
|
+
getItemTarget?: SelectMenuPropGetItemTarget<ITEM>;
|
|
25
|
+
getItemOnClick?: SelectMenuPropGetItemOnClick<ITEM>;
|
|
26
|
+
getItemSubMenu?: SelectMenuPropGetItemSubMenu<ITEM>;
|
|
27
|
+
label: string;
|
|
28
|
+
}, HTMLDivElement> & (ITEM extends {
|
|
29
|
+
label: DefaultItem['label'];
|
|
30
|
+
} ? {} : {
|
|
31
|
+
getItemLabel: SelectMenuPropGetItemLabel<ITEM>;
|
|
32
|
+
});
|
|
33
|
+
export declare type SelectMenuComponent = <ITEM = DefaultItem>(props: SelectMenuProps<ITEM>) => React.ReactElement | null;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"types.js"}
|
package/TileMenu/TileMenu.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _jsx from"@babel/runtime/helpers/jsx";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import React,{forwardRef,useRef,useState
|
|
1
|
+
import _jsx from"@babel/runtime/helpers/jsx";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import React,{forwardRef,useRef,useState}from"react";import{cn}from"../__private__/utils/bem";import{IconBento}from"@consta/uikit/IconBento";import{Button}from"@consta/uikit/Button";import{Transition}from"react-transition-group";import{useFlag}from"@consta/uikit/useFlag";import{useForkRef}from"@consta/uikit/useForkRef";import{Popover}from"@consta/uikit/Popover";import{cnMixPopoverArrow}from"../__private__/mixs/MixPopoverArrow/MixPopoverArrow";import{Sidebar}from"../__private__/components/Sidebar";import{tileMenuPropViewDefault}from"./types";import{cnMixPopoverAnimate,animateTimeout}from"@consta/uikit/MixPopoverAnimate";import{TileMenuList}from"./TileMenuList/TileMenuList";import"./TileMenu.css";export const cnTileMenu=cn("TileMenu");const ARROW_SIZE=6,ARROW_OFFSET=10;function TileMenuRender(a,b){var c;const{view:p=tileMenuPropViewDefault,items:d,isMobile:e,className:f,children:g,listClassName:h,getItemDescription:i,getItemHref:j,getItemImage:k,getItemOnClick:l,getItemLabel:m,title:n,onItemClick:o}=a,q=_objectWithoutProperties(a,["view","items","isMobile","className","children","listClassName","getItemDescription","getItemHref","getItemImage","getItemOnClick","getItemLabel","title","onItemClick"]),r=useRef(null),[s,t]=useState(void 0),[u,{toogle:v,off:w}]=useFlag(),x={className:h,getItemDescription:i,getItemHref:j,getItemImage:k,getItemOnClick:l,getItemLabel:m,items:d,view:p,onItemClick:o},y="number"==typeof(null===(c=a.style)||void 0===c?void 0:c.zIndex)?a.style.zIndex+1:void 0;return React.createElement(React.Fragment,null,React.createElement(Button,Object.assign({},q,{size:"s",view:"clear",className:cnTileMenu(null,[f]),iconLeft:IconBento,ref:useForkRef([b,r]),onClick:v})),e?_jsx(Sidebar,{isOpen:u,onClickOutside:w,onClose:w,title:n,style:{zIndex:y}},void 0,React.createElement(TileMenuList,x)):_jsx(Transition,{timeout:animateTimeout,unmountOnExit:!0,in:u},void 0,a=>_jsx(Popover,{className:cnTileMenu("Popover",{view:p},[cnMixPopoverAnimate({animate:a,direction:s})]),anchorRef:r,arrowOffset:ARROW_OFFSET+ARROW_SIZE,offset:10,onSetDirection:t,style:{"--popover-arrow-size":`${ARROW_SIZE}px`,"--popover-arrow-offset":`${ARROW_OFFSET}px`,zIndex:y},onClickOutside:w},void 0,_jsx("div",{className:cnMixPopoverArrow({direction:s})}),_jsx("div",{className:cnTileMenu("ListWrapper")},void 0,React.createElement(TileMenuList,x)))))}export const TileMenu=forwardRef(TileMenuRender);export*from"./types";
|
|
2
2
|
//# sourceMappingURL=TileMenu.js.map
|
package/TileMenu/TileMenu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/TileMenu/TileMenu.tsx"],"names":["React","forwardRef","useRef","useState","
|
|
1
|
+
{"version":3,"sources":["../../src/TileMenu/TileMenu.tsx"],"names":["React","forwardRef","useRef","useState","cn","IconBento","Button","Transition","useFlag","useForkRef","Popover","cnMixPopoverArrow","Sidebar","tileMenuPropViewDefault","cnMixPopoverAnimate","animateTimeout","TileMenuList","cnTileMenu","ARROW_SIZE","ARROW_OFFSET","TileMenuRender","props","ref","view","items","isMobile","className","children","listClassName","getItemDescription","getItemHref","getItemImage","getItemOnClick","getItemLabel","title","onItemClick","otherProps","buttonRef","direction","setDirection","visibleMenu","toogle","off","listProps","elementZIndex","style","zIndex","animate","TileMenu"],"mappings":"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","sourcesContent":["import React, { forwardRef, useRef, useState } from 'react'\n\nimport { cn } from '@/__private__/utils/bem'\nimport { IconBento } from '@consta/uikit/IconBento'\nimport { Button } from '@consta/uikit/Button'\nimport { Transition } from 'react-transition-group'\nimport { useFlag } from '@consta/uikit/useFlag'\nimport { useForkRef } from '@consta/uikit/useForkRef'\nimport { Popover, Direction } from '@consta/uikit/Popover'\nimport { cnMixPopoverArrow } from '@/__private__/mixs/MixPopoverArrow/MixPopoverArrow'\nimport { Sidebar } from '@/__private__/components/Sidebar'\nimport { TileMenuProps, tileMenuPropViewDefault, TileMenuComponent } from './types'\nimport { cnMixPopoverAnimate, animateTimeout } from '@consta/uikit/MixPopoverAnimate'\n\nimport { TileMenuList } from './TileMenuList/TileMenuList'\n\nimport './TileMenu.css'\n\nexport const cnTileMenu = cn('TileMenu')\n\nconst ARROW_SIZE = 6\nconst ARROW_OFFSET = 10\n\nfunction TileMenuRender(props: TileMenuProps, ref: React.Ref<HTMLButtonElement>) {\n const {\n view = tileMenuPropViewDefault,\n items,\n isMobile,\n className,\n children,\n listClassName,\n getItemDescription,\n getItemHref,\n getItemImage,\n getItemOnClick,\n getItemLabel,\n title,\n onItemClick,\n ...otherProps\n } = props\n\n const buttonRef = useRef<HTMLButtonElement>(null)\n\n const [direction, setDirection] = useState<Direction | undefined>(undefined)\n\n const [visibleMenu, { toogle, off }] = useFlag()\n\n const listProps = {\n className: listClassName,\n getItemDescription,\n getItemHref,\n getItemImage,\n getItemOnClick,\n getItemLabel,\n items,\n view,\n onItemClick,\n }\n\n const elementZIndex = typeof props.style?.zIndex === 'number' ? props.style.zIndex + 1 : undefined\n\n return (\n <>\n <Button\n {...otherProps}\n size=\"s\"\n view=\"clear\"\n className={cnTileMenu(null, [className])}\n iconLeft={IconBento}\n ref={useForkRef([ref, buttonRef])}\n onClick={toogle}\n />\n {isMobile ? (\n <Sidebar\n isOpen={visibleMenu}\n onClickOutside={off}\n onClose={off}\n title={title}\n style={{ zIndex: elementZIndex }}\n >\n <TileMenuList {...listProps} />\n </Sidebar>\n ) : (\n <Transition timeout={animateTimeout} unmountOnExit in={visibleMenu}>\n {animate => (\n <Popover\n className={cnTileMenu('Popover', { view }, [\n cnMixPopoverAnimate({ animate, direction }),\n ])}\n anchorRef={buttonRef}\n arrowOffset={ARROW_OFFSET + ARROW_SIZE}\n offset={ARROW_SIZE + 4}\n onSetDirection={setDirection}\n style={{\n ['--popover-arrow-size' as string]: `${ARROW_SIZE}px`,\n ['--popover-arrow-offset' as string]: `${ARROW_OFFSET}px`,\n zIndex: elementZIndex,\n }}\n onClickOutside={off}\n >\n <div className={cnMixPopoverArrow({ direction })} />\n <div className={cnTileMenu('ListWrapper')}>\n <TileMenuList {...listProps} />\n </div>\n </Popover>\n )}\n </Transition>\n )}\n </>\n )\n}\n\nexport const TileMenu = forwardRef(TileMenuRender) as TileMenuComponent\n\nexport * from './types'\n"],"file":"TileMenu.js"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _jsx from"@babel/runtime/helpers/jsx";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import React from"react";import{cn}from"../../__private__/utils/bem";import{withDefaultGetters}from"../helpers";import{TileMenuItem}from"../TileMenuItem/TileMenuItem";import{getByMap}from"@consta/uikit/__internal__/src/utils/getByMap";import{cnMixSpace}from"@consta/uikit/MixSpace";import"./TileMenuList.css";export const cnTileMenuList=cn("TileMenuList");const itemViewMap={lines:"line",twoLines:"line",cards:"card"};export const TileMenuList=a=>{const b=withDefaultGetters(a),{items:c,view:l="lines",className:d,children:e,getItemDescription:f,getItemImage:g,
|
|
1
|
+
import _jsx from"@babel/runtime/helpers/jsx";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import React from"react";import{cn}from"../../__private__/utils/bem";import{withDefaultGetters}from"../helpers";import{TileMenuItem}from"../TileMenuItem/TileMenuItem";import{getByMap}from"@consta/uikit/__internal__/src/utils/getByMap";import{cnMixSpace}from"@consta/uikit/MixSpace";import"./TileMenuList.css";export const cnTileMenuList=cn("TileMenuList");const itemViewMap={lines:"line",twoLines:"line",cards:"card"};export const TileMenuList=a=>{const b=withDefaultGetters(a),{items:c,view:l="lines",className:d,children:e,getItemDescription:f,getItemImage:g,getItemLabel:h,getItemHref:i,getItemOnClick:j,onItemClick:k}=b,m=_objectWithoutProperties(b,["items","view","className","children","getItemDescription","getItemImage","getItemLabel","getItemHref","getItemOnClick","onItemClick"]);return React.createElement("div",Object.assign({},m,{className:cnTileMenuList({view:l},[cnMixSpace({p:"xl"}),d])}),c.map((a,b)=>_jsx(TileMenuItem,{className:cnTileMenuList("Item"),view:getByMap(itemViewMap,l),image:g(a),title:h(a),description:f(a),href:i(a),onClick:b=>{var c;null===k||void 0===k?void 0:k({item:a,e:b}),null===(c=j(a))||void 0===c?void 0:c(b)},as:"a"},cnTileMenuList("Item",{index:b}))))};
|
|
2
2
|
//# sourceMappingURL=TileMenuList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/TileMenu/TileMenuList/TileMenuList.tsx"],"names":["React","cn","withDefaultGetters","TileMenuItem","getByMap","cnMixSpace","cnTileMenuList","itemViewMap","lines","twoLines","cards","TileMenuList","props","items","view","className","children","getItemDescription","getItemImage","
|
|
1
|
+
{"version":3,"sources":["../../../src/TileMenu/TileMenuList/TileMenuList.tsx"],"names":["React","cn","withDefaultGetters","TileMenuItem","getByMap","cnMixSpace","cnTileMenuList","itemViewMap","lines","twoLines","cards","TileMenuList","props","items","view","className","children","getItemDescription","getItemImage","getItemLabel","getItemHref","getItemOnClick","onItemClick","otherProps","p","map","item","index","e"],"mappings":"kIAAA,MAAOA,CAAAA,KAAP,KAAkB,OAAlB,CAEA,OAASC,EAAT,mCAEA,OAASC,kBAAT,kBAEA,OAASC,YAAT,oCACA,OAASC,QAAT,KAAyB,+CAAzB,CACA,OAASC,UAAT,KAA2B,wBAA3B,CAEA,2BAEA,MAAO,MAAMC,CAAAA,cAAc,CAAGL,EAAE,CAAC,cAAD,CAAzB,CAEP,KAAMM,CAAAA,WAAW,CAAG,CAClBC,KAAK,CAAE,MADW,CAElBC,QAAQ,CAAE,MAFQ,CAGlBC,KAAK,CAAE,MAHW,CAApB,CAMA,MAAO,MAAMC,CAAAA,YAAY,CAAKC,CAAD,EAA8B,CACzD,QAYIV,kBAAkB,CAACU,CAAD,CAZtB,CAAM,CACJC,KAAK,CAALA,CADI,CAEJC,IAAI,CAAJA,CAAI,CAAG,OAFH,CAGJC,SAAS,CAATA,CAHI,CAIJC,QAAQ,CAARA,CAJI,CAKJC,kBAAkB,CAAlBA,CALI,CAMJC,YAAY,CAAZA,CANI,CAOJC,YAAY,CAAZA,CAPI,CAQJC,WAAW,CAAXA,CARI,CASJC,cAAc,CAAdA,CATI,CAUJC,WAAW,CAAXA,CAVI,CAAN,GAWKC,CAXL,qKAcA,MACE,4CAASA,CAAT,EAAqB,SAAS,CAAEjB,cAAc,CAAC,CAAEQ,IAAI,CAAJA,CAAF,CAAD,CAAW,CAACT,UAAU,CAAC,CAAEmB,CAAC,CAAE,IAAL,CAAD,CAAX,CAA0BT,CAA1B,CAAX,CAA9C,GACGF,CAAK,CAACY,GAAN,CAAU,CAACC,CAAD,CAAOC,CAAP,GAEP,KAAC,YAAD,EACE,SAAS,CAAErB,cAAc,CAAC,MAAD,CAD3B,CAGE,IAAI,CAAEF,QAAQ,CAACG,WAAD,CAAcO,CAAd,CAHhB,CAIE,KAAK,CAAEI,CAAY,CAACQ,CAAD,CAJrB,CAKE,KAAK,CAAEP,CAAY,CAACO,CAAD,CALrB,CAME,WAAW,CAAET,CAAkB,CAACS,CAAD,CANjC,CAOE,IAAI,CAAEN,CAAW,CAACM,CAAD,CAPnB,CAQE,OAAO,CAAEE,CAAC,EAAI,cACZN,CADY,WACZA,CADY,QACZA,CAAW,CAAG,CAAEI,IAAI,CAAJA,CAAF,CAAQE,CAAC,CAADA,CAAR,CAAH,CADC,WAEZP,CAAc,CAACK,CAAD,CAFF,qBAEZ,EAAuBE,CAAvB,CACD,CAXH,CAYE,EAAE,CAAC,GAZL,EAEOtB,cAAc,CAAC,MAAD,CAAS,CAAEqB,KAAK,CAALA,CAAF,CAAT,CAFrB,CAFH,CADH,CAqBH,CArCM","sourcesContent":["import React from 'react'\n\nimport { cn } from '@/__private__/utils/bem'\nimport { TileMenuListComponent, TileMenuListProps } from '../types'\nimport { withDefaultGetters } from '../helpers'\n\nimport { TileMenuItem } from '../TileMenuItem/TileMenuItem'\nimport { getByMap } from '@consta/uikit/__internal__/src/utils/getByMap'\nimport { cnMixSpace } from '@consta/uikit/MixSpace'\n\nimport './TileMenuList.css'\n\nexport const cnTileMenuList = cn('TileMenuList')\n\nconst itemViewMap = {\n lines: 'line',\n twoLines: 'line',\n cards: 'card',\n} as const\n\nexport const TileMenuList = ((props: TileMenuListProps) => {\n const {\n items,\n view = 'lines',\n className,\n children,\n getItemDescription,\n getItemImage,\n getItemLabel,\n getItemHref,\n getItemOnClick,\n onItemClick,\n ...otherProps\n } = withDefaultGetters(props)\n\n return (\n <div {...otherProps} className={cnTileMenuList({ view }, [cnMixSpace({ p: 'xl' }), className])}>\n {items.map((item, index) => {\n return (\n <TileMenuItem\n className={cnTileMenuList('Item')}\n key={cnTileMenuList('Item', { index })}\n view={getByMap(itemViewMap, view)}\n image={getItemImage(item)}\n title={getItemLabel(item)}\n description={getItemDescription(item)}\n href={getItemHref(item)}\n onClick={e => {\n onItemClick?.({ item, e })\n getItemOnClick(item)?.(e)\n }}\n as=\"a\"\n />\n )\n })}\n </div>\n )\n}) as TileMenuListComponent\n"],"file":"TileMenuList.js"}
|
package/TileMenu/helpers.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { TileMenuPropGetItemDescription, TileMenuPropGetItemImage,
|
|
2
|
+
import { TileMenuPropGetItemDescription, TileMenuPropGetItemImage, TileMenuPropGetItemLabel, DefaultItem, TileMenuListProps, TileMenuPropGetItemHref, TileMenuPropGetItemOnClick } from "./types";
|
|
3
3
|
export declare const defaultGetItemImage: TileMenuPropGetItemImage<DefaultItem>;
|
|
4
|
-
export declare const
|
|
4
|
+
export declare const defaultGetItemLabel: TileMenuPropGetItemLabel<DefaultItem>;
|
|
5
5
|
export declare const defaultGetItemHref: TileMenuPropGetItemHref<DefaultItem>;
|
|
6
6
|
export declare const defaultGetItemOnClick: TileMenuPropGetItemOnClick<DefaultItem>;
|
|
7
7
|
export declare const defaultGetItemDescription: TileMenuPropGetItemDescription<DefaultItem>;
|
|
8
8
|
export declare function withDefaultGetters<ITEM>(props: TileMenuListProps<ITEM>): {
|
|
9
9
|
getItemDescription: TileMenuPropGetItemDescription<DefaultItem> | TileMenuPropGetItemDescription<ITEM>;
|
|
10
|
-
|
|
10
|
+
getItemLabel: TileMenuPropGetItemLabel<DefaultItem> | TileMenuPropGetItemLabel<ITEM>;
|
|
11
11
|
getItemImage: TileMenuPropGetItemImage<DefaultItem> | TileMenuPropGetItemImage<ITEM>;
|
|
12
12
|
getItemHref: TileMenuPropGetItemHref<DefaultItem> | TileMenuPropGetItemHref<ITEM>;
|
|
13
13
|
getItemOnClick: TileMenuPropGetItemOnClick<DefaultItem> | TileMenuPropGetItemOnClick<ITEM>;
|
package/TileMenu/helpers.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _objectSpread from"@babel/runtime/helpers/objectSpread";export const defaultGetItemImage=a=>a.image;export const
|
|
1
|
+
import _objectSpread from"@babel/runtime/helpers/objectSpread";export const defaultGetItemImage=a=>a.image;export const defaultGetItemLabel=a=>a.label;export const defaultGetItemHref=a=>a.href;export const defaultGetItemOnClick=a=>a.onClick;export const defaultGetItemDescription=a=>a.description;export function withDefaultGetters(a){return _objectSpread({},a,{getItemDescription:a.getItemDescription||defaultGetItemDescription,getItemLabel:a.getItemLabel||defaultGetItemLabel,getItemImage:a.getItemImage||defaultGetItemImage,getItemHref:a.getItemHref||defaultGetItemHref,getItemOnClick:a.getItemOnClick||defaultGetItemOnClick})}
|
|
2
2
|
//# sourceMappingURL=helpers.js.map
|
package/TileMenu/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/TileMenu/helpers.ts"],"names":["defaultGetItemImage","item","image","
|
|
1
|
+
{"version":3,"sources":["../../src/TileMenu/helpers.ts"],"names":["defaultGetItemImage","item","image","defaultGetItemLabel","label","defaultGetItemHref","href","defaultGetItemOnClick","onClick","defaultGetItemDescription","description","withDefaultGetters","props","getItemDescription","getItemLabel","getItemImage","getItemHref","getItemOnClick"],"mappings":"+DAUA,MAAO,MAAMA,CAAAA,mBAA0D,CAAGC,CAAI,EAAIA,CAAI,CAACC,KAAhF,CACP,MAAO,MAAMC,CAAAA,mBAA0D,CAAGF,CAAI,EAAIA,CAAI,CAACG,KAAhF,CACP,MAAO,MAAMC,CAAAA,kBAAwD,CAAGJ,CAAI,EAAIA,CAAI,CAACK,IAA9E,CACP,MAAO,MAAMC,CAAAA,qBAA8D,CAAGN,CAAI,EAAIA,CAAI,CAACO,OAApF,CACP,MAAO,MAAMC,CAAAA,yBAAsE,CAAGR,CAAI,EACxFA,CAAI,CAACS,WADA,CAGP,MAAO,SAASC,CAAAA,kBAAT,CAAkCC,CAAlC,CAAkE,CACvE,wBACKA,CADL,EAEEC,kBAAkB,CAAED,CAAK,CAACC,kBAAN,EAA4BJ,yBAFlD,CAGEK,YAAY,CAAEF,CAAK,CAACE,YAAN,EAAsBX,mBAHtC,CAIEY,YAAY,CAAEH,CAAK,CAACG,YAAN,EAAsBf,mBAJtC,CAKEgB,WAAW,CAAEJ,CAAK,CAACI,WAAN,EAAqBX,kBALpC,CAMEY,cAAc,CAAEL,CAAK,CAACK,cAAN,EAAwBV,qBAN1C,EAQD","sourcesContent":["import {\n TileMenuPropGetItemDescription,\n TileMenuPropGetItemImage,\n TileMenuPropGetItemLabel,\n DefaultItem,\n TileMenuListProps,\n TileMenuPropGetItemHref,\n TileMenuPropGetItemOnClick,\n} from './types'\n\nexport const defaultGetItemImage: TileMenuPropGetItemImage<DefaultItem> = item => item.image\nexport const defaultGetItemLabel: TileMenuPropGetItemLabel<DefaultItem> = item => item.label\nexport const defaultGetItemHref: TileMenuPropGetItemHref<DefaultItem> = item => item.href\nexport const defaultGetItemOnClick: TileMenuPropGetItemOnClick<DefaultItem> = item => item.onClick\nexport const defaultGetItemDescription: TileMenuPropGetItemDescription<DefaultItem> = item =>\n item.description\n\nexport function withDefaultGetters<ITEM>(props: TileMenuListProps<ITEM>) {\n return {\n ...props,\n getItemDescription: props.getItemDescription || defaultGetItemDescription,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemImage: props.getItemImage || defaultGetItemImage,\n getItemHref: props.getItemHref || defaultGetItemHref,\n getItemOnClick: props.getItemOnClick || defaultGetItemOnClick,\n }\n}\n"],"file":"helpers.js"}
|
package/TileMenu/types.d.ts
CHANGED
|
@@ -4,14 +4,14 @@ export declare const tileMenuPropView: readonly ["lines", "twoLines", "cards"];
|
|
|
4
4
|
export declare type TileMenuPropView = typeof tileMenuPropView[number];
|
|
5
5
|
export declare const tileMenuPropViewDefault: "lines";
|
|
6
6
|
export declare type DefaultItem = {
|
|
7
|
-
|
|
7
|
+
label: string;
|
|
8
8
|
image?: string;
|
|
9
9
|
description?: string;
|
|
10
10
|
href?: string;
|
|
11
11
|
onClick?: React.MouseEventHandler<HTMLAnchorElement>;
|
|
12
12
|
};
|
|
13
13
|
export declare type TileMenuPropGetItemImage<ITEM> = (item: ITEM) => string | React.FC | undefined;
|
|
14
|
-
export declare type
|
|
14
|
+
export declare type TileMenuPropGetItemLabel<ITEM> = (item: ITEM) => string;
|
|
15
15
|
export declare type TileMenuPropGetItemDescription<ITEM> = (item: ITEM) => string | undefined;
|
|
16
16
|
export declare type TileMenuPropGetItemHref<ITEM> = (item: ITEM) => string | undefined;
|
|
17
17
|
export declare type TileMenuPropGetItemOnClick<ITEM> = (item: ITEM) => React.MouseEventHandler<HTMLAnchorElement> | undefined;
|
|
@@ -29,7 +29,7 @@ declare type CommonProps<ITEM> = {
|
|
|
29
29
|
isMobile?: boolean;
|
|
30
30
|
onItemClick?: TileMenuOnItemClick<ITEM>;
|
|
31
31
|
getItemImage?: TileMenuPropGetItemImage<ITEM>;
|
|
32
|
-
|
|
32
|
+
getItemLabel?: TileMenuPropGetItemLabel<ITEM>;
|
|
33
33
|
getItemDescription?: TileMenuPropGetItemDescription<ITEM>;
|
|
34
34
|
getItemHref?: TileMenuPropGetItemHref<ITEM>;
|
|
35
35
|
getItemOnClick?: TileMenuPropGetItemOnClick<ITEM>;
|
|
@@ -38,9 +38,9 @@ export declare type TileMenuProps<ITEM = DefaultItem> = PropsWithHTMLAttributesA
|
|
|
38
38
|
listClassName?: string;
|
|
39
39
|
title?: string;
|
|
40
40
|
}, HTMLButtonElement> & (ITEM extends {
|
|
41
|
-
|
|
41
|
+
label: DefaultItem['label'];
|
|
42
42
|
} ? {} : {
|
|
43
|
-
|
|
43
|
+
getItemLabel: TileMenuPropGetItemLabel<ITEM>;
|
|
44
44
|
});
|
|
45
45
|
export declare type TileMenuListProps<ITEM = DefaultItem> = PropsWithHTMLAttributes<CommonProps<ITEM>, HTMLDivElement>;
|
|
46
46
|
export declare type TileMenuListComponent = <ITEM = DefaultItem>(props: TileMenuListProps<ITEM>) => React.ReactElement | null;
|
package/TileMenu/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/TileMenu/types.ts"],"names":["tileMenuPropView","tileMenuPropViewDefault"],"mappings":"AAKA,MAAO,MAAMA,CAAAA,gBAAgB,CAAG,CAAC,OAAD,CAAU,UAAV,CAAsB,OAAtB,CAAzB,CAEP,MAAO,MAAMC,CAAAA,uBAAuB,CAAGD,gBAAgB,CAAC,CAAD,CAAhD","sourcesContent":["import {\n PropsWithHTMLAttributesAndRef,\n PropsWithHTMLAttributes,\n} from '@/__private__/utils/types/PropsWithHTMLAttributes'\n\nexport const tileMenuPropView = ['lines', 'twoLines', 'cards'] as const\nexport type TileMenuPropView = typeof tileMenuPropView[number]\nexport const tileMenuPropViewDefault = tileMenuPropView[0]\n\nexport type DefaultItem = {\n
|
|
1
|
+
{"version":3,"sources":["../../src/TileMenu/types.ts"],"names":["tileMenuPropView","tileMenuPropViewDefault"],"mappings":"AAKA,MAAO,MAAMA,CAAAA,gBAAgB,CAAG,CAAC,OAAD,CAAU,UAAV,CAAsB,OAAtB,CAAzB,CAEP,MAAO,MAAMC,CAAAA,uBAAuB,CAAGD,gBAAgB,CAAC,CAAD,CAAhD","sourcesContent":["import {\n PropsWithHTMLAttributesAndRef,\n PropsWithHTMLAttributes,\n} from '@/__private__/utils/types/PropsWithHTMLAttributes'\n\nexport const tileMenuPropView = ['lines', 'twoLines', 'cards'] as const\nexport type TileMenuPropView = typeof tileMenuPropView[number]\nexport const tileMenuPropViewDefault = tileMenuPropView[0]\n\nexport type DefaultItem = {\n label: string\n image?: string\n description?: string\n href?: string\n onClick?: React.MouseEventHandler<HTMLAnchorElement>\n}\n\nexport type TileMenuPropGetItemImage<ITEM> = (item: ITEM) => string | React.FC | undefined\nexport type TileMenuPropGetItemLabel<ITEM> = (item: ITEM) => string\nexport type TileMenuPropGetItemDescription<ITEM> = (item: ITEM) => string | undefined\nexport type TileMenuPropGetItemHref<ITEM> = (item: ITEM) => string | undefined\nexport type TileMenuPropGetItemOnClick<ITEM> = (\n item: ITEM\n) => React.MouseEventHandler<HTMLAnchorElement> | undefined\nexport type TileMenuPropOnItemClick<ITEM> = (props: {\n e: React.MouseEvent<HTMLAnchorElement>\n item: ITEM\n}) => void\nexport type TileMenuOnItemClick<ITEM> = (props: {\n e: React.MouseEvent<HTMLAnchorElement>\n item: ITEM\n}) => void\n\ntype CommonProps<ITEM> = {\n view?: TileMenuPropView\n items: ITEM[]\n isMobile?: boolean\n onItemClick?: TileMenuOnItemClick<ITEM>\n getItemImage?: TileMenuPropGetItemImage<ITEM>\n getItemLabel?: TileMenuPropGetItemLabel<ITEM>\n getItemDescription?: TileMenuPropGetItemDescription<ITEM>\n getItemHref?: TileMenuPropGetItemHref<ITEM>\n getItemOnClick?: TileMenuPropGetItemOnClick<ITEM>\n}\n\nexport type TileMenuProps<ITEM = DefaultItem> = PropsWithHTMLAttributesAndRef<\n CommonProps<ITEM> & { listClassName?: string; title?: string },\n HTMLButtonElement\n> &\n (ITEM extends { label: DefaultItem['label'] }\n ? {}\n : { getItemLabel: TileMenuPropGetItemLabel<ITEM> })\n\nexport type TileMenuListProps<ITEM = DefaultItem> = PropsWithHTMLAttributes<\n CommonProps<ITEM>,\n HTMLDivElement\n>\n\nexport type TileMenuListComponent = <ITEM = DefaultItem>(\n props: TileMenuListProps<ITEM>\n) => React.ReactElement | null\n\nexport type TileMenuComponent = <ITEM = DefaultItem>(\n props: TileMenuProps<ITEM>\n) => React.ReactElement | null\n"],"file":"types.js"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _jsx from"@babel/runtime/helpers/jsx";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import React,{useState,useCallback}from"react";import{cn}from"../__private__/utils/bem";import{withDefaultGetters
|
|
1
|
+
import _jsx from"@babel/runtime/helpers/jsx";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import React,{useState,useCallback,forwardRef,useEffect}from"react";import{cn}from"../__private__/utils/bem";import{withDefaultGetters}from"./helpers";import{getItemClick}from"../__private__/helpers/getItemClick";import"./VerticalMenu.css";import{VerticalMenuLevel}from"./VerticalMenuLevel/VerticalMenuLevel";import{TransitionGroup,CSSTransition}from"react-transition-group";import{cnForCssTransition}from"@consta/uikit/__internal__/src/utils/cnForCssTransition";import{useDebounce}from"@consta/uikit/useDebounce";import{useMutableRef}from"@consta/uikit/useMutableRef";import{useRefs}from"@consta/uikit/useRefs";export const cnVerticalMenu=cn("VerticalMenu");const transitionCn=cnForCssTransition(cnVerticalMenu,"Level"),VerticalMenuRender=(a,b)=>{const c=withDefaultGetters(a),{items:d,className:e,getItemActive:f,getItemHref:g,getItemLabel:h,getItemOnClick:i,getItemTarget:j,getItemSubMenu:k,header:l,onItemClick:m,getItemGroup:n,footer:o}=c,p=_objectWithoutProperties(c,["items","className","getItemActive","getItemHref","getItemLabel","getItemOnClick","getItemTarget","getItemSubMenu","header","onItemClick","getItemGroup","footer"]),[q,r]=useState([{items:d,id:"0"}]),[s,t]=useState(!1),u=useRefs(q.length),v=useDebounce(()=>t(!1),250),w=useCallback(a=>r(b=>{const c=Array.from(b);return c.push(a),c}),[]),x=useCallback(()=>{t(!0),r(a=>{const b=Array.from(a);return b.pop(),b}),v()},[]),y=useMutableRef(k),z=useMutableRef(h);return useEffect(()=>{const a=q[q.length-1].id.split("-").slice(1);let b="0";const c=[{items:d,id:b}];a.forEach(a=>{const d=c[c.length-1].items[+a];if(!d)return;const e=y.current(d),f=z.current(d);b=`${b}-${a}`,e&&c.push({items:e,label:f,id:b})}),r(c)},[d]),React.createElement("div",Object.assign({},p,{className:cnVerticalMenu({animationBack:s},[e]),ref:b}),_jsx(TransitionGroup,{enter:!0,exit:!0,className:cnVerticalMenu("Levels")},void 0,q.map((a,b)=>{const c=b+1;if(c>=q.length)return _jsx(CSSTransition,{classNames:transitionCn,timeout:250,nodeRef:u[b]},c,React.createElement(VerticalMenuLevel,{ref:u[b],id:a.id,items:a.items,label:a.label,addLevel:w,removeLevel:x,className:cnVerticalMenu("Level",{current:c===q.length}),key:c,header:0===b&&l,footer:0===b&&o,getItemActive:f,getItemHref:g,getItemLabel:h,getItemOnClick:a=>getItemClick(a,i,m),getItemTarget:j,getItemSubMenu:k,getItemGroup:n}))})))};export const VerticalMenu=forwardRef(VerticalMenuRender);export*from"./types";
|
|
2
2
|
//# sourceMappingURL=VerticalMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/VerticalMenu/VerticalMenu.tsx"],"names":["React","useState","useCallback","cn","withDefaultGetters","getItemClick","VerticalMenuLevel","TransitionGroup","CSSTransition","cnForCssTransition","useDebounce","cnVerticalMenu","transitionCn","
|
|
1
|
+
{"version":3,"sources":["../../src/VerticalMenu/VerticalMenu.tsx"],"names":["React","useState","useCallback","forwardRef","useEffect","cn","withDefaultGetters","getItemClick","VerticalMenuLevel","TransitionGroup","CSSTransition","cnForCssTransition","useDebounce","useMutableRef","useRefs","cnVerticalMenu","transitionCn","VerticalMenuRender","props","ref","items","className","getItemActive","getItemHref","getItemLabel","getItemOnClick","getItemTarget","getItemSubMenu","header","onItemClick","getItemGroup","footer","otherProps","levels","setLevels","id","animationBack","setAnimationBack","levelRefs","length","disableAnimationBack","addLevel","level","l","newLevels","Array","from","push","removeLevel","pop","getItemSubMenuRef","getItemLabelRef","keys","split","slice","forEach","index","item","levelItems","current","levelLabel","label","map","levelNum","menuItem","VerticalMenu"],"mappings":"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","sourcesContent":["import React, { useState, useCallback, forwardRef, useEffect } from 'react'\n\nimport { cn } from '@/__private__/utils/bem'\n\nimport { withDefaultGetters } from './helpers'\nimport { getItemClick } from '@/__private__/helpers/getItemClick'\nimport { VerticalMenuComponent, Level, VerticalMenuProps, DefaultItem } from './types'\nimport './VerticalMenu.css'\nimport { VerticalMenuLevel } from './VerticalMenuLevel/VerticalMenuLevel'\nimport { TransitionGroup, CSSTransition } from 'react-transition-group'\nimport { cnForCssTransition } from '@consta/uikit/__internal__/src/utils/cnForCssTransition'\nimport { useDebounce } from '@consta/uikit/useDebounce'\nimport { useMutableRef } from '@consta/uikit/useMutableRef'\nimport { useRefs } from '@consta/uikit/useRefs'\n\nexport const cnVerticalMenu = cn('VerticalMenu')\n\nconst transitionCn = cnForCssTransition(cnVerticalMenu, 'Level')\n\nconst VerticalMenuRender = (props: VerticalMenuProps, ref: React.Ref<HTMLDivElement>) => {\n const {\n items,\n className,\n getItemActive,\n getItemHref,\n getItemLabel,\n getItemOnClick,\n getItemTarget,\n getItemSubMenu,\n header,\n onItemClick,\n getItemGroup,\n footer,\n ...otherProps\n } = withDefaultGetters(props)\n\n const [levels, setLevels] = useState<Array<Level<DefaultItem>>>([{ items, id: '0' }])\n const [animationBack, setAnimationBack] = useState<boolean>(false)\n\n const levelRefs = useRefs<HTMLDivElement>(levels.length)\n\n const disableAnimationBack = useDebounce(() => setAnimationBack(false), 250)\n\n const addLevel = useCallback(\n (level: Level<typeof items[number]>) =>\n setLevels(l => {\n const newLevels = Array.from(l)\n newLevels.push(level)\n return newLevels\n }),\n []\n )\n\n const removeLevel = useCallback(() => {\n setAnimationBack(true)\n setLevels(l => {\n const newLevels = Array.from(l)\n newLevels.pop()\n return newLevels\n })\n disableAnimationBack()\n }, [])\n\n const getItemSubMenuRef = useMutableRef(getItemSubMenu)\n const getItemLabelRef = useMutableRef(getItemLabel)\n\n useEffect(() => {\n // обновляем оровни при смене items\n const keys = levels[levels.length - 1].id.split('-').slice(1)\n\n let id = '0'\n\n const newLevels: Array<Level<DefaultItem>> = [{ items, id }]\n\n keys.forEach(index => {\n const item = newLevels[newLevels.length - 1].items[Number(index)]\n\n if (!item) {\n return\n }\n\n const levelItems = getItemSubMenuRef.current(item)\n const levelLabel = getItemLabelRef.current(item)\n id = `${id}-${index}`\n\n if (!levelItems) {\n return\n }\n\n newLevels.push({ items: levelItems, label: levelLabel, id })\n })\n\n setLevels(newLevels)\n }, [items])\n\n return (\n <div {...otherProps} className={cnVerticalMenu({ animationBack }, [className])} ref={ref}>\n <TransitionGroup enter exit className={cnVerticalMenu('Levels')}>\n {levels.map((level, index) => {\n const levelNum = index + 1\n if (levelNum >= levels.length) {\n return (\n <CSSTransition\n classNames={transitionCn}\n key={levelNum}\n timeout={250}\n nodeRef={levelRefs[index]}\n >\n <VerticalMenuLevel\n ref={levelRefs[index]}\n id={level.id}\n items={level.items}\n label={level.label}\n addLevel={addLevel}\n removeLevel={removeLevel}\n className={cnVerticalMenu('Level', {\n current: levelNum === levels.length,\n })}\n key={levelNum}\n header={index === 0 && header}\n footer={index === 0 && footer}\n getItemActive={getItemActive}\n getItemHref={getItemHref}\n getItemLabel={getItemLabel}\n getItemOnClick={menuItem => getItemClick(menuItem, getItemOnClick, onItemClick)}\n getItemTarget={getItemTarget}\n getItemSubMenu={getItemSubMenu}\n getItemGroup={getItemGroup}\n />\n </CSSTransition>\n )\n }\n })}\n </TransitionGroup>\n </div>\n )\n}\n\nexport const VerticalMenu = forwardRef(VerticalMenuRender) as VerticalMenuComponent\n\nexport * from './types'\n"],"file":"VerticalMenu.js"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _jsx from"@babel/runtime/helpers/jsx";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import React from"react";import{cn}from"../../__private__/utils/bem";import{IconArrowRight}from"@consta/uikit/IconArrowRight";import"./VerticalMenuItem.css";import{Text}from"@consta/uikit/Text";
|
|
1
|
+
import _jsx from"@babel/runtime/helpers/jsx";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import React from"react";import{cn}from"../../__private__/utils/bem";import{IconArrowRight}from"@consta/uikit/IconArrowRight";import"./VerticalMenuItem.css";import{Text}from"@consta/uikit/Text";export const cnVerticalMenuItem=cn("VerticalMenuItem");export const VerticalMenuItem=a=>{const{className:b,label:c,href:d,target:e,active:f,onClick:g,withSubMenu:h}=a,i=_objectWithoutProperties(a,["className","label","href","target","active","onClick","withSubMenu"]),j=d?{as:"a",href:d,target:e}:{as:"span"};return React.createElement(Text,Object.assign({},i,j,{className:cnVerticalMenuItem({active:f},[b]),onClick:g}),c,h&&_jsx(IconArrowRight,{className:cnVerticalMenuItem("Icon"),size:"xs"}))};
|
|
2
2
|
//# sourceMappingURL=VerticalMenuItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/VerticalMenu/VerticalMenuItem/VerticalMenuItem.tsx"],"names":["React","cn","IconArrowRight","Text","
|
|
1
|
+
{"version":3,"sources":["../../../src/VerticalMenu/VerticalMenuItem/VerticalMenuItem.tsx"],"names":["React","cn","IconArrowRight","Text","cnVerticalMenuItem","VerticalMenuItem","props","className","label","href","target","active","onClick","withSubMenu","otherProps","propsLink","as"],"mappings":"kIAAA,MAAOA,CAAAA,KAAP,KAAkB,OAAlB,CAEA,OAASC,EAAT,mCAGA,OAASC,cAAT,KAA+B,8BAA/B,CACA,+BACA,OAASC,IAAT,KAAqB,oBAArB,CAEA,MAAO,MAAMC,CAAAA,kBAAkB,CAAGH,EAAE,CAAC,kBAAD,CAA7B,CAEP,MAAO,MAAMI,CAAAA,gBAA2C,CAAGC,CAAK,EAAI,MAC5D,CAAEC,SAAS,CAATA,CAAF,CAAaC,KAAK,CAALA,CAAb,CAAoBC,IAAI,CAAJA,CAApB,CAA0BC,MAAM,CAANA,CAA1B,CAAkCC,MAAM,CAANA,CAAlC,CAA0CC,OAAO,CAAPA,CAA1C,CAAmDC,WAAW,CAAXA,CAAnD,EAAkFP,CADtB,CACOQ,CADP,0BACsBR,CADtB,yEAG5DS,CAAS,CAAGN,CAAI,CACjB,CACCO,EAAE,CAAE,GADL,CAECP,IAAI,CAAJA,CAFD,CAGCC,MAAM,CAANA,CAHD,CADiB,CAMjB,CACCM,EAAE,CAAE,MADL,CAT6D,CAalE,MACE,qBAAC,IAAD,kBACMF,CADN,CAEMC,CAFN,EAGE,SAAS,CAAEX,kBAAkB,CAAC,CAAEO,MAAM,CAANA,CAAF,CAAD,CAAa,CAACJ,CAAD,CAAb,CAH/B,CAIE,OAAO,CAAEK,CAJX,GAMGJ,CANH,CAOGK,CAAW,EAAI,KAAC,cAAD,EAAgB,SAAS,CAAET,kBAAkB,CAAC,MAAD,CAA7C,CAAuD,IAAI,CAAC,IAA5D,EAPlB,CAUH,CAxBM","sourcesContent":["import React from 'react'\n\nimport { cn } from '@/__private__/utils/bem'\n\nimport { VerticalMenuItemComponent } from '../types'\nimport { IconArrowRight } from '@consta/uikit/IconArrowRight'\nimport './VerticalMenuItem.css'\nimport { Text } from '@consta/uikit/Text'\n\nexport const cnVerticalMenuItem = cn('VerticalMenuItem')\n\nexport const VerticalMenuItem: VerticalMenuItemComponent = props => {\n const { className, label, href, target, active, onClick, withSubMenu, ...otherProps } = props\n\n const propsLink = href\n ? ({\n as: 'a',\n href,\n target,\n } as const)\n : ({\n as: 'span',\n } as const)\n\n return (\n <Text\n {...otherProps}\n {...propsLink}\n className={cnVerticalMenuItem({ active }, [className])}\n onClick={onClick}\n >\n {label}\n {withSubMenu && <IconArrowRight className={cnVerticalMenuItem('Icon')} size=\"xs\" />}\n </Text>\n )\n}\n"],"file":"VerticalMenuItem.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.che--VerticalMenuLevel-
|
|
1
|
+
.che--VerticalMenuLevel{display:flex;flex-direction:column}.che--VerticalMenuLevel-Label{display:flex;align-items:center;flex:none;border-bottom:1px solid var(--color-bg-border)}.che--VerticalMenuLevel-Divider{height:var(--control-border-width);background:var(--color-control-bg-border-default)}.che--VerticalMenuLevel-Nav{flex:1}.che--VerticalMenuLevel-Footer{flex:none}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _jsx from"@babel/runtime/helpers/jsx";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import React
|
|
1
|
+
import _jsx from"@babel/runtime/helpers/jsx";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";import React,{forwardRef}from"react";import{cn}from"../../__private__/utils/bem";import"./VerticalMenuLevel.css";import{VerticalMenuItem}from"../VerticalMenuItem/VerticalMenuItem";import{Text}from"@consta/uikit/Text";import{IconArrowLeft}from"@consta/uikit/IconArrowLeft";import{Button}from"@consta/uikit/Button";import{cnMixSpace}from"@consta/uikit/MixSpace";import{getGroups}from"@consta/uikit/__internal__/src/utils/getGroups";import{fabricIndex}from"@consta/uikit/__internal__/src/utils/fabricIndex";import"./VerticalMenuLevel.css";export const cnVerticalMenuLevel=cn("VerticalMenuLevel");export const VerticalMenuLevel=forwardRef((a,b)=>{const{items:c,className:d,getItemActive:e,getItemHref:f,getItemLabel:g,getItemOnClick:h,getItemTarget:i,getItemSubMenu:j,addLevel:k,removeLevel:l,label:m,header:n,getItemGroup:o,id:p,footer:q}=a,r=_objectWithoutProperties(a,["items","className","getItemActive","getItemHref","getItemLabel","getItemOnClick","getItemTarget","getItemSubMenu","addLevel","removeLevel","label","header","getItemGroup","id","footer"]),s=getGroups(c,o,void 0,void 0,void 0),t=fabricIndex(-1);return React.createElement("div",Object.assign({},r,{ref:b,className:cnVerticalMenuLevel(null,[d])}),m&&_jsx("div",{className:cnVerticalMenuLevel("Label",[cnMixSpace({pV:"s",pH:"xl"})])},void 0,_jsx(Button,{iconLeft:IconArrowLeft,view:"clear",size:"s",onClick:l}),_jsx(Text,{className:cnMixSpace({mL:"s"}),truncate:!0},void 0,m)),n&&_jsx("div",{className:cnVerticalMenuLevel("Header")},void 0,n),_jsx("nav",{className:cnVerticalMenuLevel("Nav")},void 0,s.map((a,b)=>React.createElement(React.Fragment,null,b?_jsx("div",{className:cnVerticalMenuLevel("Divider",[cnMixSpace({mV:"s",mH:"xl"})])}):void 0,a.items.map((a,c)=>{const d=t(),l=j(a),m=l&&0<l.length||!1,n=h(a),o=g(a),q=m?a=>{null===n||void 0===n?void 0:n(a),l&&k({items:l,label:o,id:`${p}-${d}`})}:n;return _jsx(VerticalMenuItem,{label:o,href:f(a),active:e(a),onClick:q,target:i(a),withSubMenu:m,className:cnMixSpace({pV:"s",pH:"xl"})},cnVerticalMenuLevel("Item",{groupIndex:b,index:c}))})))),q&&_jsx("div",{className:cnVerticalMenuLevel("Footer")},void 0,_jsx("div",{className:cnVerticalMenuLevel("Divider",[cnMixSpace({mV:"s",mH:"xl"})])}),q))});
|
|
2
2
|
//# sourceMappingURL=VerticalMenuLevel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/VerticalMenu/VerticalMenuLevel/VerticalMenuLevel.tsx"],"names":["React","cn","VerticalMenuItem","Text","IconArrowLeft","Button","cnMixSpace","cnVerticalMenuLevel","VerticalMenuLevel","props","items","className","getItemActive","getItemHref","getItemLabel","getItemOnClick","getItemTarget","getItemSubMenu","addLevel","removeLevel","label","levelLabel","header","otherProps","
|
|
1
|
+
{"version":3,"sources":["../../../src/VerticalMenu/VerticalMenuLevel/VerticalMenuLevel.tsx"],"names":["React","forwardRef","cn","VerticalMenuItem","Text","IconArrowLeft","Button","cnMixSpace","getGroups","fabricIndex","cnVerticalMenuLevel","VerticalMenuLevel","props","ref","items","className","getItemActive","getItemHref","getItemLabel","getItemOnClick","getItemTarget","getItemSubMenu","addLevel","removeLevel","label","levelLabel","header","getItemGroup","id","footer","otherProps","groups","getIndex","pV","pH","mL","map","group","groupIndex","mV","mH","item","index","levelId","subMenu","withSubMenu","length","itemClick","onClick","e"],"mappings":"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","sourcesContent":["import React, { forwardRef } from 'react'\n\nimport { cn } from '@/__private__/utils/bem'\n\nimport { VerticalMenuLevelComponent } from '../types'\nimport './VerticalMenuLevel.css'\nimport { VerticalMenuItem } from '../VerticalMenuItem/VerticalMenuItem'\nimport { Text } from '@consta/uikit/Text'\nimport { IconArrowLeft } from '@consta/uikit/IconArrowLeft'\nimport { Button } from '@consta/uikit/Button'\nimport { cnMixSpace } from '@consta/uikit/MixSpace'\nimport { getGroups } from '@consta/uikit/__internal__/src/utils/getGroups'\nimport { fabricIndex } from '@consta/uikit/__internal__/src/utils/fabricIndex'\n\nimport './VerticalMenuLevel.css'\n\nexport const cnVerticalMenuLevel = cn('VerticalMenuLevel')\n\nexport const VerticalMenuLevel: VerticalMenuLevelComponent = forwardRef((props, ref) => {\n const {\n items,\n className,\n getItemActive,\n getItemHref,\n getItemLabel,\n getItemOnClick,\n getItemTarget,\n getItemSubMenu,\n addLevel,\n removeLevel,\n label: levelLabel,\n header,\n getItemGroup,\n id,\n footer,\n ...otherProps\n } = props\n\n const groups = getGroups(items, getItemGroup, undefined, undefined, undefined)\n const getIndex = fabricIndex(-1)\n\n return (\n <div {...otherProps} ref={ref} className={cnVerticalMenuLevel(null, [className])}>\n {levelLabel && (\n <div className={cnVerticalMenuLevel('Label', [cnMixSpace({ pV: 's', pH: 'xl' })])}>\n <Button iconLeft={IconArrowLeft} view=\"clear\" size=\"s\" onClick={removeLevel} />\n <Text className={cnMixSpace({ mL: 's' })} truncate>\n {levelLabel}\n </Text>\n </div>\n )}\n {header && <div className={cnVerticalMenuLevel('Header')}>{header}</div>}\n <nav className={cnVerticalMenuLevel('Nav')}>\n {groups.map((group, groupIndex) => {\n return (\n <>\n {groupIndex ? (\n <div\n className={cnVerticalMenuLevel('Divider', [cnMixSpace({ mV: 's', mH: 'xl' })])}\n />\n ) : (\n undefined\n )}\n {group.items.map((item, index) => {\n const levelId = getIndex()\n const subMenu = getItemSubMenu(item)\n const withSubMenu = (subMenu && subMenu.length > 0) || false\n const itemClick = getItemOnClick(item)\n const label = getItemLabel(item)\n const onClick = withSubMenu\n ? (e: React.MouseEvent<Element, MouseEvent>) => {\n itemClick?.(e)\n subMenu && addLevel({ items: subMenu, label, id: `${id}-${levelId}` })\n }\n : itemClick\n return (\n <VerticalMenuItem\n key={cnVerticalMenuLevel('Item', { groupIndex, index })}\n label={label}\n href={getItemHref(item)}\n active={getItemActive(item)}\n onClick={onClick}\n target={getItemTarget(item)}\n withSubMenu={withSubMenu}\n className={cnMixSpace({ pV: 's', pH: 'xl' })}\n />\n )\n })}\n </>\n )\n })}\n </nav>\n {footer && (\n <div className={cnVerticalMenuLevel('Footer')}>\n <div className={cnVerticalMenuLevel('Divider', [cnMixSpace({ mV: 's', mH: 'xl' })])} />\n {footer}\n </div>\n )}\n </div>\n )\n})\n"],"file":"VerticalMenuLevel.js"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { DefaultItem, VerticalMenuProps, VerticalMenuPropGetItemActive, VerticalMenuPropGetItemHref, VerticalMenuPropGetItemLabel, VerticalMenuPropGetItemOnClick, VerticalMenuPropGetItemSubMenu, VerticalMenuPropGetItemTarget,
|
|
2
|
+
import { DefaultItem, VerticalMenuProps, VerticalMenuPropGetItemActive, VerticalMenuPropGetItemHref, VerticalMenuPropGetItemLabel, VerticalMenuPropGetItemOnClick, VerticalMenuPropGetItemSubMenu, VerticalMenuPropGetItemTarget, VerticalMenuPropGetItemGroup } from "./types";
|
|
3
3
|
export declare const defaultGetItemLabel: VerticalMenuPropGetItemLabel<DefaultItem>;
|
|
4
4
|
export declare const defaultGetItemActive: VerticalMenuPropGetItemActive<DefaultItem>;
|
|
5
5
|
export declare const defaultGetItemHref: VerticalMenuPropGetItemHref<DefaultItem>;
|
|
6
6
|
export declare const defaultGetItemOnClick: VerticalMenuPropGetItemOnClick<DefaultItem>;
|
|
7
7
|
export declare const defaultGetItemTarget: VerticalMenuPropGetItemTarget<DefaultItem>;
|
|
8
8
|
export declare const defaultGetItemSubMenu: VerticalMenuPropGetItemSubMenu<DefaultItem>;
|
|
9
|
+
export declare const defaultGetItemGroup: VerticalMenuPropGetItemGroup<DefaultItem>;
|
|
9
10
|
export declare function withDefaultGetters<ITEM>(props: VerticalMenuProps<ITEM>): {
|
|
10
11
|
items: ITEM[];
|
|
11
12
|
getItemHref?: VerticalMenuPropGetItemHref<ITEM> | undefined;
|
|
@@ -14,8 +15,10 @@ export declare function withDefaultGetters<ITEM>(props: VerticalMenuProps<ITEM>)
|
|
|
14
15
|
getItemActive?: VerticalMenuPropGetItemActive<ITEM> | undefined;
|
|
15
16
|
getItemOnClick?: VerticalMenuPropGetItemOnClick<ITEM> | undefined;
|
|
16
17
|
getItemSubMenu?: VerticalMenuPropGetItemSubMenu<ITEM> | undefined;
|
|
17
|
-
onItemClick?: VerticalMenuPropOnItemClick<ITEM> | undefined;
|
|
18
|
+
onItemClick?: import("./types").VerticalMenuPropOnItemClick<ITEM> | undefined;
|
|
19
|
+
getItemGroup?: VerticalMenuPropGetItemGroup<ITEM> | undefined;
|
|
18
20
|
header?: import("react").ReactNode;
|
|
21
|
+
footer?: import("react").ReactNode;
|
|
19
22
|
} & Pick<import("react").HTMLAttributes<HTMLDivElement>, "hidden" | "dir" | "slot" | "style" | "title" | "color" | "children" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture"> & (ITEM extends {
|
|
20
23
|
label: string;
|
|
21
24
|
} ? {} : {
|
|
@@ -27,5 +30,5 @@ export declare function withDefaultGetters<ITEM>(props: VerticalMenuProps<ITEM>)
|
|
|
27
30
|
getItemOnClick: VerticalMenuPropGetItemOnClick<DefaultItem> | VerticalMenuPropGetItemOnClick<ITEM>;
|
|
28
31
|
getItemTarget: VerticalMenuPropGetItemTarget<DefaultItem> | VerticalMenuPropGetItemTarget<ITEM>;
|
|
29
32
|
getItemSubMenu: VerticalMenuPropGetItemSubMenu<DefaultItem> | VerticalMenuPropGetItemSubMenu<ITEM>;
|
|
33
|
+
getItemGroup: VerticalMenuPropGetItemGroup<DefaultItem> | VerticalMenuPropGetItemGroup<ITEM>;
|
|
30
34
|
};
|
|
31
|
-
export declare function getItemClick<ITEM>(item: ITEM, getItemOnClick: VerticalMenuPropGetItemOnClick<ITEM>, onItemClick?: VerticalMenuPropOnItemClick<ITEM>): React.MouseEventHandler;
|
package/VerticalMenu/helpers.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _objectSpread from"@babel/runtime/helpers/objectSpread";export const defaultGetItemLabel=a=>a.label;export const defaultGetItemActive=a=>a.active;export const defaultGetItemHref=a=>a.href;export const defaultGetItemOnClick=a=>a.onClick;export const defaultGetItemTarget=a=>a.target;export const defaultGetItemSubMenu=a=>a.subMenu;export function withDefaultGetters(a){return _objectSpread({},a,{getItemLabel:a.getItemLabel||defaultGetItemLabel,getItemActive:a.getItemActive||defaultGetItemActive,getItemHref:a.getItemHref||defaultGetItemHref,getItemOnClick:a.getItemOnClick||defaultGetItemOnClick,getItemTarget:a.getItemTarget||defaultGetItemTarget,getItemSubMenu:a.getItemSubMenu||defaultGetItemSubMenu
|
|
1
|
+
import _objectSpread from"@babel/runtime/helpers/objectSpread";export const defaultGetItemLabel=a=>a.label;export const defaultGetItemActive=a=>a.active;export const defaultGetItemHref=a=>a.href;export const defaultGetItemOnClick=a=>a.onClick;export const defaultGetItemTarget=a=>a.target;export const defaultGetItemSubMenu=a=>a.subMenu;export const defaultGetItemGroup=a=>a.groupId;export function withDefaultGetters(a){return _objectSpread({},a,{getItemLabel:a.getItemLabel||defaultGetItemLabel,getItemActive:a.getItemActive||defaultGetItemActive,getItemHref:a.getItemHref||defaultGetItemHref,getItemOnClick:a.getItemOnClick||defaultGetItemOnClick,getItemTarget:a.getItemTarget||defaultGetItemTarget,getItemSubMenu:a.getItemSubMenu||defaultGetItemSubMenu,getItemGroup:a.getItemGroup||defaultGetItemGroup})}
|
|
2
2
|
//# sourceMappingURL=helpers.js.map
|